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

 
Alexey Viktorov:

これはチェックされているのでしょうか))))

こんな感じで持っています。

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15:Alert: 8:4.236 423.6

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 7:2.618 261.8

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 6:1.618 161.8

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 5:1 100.0

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 4:0.618 61.8

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 3:0.5 50.0

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 2:0.382 38.2

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 1:0.236 23.6

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: 0:0 0.0

2021.01.29 17:22:20.869 uthyeba 3 GBPUSD,M15: Alert: Fibo levels before = 9


 
Galim_V:

しています。

価格はどこですか?

 
Alexey Viktorov:

価格はどこですか?

アレックスが提案したスクリプトを実行しました。そうそう、それは数えるんじゃなくて、取りたいっていうことなんです。ボットに必要なものは、自分では絶対に計算できないものばかりです。それに、私はmetquotesの人たちを信頼しています。そうでしょう?

 
Galim_V:

Alexが提案したスクリプトを実行しました。そうそう、それは数えるんじゃなくて、取りたいっていうことなんです。ロボットに必要なものは、自分では絶対に計算できないものばかりです。それに、私はmetquotesの人たちを信頼しています。そうでしょう?

わかったような気がします。

   //---  а сколько у нас Фибо-уровней ?
   double pr,lpr;
   int levels=ObjectGetInteger(0,"Fibo",OBJPROP_LEVELS);
   Print("Fibo levels before = ",levels);
   //---выведем в Журнал=> номер уровня:значения описание_уровня
   for(int f=0; f<levels; f++) 
     {
      pr=ObjectGetDouble(0,"Fibo",OBJPROP_PRICE,0)-ObjectGetDouble(0,"Fibo",OBJPROP_PRICE,1);
      lpr=(ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,f)*pr)
         +ObjectGetDouble(0,"Fibo",OBJPROP_PRICE,0);
         Print(f,":",ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,f),":",DoubleToString(lpr,Digits));
     }
少しいじったのですが、なぜか内部レベルとマイナスレベルがカウントされません
 
Galim_V:

Alexが提案したスクリプトを実行しました。そうそう、それは数えるんじゃなくて、取りたいっていうことなんです。ロボットに必要なものは、自分では絶対に計算できないものばかりです。それに、私はmetquotesの人たちを信頼しています。そうでしょう?

他に選択肢はない。数えるだけ...

 
MakarFX:

うまくいっていると思います。

少し直したのですが、なぜか内部レベルとマイナスレベルがカウントされません

マカーさん、ありがとうございました。

 
Galim_V:

マカーさん、ありがとうございました。

私は、2つの主要なフィボレベルに基づく数学的な価格発見を使用することをお勧めします。
 
MakarFX:

効果があるようです。

あまりいじってないが、なぜか内部レベルとマイナスレベルがカウントされない

ゼロレベルが正しく定義されていないため、ゼロレベルに加算するだけでなく、ファイバーが下に伸びている場合は、ゼロレベルから減算しなければならないので、うまくいきません。一般的には、シングル、100%のレベルに対するゼロレベルの位置によってすべてが決まる。

 
Alexey Viktorov:

ゼロレベルが正しく定義されていないため、ゼロレベルに加算するだけでなく、ファイバーを上から下へ引き伸ばすと減算されるため、カウントされないのです。一般的には、シングル、100パーセントのレベルに対するゼロレベルの位置によってすべてが決まる。

ごもっともな話
 

完成しました)

これで、すべてのレベルが正しくカウントされるようになりました

   //---  а сколько у нас Фибо-уровней ?
   int levels=ObjectGetInteger(0,"Fibo",OBJPROP_LEVELS);
   Print("Fibo levels before = ",levels);
   //---выведем в Журнал=> номер уровня:значения описание_уровня
   for(int f=0; f<levels; f++) 
    {
     if(f>=0)
      {
      Print(f,":",ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,f),":",ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,f)
      *(NormalizeDouble(ObjectGetDouble(0,"Fibo",OBJPROP_PRICE1,f),Digits)
      -NormalizeDouble(ObjectGetDouble(0,"Fibo",OBJPROP_PRICE2,f),Digits))
      +NormalizeDouble(ObjectGetDouble(0,"Fibo",OBJPROP_PRICE2,f),Digits));
      }
    }