Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1110

 
Alexey Viktorov:

In der Dokumentation erfahren Sie, wie Sie dies tun können. In fmod dividiert man durch 1 und erhält den Bruchteil der Zahl oder 0. Es ist egal, wie viele Nachkommastellen im Feld oder in der Eingabevariablen eingetragen sind.

Es funktioniert, es ist die einfachste Lösung!

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

Ich danke Ihnen!

 
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]);   

Ich erhalte den falschen Wert, etwa Null

Der Indikator ist in Beispiele

Was ist das Problem?

 
Roman Sharanov:

Ich erhalte den falschen Wert, etwa Null

Der Indikator ist in Beispiele

Wo liegt das Problem?

Erstellen Sie bei jedem Tick einen neuen Indikator-Handle?

Der Handle sollte in OnInit erstellt werden und die Daten sollten in OnTick oder OnCalculate empfangen werden.
 
Vladimir Karputov:
Erstellen Sie bei jedem Tick einen neuen Indikator-Handle?

Der Handle sollte in OnInit erstellt werden und die Daten sollten in OnTick oder OnCalculate empfangen werden.

Nein, es ist in OnInit

 
Roman Sharanov:

Nein, es ist in OnInit


Sie sind unaufmerksam: Lesen Sie den ganzen Satz, vollständig: Handle sollte in OnInit erstellt werden, und Daten sollten in OnTick oder OnCalculate empfangen werden.
 
Vladimir Karputov:

Sie sind unaufmerksam: Lesen Sie den ganzen Satz: Handle sollte in OnInit erstellt werden und bereits in OnTick oder OnCalculate Daten erhalten.

Und das tut sie auch

 
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:

Es hat sich nichts geändert, es wird immer noch e+321 angezeigt.

 
Roman Sharanov:

Es hat sich nichts geändert, es wird immer noch e+321 angezeigt.

Verwenden SieDoubleToString(), um Preiswerte mit der gewünschten Genauigkeit auszugeben

Grund der Beschwerde: