Come codificare? - pagina 20

 

accumulo di una variabile statica all'apertura

Voglio accumulare una variabile statica ma solo una volta per barra. Se qualcuno potesse suggerirmi un modo per farlo gliene sarei grato. Il mio problema è che viene ri-aggiunta ad ogni tick quando voglio eseguire il calcolo solo una volta per barra al primo tick.

 

static datetime myTime = 0;

if(myTime != Time[0])

{

//fare ciò che si vuole fare una volta dopo l'apertura di una nuova barra

myTime = Time[0];

}

 
timbobo:
static datetime myTime = 0;

if(myTime != Time[0])

{

//fate quello che volete che sia fatto una volta dopo l'apertura della nuova barra

myTime = Time[0];

}

Grazie timbobo!

 

Per favore aiutatemi, sto usando il codice postato sopra e non funziona al 100%. Se ricevo 1 segnale non farà trading ma se riceverà il secondo segnale farà trading. E' molto strano perché nel secondo segnale fa trading ma nel primo no?

 

È necessario vedere il vostro EA per correggere.

 

ho bisogno di aiuto per il codice - trailing profit

qualcuno può aiutarmi a fare un codice o un EA per il trailing profit?

Penso che sia molto buona idea

 
yossi1177:
qualcuno può aiutarmi a fare un codice o un EA per il trailing profit? Penso che sia un'ottima idea

esattamente il contrario di trailing stop

 
yossi1177:
Qualcuno può aiutarmi a fare un codice o un EA per il trailing profit? Penso che sia un'ottima idea

Beh, chiamarlo trailing profit è un po' un termine improprio perché non seguirebbe l'azione dei prezzi. Ma vedrò cosa posso fare.

 
yossi1177:
qualcuno può aiutarmi a fare un codice o un EA per il trailing profit? Penso che sia un'ottima idea

Questo è un semplice codice di trailing (PT) a 3 candele di profitto o più simile a un trailing stop. Viene attivato da GapPT=numero di pip in profitto. In allegato un esempio di grafico con il metodo delle 3 candele.

Wackena

extern int GapPT=10;

int c, n, p;

double LongPT, ShortPT;

c=0; p=0;

for(n=0;n<=6;n++)

{

if(High[c+1]Low[c+2]) {n--;}

c++;

p++;

if(n==3) break;

}

ShortPT=NormalizeDouble(High,Digits);

LongPT=NormalizeDouble(Low,Digits);

int total = OrdersTotal();

for(int cnt=0;cnt<total;cnt++) {

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderClosePrice()-OrderOpenPrice() >= GapPT*Point)

{

OrderModify(OrderTicket(),OrderOpenPrice(),LongPT,OrderTakeProfit(),0,GreenYellow);

}

if(OrderType()==OP_SELL && OrderOpenPrice()-OrderClosePrice() >= GapPT*Point)

{

OrderModify(OrderTicket(),OrderOpenPrice(),ShortPT,OrderTakeProfit(),0,Red);

}

}