どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1125

 
Evgeniy Oshurkevich:
私はすでにそれを取得し、この感謝に、任意の取引注文の 前にすでにどこでもエラー処理関数を規定しているが、今私はループにはまり、私のミスだけでエラーが発生する場合、EAを制動する方法と、正確にどこに規定する。I.e.注文を開こうとしたが、エラーが発生した。例えば、OrderSend(......);がトランザクションを作成した場合、それが正常に動作したかどうかの情報を得るにはどうすればよいですか?

関数のヘルプを開いて、何を返すか確認できますか?そして、_LastError?

具体的にはOrderSendはオーダーチケットまたは-1を返す。その場合は自分で-1してください;)

 
Vitalie Postolache:

関数のヘルプを開いて、何を返すか確認できますか?そして、_LastError?

具体的にはOrderSendはオーダーチケットまたは-1を返す。どのような場合に-1されるかを自分で推測してください ;)

10分前から読んでました :)
 
Evgeniy Oshurkevich:
10分前から読んでました :)
ここでは例として、非常に適切な
 
Vitaly Muzichenko:
ここでは例として、非常に適切な

すでにエラーコードを解決し始めています、ありがとうございます :)そして、それを遅くする方法についてのExpert Advisorはほぼ完成している)

この例では、私はそれがOrderSendにある "Slippage " の値を見つけることができない、それはそれほど重要または必須ではありません、私は疑問に思う!私は、この例では、 "Slippage"の値を見つけることができます。

 
Evgeniy Oshurkevich:

そして、私はすでにエラーコードを解決し始めています、ありがとう :)そして、それを遅くする方法についてのEAもほぼ完成しています)

この例では、OrderSendにある "Slippage "の値を見つけることができませんが、それほど重要でも必須でもないかも しれません。

そして、これはコード135や129をキャッチして、次の試行でスリッページ値を増やすためです。また、滑りが悪くなるのが嫌なら、次に挑戦するまでの秒数をカウントすればいいのです。また、スプレッドにも注意し、このときスプレッドが大きくなっていたら、小さくなるのを待って再チャレンジしてください。また、Sleep()は使わない方が望ましいのですが、確かに半秒や1秒の休止であれば、コードを書くのが簡単になり、あまり害はありませんが、Expert Advisorがミリ秒単位が重要な高速Pipsierであったり、数十秒の休止が必要な場合、スリープは使わない方が良いです、スリープ中はExpert Advisorが麻痺し取引だけでなく取引環境の監視や他の計算ができない、ユーザアクションに対して反応がない等々です。

現在時刻を 確定し、必要な秒数(またはミリ秒)をカウントダウンして行動することができます。

 
Evgeniy Oshurkevich:

すでにエラーコードを解決し始めています、ありがとうございます :)そして、それを遅くする方法についてのExpert Advisorはほぼ完成している)

この例では、OrderSendにある "Slippage "の値を見つけることができませんが、それほど重要でも必須でもないかも しれません。

現在ではスリッページは 以前ほど関係なく、通常はフィックススプレッドのある口座で使用されますが、そのような口座は野放しにされており、5~7人が取引しています。スプレッドが浮いていればスリッページは 発生しないので、スプレッドを監視し、広すぎる場合はエントリーを控えるのが良いのですが、やはり、スプレッドが大きいことがどれだけ致命的かは、戦略によって異なります。
 
Vitaly Muzichenko:
今日、スリッページは 以前ほど重要ではなく、通常、フィックススプレッドのある口座で使用されますが、そのような口座はごくわずかで、その口座で取引する人はわずか5~7人です。スプレッドが浮いていればスリッページは 発生しないので、スプレッドそのものを監視し、広すぎる場合はエントリーを控えた方が良いのですが、やはりスプレッドが大きいことがどれだけ致命的かは、戦略によって変わってきますね。

嘘だろ...

非常に人気のあるECNでは、ニュースによるスリッページは膨大なものです。時には数百pips(5ozn)も。あるいは、「新しい価格」「価格なし」などと言って、1分間ずっと注文を苦しめ続けるのです。

 
Vitalie Postolache:

これは、コード135または129をキャッチし、次の試行でスリッページ値を増加させるためです。また、滑りが悪くなるのが嫌なら、次に挑戦するまでの秒数をカウントすればいいのです。また、スプレッドにも注意し、このときスプレッドが大きくなっていたら、小さくなるのを待って再チャレンジしてください。また、Sleep()は使用しないことが望ましく、これはもちろんコードを書くのが簡単になり、半秒や1秒の休止の場合は特に害はありませんが、Expert Advisor がミリ秒単位が重要な高速 Pipsier であったり、数十秒の休止が必要な場合、スリープは使用しない方が良いです、スリープ中は Expert Advisor が麻痺し取引のみならず、取引環境の監視や他の計算もできなくなり、ユーザーのアクションに反応しないなどです。

現在時刻を 確定し、秒数(またはミリ秒)をカウントダウンして行動することができます。

エフゲニー・オシュルケヴィチ

すでにエラーコードの検索を始めています、ありがとうございます :)そして、Expert Advisorのブレーキもほぼ完成しました。)

この例では、私はそれがOrderSendにある "Slippage " の値を見つけることができない、それはそれほど重要または必須ではありません、私は疑問に思う!私は、この例では、 "Slippage"の値を見つけることができます。

スリープコマンドの冬眠中は、確かにEAが麻痺しています。端末が1台の場合でも、20個のスレッドで動作させる、つまりそれぞれのスレッドにCPU時間を割かせる必要があるのです。少なくとも、画面に何かを表示すること、そして受信したティックを受け入れるというミリ秒単位のピプサーの重要なタスクは言うまでもありません。実際には、他の多くのオペレーティングシステムサービスも働きたい、つまり自分たちのニーズでプロセッサを占めたいと考えています。Sleepコマンドでできない場合は、OSのスレッドスケジューラが強制的に行いますが、誰に時間を与えるべきかは、OSが独自に検討します。これも頼りにして、このアドバイザーだけで、ほぼ100%常時プロセッサに負荷をかけることができます。しかし、これでは誰も納得しないでしょう。プログラマがプロセッサ資源の割り当てを計画しない場合、ほとんどの場合、Expert Advisorが1シンボルのティック受信時にCPUを与えられ、この到着の処理後、Expert Advisorが「麻痺」して次のティックまでCPUを奪わないというMQLで実装されたアプローチが取られます。

OrderSend のパラメータ Slippage(注文執行の「市場執行」モードの場合、マーケットによる実際のスリッページと混同しないように)は、注文が宣言した価格で執行されるか拒否されるか、つまり即時執行の「即時執行」モードにおいてのみ設定する意味があります。注文に記載された価格からの執行価格の最大許容偏差を0以外の値で設定することができます。成行執行」モードでは、このパラメータは意味を持ちません。この場合、執行価格はディーリングセンターによって設定され、注文に記載された価格からの乖離はいかなる形でも制限されません。

 
Vitalie Postolache:

嘘だろ...

非常に人気のあるECNでは、ニュースによるスリッページは膨大なものです。時には数百pips(5ozn)も。あるいは、「新しい価格」「価格なし」などと言って、1分間ずっと注文を苦しめ続けるのです。

ECNアカウントは、少なくとも100ピップ、そこに市場での実行をスリッページに 役立ちませんし、唯一のスリップと価格を与えないことができ、これは少し別のもの、および別のエラーです。
 

Есть условие для открытия ордера BUY. Открывается ордер, как сделать переход к SELL условию после закрытия BUY ордера?




if(High[1]-Close[1]>=NormalizeDouble(xbs1*_Point,_Digits))
   {
    int b_tik=OrderSend(_Symbol,OP_BUY,Lots,Ask,Slip,Low[2]-sl,High[1]+ tp,"",Magic,0,clrBlue)==true; //открытие ордера
      
       GlobalVariableSet("B_order",0); // Больше не ищем вход Buy

       //-----?????
       GlobalVariableSet("S_order",1); // Переходим к поиску Sell
       return;
   }