Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1110

 
Alexey Viktorov:

Todo está descrito en la documentación. En fmod se divide por 1 y se obtiene la parte fraccionaria del número o el 0. No importa cuántos decimales se introduzcan en el campo o en la variable de entrada.

Funciona, es la solución más fácil.

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

Gracias.

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

Obtengo el valor incorrecto, alrededor de cero

El indicador está en Ejemplos

¿Cuál es el problema?

 
Roman Sharanov:

Obtengo el valor incorrecto, alrededor de cero

El indicador está en Ejemplos

¿Cuál es el problema?

¿Crean una nueva manija del indicador en cada tic?

El mango debe ser creado en OnInit y los datos deben ser recibidos en OnTick o OnCalculate.
 
Vladimir Karputov:
¿Crean una nueva manija del indicador en cada tic?

El mango debe ser creado en OnInit y los datos deben ser recibidos en OnTick o OnCalculate.

No, está en OnInit

 
Roman Sharanov:

No, está en OnInit


Estás desatento: lee la frase completa, en su totalidad: el Handle debe ser creado en OnInit, y los datos deben ser recibidos en OnTick o OnCalculate.
 
Vladimir Karputov:

Estás desatento: lee la frase completa, en su totalidad: el Handle debe ser creado en OnInit, y recibir los datos ya en OnTick o OnCalculate.

Y así lo hace

 
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:

Nada ha cambiado, todavía muestra e+321

 
Roman Sharanov:

Nada ha cambiado, todavía muestra e+321

UtiliceDoubleToString() para obtener valores de precios con la precisión deseada