初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 970

 
友達です。私が考えていたExpert Advisorのアルゴリズムを一緒に書き上げました。
ありがとうございました。みんなでやったとも言える)
うまくいって、期待通りの結果が得られ、次に進むことができる。
---
OHLC M1モードでのテストについて質問です。
OHLC M1 でのテスト結果が「全ティック」での テスト結果に近くなるように、Expert Advisor をプログラムすることは現実的ですか?
フォーラム全体を検索したところ、4つの基準点生成によるOHLC M1モードが一致しない理由を明確に説明しているものがありました。
を、ティックベースのモードと組み合わせて使用します。

しかし、この条件をOHLC M1と同様にプログラムする方法、例、推奨事項は見つかっていませんし、全く不可能なのでしょうか?

OHLC M1モードが好きなのは、ひとえに計算の速さです。
EAの具体的な内容(重要であれば)
SLとTPを固定したストップオーダーを設定し、何度も新しい価格水準で注文を修正し、トリガーを待ちます。
指標はなく、プライスカウンターのみ。
OHLC M1」モードでのシミュレーションが不可能な場合、始値で」モードを使用した方が良いのでは?
結局、どのようなモードで計算するのが合理的なのかを理解し、素早く計算できるようにしたいですね。
計算が速く、オールテクニカルモード間の乖離を少なくするために、何を使うべきか理解したい。

今のところ、同じような設定で以下のようなダイバージェンスが得られました。

"OHLC M1 ; 8年 ; 1681回取引。(当初はこの方法を使っていました)

OHLC M1

「始値" ; 8年 ; 1655回取引。

オープニング価格のみ

"オールティック "8年、1676回取引。

オールトラック

このアルゴリズムはロバスト性が高いようで、各手法の結果を個別に改善することもできるかもしれませんね。

しかし、それでは汎用性が失われ、冗長に見えてしまいます。




 
vladzeit:


つまり、例として1.16000にTPの買いポジションを設定している場合、「すべてのティック」がこの価格程度で決済されることになります。OHLCは1.16000より上の価格で決済され、これはかなり大きな差となるため、OHLCの方が常に良い結果を示すでしょう。オープニング 価格で」でも同じ話。

 
Nauris Zukas:

簡単に説明すると、例として1.16000でTPの買いポジションを設定した場合、「すべてのティック」はほぼこの価格で決済されることになります。OHLCはこの1.16000より上にあった価格でクローズし、かなり大きな差になる可能性があるので、常にOHLCが良い結果を示すでしょう。オープニング 価格で」でも同じ話。

ナウリス ありがとうございます。方法によって結果が異なる理由がわかった(推測できた)。しかし、私が理解したいのは、このことです。

テスターで「OHLC M1」方式をシミュレートした場合、同じ方式をExpert Advisorでプログラム的に繰り返すにはどうしたらよいのでしょう。

テスターで何とか再現...。

 
vladzeit:

ナウリス ありがとうございます。方法によって結果が異なる理由がわかった(推測できた)。しかし、私が理解したいのは、このことです。

テスターで「OHLC M1」方式をシミュレートした場合、同じ方式をExpert Advisorでプログラム的に繰り返すにはどうしたらよいのでしょう。

テスターでなんとなく再現してみたが...。

私を信じて、あなたはそのような精度を必要としない、結果を最適化し、すべてのティックでそれを実行する、最良の選択肢です...

3~4pipsの差でなければ、2pipsの差で引けても大差ないのでは...。

Expert Advisorで何かを再生しても、時間は早くならないし、逆に遅くなるし...。

 
xxz:

私を信じて、あなたはそのような精度を必要としない、結果を最適化し、すべてのティックでそれを実行する、最良の選択肢です...

3~4pipsも離れていないのであれば、2pips多くても少なくてもクローズしても大差ないのですが...。

Expert Advisorで何かを再生しても、時間は早くならないし、逆に遅くなるし...。

ありがとうございます。もし、誰も"OHLC M1 " メソッドを実装する方法を続けないのであれば、私はただあなたのアドバイスを使用することを宣告されるでしょう))) 。

 
vladzeit:

ありがとうございます。もし、誰も"OHLC M1 " の方法を継続しないなら、私はあなたのアドバイスを使用するように非難されます))))

あなたは特に素晴らしいアイデアを考えていない場合は、違いはダニの方向にあり、実際の取引では、ダニは、オープン、ボトム、トップ、クローズ、ろうそくが大きい場合、あなたは底で買って、クローズによって利益を得ることができる、シミュレーションではろうそくがオープン、トップ、ボトム、クローズとして形成されているとしましょう、オープンおよびトップはクローズに一致し、そのようなキャンドルで買いが、利益ではない、と市場が下がっている場合、ここでは損失命令をぶら下げました...。

... だからこその乖離...

 
vladzeit:

ありがとうございます。OHLC M1」 メソッドの実装方法について誰も続かないのであれば、私はあなたのアドバイスを受けて非難するのみです)))

メソッドが物語っています。EAでは、現在のバーに含まれるすべての分バーのOHLC価格のみを使用します。
 
vladzeit:

ありがとうございます。OHLC M1」 メソッドの実装方法について誰も続かないのであれば、私はあなたのアドバイスを受けて非難するのみです)))

Expert AdvisorのOpen/Closeは価格レベルではなく、Openで行います。開閉シグナルがあり、次の1Mローソク足を待って開閉する。

 
Artyom Trishkin:
メソッドが物語っています。EAでは、現在のバーに含まれるすべての分バーのOHLC価格のみを使用します。

Artyom 試してみました。注文の開始と変更のすべての条件で、私はブール関数isNewBar()を介して「新しいバーの誕生時」の条件を入れています。

このように

if (Buys==true )
   {
   int count_buy_stops=0;   int count_pos_buy=0;
   CalOrders_Buy(count_buy_stops);   CalPosition_Buy(count_pos_buy);
   if(count_buy_stops==0 && count_pos_buy==0) && isNewBar())
   {
   BuyStop();
   }
   }

isNewBar() 関数自体は、examplesやcode.baseの記事で 紹介されています。

bool isNewBar()
  {
//--- в статической переменной будем помнить время открытия последнего бара
   static datetime last_time=0;
//--- текущее время
   datetime lastbar_time=(datetime)SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);
   if(last_time==0)//--- если это первый вызов функции
   {
   last_time=lastbar_time;    //--- установим время и выйдем 
   return(false);
   }
   if(last_time!=lastbar_time)//--- если время отличается
   {
   last_time=lastbar_time;    //--- запомним время и вернем true
   return(true);
   }
//--- дошли до этого места - значит бар не новый, вернем false
   return(false);
  }

動作して注文を入れ、新しいバーでだけ修正するようですが、なぜか矛盾があります。

isNewBar() 関数 なしで適用したM1の OHLCとisNewBar() 関数ありの「全ティック」の 間に不一致があるのですが、どうしたらいいですか?

isNewBar() 「すべてのティック」に適用すれば、 現在の価格でのOHLCと同じ 結果が得られると予想したのですが、どうでしょうか?

そのため、私がコードを間違えたのか、それともOHLC モードを正しく理解しておらず、不可能 だと予想しているのか、理解できていません。

どこを掘ればいいのかわからない。

アルチョム 難しいことでなければ、もっと教えてください。

注文は新しいバーで設定・変更できますが、SLとTPは(テスターでは)とにかく古いバーの中で動作するのでしょうか?

 
固定ロットからパーセントロットへの変換を試みて失敗した。どなたかフルコードについてアドバイスしていただけませんか?
ファイル:
Experiment.mq5  38 kb
理由: