Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 164

 
Sepulca:

Na minha opinião, a MQL4 e a MQL5 dividiram as pessoas em comerciantes e programadores. Na MQL5 , você pode fazer muitas coisas e depois vendê-las no MERCADO. Enquanto um comerciante regular precisa apenas da MQL4 . Para não mencionar aqueles que comercializam à mão. Eu mesmo tentei, e até consegui uma pequena visão do OOP. Tente e aprenda. Isso lhe pagará)).

Acho que o mql5 tem um testador de estratégia muito poderoso, sem ele você não pode checar os testes de avanço completamente. Eu otimizo os Expert Advisors no mql4 e começo a fazer análises, cada execução que vale a pena leva muito tempo, mas o mql5 acaba de lançar a otimização e me deixa verificar todos os avanços lucrativos. A questão é se esta análise aprofundada ajudará a tornar estável uma EA lucrativa. Será uma pena perder tempo estudando o mql5 e depois descobrir que tudo isso é em vão.
 
Forexman77:
Acho que o mql5 tem um testador de estratégia muito poderoso, sem ele é impossível verificar os testes futuros em detalhes. Eu otimizo Expert Advisors em mql4 e começo a analisar, cada execução lucrativa leva muito tempo, mas em mql5 eu defino a otimização e vejo todos os avanços lucrativos. A questão é se esta análise aprofundada ajudará a tornar estável uma EA lucrativa. Será uma pena perder tempo estudando o mql5 e depois descobrir que tudo isso é em vão.

Se você aprende mql5 apenas para fins de otimização, é um absurdo...

Não, não é.

 
Forexman77:
Acho que o mql5 tem um testador de estratégia muito poderoso, sem ele é impossível verificar os testes futuros em detalhes. Eu otimizo Expert Advisors em mql4 e começo a analisar, cada execução lucrativa leva muito tempo, mas em mql5 eu defino a otimização e vejo todos os avanços lucrativos. A questão é se esta análise aprofundada ajudará a tornar estável uma EA lucrativa. Será uma pena perder tempo estudando o mql5 e depois descobrir que tudo isso é em vão.

Concordo plenamente, o testador é poderoso, especialmente se você usar nuvens e não economizar no pagamento de um pouco de dinheiro, será ainda mais rápido))). Em qualquer caso, aprender algo novo não vai doer. Eu tentei o MQL5 MARKET para baixar versões demo dos EAs mais caros, e com os parâmetros dados eles estão vazando no testador mesmo como)))). C'um caraças, escreva um EA básico, ajuste o relatório no Photoshop e venda)))))
 
Eu fiz um simples Expert Advisor baseado no indicador Ichimoku. Preciso abrir apenas um negócio com um sinal, ou seja, quando fazemos um negócio de venda, a vela preta se fecha abaixo da nuvem - abrimos um negócio de venda. A próxima venda só é possível se o preço entrar novamente na nuvem e a vela preta se fechar abaixo da nuvem. Atualmente, um comércio se abre se a vela preta se fecha abaixo da nuvem e em
   double Red_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,1); // красная линия 
   double Blue_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,1); // синяя линия 
   double UpO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,1); // верхняя граница облака 
   double DounO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,1); // нижняя граница облака 

     
   if(Volume[0]>1) return;

    // продажа
   if (Open[1]>Close[1] && Close[1] < DounO && Close[1] < Red_Line && Close[1] < Blue_Line) // продажа
   {
     Price = NormalizeDouble(Bid, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss >= STOPLEVEL)
      {
       SL = iHigh(Symbol(),0,1)+200*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
       else SL = 0;
      if(TakeProfit > 0)
      {
       TP = Price - TakeProfit*Point;
       TP = NormalizeDouble(TP, Digits); 
      }
       else TP = 0;

      { 
      ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"Pattern_1",Magic,0,Red);
      return;
      }
    }

Outra transação de venda é feita. Você precisa implementar o princípio: um sinal - uma profissão.

Agradeço antecipadamente pela ajuda.

 

Veja o faq, está ali.

 
olhou a faq mas não conseguiu encontrá-la, se você não se importa com um link.
 

Profissionais, por favor, avisem, existe um código como este

   double MA_M15_1 = iMA(NULL, PERIOD_M15, 14, 0, 0, 0, 1);
   double MA_M15_2 = iMA(NULL, PERIOD_M15, 28, 0, 0, 0, 1);
   
   int CmdType = -1;
   if (MA_M15_1 < MA_M15_2){
      CmdType = OP_BUY;
   }
   if (MA_M15_1 < MA_M15_2){
      CmdType = OP_SELL;
   }
   
   if (CmdType >= OP_BUY){
      
      for (i_try = 1; i_try <= 3; i_try++) {
            if (CmdType == OP_BUY) CurrPriceForOpen = NormalizeDouble(Ask, Digits);
            if (CmdType == OP_SELL) CurrPriceForOpen = NormalizeDouble(Bid, Digits);

            iTicket = _OrderSend(Symbol(), CmdType, LotOpen, CurrPriceForOpen, Slippage * (iDigitPoint / Point), 0, 0, EA_Comment, Magic, 0, CLR_NONE);

            if (iTicket >= 0) break;
            Sleep(1000);

         }
   }

Periodicamente dá erro 4008 - o que poderia ser?

 
T-G:

Pro me diga, há um código como este

Periodicamente dá erro 4008 - o que poderia ser?



ERR_NOT_INITIALIZED_STRING 4008 Cadeia não-inicializada. Para ser honesto, eu não encontrei tal erro. O comentário EA_Comment é declarado de alguma forma? A única linha no código...

Então, o que é isto ????

 iTicket = _OrderSend(Symbol(), CmdType, LotOpen
 
Sepulca:


ERR_NOT_INITIALIZED_STRING 4008 Cadeia não-inicializada. Para ser honesto, eu não encontrei tal erro. O comentário EA_Comment é declarado de alguma forma? A única linha no código...

Então, o que é isto ????


Esta variável é definida no início e eu não a toco mais.

string externa EA_Comment = "";

 
T-G:

Esta variável é definida no início e eu não a toco mais.

string externa EA_Comment = "";


Se o erro ocorrer periodicamente, pode ser que seu CD atribua algo anormal à corda. O CD pode e tem o direito de fazê-lo.

O que isso me diz?