[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 103

 
IgorM:

この方法で試してみてください。


私が何も理解していないのか、それともあなたが問題を誤解しているのか、どちらかです。

Close[2]価格1.34529、Open[1]価格1.34530が あります。

ポジションを開く条件があるのですが

Close[2] >= Open[1]

10~20ピップス(5桁)は大きな役割を果たさないので、プログラムに入れる必要があります。

終値が1.34529で、建値が1.34530の場合でも、ポジションを建てることは可能です。

 
kilnart:

を選択すると、ポジションは開きません。

???

では、価格条件と何の関係があるのでしょうか?

次のコードを見てください。もう一つ間違いがあります。

 
条件を満たした価格がチャートに表示され、ポジションが開設されます。
 
コードを再確認してお知らせします。
 
kilnart:


私が理解していないか、あなたが課題を誤解しているかのどちらかです。

......

10〜20pts(5桁)は大きな役割を果たさないので、プログラムに入れる必要がある

どうやら、前の投稿を先に書いて、それに対して何を聞きたいかだけを考えたようですね...。

本当に5桁で10-20ptsはあまり重要ではありません、私はdoubleのような 変数を正しく比較する方法を示しました、私はあなたの問題は正しい条件を作ることではないのではないかと思います。明確な答えを得るために、まず明確な質問を立ててみてください。

 
IgorM:

どうやら、前の記事を先に書いて、それに対して何を聞きたいかだけを考えたようですね......。

本当に、5桁で10-20ppは大したことありません。double型の変数を正しく比較する方法を示しましたが、あなたの問題は正しい条件を作ることではないのではと思います。明確な答えを得るために、まず明確な質問を立ててみてください。


ただし、イマイチ、ダブルスをそうやって比較するのは間違っていますね。例えば、4桁の 価格1.00014と1.00016は1.0001と1.0002に相当するが、1.00016から1.00014 < ポイント
 
220Volt: ただし、イマイチ、ドブレをそうやって比較するのは間違って いますね。例えば、4桁の価格1.00014と1.00016は、1.0001と1.0002に相当するが、1.00016 - 1.00014 < ポイント

倍率の比較と四捨五入をごっちゃにしている、5桁を4桁に丸めてから4桁で解析を行うか きちんと2つの倍率を比較するか、明確な問題文が必要だ。

もし、2つのダブルを比較するのであれば、私が引用したコードの部分は、4桁でも5桁でも正しく機能します。

switch(Digits){
   case 5: if(1.00014-1.00016>=10*Point); условие= false, -0.00002 меньше 0.00001*10   // цена больше на 10 пп в 5-ти знаке
   case 4: if(1.0001-1.0002>=Point); условие= false, -0.0001 меньше 0.0001          // цена больше на 1 пп в 4-х знаке
}

check it out:https://www.mql5.com/ru/articles/1561 andhttps://www.mql5.com/ru/forum/101433

SZZ: 私のコードに間違いがありました。caseはbreakで閉じるべきでした。

switch(Digits){
   case 5: if(Close[2]-Open[1]>=10*Point);// цена больше на 10 пп в 5-ти знаке
           break;
   case 4: if(Close[2]-Open[1]>=Point);// цена больше на 1 пп в 4-х знаке
           break;
}
 
IgorM:

倍率の比較と四捨五入をごっちゃにしている、5桁を4桁に丸めてから4桁で解析を行うか きちんと2つの倍率を比較するか、明確な問題文が必要だ。

もし、2つのダブルを比較するのであれば、私が引用したコードの部分は、4桁でも5桁でも正しく機能します。

check it out:https://www.mql5.com/ru/articles/1561 andhttps://www.mql5.com/ru/forum/101433

ZS: 私のコードには間違いがあります。caseはbreakで閉じるべきで、例えば次のようにします。


おっしゃる通り、作者にとってはどうでもいいことなのでしょうけれども。私はピップを1本1本数えているので、そういう時は自分なりの視点で見ています。
 

それだ、もう頭がぐちゃぐちゃで使えない。

以下はそのコードです。

       double Low1=Low[iLowest(NULL,0,MODE_LOW,3,0)],
              Low2=Low[iLowest(NULL,0,MODE_LOW,20,0)];
         
         if(Low1<Low2 && Open[2]>Close[2])    
          {
            if(Open[1]<=Close[2] && Open[2]<Close[1])
             {
                 double sl=Low[iLowest(NULL,0,MODE_LOW,3,0)],
                        tp=Ask+(Open[2]-Low[2]);
                 OrderSend(Symbol(),OP_BUY,0.1,Ask,3,sl,tp);
                 return;
             }
          }

直近の3本のローソク足の最小値を求め、直近20本のローソク足の最小 値と比較し、直近3本のローソク足の方が低く、ローソク足が黒( Open[2]>Close[2] )であれば、さらに検討する必要があります。

弱気のテイクオーバー( Open[1]<=Close[2] && Open[2]<Close[1] )を見つけたいのです。

そして、買いポジションを開く。

正しいように見えるが、何かが間違っているような気がする。

ご教授頂ければ幸いです。

 
こんにちは。

チャンネルを描画するインジケータをEAに移しました。

アンバランスな括弧は、すべての括弧を再確認していますが、常にエラーです。

しかし、私の質問は異なっています。私は、まさにこれらのチャネルを使用して、条件で取引を開く必要がありますが、私はそれらをマークする方法がわからないです。オブジェクトの名前だけ書いてみましたが、まだこの解答の正しさを確認できていません。

この問題を解決する方法を教えてください。