MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1470

 
ANDREY:
これは私のコードで最初の投稿です
そして、これは私の
 
MakarFX:

あなたのコードでは価格が下がるとLoUはすべてのティックで変化しますが、私のLoUは取引を開始した後にのみ変化 します。

あなたのコードでは、LoUは取引を開始した後にのみ変化します......しかし、あなたのコードは 私のコードと 全く同じように、各ローカル安値の30ピップ後に注文を開くことはありません。私のコードのように注文を開きたいのですが、LoUはティック毎や分単位で変化してはいけませんそして、EAには各注文の開封作業をもっと少なくしてほしいのです。

もし可能なら、あなたのコードで私と全く同じ注文を(価格、時間、金額で)2010年04月01日に開かせるが、LoUの変更は取引を開いた後だけ、または何か他のことをして、大幅に(数回)変更LoUの 数を減らす。
 
ANDREY:

あなたのコードでは、LoUは取引を開始した後にのみ変化します......しかし、あなたのコードは、私のコードと全く同じように、各ローカル安値の後30ppsの後に注文を開く ことはありません。私のコードのように注文を開きたいのですが、LoUは毎ティック、毎分変更さ れません。そして、EAには各注文の開封作業をもっと少なくしてほしいのです。

刻み目や 分単位でチェックしない場合、どのようにローカルミニマムを定義するのでしょうか?
 
MakarFX:
ティック 毎や分単位でチェックするのでなければ、どうやってローカルローを定義するのでしょうか?

そこに頭を悩ませています......。

または、Bid - Low[?] > 30 pipsで注文を開始します。しかし、このLow[?] の数をどうやって知ることができるのでしょうか。
 
ANDREY:

そこが気になるところですが......。

なぜ?

検査頻度を減らす理由を教えてください。

 
MakarFX:
なぜ?

私はテスターで1つの安定した統計パターンを見つけました。それは2008年以来、許容できるドローダウンで着実に利益を出しているものです。いろいろなペアやフレームなどでテストする必要がありますね。
しかし、いくつかのパラメータを同時に使ってテストする必要があります。最適化には非現実的な時間がかかりますし、私が必要とするものをもっと速くテストするコードもすでに書いてあります。そして今、私は自分のコードを改良しています。つまり、テスターでさらに速く、あるいは可能な限り速く動作するようにしたいのです。私のコードの主なアルゴリズムは、各ローカルミニマムの後、30ポイントで注文を開始しています。だから、なるべく早くやろうと思っているんです。

 
MakarFX:

なんで

チェック間隔を短くする理由を教えてください。

すべてのコードの実行を高速化すること。

 
MakarFX:
刻み目や 分単位でチェックしない場合、どのようにローカルミニマムを定義すればよいのでしょうか?

代替案として、関数 Low[iLowest(NULL,0,MODE_LOW,P1,0)] は、毎回の目盛りで極小値をチェックすることなく、極小値を求めます。

使ってみたが、一部のケースにしか使えない。

あるいは、私の知らない、自分の頭で理解できない構成があるのかもしれません。

 
ANDREY:

私はテスターで、2008年以来、許容できるドローダウンで安定した利益を出している、ある安定した統計パターンを発見しました。いろいろなペアやフレームなどでテストする必要がありますね。
しかし、いくつかのパラメータを同時に使ってテストする必要があります。最適化には非現実的な時間がかかりますし、私が必要とするものをもっと速くテストするコードもすでに書いてあります。そして今、私は自分のコードを改良しています。つまり、テスターでさらに速く、あるいは可能な限り速く動作するようにしたいのです。私のコードの主なアルゴリズムは、各ローカルミニマムの後、30ポイントで注文を開始しています。だから、できるだけ早くやろうと思っているんです。

コード内のチェックは負荷になりませんが、どうしても欲しい場合は試してみてもいいかもしれません。

double LoU;
int OnInit()
  {
   LoU=Low[0];
  }
//+------------------------------------------------------------------+
void OnTick()
  {
   if(Low[1]<LoU) {LoU=Low[1];}
   if ((Bid-30*Point)>=LoU)
     {
      if(OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,0,0,"300",0)) LoU=Low[0];
     }
  }
 
ANDREY:

代替案として、Low[iLowest(NULL,0,MODE_LOW,P1,0)] 関数は各ティックで最小値をチェックせずに最小値を検出します

もしかしたら、私の知らない、私の頭では到達できない構造があるのかもしれません。

処方する場所にもよりますが。
理由: