1分足のOHLCと毎ティックでの比較 - 逆の結果です。

 

EAと入力パラメータは全く同じですが、1分足のOHLCの場合、50000の利益が出るのに対し、1分足の場合、-7000の損失が出ています。

これは、2年間0811-0813の期間でテストした多くのペアで発生します。

誰かが同じ問題を持っていた?私はここで何が問題なのか、私は実際のお金を取引するときに何をしなければならない理解していない。

以下の両方のグラフ

1分足のOHLC

1分ohlc

すべてのティック

ダニごと

 

EAがどのように売買を決定しているのか、情報がないためお答えするのは難しいです。

市場には、1本のバーが非常に大きなサイズになる状況が多く見られます(例えば、重要な ニュースの時など)。

そのため、テスターではそのようなバーに対して最大11ティックを生成しています。あなたのロジック次第では、(テストだけでは)非常に異なる動作をします。

このような大きなバーは1分間に200ティックまで発生する可能性があるため、実際の資金でEAを使用する場合はもっと悪くなると確信しています。

あなたのロジックは現在のバーで動作すると仮定して、あなたは前のバーの値であなたのロジックを試してみてください。

よろしくお願いします。

Uwe

 
ugo58:

EAがどのように売買を決定しているのか、情報がないためお答えするのは難しいです。

市場には、1本のバーが非常に大きなサイズになる状況が多く見られます(例えば、重要なニュースの時など)。

そのため、テスターではそのようなバーに対して最大11ティックを生成しています。あなたのロジック次第では、(テストだけでは)非常に異なる動作をします。

このような大きなバーは1分間に200ティックまで発生する可能性があるため、実際の資金でEAを使用する場合はもっと悪くなると確信しています。

あなたのロジックは現在のバーで動作すると仮定して、あなたは前のバーの値であなたのロジックを試してみてください。

よろしくお願いします。

Uwe

1つのバーで「ティッキング」だけを行うためのトリックを送ります。このロジックをティックの最初に置くだけです。バーが新しいものでない場合は、終了します。

このトリックがうまく機能するのはどのような場合だと思いますか?

   //--- Let's first check if a new bar has come!         
   if(CopyTime(_Symbol, _Period, 0, 1, m_currentBarTime) > 0) 
     {
      if(m_previousBarTime != m_currentBarTime[0])
        {
         m_isNewBar = true;
         m_previousBarTime = m_currentBarTime[0];
        }
     }
   else
     {
      Alert("Error copying historical data, error: ", GetLastError());
      return;
     }
     
   if(!m_isNewBar) return;

あなたはまた、これらの余分なティックを解決するために何をお勧めしますか?これを説明する記事などはないでしょうか?ありがとうございます。

 
laplacianlab:

私は今、1つのバーで "ティッキング "のための唯一のトリックを送信します。このロジックをティックの最初に置くだけです。もしバーが新しくない場合は終了します...

このトリックがうまく機能するのはどのような場合だと思いますか?

あなたはまた、これらの余分なティックを解決するために 何をお勧めしますか?これを説明する記事などはないでしょうか?ありがとうございます。

余分なカクツキを解消する」とはどういう意味でしょうか?
 
ugo58:

EAがどのように売買を決定しているのか、情報がないためお答えするのは難しいです。

市場には、1本のバーが非常に大きなサイズになる状況が多く見られます(例えば、重要なニュースの時など)。

そのため、テスターではそのようなバーに対して最大11ティックを生成しています。あなたのロジック次第では、(テストだけでは)非常に異なる動作をします。

このような大きなバーは1分間に200ティックまで発生する可能性があるため、実際の資金でEAを使用する場合はもっと悪くなると確信しています。

あなたのロジックは現在のバーで動作すると仮定して、あなたは前のバーの値であなたのロジックを試してみてください。

よろしくお願いします。

Uwe

こんにちは。

maVal[0]の代わりにmaVal[1](maValは移動平均の値を含み、配列はシリーズとして設定されています)を使用するのでしょうか?

または、最後のバーで条件が確認されたかどうかをチェックし、このバーのオープニングで入力するのですか?

私の非常にシンプルな EA のコードの下の部分

 triggerLong=maVal[1]-diff;
 triggerShort=maVal[1]+diff; 

......
.......

Buy_Condition_1=(now_ask<triggerLong);
Sell_Condition_1=(now_bid>triggerShort);

Exit_long_Condition=(closeAtCross? now_ask>=maVal[1]:false) || Sell_Condition_1;
Exit_short_Condition=(closeAtCross? now_bid<=maVal[1]:false) || Buy_Condition_1;

maVal[1]を使っても、maVal[0]を使っても、状況はそれほど変わりませんが、ohclはまだ利益を上げていますが、すべてのティックは そうではありません。

感謝

 
ugo58:

EAがどのように売買を決定しているのか、情報がないためお答えするのは難しいです。

市場には、1本のバーが非常に大きなサイズになる状況が多く見られます(例えば、重要なニュースの時など)。

そのため、テスターではそのようなバーに対して最大11ティックを生成して います。あなたのロジック次第では、(テストだけでは)非常に異なる動作をします。

このような大きなバーは1分間に200ティックまで発生する可能性があるため、実際の資金でEAを使用する場合はもっと悪くなると確信しています。

あなたのロジックは現在のバーで動作すると仮定して、あなたは前のバーの値であなたのロジックを試してみてください。

よろしくお願いします。

Uwe

テスターは11ティックよりも多くのティックを生成することができます。この投稿を 参照してください。
 
angevoyageur:
余分なティックを解決する」というのはどういう意味ですか?

私はugo58さんに全面的に賛成です。大きなバーではOnTickイベントが何度も発生しますが、小さなバーでは発生回数がかなり少なくなります。

そのため、開発者はイベントOnTickがバーごとに何度も実行される可能性があるという事実を緩和する解決策を探さなければなりません。

私が以前送ったものは一つの解決策に過ぎないと思いますが、ugo50さんはもう一つの解決策を提案されました。とにかく、もしあなたが現在のバーでOnTickロジックを実行したいのであれば、私が前に送ったものと似たようなものを使うことができるかもしれません。

私たちは、OnBarイベントのようなものを実装しようとしています。

これについてはどう思われますか?

 
michelino:

こんにちは。

maVal[0]の代わりに maVal[1] (maVal は移動平均の値を含み、配列はシリーズとして設定されています) を使うのですか?

または、最後のバーで条件が確認されたかどうかをチェックし、このバーのオープニングで入力するのですか?

私の非常にシンプルな EA のコードの下の部分

maVal[1]を使っても、maVal[0]を使っても、状況はそれほど変わりませんが、ohclはまだ利益がありますが、すべてのティックはそうではありません。

感謝

あなたのコードがmaVal[1]またはmaVal[0]を使用するかどうか、または一般的にあなたが閉じたバーだけ、開いたバーまたはバー内部で動作している場合は明らかに大きな違いがある。

最後のケースでは、Every tick モードを使用する必要があり、他のすべてのモードは適切ではありません。

 
angevoyageur:
これは真実ではなく、Testerは11ティックより多くのものを生成することができます。この投稿を ご覧ください。

Thxです。ああ、まあ。そのような問題を解決する方法はたくさんあります。)


私が言ったように、それはあなたのロジックに依存します。

maVal[1]は、移動平均が各バーでそれほど速く変化しないので、これらの問題を解決する多くの方法があります(期間の長さと平滑化方法に依存します)。

例えば、ある範囲のバーの高値と安値に依存する場合、それは異なる可能性があります。

 
シェアに感謝...ナイス
 
もしかしたら、このリンクも役に立つかもしれません。https://www.mql5.com/en/articles/159
"New Bar" Event Handler
"New Bar" Event Handler
  • 2010.10.11
  • Konstantin Gruzdev
  • www.mql5.com
MQL5 programming language is capable of solving problems on a brand new level. Even those tasks, that already have such solutions, thanks to object oriented programming can rise to a higher level. In this article we take a specially simple example of checking new bar on a chart, that was transformed into rather powerful and versatile tool. What tool? Find out in this article.
理由: