どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 107

 

FEAR:

大正解

そして最も重要なのは、正しいものを...。
 
VladislavVG:


bool SLowTen = (Open[1]==Low[1]); // 強気ローソク足の下限シャドーなし

実数の適切な比較についてはフォーラムを検索してください。

アーティストを不快にさせるのは誰でもできる、ちゃんと書けばいいのに。私は、建設的な批判がとても好きです。醜いコードについては自分も知っています。

もう一つ質問があるのですが、ローソクの大きさが60ポイント(5桁)以上という条件ではどう書けばいいのでしょうか?

 
alexey1979621:

アーティストなんて誰でも怒るんだから、ちゃんと書けばいいのに。私は批判がとても好きです。建設的な批判です。醜いコードについては自分も知っています。

ここで、もう一つそれに関する質問があります。ローソクの大きさが60ポイント(5桁)より大きいという条件では、どのように書くのですか?


比較倍増。

if (NormalizeDouble(p1-p2,Digits)<0.5*Point) {
   // Значит равны
   }

ローソクの大きさが60pips以上(5桁 上)の場合の処方の仕方。

if (размер_свечи>60*Point) {}
 
artmedia70:

比較倍増。

ローソクの大きさが60pips以上(5桁上)という条件での処方の仕方。


鈍感で申し訳ないのですが、p1、p2はそれぞれHigh、Lowなのでしょうか?また、0.5とはどういう意味でしょうか?

私の既存のコードに適用

   double STelo = MathAbs(Close[1]-Open[1])/Point; // тело бычьей свечи
   double SHighTen = (High[1]-Close[1])/Point; // верхняя тень бычьей свечи
   bool SLowTen = (Open[1]==Low[1]);    // отсутствие нижней тени бычьей свечи
  
   
   double Razmer_1 = (High[1]-Low[1])/Point; // размер свечи

        
   if(Volume[0]>1) return;

   if (Open[1]<Close[1] && SHighTen > 5*STelo && SLowTen == true && Razmer_1 > 60*Point)


Я правильно должен прописать: 
   double STelo = MathAbs(Close[1]-Open[1])/Point; // тело бычьей свечи
   double SHighTen = (High[1]-Close[1])/Point; // верхняя тень бычьей свечи
   bool SLowTen;

   if (NormalizeDouble(Open[1]-Low[1],Digits)<0.5*Point)  // отсутствие нижней тени бычьей свечи
  
   
   double Razmer_1 = (High[1]-Low[1])/Point; 

        
   if(Volume[0]>1) return;

   if (Open[1]<Close[1] && SHighTen > 5*STelo && SLowTen == true && Razmer_1 > 60*Point) // продажа
 
alexey1979621:

アーティストなんて誰でも怒るんだから、ちゃんと書けばいいのに。私は批判がとても好きです。建設的な批判です。醜いコードについては自分も知っています。

それについてはもう一つ、ローソクの大きさが60ポイント(5桁)以上という条件をどう書くかです。



これは調べるだけでなく、理解しなければならない基本的な知識です。この質問は、フォーラムで噛み砕かれているため、よほど怠惰な人でないと答えを見つけて解決することができません。ちなみに、その方がよっぽど便利です。

でも、コードの醜さはどうなんだろう......それは私には関係ない。コードを読み やすくするために追加の変数を導入するのは、ごく普通のことのように思えます。

 
artmedia70:

比較倍増。



この場合

if (NormalizeDouble(p1-p2,Digits)<0.5*Point) {
   

NormalizeDouble() は冗長です ;)。

 
VladislavVG:


この場合

NormalizeDouble()は冗長です ;)。

そして、なぜここに正規化がなく、トレードオーダーで 正規化された価格があるのかを説明する。だからここに正規化を入れて、トレード・オーダーで正規化されていない価格を送ったときに、彼が目を丸くしないようにしたんです。
 
artmedia70:
そして、なぜここに正常化がなく、正常化との貿易受注で価格と彼に説明する?だからここに正規化を入れて、取引注文で正規化されていない価格を送ったときに、彼が目を丸くしないようにしたんだ。


)))))))))))))))))))))))))))) そう、それは論外だ。
 
VladislavVG:

)))))))))))))))))))))))))))) そう、それは論外だ。
いずれ必要なところと不要なところを覚えていくのだと思います。同時に、正常化が必要であることもすぐにわかるだろう。そして、それがなくてもできるようになったとき、次の学びのステージに......。;)そのような考察から...
 
皆さん、助けてください。もう5日も経っているのに、わからないんです。私は、適切な条件がトリガーされたときに、注文のストップロスを修正するEAを作りました。そしてストップロスは、最後に閉じた注文の利益を取る ように設定する必要があります。しかし、修正が始まると、ロボットは常にストップロスを1.0000に設定します。何が悪いのか理解できない。もう、頭を悩ませています。 どなたか、現在の注文のストップロスに対して、前の注文のテイクプロフィットを取る方法をご存知の方はいらっしゃいますか?