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

 
Kolya32:
こちらこそ、ありがとうございました。それも有効)

私も感謝したいです :)))

この1枚

double Candle = (iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point;
if(Candle < 0){Candle = Candle * -1;}
string Candle2 =  DoubleToString(Candle, 0);
int Candle3 = StringToInteger(Candle2);

は、これに置き換えても同じように動作します。

int Candle = (int)fabs((iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point);
Документация по MQL5: Математические функции / MathAbs
Документация по MQL5: Математические функции / MathAbs
  • www.mql5.com
Математические функции / MathAbs - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 


ごきげんよう。質問です。ティックデータをタイムフレームバーに関連付けるにはどうしたらよいでしょうか。 下記はコードの一部です。バッファの色を切り替えます。フィギア

をカラーで表示させたいのですが、ここにリンクする方法がよくわかりません...?MqlRatesの 構造については考えているのですが、どの値をとればいいのかがよくわからない...?動作は確認できた(ドキュメントに例がある)のですが、値が跳ね上がってしまい、理由が不明です

//--- Подготовка данных
   int count=(limit>1 ? rates_total : 2),copied=0;
   copied=CopyBuffer(handle_ma,0,0,count,BufferPrice);
   if(copied!=count) return 0;
//----   
   for(int i=limit; i>=0 && !IsStopped(); i--)
     {
      bp=NormalizeDouble(BufferPrice[i],_Digits);
//--- High signal
   if(bp>iOpen(NULL,PERIOD_CURRENT,i) && bp<iClose(NULL,PERIOD_CURRENT,i))
     {
      ExtOpenBuffer[i]=open[i];
      ExtHighBuffer[i]=high[i];
      ExtLowBuffer[i]=low[i];
      ExtCloseBuffer[i]=close[i];
      ExtColorsBuffer[i]=1;   / уфер изменения цвета
     }
//--- Low signal
   if(bp<iOpen(NULL,PERIOD_CURRENT,i) && bp>iClose(NULL,PERIOD_CURRENT,i))
     {
      ExtOpenBuffer[i]=open[i];
      ExtHighBuffer[i]=high[i];
      ExtLowBuffer[i]=low[i];
      ExtCloseBuffer[i]=close[i];
      ExtColorsBuffer[i]=2;
     }
     }
 
Alexey Viktorov:

私も感謝したいです :)))

int Candle = (int)fabs((iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point);
こちらこそ、ありがとうございました。このデザインは試していませんが、私の言葉を信じてください、うまくいきます)
 
Kolya32:
こちらこそ、ありがとうございました。このデザインは試していませんが、うまくいったという言葉を信じます)。

試さない方が良かったんじゃない?ありがとうという冗談のような言葉でしたが、コードは真剣です。絶対値関数があるのに、なぜ文字列でdoubleをintに変換するのか...。

 
kopeyka2:


ごきげんよう。という疑問が湧いてきました。ティックデータをタイムフレームバーにリンクさせる方法。 下記はコードの一部です。バッファーの色を切り替えています。フィギア

をカラーで表示させたいのですが、ここにリンクする方法がよくわかりません...?MqlRatesの 構造については考えているのですが、どの値をとればいいのかがよくわからない...?ドキュメントにある例では、どのように動作するかはわかりましたが、値が跳ね上がってしまい、その理由がわかりません。

で受信したものを確認しない。

if(bp>iOpen(NULL,PERIOD_CURRENT,i) && bp<iClose(NULL,PERIOD_CURRENT,i))
if(bp<iOpen(NULL,PERIOD_CURRENT,i) && bp>iClose(NULL,PERIOD_CURRENT,i))

関数は、エラー時に0を返します。最初のケースではiOpen()、2番目のケースではiClose()からのデータが誤っている場合にも、あなたのロジックは機能します。

mql5でティックデータを受け取るには、MqlTick構造体と関数CopyTicks()があり、構造体の最後のティックの必要数のデータを取得することができます。そして、タイムフレームのバーとリンクさせるために、ティックタイムでバー番号を取得する必要があります。iBarShift() と tick.time 構造体のフィールドを使用します。

 
Artyom Trishkin:

で受信したものを確認するのではありません。

関数は、エラー時に0を返します。最初のケースはiOpen()、2番目のケースはiClose()でエラーデータが発生した場合にも、あなたのロジックは動作するはずです。

mql5でティックデータを取得するには、MqlTickという構造体とCopyTicks()という関数があり、この中で最後のティックの必要数だけデータを取得することができます。そして、タイムフレームのバーとリンクさせるために、ティックタイムでバー番号を取得する必要があります。iBarShift() と tick.time 構造体のフィールドを使用します。

ありがとうございます。ここで(私の質問で)難しいのは、ローソク足がティックで陰影がつくことです。時間軸のバーによって、より簡単になります。でも...というわけで、またまた来ました))))
 
kopeyka2:
ありがとうございます。ここで(私の質問で)難しいのは、キャンドルが刻みで描かれていることです。時間軸のバーによって、より簡単になります。でも...というわけで、またまた来ました))))

お願いします。そこが(ご質問の中で)何も分からないのですが...。

 
Artyom Trishkin:

お願いします。ここ(質問内容)がよくわからないのですが...。

似たような 3LineBreakを 見つけた気がする https://www.mql5.com/ru/code/485
 
mt5のテスターにある連続負けトレード数というパラメータがどこにあるのか、あるいは私がロボットに処方しなければならないのか理解できません。 mt4にはありますが、それをどのように実装すればいいのかがわかりません。
ファイル:
l9rnznuztu.jpg  73 kb
 
freelancerAntonyan:
mt5のテスターにある連続負けトレード数というパラメータがどこにあるのか、あるいはロボットに規定する必要があるのか、理解できません。 mt4にはありますが、実装する方法がわかりません。

自分で計算できる、カスタム基準で選ぶ。

理由: