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

 
Alexey Viktorov:

全てはドキュメントに記載されています。fmodでは、1で割って、数値の小数部分か 0を得ます。フィールドや入力変数に小数点以下が何桁で入力されているかは気にしないようにします。

うまくいく!一番簡単な解決方法です。

EditCreate(0,"TR",0,0,0,X,Y, fmod(TralingStop,1)==0 ? DoubleToString(TralingStop,0) : DoubleToString(TralingStop,1),true);

ありがとうございました。

 
heik_h = iCustom(_Symbol, PERIOD_CURRENT, "Examples\\Heiken_Ashi");
CopyBuffer(heik_h, 1, 1, 1, heikHigh);
CopyBuffer(heik_h, 2, 1, 1, heikLow);
Comment(heikHigh[0]);   

間違った値が表示される、ゼロ付近

インジケータはExamplesに あります。

何が問題なのか?

 
Roman Sharanov:

ゼロ付近の間違った値が表示される

インジケータはExamplesに あります。

何が問題なのか?

ティック 毎に新しいインジケータ・ハンドルを作成していますか?

OnInitでハンドルを作成し、OnTickまたはOnCalculateでデータを受信する必要があります。
 
Vladimir Karputov:
ティック 毎に新しいインジケータ・ハンドルを作成していますか?

OnInitでハンドルを作成し、OnTickまたはOnCalculateでデータを受信する必要があります。

いいえ、OnInitにあります。

 
Roman Sharanov:

いいえ、OnInitにあります。


OnInitでHandleを作成し、OnTickまたはOnCalculateで データを受信する必要があります。
 
Vladimir Karputov:

ハンドルはOnInitで作成し、OnTickまたはOnCalculateで既にデータを受信する必要があります。

そうして、そうして

 
int OnInit(){
   heik_h = iCustom(_Symbol, PERIOD_CURRENT, "Examples\\Heiken_Ashi");
}
void OnTick(){
   CopyBuffer(heik_h, 1, 1, 1, heikHigh);
   Comment(heikHigh[0]);
}
 

Roman Sharanov:

int OnInit(){
   heik_h = iCustom(_Symbol, PERIOD_CURRENT, "Examples\\Heiken_Ashi");
}
void OnTick(){
   CopyBuffer(heik_h, 1, 1, 1, heikHigh);
   Comment(heikHigh[0]);
}

//+------------------------------------------------------------------+
int OnInit()
  {
   heik_h = iCustom(_Symbol, PERIOD_CURRENT, "Examples\\Heiken_Ashi");
   if(heik_h==INVALID_HANDLE)
      return INIT_FAILED;
   ArraySetAsSeries(heikHigh,true);
  }
void OnTick()
  {
   if(CopyBuffer(heik_h, 1, 1, 1, heikHigh)==1)
      Comment(heikHigh[0]);
  }
//+------------------------------------------------------------------+
 
Artyom Trishkin:

何も変わらず、e+321と表示されます。

 
Roman Sharanov:

何も変わらず、e+321と表示されます。

DoubleToString()を使用して、希望する精度で価格値を出力します。

理由: