Come codificare? - pagina 3

 

circa il codice di mql4

Voglio mettere il prezzo alto e basso nel grafico corrente.

ma non so come scrivere il codice nel mio indicatore MQL4.

Grazie mille!

 

Codice per spostare lo stoploss?

Ciao a tutti,

Sto codificando un EA al momento per fare autotrade per me, si sta avvicinando al completamento ma non riesco a capire come spostare lo stoploss su un trade aperto. Sto pubblicando il mio codice qui, se qualcuno potesse indicare cosa sto facendo di sbagliato lo apprezzerei molto

Questa è la parte di codice che apre una posizione LONG:

{

if(//long entry criteria met)

{

if (priorbartime == Time[0])

return(0);

priorbartime = Time[0];

Alert("Long Signal");

ObjectCreate(arrowlong, OBJ_ARROW, 0, Time[0], Open[0], 0, 0, 0, 0);

ObjectSet(arrowlong, OBJPROP_ARROWCODE, 233);

ObjectSet(arrowlong, OBJPROP_COLOR, Aqua);

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask-StopLoss*Point,Ask+TakeProfit*Point,"am crossing",16677,0,Green); // HDB CHANGED Close TO Ask and SlipPage to 0

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

}

[/PHP]

then once the trade is open I want to manage it by moving stop to -5 when the trade is +15, and by moving stop to b/e when trade is +20. this is the code i have come up with so far but it doesnt seem to be working:

[PHP]

total=OrdersTotal();

if(total>0)

{

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

{

if(Bid-OrderOpenPrice()==Point*15)

{

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point*5,OrderTakeProfit(),0,Blue);

return(0);

}

if(Bid-OrderOpenPrice()==Point*20)

{

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);

return(0);

}

}

}

}

Come detto, questo è tutto per le posizioni LONG.

Grazie per qualsiasi aiuto!

divergenza_trader

 

Molte persone lo hanno chiesto già molte volte.

Quindi leggete

- questo post,

- questo e

- questo thread di Codersguru.

 

grazie newdigital, ho cercato in molti thread su SBFX, metaquotes e qui ma non sono riuscito a trovare quello che stavo cercando, spero che questi mi aiutino!

 

Prova questo:

total=OrdersTotal();

if(total>0){

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

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol()){

if(Bid-OrderOpenPrice()>=Point*15 && Bid-OrderOpenPrice()<Point*20 && OrderStopLoss()< OrderOpenPrice()-5*Point){

OrderModify(OrderTicket(),OrderOpenPrice()-Point*5,OrderTakeProfit(),Blue);

}

if(Bid-OrderOpenPrice()>=Point*20 && OrderStopLoss()< OrderOpenPrice()){

OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),Blue);

}

}

}

}
 

come questi

 

codice dei livelli MA

ciao

ho provato a scrivere un codice di livelli MA ma non funziona ...

qualcuno può dirmi come posso farlo plz.

grazie

File:
levels.png  20 kb
 
mas:
ciao

provo a scrivere un codice di livelli MA ma non funziona ...

qualcuno può dirmi come posso farlo plz.

grazie

Puoi usare l'indicatore Vegas Currancy Daily come guida. Vedere l'allegato.

Keris

 
Nicholishen:
Prova questo:

Grazie Nicholishen, il tuo codice funziona perfettamente. Non ho avuto l'opportunità di testarlo in un mercato dal vivo fino ad ora, ma tutto funziona bene. grazie ancora!

 

Richiesta: Codice EA per raddoppiare la dimensione del lotto dopo un trade in perdita.

Voglio sapere se c'è un modo per dire a un EA di aumentare la dimensione del lotto se l'ultimo trade ha chiuso in perdita (sistema martingala), e usare la dimensione normale del lotto se l'ultimo trade ha chiuso in profitto. Deve essere in grado di usare micro lotti. C'è un modo per farlo?