Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1110

 
Alexey Viktorov:

Está tudo descrito na documentação. Em fmod divide-se por 1 e obtém-se a parte fracional do número ou 0. Não se importa quantas casas decimais são introduzidas no campo ou na variável de entrada.

Funciona, é a solução mais fácil!

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

Obrigado!

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

Recebo o valor errado, cerca de zero

O indicador está em Exemplos

Qual é o problema?

 
Roman Sharanov:

Recebo o valor errado, cerca de zero

O indicador está em Exemplos

Qual é o problema?

Cria uma nova pega indicadora a cada tick?

O cabo deve ser criado no OnInit e os dados devem ser recebidos no OnTick ou OnCalculate.
 
Vladimir Karputov:
Cria uma nova pega indicadora a cada tick?

O cabo deve ser criado no OnInit e os dados devem ser recebidos no OnTick ou OnCalculate.

Não, está no OnInit

 
Roman Sharanov:

Não, está no OnInit


Está desatento: leia toda a frase, na íntegra: O manuscrito deve ser criado no OnInit, e os dados devem ser recebidos no OnTick ou OnCalculate.
 
Vladimir Karputov:

Está desatento: leia toda a frase, na íntegra: Manusear deve ser criado no OnInit, e receber dados já no OnTick ou OnCalculate.

E assim o faz

 
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 mudou, ainda mostra e+321

 
Roman Sharanov:

Nada mudou, ainda mostra e+321

UseDoubleToString() para produzir valores de preços com a precisão desejada