[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 66

 
が、実は、このような場合は、通常、GetLastError()を多用するようにしています。もちろん、私はプロではありません。
 
pepsi писал(а)>>
実際、このような場合、私は通常、GetLastError()をより広く使うようにしています。もちろん、私はプロではありません。

GetLastError()は、例えばスレッドがビジー状態である場合など、何かが行われない理由を言うことになっているのは理解していますが、私は全く何も行っていません!

 
Skydiver >> :

異なる楽器に対して3つの注文を開けばいいのでは?例えばフラグ変数を作ってみてはどうでしょう

グローバル変数に

int flag=0;
string Symb;

///////////////

では

int start()
{
if (условие открытия)
{flag=1;}

if (flag==1)
{
Symb="EURUSD";
OrderSend(Symb,...)///Открываем, переносим флаг во 2 состояние для открытия след ордера и
flag=2; ///выходим тк больше мы ни чего не можем сделать
return(0);
}

if (flag==2)
{
Symb="AUDUSD";
OrderSend(Symb,...)
flag=3;
return(0);
}

if (flag==3)
{
Symb="USDJPY";
OrderSend(Symb,...)
flag=0;//Возвращаем флаг в начальное состояние..
return(0);
}
return(0);}


また、オープニングのチェックを追加し、チェックに成功した場合のみ旗を移動させるようにすると良いと思います。

ありがとうございます!やってみます。

 
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print ("価格でオープンしたロングポジション",OrderOpenPrice( ));
}

else Print ("Error opening long position:",GetLastError());


は、OrderSelect()が失敗した場合、エラーを返します。


if(OrderSend(Symbol(), OP_SELLSTOP, getLots, Bid, 0, 0, 0, WindowExpertName(),
Magic, 0, Red) < 0)
Print("Error Open Sellstop = ",GetLastError());


OrderSend()が失敗した場合、エラーを返す。
 
失敗するのはOrderSend()であるという説があります。
 
尊敬する専門家は、25と50のバーのための最大-最小のレベルの各時間枠のレベルに表示され、価格はこの場所で任意の時間枠でこのレベルから反発した場合、インジケータを持っていると価格がそれを破るまでラインと宿泊しましたか?
 
pepsi писал(а)>>
OrderSend()になっているバージョンもありますが、動作しません。

なぜ、テスターで動作するのでしょうか?

 
sten1981 >> :

なぜ、テスターで動作するのでしょうか?

しかし、私が言いたいのは、Print関数をもっと広範囲に使用することで、(たとえその後のGetLastErrorがなくても)。

をクリックすると、EAがどのように取引されているかがよくわかります。

 

は、例えばこんな感じです。




if(MA1>MA2 && StochPrev<StohCur && StochPrev<SignPrev )

{

print("買い注文の 条件を満たしました");

ticket=OrderSend(Symbol(,OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,",16895,0,DeepSkyBlue);

if(チケット>0)

}

 
ということであれば、ログブックデモの方がわかりやすいと思います。どこを見ればエラーが出るのかが明確になった。一人で...