Escreveu um conselheiro, há um problema. - página 6

 
khorosh >> :

Quais são as aspas de 4 ou 5 casas decimais?

4 dígitos...experimentei-o em 5 dígitos também. NormalizeDouble não funciona :(

 
Em geral, tudo isso é um pouco estranho.... No primeiro post eu dei um screenshot da EA, comecei a atualizá-la, apareceu erros de ordem de entrega 130, devolvi tudo ao seu estado original, mas os erros não desapareceram!!!!!!! Mas tudo funcionou em seu estado original!!!! Que diabos é isto?
 
Noterday >> :

É o que eu estou dizendo. Por que uma parada de 10 pips está errada...


O problema é o seguinte: um Stop de 10 pips pode estar errado porque a distância mínima na qual você pode colocar um Stop Loss é superior a 10 pips (por exemplo: 15 pips). Este valor é estabelecido pela sala de negociação.
 
Eu tentei 200! Ainda é a mesma coisa...
 
Noterday >> :
Eu tentei 200 também! Ainda o mesmo...


Você pode postar o código EA original?

 
#property copyright "Мостовнек"
#property link      ""

int init()
  {
   return(0);
  }
int deinit()
  {
   return(0);
  }

extern int Frame = 1;


int start()
  {
  int total;
  
  for (int i = 0; i <= OrdersTotal(); i++)
     {
       if (OrderSelect( i-1, SELECT_BY_POS) == true)
       total++;
     }
  
  
    double Buffer1 = NormalizeDouble(iCustom(NULL, Frame,"Osc_Mx",0,0,1),4);
    double Buf1    = NormalizeDouble(iCustom(NULL, Frame,"Osc_Mx",0,6,1),4);
    double Buffer2 = NormalizeDouble(iCustom(NULL, Frame,"Osc_Mn",0,0,1),4);
    double Buf2    = NormalizeDouble(iCustom(NULL, Frame,"Osc_Mn",0,6,1),4);
    
    double ZZ_1    = NormalizeDouble(iCustom(NULL,0,"ZigZag",0,0,1),4);

//-----------------------------------------------------  

  if ( total == 0 && (( Buffer1 != EMPTY_VALUE || Buf1 != EMPTY_VALUE) && ( ZZ_1 == Buffer1 || ZZ_1 == Buf1)))
    {
     OrderSend(Symbol(),OP_SELL,0.1,Bid,10, ZZ_1+15*Point,Bid-20*Point,"SELL",0,0,Red);
     Print("Zigzag = ", ZZ_1," | Buffer1 = ", Buffer1);
    }
  
  if ( total == 0 && (( Buffer2 != EMPTY_VALUE || Buf2 != EMPTY_VALUE) && ( ZZ_1 == Buffer2 || ZZ_1 == Buf2)))
    {
     OrderSend(Symbol(),OP_BUY,0.1,Ask,10, ZZ_1-15*Point,Ask+20*Point,"BUY",0,0,Blue);
     Print("Zigzag = ", ZZ_1," | Buffer2 = ", Buffer1);
    }

return(0);
  }
 

O princípio de estabelecer um stop loss na função OrderSend() é correto. Portanto, não há necessidade de mudar nada ali.

Quando a função Print() funciona, ZigZag=0, daí a perda de parada: 0+15*Point, ou seja, igual a 0,0015. É por isso que ele gera erro OrderSend Error 130.

double ZZ_1 = NormalizeDouble(iCustom(NULL,0, "ZigZag",21,5,3,0,1),4);// 21,5,3 são variáveis indicadoras externas, elas devem ser especificadas na ordem em que são declaradas no indicador ZigZag.

Da mesma forma, Buffer duplo1 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4);
duplo Buf1 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4);
duplo Buffer2 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4);
duplo Buf2 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4);

Nenhuma variável externa é especificada aqui.

 

Mas eles são opcionais, como escrito na documentação MQL4.

E em

duplo tampão1 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4);
duplo Buf1 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4);
duplo Buffer2 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4);
duplo Buf2 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4);


nenhuma variável externa :)

Por falar nisso, minha função PRINT sai normalmente em ZigZag:


 
Noterday >> :

Mas eles são opcionais, como escrito na documentação MQL4.

E em

duplo tampão1 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mx",0,0,1),4);
duplo Buf1 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mx",0,6,1),4);
duplo Buffer2 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mn",0,0,1),4);
duplo Buf2 = NormalizeDuplo(iCustom(NULL,Frame, "Osc_Mn",0,6,1),4);


nenhuma variável externa :)

Por falar nisso, minha função PRINT sai normalmente em ZigZag:



Se não há variáveis externas nestes indicadores, não há nenhuma reivindicação :). Mas ainda preciso pensar sobre as paradas. Talvez você tenha uma visão.
 
ellizii >> :

Se não há variáveis externas nestes indicadores, não há nenhuma reivindicação :). Mas ainda preciso pensar sobre as paradas. Talvez você obtenha uma visão.

Não se preocupe com isso :) Aos desenvolvedores: BASIC TESTER/OPTIMIZER

Tenho certeza de que é o mesmo com o stopomi.

Razão: