Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1110

 
Alexey Viktorov:

La documentazione vi dice come farlo. In fmod si divide per 1 e si ottiene la parte frazionaria del numero o 0. Non vi interessa quante cifre decimali sono inserite nel campo o nella variabile di input.

Funziona, è la soluzione più semplice!

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

Grazie!

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

Ottengo il valore sbagliato, intorno allo zero

L'indicatore è in Esempi

Qual è il problema?

 
Roman Sharanov:

Ottengo il valore sbagliato, intorno allo zero

L'indicatore è in Esempi

Qual è il problema?

Crei un nuovo indicatore a ogni tick?

L'handle dovrebbe essere creato in OnInit e i dati dovrebbero essere ricevuti in OnTick o OnCalculate.
 
Vladimir Karputov:
Crei un nuovo indicatore a ogni tick?

L'handle dovrebbe essere creato in OnInit e i dati dovrebbero essere ricevuti in OnTick o OnCalculate.

No, è in OnInit

 
Roman Sharanov:

No, è in OnInit


Sei disattento: leggi tutta la frase, per intero: l'Handle dovrebbe essere creato in OnInit, e i dati dovrebbero essere ricevuti in OnTick o OnCalculate.
 
Vladimir Karputov:

Sei disattento: leggi tutta la frase, per intero: l'Handle dovrebbe essere creato in OnInit, e i dati dovrebbero essere ricevuti in OnTick o OnCalculate.

E così fa

 
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:

Non è cambiato nulla, mostra ancora e+321

 
Roman Sharanov:

Non è cambiato nulla, mostra ancora e+321

UtilizzareDoubleToString() per produrre i valori dei prezzi con la precisione desiderata