偉大で恐ろしいMT4の永遠(または移行の戦略方法) - ページ 26

 
fxsaber:

内部にそのような旗はないのだろう。

どうやら違うようだ。

特に、1つの端末に1つのフラグ、つまり全番組に対応したフラグが必要なので、MQが作る可能性はあると思います。

 
Artyom Trishkin:
提案しようかな。でも、ずっと後。主観的な事情によるもの。残念ながら。とりあえず、デマゴーグだと思ってください。禁じ手ではありません。

まだ関連性がある?あなたのバージョンのソリューションになりますか?

 
Igor Makanu:

まだ関連性がある?あなたのバージョンのソリューションになりますか?

私の投稿を引用して、「ずっと後」と書いてありますね。私の場合、「ずっと後」というのは、少なくとも1年以内という意味です。これは解決策を見出すのに必要な時間だからではなく、単に主観的な事情によるものです、残念ながら。

 
Artyom Trishkin:

少なくとも1年間はないでしょう。

なるほど、関係ないんですね。

 
条件的には単純で、その解法が思わぬ困難をもたらすような問題は、今でも考えられるのではないだろうか。
 
fxsaber:
簡単な問題ならまだしも、その解決に思わぬ苦労をすることもあるはずです。

スクリプトは過剰なリスクを監視します:ポジションと保留中の注文の合計が2を超えたら - 報告して終了 します。


コンサイスコード

void OnStart()
{
  while (!IsStopped())
    if ((PositionsTotal() + OrdersTotal() > 2)) // Если (риск превышен) число отложек/позиций больше двух,
    {
      Alert("Risk exceeded!");                  // сообщаем      
      ExpertRemove();                           // и выходим.
    }
}


手動操作に応じたスクリプトの動作に注目します。その前に(スクリプトを実行する前に)、口座のポジション数 PosTotal、注文-OrdTotalを マークしておきましょう。

スクリプト PosTotal/OrdTotal アクション スクリプト結果
01 0/0 ポジションを開く 作品紹介
02 0/0 保留ポジションを置く。 効くんです。
03 0/1 間を 置くこと 03 0/1 一時停止をする。
04 0/1 ポジションを開く 注意喚起(常にではない)。
05 0/1 保留中のポジションを削除します。 作品紹介
06 1/0 保留中の注文を出す 作品紹介
07 1/0 ポジションを開設する。 注意喚起(常にではない)
08 1/0 ポジションを閉じる。 働くこと
09 1/1 保留中のポジションを削除する。 働くこと
10 1/1 ポジションをクローズする アラート
11 0/2 保留中のポジションを削除します。 働くこと
12 2/0 ポジションをクローズする アラート


とてもシンプルな作業のように見えますが、アラートです。ソリューションのバリエーションは?


おそらく、このような簡単な作業でこそ、MT5の理解を深めるべきでしょう。

 
fxsaber:

スクリプトはリスクを監視する:ポジションと保留中の注文の合計数が2を超えた場合、それを報告し、終了 する。


コンサイスコード


手動操作に応じたスクリプトの動作に注目します。その前に(スクリプトを実行する前に)、口座のポジション数 PosTotal、注文-OrdTotalを マークしておきましょう。

スクリプト PosTotal/OrdTotal アクション スクリプト結果
01 0/0 ポジションを開く 作品紹介
02 0/0 保留ポジションを置く。 効くんです。
03 0/1 保留に する 03 0/1 一時停止をする。
04 0/1 ポジションを開く 注意喚起(常にではない)。
05 0/1 保留中のポジションを削除します。 作品紹介
06 1/0 保留中の注文を出す 作品紹介
07 1/0 ポジションを開設する。 注意喚起(常にではない)
08 1/0 ポジションを閉じる。 働くこと
09 1/1 保留中のポジションを削除する。 働くこと
10 1/1 ポジションをクローズする アラート
11 0/2 保留中のポジションを削除します。 働くこと
12 2/0 ポジションをクローズする アラート


とてもシンプルな作業のように見えますが、アラートです。ソリューションのバリエーションは?


おそらく、このような簡単な作業でこそ、MT5の理解を深めるべきでしょう。

MQ5と何か関係があるのでしょうか?ループを抜ける条件:IsStoppedと2回以上の注文がないこと。すると、スクリプトが動作し、その条件が成立しない場合はスクリプトも動作します。

 
Алексей Тарабанов:

MQ5と何か関係があるのですか?ループを抜ける条件:IsStoppedで注文が2つ以上ないこと。すると、スクリプトが動作し、その条件が成立しない場合はスクリプトも動作します。

コードにはコメントまでついている。

 
fxsaber:

スクリプトは過剰なリスクを監視します:ポジションと保留中の注文の合計数が2を超えたら - 報告して終了 します。

簡潔なコードです。


とてもシンプルな作業のように見えますが、アラートです。ソリューションのバリエーションとは?


おそらく、MT5の理解を深めるには、このような簡単な作業を行うのが良いのでしょう。

このようなことが必要なのだと思います。

void OnStart()
{
   while (!IsStopped())
   {
      //--- посчитаем ордера
      int orders = 0;
      for(int i = 0; i < OrdersTotal(); i++)
         if(OrderGetTicket(i) > 0 && OrderGetInteger(ORDER_TYPE) < ORDER_TYPE_CLOSE_BY) orders++;
      
      if(orders + PositionsTotal() > 2) break;     // выходим
   }
   if(!_StopFlag) Alert("Risk exceeded!");         // сообщаем
}
 
Igor Makanu:

というようなことが必要なのでしょう。

確かに、注文をフィルタリングする必要がありますね。簡単なことではないのです。

ZS フォーラムでは面白い状況になっていますね。質問に対する積極的な対応。こ こは違うらしい。
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2016.11.09
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
理由: