Salve a tutti, un aiutino dal forum di esperti:
vorrei che ea apre gli ordini e li faccia man mano più grandi
Esempio :
Ea apre lotto buy di 0.01 di gold
Il prossimo lotto gold buy che apre sarà 0.02 oppure 0.01 x 2
Il prossimo lotto gold buy sarà 0.03 oppure 0.01 x 3
.... e così via .
Il comando dovrebbe entrare in azione solo se ci sono già ordini aperti per lo stesso grafico .
Solo voi potete aiutarmi
Aiuto Codice lotti
Re: Aiuto Codice lotti
Ciao Trase,
potresti usare la funzione OrderLots() per recuperare i lotti degli ordini aperti precedentemente (li selezioni con OrderTotal() e OrderTotalHistory())
potresti usare la funzione OrderLots() per recuperare i lotti degli ordini aperti precedentemente (li selezioni con OrderTotal() e OrderTotalHistory())
-
- Messaggi: 21
- Iscritto il: 19/02/2021, 15:00
Re: Aiuto Codice lotti
Ammesso che l'EA non apra piu di un ordine per coppia e non piazzi ordini pendenti:
Salutidouble Lotti= 0.01;
int MagicNumber = 12345; // identifica gli ordini aperti dall'EA
//================================================================================================
// START |
//================================================================================================
int star(){
if(VerOrd() == 0) return(0); // nessun ordine attivo dell'EA
int tipoOrd= OrderType();
if(tipoOrd == OP_BUY && "condizione apertura BUY"){
if(OrderSend(_Symbol,OP_BUY,OrderLots()+Lotti,Ask,50,0.0,0.0,NULL,MagicNumber,0,clrLimeGreen) < 1)
Alert(_Symbol+" Errore Apertura Ordine BUY");
}else
if(tipoOrd == OP_SELL && "condizione apertura SELL"){
if(OrderSend(_Symbol,OP_SELL,OrderLots()+Lotti,Bid,50,0.0,0.0,NULL,MagicNumber,0,clrRed) < 1)
Alert(_Symbol+" Errore Apertura Ordine SELL");
}
return(0);
}
//================================================================================================
// VERIFICA PRESENZA ORDINI dell'EA sulla coppia corrente restituendo il numero di ticket dell'ultimo ordine inserito |
//================================================================================================
int VerOrd(){
int total;
total = OrdersTotal();
if(total < 1) return(0); // nessun ordine aperto
for(int i= total-1; i >= 0; i--){
if(!OrderSelect(i,SELECT_BY_POS)){
Alert(_Symbol+" ERRORE Selesione Ordine");
total= 0;
break;
}
if(OrderSymbol() == _Symbol && OrderMagicNumber() == MagicNumber)
return(OrderTicket());
}
return(0);
}
Re: Aiuto Codice lotti
Ottimo grazie ad entrambi
Chi c’è in linea
Visitano il forum: Nessuno e 0 ospiti