[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 58

 
Vinin:

Dovrei guardare l'indicatore. Forse c'è una soluzione.

Grazie per aver visto il post. Allego l'indicatore.

Ha bisogno di un filtro per filtrare le frecce inutili. La foto a pagina 56 lo mostra. Di tutte le frecce che vanno nella stessa direzione, solo la prima è necessaria.

L'ho anche fatto in questo modo, ma non è giusto.

for(int i=limit-1;i>=0;i--){

if ( flag[i] == 1 && condizione di vendita){

Vendita[i] = Alto[i]+punto*Punto;

flag[i] == -1 ;

}

if (flag[i] == - 1 && condizione di acquisto){

Buy[i] = Low[i]-point*Point;

flag[i] == 1 ;}

}

}

File:
cross.mq4  4 kb
 
gince:

Grazie per aver visto il post. Allego l'indicatore.

Ha bisogno di un filtro per filtrare le frecce inutili. La foto a pagina 56 lo mostra. Di tutte le frecce che vanno nella stessa direzione, solo la prima è necessaria.

Ho fatto così, ma non è giusto.



In alternativa, è meglio controllare sulla prima barra piuttosto che sulla barra zero. Il numero di falsi segnali sarà ridotto.

Ci sarà naturalmente un ritardo di una barra.

Il controllo a zero è più difficile da realizzare e vedremo naturalmente il ridisegno a zero. Il segnale può scomparire e ripresentarsi più tardi, su un'altra barra

 
Vinin:


In alternativa, è meglio controllare sulla prima barra, non sulla barra zero. Il numero di falsi segnali diminuirà.

Ci sarà naturalmente un ritardo di una barra.

Il controllo a zero è più difficile da implementare e ci sarà ovviamente un overshoot a zero. Il segnale può scomparire e ripetersi più tardi su un'altra barra.

Prendo i dati dell'indicatore dalla prima barra
 
gince:
I dati degli indicatori sono presi dalla prima barra

Quindi c'era quasi tutto per questo, ma per qualche motivo è stato commentato
 
Vinin:

C'era quasi tutto per questo, ma per qualche motivo è commentato

Se rimuovi //, allora disegna una freccia alla volta.

Allego un'immagine - la data è la stessa, ma ci sono due modi diversi di visualizzare l'indicatore

1 sovrapposto al grafico (a volte viene visualizzato l'ultimo invece del primo)

2 dal tester

3 tutte le frecce

Ci sono incongruenze. La demo disegna lo stesso del tester, fino a quando non si cambia timeframes

 
gince:

Se rimuovi //, allora disegna una freccia alla volta.

Allego un'immagine - la data è la stessa, ma ci sono due modi diversi di visualizzare l'indicatore

1 sovrapposto al grafico (a volte viene visualizzato l'ultimo invece del primo)

2 dal tester

3 tutte le frecce

Ci sono delle discrepanze. La demo è disegnata come nel tester, finché non cambio il lasso di tempo


Ok. Lo farò a modo mio.
 

E non può essere perché

per (i = 0; i < counted_bars; i++)

deve essere contato al contrario

 
gince:

E non può essere perché

per (i = 0; i < counted_bars; i++)

deve essere contato al contrario


Lo farò a modo mio e il conto alla rovescia sarà diverso. Lo faccio sempre dal passato al presente. È una questione di gusti, però. Non ha molta importanza con il giusto approccio
 

Salve. Puoi per favore cercare dove si trova l'errore? L'idea è quella di catturare i pip, e quando si verifica una situazione di blocco, annullare il fissaggio del risultato.

if(OrderType()==OP_BUY) {
if((OrderType()==OP_SELL) == false) {
if(Bid>=(OrderOpenPrice()+PipsProfit*Point)) {
fm=OrderClose(OrderTicket(),OrderLots(),Bid,Proskalz);
if(fm!=0 && fm!=-1){
Comment("Ordine di acquisto chiuso al raggiungimento di PipsProfit =",PipsProfit,");
Print("Ordine di acquisto chiuso al raggiungimento di PipsProfit =",PipsProfit,");
}
if(fm==0 || fm==-1){
GLE=GetLastError();
ED=ErrorDescription(GLE);
Print("Error # ",GLE, " while trying to close Buy-order # ",OrderTicket());
Print ("Error Description - ",ED);
}
}}}

???????

Grazie in anticipo.

 
Bene...., per favore, PROFI, dammi una risposta su cosa fare con l'indicatore. Dimmi, è possibile o impossibile? (La domanda è stata scritta prima nel thread, se la duplico, avrò un secondo giallo :o) )