extern double LOT = 0.01; //-------------------------------------------------------------------------------------------- int start() { int sells=0; for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue; OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White); Alert (GetLastError()); // Выводит сообщение об ошибке sells++; } } if (sells==0) { OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green); Alert (GetLastError()); // Выводит сообщение об ошибке return(0); } } //--------------------------------------------------------------------------------------------
extern double LOT = 0.01; //-------------------------------------------------------------------------------------------- int start() { int sells=0; for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue; OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White); Alert (GetLastError()); // Выводит сообщение об ошибке sells++; } } if (sells==0) { OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green); Alert (GetLastError()); // Выводит сообщение об ошибке return(0); } } //--------------------------------------------------------------------------------------------
私はすぐに指標なしでEAを書かなかった、そこに指標はなく、ちょうど売買注文など---その後、テスターで変更されている期間と最終結果は、私はまだ理解していない何もありません。
Expert Advisor本体がないと何も言えません。あくまで推測ですが。
Ilan6がトレードを始めるにはどうしたらいいのでしょうか?いくらで動き出すのか、1セントでも動くのか?
私はすぐに指標なしでEAを書かなかった、そこに指標はなく、ちょうど売買注文など---その後、テスターで変更されている期間と最終結果は、私はまだ理解していない何もありません。
そうですね、コードそのものを見るべきですね。何らかのストラテジーがあり、その計算に基づいて注文を出したり閉じたりしているのではないですか?
どこが間違いなのか、教えてください。金融商品を売るための 成行注文が あればそれを決済し、買うための注文がなければ買うための注文を1つ出します。ここでは閉じることですべてが正常に行われますが、一度だけでなく、刻々と開いていきます。
//--------------------------------------------------------------------------------------------
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
int sells=0;
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
sells++;
}
}
if (sells==0)
{
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
//--------------------------------------------------------------------------------------------
どこが間違いなのか、教えてください。金融商品を売るための成行注文があればそれを決済し、買うための注文がなければ買うための注文を1つ出します。ここは閉じて正常なのですが、一度だけでなく、刻々と開いていくのです。
//--------------------------------------------------------------------------------------------
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
int sells=0;
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
sells++;
}
}
if (sells==0)
{
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
//--------------------------------------------------------------------------------------------
それとも、そうするのが良いのでしょうか?売り注文が ない場合は、買い注文は出しません。
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
}
//--------------------------------------------------------------------------------------------
for文の実行ルール
1ティックが来た、for演算子の条件が真、制御がさらに渡される - これらはすべて1ティックの間に起こります。
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
}
//--------------------------------------------------------------------------------------------
あるいは、このティックの間にどの演算子が実行されるかを正確に教えてください。上記のすべて、または次のティックの間に実行されるのはどれですか?説明...
for文の実行ルール
1ティックが来た、for演算子の条件が真、さらに制御が渡される - これらはすべて1ティックの間に起こる、つまりこれらの演算子が1ティックの間に実行されるかどうか教えてください。
あるいは、このティックの間にどの演算子が実行されるかを正確に教えてください。上記のすべて、または次のティックの間に実行されるのはどれですか?説明...
start()関数は、最初のティックが到着したときに実行されます。関数実行中に他のtickが到着した場合、それらはスキップされます。
スタート機能は、そのロジックに従って完全に実行されます。
for文実行のルール
1ティックが来た、for演算子の条件が真、さらに制御が渡される - これらはすべて1ティックの間に起こる、つまりこれらの演算子が1ティックの間に実行されるかどうか教えてください。
extern double LOT = 0.01;
//--------------------------------------------------------------------------------------------
int start()
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if (OrderSymbol() !=Symbol() || OrderType() !=OP_SELL ) continue;
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,White);
Alert (GetLastError()); // Выводит сообщение об ошибке
OrderSend(Symbol(),OP_BUY,LOT,Ask,1,Bid-400*Point,Bid+400*Point,0,Green);
Alert (GetLastError()); // Выводит сообщение об ошибке
return(0);
}
}
}
//--------------------------------------------------------------------------------------------
あるいは、このティックの間にどの演算子が実行されるかを正確に教えてください。上記のすべて、または次のティックの間に実行されるのはどれですか?説明...
把握しました。条件が満たされた場合、すべての演算子が実行されます。