Ha scritto un consigliere, c'è un problema. - pagina 2

 
Noterday >> :
L'ho già impostato a 100, ma mi dà ancora un errore di 130. Quale buffer a zig zag dovrei usare? ZigzagBuffer? O dovrei usare HighMapBuffer e LowMapBuffer? Oh, cavolo. Il codice dovrebbe essere semplice, ma nessuno può dirmi niente del genere .....

se lo state confrontando con high, deve essere HighMapBuffer

 

Ok. Grazie per le risposte) Ancora una volta descriverò ciò di cui ho bisogno, se qualcun altro ha qualcosa da dire...

Come fare: ho bisogno che una certa azione. Quando ZZ imposta il suo punto sulla barra Ihigh o Ilow, e non importa se la ridisegna dopo o no. Come si fa? Immagino che la linea ZZ stessa sia contenuta in ZigzagBuffer? O devo usare HighMapBuffer e LowMapBuffer in ZZ ?


 
Noterday >> :

Quindi, nessuno può aiutare?). In particolare, ho bisogno di fare questo: se la linea zigzag disegnata a HIGH o LOW, allora ho bisogno di aprire una posizione (se l'HIGH - vendere, e se il LOW - acquistare), e non importa se il ridisegno dello zigzag o no. Ecco un codice di esempio, correggetemi se sto facendo qualcosa di sbagliato perché il tester continua a mostrare l'errore 130:



Io farei quanto segue:

int counted_bars=IndicatorCounted();

int i=barre=barre contate-1;

mentre(i>=0){

double 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,Red);

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

}

 
Noterday >> :

Quindi, nessuno può aiutare?). In particolare, ho bisogno di fare questo: se la linea zigzag disegnata a HIGH o LOW, allora ho bisogno di aprire una posizione (se l'HIGH - vendere, e se il LOW - acquistare), e non importa se il ridisegno dello zigzag o no. Questo è un codice di esempio, correggetemi se sto facendo qualcosa di sbagliato perché il tester continua a mostrare l'errore 130:



>> Sì. Indicare il periodo dell'indicatore.
 
Noterday >> :

Quindi, nessuno può aiutare?). In particolare, ho bisogno di fare questo: se la linea zigzag disegnata a HIGH o LOW, allora ho bisogno di aprire una posizione (se l'HIGH - vendere, e se il LOW - acquistare), e non importa se il ridisegno dello zigzag o no. Questo è un codice di esempio, correggetemi se sto facendo qualcosa di sbagliato perché il tester continua a mostrare l'errore 130:


Corretto:


int counted_bars=IndicatorCounted();

int i=barre=barre contate-1;

mentre(i>=0){

double ZZ_1 = iCustom(NULL,0, "ZigZag",0,0,i+1); // se la barra precedente è necessaria

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

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

}
 
Niente ha funzionato :( C'erano solo errori di fine ordine 130. Anche se ho provato a mettere uno stop di 200 pips :)
 

Anche questo non aiuta... c'è qualcosa in tutto questo che non mi piace. Ok, ci darò un'occhiata. GRAZIE A TUTTI!!!! :)


 

o forse state ottenendo Magic Number=0

 

Non ho mai giurato prima... Penso che sia un parametro opzionale, soprattutto perché l'errore 130 indica un arresto errato...


Stavo pensando... forse c'è qualcosa che non va con i miei preventivi e non riesce a ottenere i prezzi giusti? Perché dovrei pensarlo? Perché non posso scorrere oltre il 1° settembre 2009. Ho 2000000 barre abilitate nelle impostazioni.


Mi piacerebbe provarlo con la mia EA.

 

per quanto riguarda il sigzag, provate ad eseguire il seguente codice nel tester con velocità impostata al minimo e lanciando l 'indicatore sul grafico e usate F12 per vedere cosa succede alle cifre

nell'angolo in alto a sinistra spero che tu possa capire i miei pensieri su come usare questo

//+------------------------------------------------------------------+
//| 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);
  }
//+------------------------------------------------------------------+
Motivazione: