Problema funzione eseguita all'infinito

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico

Moderator: Dainesi

Post Reply
Gale7
Posts: 6
Joined: 08/05/2017, 23:04

Problema funzione eseguita all'infinito

Post by Gale7 » 26/06/2017, 23:58

Buonasera a tutti,
ho iniziato a studiare il linguaggio mql4 da poco tempo e mi sto esercitando a fare qualche semplice EA.
l'expert in questione deve fare le seguenti operazioni:
una volta raggiunto un determinato numero di pip di guadagno ritira mezza posizione e mette lo stop a zero.
Per far ciò ho creato le due funzioni void (stop a zero e ritiro mezza pisizione) e l'ho inserite nell'OnTick.
Natualmente voglio che queste funzioni vengano eseguite una volta sola e per questo ho inserito un contatore, il problema viene ora....
Se faccio girare l'expert senza contatore le funzioni vengono eseguite ad ogni tick, se parto con un lotto ad ogni tick ne chiude metà fino ad arrivare a 0.01....non va bene ma funziona.
se aggiungo il contatore all'expert le funzioni non vengono eseguite neanche una volta come mai??
Da notare che uso lo stesso contatore dell'OrderSend(), lì funziona apre un solo ordine.... dall'altra parte no....
mi potete dare una mano???
Allego il pezzo di codice:

void OnTick(){

if(count==0){
if(OrderSend(Symbol(),OP_BUY,1,Ask,0,0,0,"OpBUY",0,0,clrAqua)) Print("ordine inserito");
count++;
}

if(countMod==0){
if (CalculateCurrentOrders(Symbol())>0) BreakEven();
if (CalculateCurrentOrders(Symbol())>0 ) RitiroMezzaPos();
countMod++;
}
}

Sponsor

Sponsor
 

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests