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

 
Kolya32:
Obrigado também a todos. Isso também funciona)

Quero agradecer-lhe também :))))

Este aqui

double Candle = (iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point;
if(Candle < 0){Candle = Candle * -1;}
string Candle2 =  DoubleToString(Candle, 0);
int Candle3 = StringToInteger(Candle2);

pode ser substituída por esta e funcionará da mesma forma.

int Candle = (int)fabs((iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point);
Документация по MQL5: Математические функции / MathAbs
Документация по MQL5: Математические функции / MathAbs
  • www.mql5.com
Математические функции / MathAbs - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 


Bom dia. Pergunta. Como posso associar dados de tick com barras de tempo? Abaixo está uma parte do código. Troca a cor do tampão. Descobriram-no

com cores, mas não é claro como ligar aqui...? Tenho algumas ideias sobre a estrutura MqlRates, mas não é claro qual o valor a tomar...? Já vi como funciona (exemplo na documentação), mas o valor salta e não é claro porquê

//--- Подготовка данных
   int count=(limit>1 ? rates_total : 2),copied=0;
   copied=CopyBuffer(handle_ma,0,0,count,BufferPrice);
   if(copied!=count) return 0;
//----   
   for(int i=limit; i>=0 && !IsStopped(); i--)
     {
      bp=NormalizeDouble(BufferPrice[i],_Digits);
//--- High signal
   if(bp>iOpen(NULL,PERIOD_CURRENT,i) && bp<iClose(NULL,PERIOD_CURRENT,i))
     {
      ExtOpenBuffer[i]=open[i];
      ExtHighBuffer[i]=high[i];
      ExtLowBuffer[i]=low[i];
      ExtCloseBuffer[i]=close[i];
      ExtColorsBuffer[i]=1;   / уфер изменения цвета
     }
//--- Low signal
   if(bp<iOpen(NULL,PERIOD_CURRENT,i) && bp>iClose(NULL,PERIOD_CURRENT,i))
     {
      ExtOpenBuffer[i]=open[i];
      ExtHighBuffer[i]=high[i];
      ExtLowBuffer[i]=low[i];
      ExtCloseBuffer[i]=close[i];
      ExtColorsBuffer[i]=2;
     }
     }
 
Alexey Viktorov:

Quero agradecer-lhe também :))))

int Candle = (int)fabs((iClose(_Symbol,PERIOD_H1,1) - iOpen(_Symbol,PERIOD_H1,1)) / _Point);
Obrigado também a todos. Ainda não experimentei este desenho, mas acredite na minha palavra, ele funciona)
 
Kolya32:
Obrigado também a todos. Ainda não experimentei este desenho, mas acredito na sua palavra de que funciona).

Não o deveria ter experimentado. Foi uma piada sobre agradecimento, mas o código é sério. Porquê converter duplo para int via string quando existe uma função de valor absoluto...

 
kopeyka2:


Bom dia. Levantou-se uma questão. Como ligar os dados às barras de tempo. Abaixo está uma parte do código. Está a mudar a cor do tampão. Descobriram-no

com cores, mas não é claro como ligar aqui...? Tenho algumas ideias sobre a estrutura MqlRates, mas não é claro qual o valor a tomar...? Eu vi como funciona (exemplo na documentação), mas o seu valor salta e não percebo porquê.

Não se verifica o que é recebido em

if(bp>iOpen(NULL,PERIOD_CURRENT,i) && bp<iClose(NULL,PERIOD_CURRENT,i))
if(bp<iOpen(NULL,PERIOD_CURRENT,i) && bp>iClose(NULL,PERIOD_CURRENT,i))

As funções retornam 0 em caso de erro. A sua lógica também funcionará em caso de dados errados de iOpen() no primeiro caso e iClose() no segundo.

Para receber dados de ticks em mql5 há a estrutura MqlTick e a função CopyTicks(), na qual se pode obter os dados do número necessário de últimos ticks na estrutura. Depois, a fim de o ligar a uma barra de tempo, é necessário obter o número da barra por tick time. iBarShift() e o campo tick.time structure

 
Artyom Trishkin:

Não se verifica o que é recebido em

As funções retornam 0 em caso de erro. A sua lógica também funcionará em caso de dados de erro de iOpen() no primeiro caso e iClose() no segundo caso.

Para obter os dados do tick em mql5, existe uma estrutura MqlTick e a função CopyTicks(), na qual se podem obter os dados para o número necessário de últimos ticks na estrutura. Depois, a fim de o ligar a uma barra de tempo, é necessário obter o número da barra por tick time. iBarShift() e o campo tick.time structure

Obrigado. A dificuldade aqui (na minha pergunta) é que os castiçais são sombreados por carraças. É mais fácil pela barra de tempo. Mas... E é por isso que estou aqui novamente))))
 
kopeyka2:
Obrigado. A dificuldade aqui (na minha pergunta) é que as velas são pintadas com carraças. É mais fácil pela barra de tempo. Mas... E é por isso que estou aqui novamente))))

Por favor. Aí (na sua pergunta) não entendo nada...

 
Artyom Trishkin:

Por favor. Não compreendo nada aqui (na sua pergunta)...

Penso ter encontrado um 3LineBreak semelhante https://www.mql5.com/ru/code/485
 
Cavalheiros, não consigo compreender onde está o parâmetro número contínuo de negócios perdidos no testador mt5 ou tenho de o prescrever ao robot? mt4 tem-no. Não consigo encontrar como implementá-lo.
Arquivos anexados:
l9rnznuztu.jpg  73 kb
 
freelancerAntonyan:
Cavalheiros, não consigo compreender onde está o parâmetro número contínuo de ofícios perdidos no testador mt5 ou precisa de ser prescrito no robot? mt4 tem-no. Não consigo encontrar como implementá-lo.

Pode fazer as contas você mesmo, escolher nos critérios personalizados.