Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 793

 
ponochka:
Onitit e ontick foram adicionados! Nenhuma mudança

você pode se meter em apuros para pedidos de penalidade ;-) ou seja, ser banido e colocado na lista negra

Diagnóstico de impressão em retorno(falso) - será mais claro o que está errado.

 
Maxim Kuznetsov:

Você pode ter problemas com os pedidos OnTick ;-) ou seja, ser banido e incluído na lista negra.

Imprimir o diagnóstico para retorno(falso) - isso tornará mais claro o que está errado.

O que devo escrever em Imprimir para descobrir o que está errado? 0_o

se você escrever Imprimir(resposta); ele dá: 13369448

 
ponochka:

O que devo escrever em Imprimir para descobrir o que está errado? 0_o

se você escrever Imprimir(resposta); ele dá: 13369448

if (response == 0) {

   Print("Что-то пошло не так");

  // потом уже добавите диагностику из WinAPI

   return false;

}

e antes do retorno normal, imprima também o resultado

Print(" всё хорошо, результат:" toStr);

return toStr;

e executar o código inteiro em um temporizador, por exemplo, uma vez por minuto. Pratique em um recurso que com certeza não será banido e dará tempos diferentes, mas previsíveis, para que você possa verificar.

----
telepaticamente - se realmente houver um problema,
ou a inicialização está errada (não me lembro se WinSOCK deve ser inicializado para InternetOpenW ou não)
Ou algum recurso não está sendo liberado.

 
Artyom Trishkin:

Examinar o conteúdo da pasta Incluir

Então está tudo aí? Eu o abri e olhei os cálculos, que são bastante complicados para mim.

 
Seric29:

Então está tudo aí? Eu o abri e olhei os cálculos, que são bastante complicados para mim.

Eu gostaria de fazer melhor :)

Fórum para negociação, sistemas automatizados de negociação e testes estratégicos

Qualquer pergunta de novatos sobre MQL4, ajuda e discussão sobre algoritmos e códigos

Seric29, 2019.03.26 23:32

Como posso ver o código fonte/library das funções que vêm com MQL4? Eu gostaria de olhar para suas propriedades e fazer semelhantes ou melhores, quem sabe o que sobre este assunto?

 
Como posso usar o ArrayResize para mudar o tamanho de uma matriz multidimensional? Apenas exemplos padrão em arrays unidimensionais apenas
 
Alexandr Sokolov:
Como posso usar o ArrayResize para mudar o tamanho de uma matriz multidimensional? É que os exemplos padrão usam apenas matrizes unidimensionais.

Você só pode mudar o tamanho da primeira dimensão de uma matriz multidimensional. Isto é exatamente o mesmo que para uma matriz unidimensional.

Neste caso, a matriz deve ser dinâmica.

 
Artyom Trishkin:

Você só pode mudar o tamanho da primeira dimensão de uma matriz multidimensional. É exatamente o mesmo que para uma matriz unidimensional.

Neste caso, a matriz deve ser dinâmica.

Obrigado!

 

Bom dia a todos vocês!

Eu perdi duas horas, mas não consegui encontrar nada.

Por favor, diga-me como em mq4, na EA, inteligentemente

construir um indicador sobre outro usando funções incorporadas

e deve ser exibido em testes na subjanela, como deve ser,

por exemplo, MA sobre dados RSI?

 
Northwest:

por exemplo, MA sobre dados RSI ?

#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   2
//--- plot line1
#property indicator_label1  "RSI"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_label2  "MA"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrYellow
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- input parameters
input int      PeriodRSI   =  10;
input int      PeriodMA    =  12;
//--- indicator buffers
double         rsiBuffer[],maBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,rsiBuffer);
   SetIndexBuffer(1,maBuffer);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   int i,limit;
   if(prev_calculated==0) limit=rates_total-1; else limit=rates_total-prev_calculated+1;
   for(i=limit; i>=0; i--)
     {
      rsiBuffer[i]=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,i);
     }
   for(i=limit; i>=0; i--)
     {
      maBuffer[i]=iMAOnArray(rsiBuffer,0,PeriodMA,0,MODE_SMA,i);
     }
  
   return(rates_total);
  }
//+------------------------------------------------------------------+