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

 
Noterday >> :
Já o ajustei para 100, ainda me dá um erro de 130. Que tampão em ziguezague devo usar? ZigzagBuffer? Ou devo usar HighMapBuffer e LowMapBuffer? Caramba! O código deve ser simples, mas ninguém pode me dizer nada parecido .....

se você estiver comparando com alta, deve ser HighMapBuffer

 

Certo. Obrigado pelas respostas) Mais uma vez vou descrever o que preciso, se alguém mais tiver algo a dizer...

Como fazer isso: Eu preciso uma certa ação. Quando ZZ coloca seu ponto na barra Ihigh ou Ilow, e não importa se ela é ou não redirecionada depois. Como eu faço isso? Acho que a própria linha ZZ está contida no ZigzagBuffer? Ou eu preciso usar HighMapBuffer e LowMapBuffer na ZZ ?


 
Noterday >> :

Então, ninguém pode ajudar?) Especificamente, eu preciso fazer isto: se a linha em ziguezague for desenhada para ALTO ou BAIXO, então eu preciso abrir uma posição (se o ALTO - vender, e se o BAIXO - comprar), e não importa se o ziguezague é redesenhado ou não. Aqui está um código de amostra, me corrija se eu estiver fazendo algo errado porque o testador continua mostrando erro de envio de ordens 130:



Eu faria o seguinte:

int counted_bars=IndicatorCounted();

int i=Bars=counted_bars-1;

while(i>=0){

duplo ZZ_1 = iCustom(NULL,0, "ZigZag",0,0,1);

se (ZZ_1 == Alto[i+1]){
OrderSend(Symbol(),OP_SELL,Lot(),Bid,10,ZZ_1+(10*Point),Bid-(10*Point), "SELL",0,0,Vermelho);

}
if (ZZ_1 ==Low[i+1] ){
OrderSend(Symbol(),OP_BUY,Lot(),Ask,10,ZZ_1-(10*Point),Ask+(10*Point), "BUY",0,0,Blue);

}

 
Noterday >> :

Então, ninguém pode ajudar?) Especificamente, eu preciso fazer isto: se a linha em ziguezague for desenhada para ALTO ou BAIXO, então eu preciso abrir uma posição (se o ALTO - vender, e se o BAIXO - comprar), e não importa se o ziguezague é redesenhado ou não. Este é um código de amostra, me corrija se eu estiver fazendo algo errado porque o testador continua mostrando erro de envio de ordens 130:



>> Sim. Indique o período do indicador.
 
Noterday >> :

Então, ninguém pode ajudar?) Especificamente, eu preciso fazer isto: se a linha em ziguezague é traçada para ALTO ou BAIXO, então eu preciso abrir uma posição (se ALTO, então vender, e se o BAIXO, então comprar), e não importa se o ziguezague é redesenhado ou não. Este é um código de amostra, me corrija se eu estiver fazendo algo errado porque o testador continua mostrando erro de envio de ordens 130:


Corrigido:


int counted_bars=IndicatorCounted();

int i=Bars=counted_bars-1;

while(i>=0){

duplo ZZ_1 = iCustom(NULL,0, "ZigZag",0,0,i+1); // se a barra anterior for necessária

se (ZZ_1 == Alto[i+1]){
OrderSend(Symbol(),OP_SELL,Lot(),Bid,10,ZZ_1+(10*Point),Bid-(10*Point), "SELL",0,0,Vermelho);

}
if (ZZ_1 ==Low[i+1] ){
OrderSend(Symbol(),OP_BUY,Lot(),Ask,10,ZZ_1-(10*Point),Ask+(10*Point), "BUY",0,0,Blue);

}
 
Nada funcionou :( Havia apenas erro de fim de pedido 130. Embora eu tenha tentado parar com 200 pips :)
 

Mesmo isso não ajuda... há algo nisto que eu não gosto. OK, vou dar uma olhada nisso. OBRIGADO A TODOS!!!! :)


 

ou talvez você esteja recebendo Magic Number=0

 

Eu nunca jurei antes... Acho que é um parâmetro opcional, especialmente porque o erro 130 indica uma parada incorreta.


Eu estava pensando... talvez haja algo errado com minhas cotações e não consiga acertar os preços? Por que eu pensaria isso? Porque não posso rolar além de 1 de setembro de 2009. Eu tenho 2000000 barras habilitadas nos ajustes.


Eu gostaria de tentar com meu próprio EA.

 

quanto à sigzag, tente executar o seguinte código no testador com velocidade definida para o mínimo e jogue o indicador no gráfico e use F12 para ver o que acontece com os dígitos

no canto superior esquerdo, espero que você possa entender meus pensamentos sobre como usar isto

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
double UP, DN;
int start()
  {
//----
double Buf_0 = iCustom(NULL, 0, "ZigZag", 0, 0);
double Buf_UP = iCustom(NULL, 0, "ZigZag", 1, 0);
double Buf_DN = iCustom(NULL, 0, "ZigZag", 2, 0);
if( Buf_UP != 0)  UP =  Buf_UP; // последние значение вершинки
if( Buf_DN != 0)  DN =  Buf_DN; // последние значение донышка
Comment("Буфер №0: ", Buf_0, "\n", "Буфер №1: ", UP, "\n", "Буфер №2: ", DN);
//----
   return(0);
  }
//+------------------------------------------------------------------+