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:
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:
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!
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?
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
ciao
provo a scrivere un codice di livelli MA ma non funziona ...
qualcuno può dirmi come posso farlo plz.
graziePuoi usare l'indicatore Vegas Currancy Daily come guida. Vedere l'allegato.
Keris
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?