Aiuto Codice lotti

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico
Rispondi
Trase
Messaggi: 2
Iscritto il: 03/03/2021, 7:57

Aiuto Codice lotti

Messaggio da Trase »

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 👏🏻
senapazio
Messaggi: 142
Iscritto il: 13/09/2015, 1:47

Re: Aiuto Codice lotti

Messaggio da senapazio »

Ciao Trase,
potresti usare la funzione OrderLots() per recuperare i lotti degli ordini aperti precedentemente (li selezioni con OrderTotal() e OrderTotalHistory())
Semporasere
Messaggi: 21
Iscritto il: 19/02/2021, 15:00

Re: Aiuto Codice lotti

Messaggio da Semporasere »

Ammesso che l'EA non apra piu di un ordine per coppia e non piazzi ordini pendenti:
double 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);
}
Saluti
Trase
Messaggi: 2
Iscritto il: 03/03/2021, 7:57

Re: Aiuto Codice lotti

Messaggio da Trase »

Ottimo grazie ad entrambi
Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti