Eseguire un solo ordine nella candela

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico
rob80
Messaggi: 9
Iscritto il: 07/10/2014, 16:58

Re: Eseguire un solo ordine nella candela

Messaggio da rob80 »

Solo una cosa.... a magic_id attribuisco un valore nelle variabili esterne?..o devo sostituirlo col mio MagicNumber? grazie...
Avatar utente
carlo10
Messaggi: 4261
Iscritto il: 08/05/2014, 21:17

Re: Eseguire un solo ordine nella candela

Messaggio da carlo10 »

E' il tuo magic_number. Solitamente viene utilizzato come variabile esterna quindi puoi utilizzare direttamente la variabile esterna.
rob80
Messaggi: 9
Iscritto il: 07/10/2014, 16:58

Re: Eseguire un solo ordine nella candela

Messaggio da rob80 »

Ciao Carlo, ho provato ad inserire la tua funzione per cicli chiusi o aperti ma credo di non aver ben capito....le funzioni sono due, una per cicli chiusi e l'altra per cicli aperti, non posso inserirle entrambe ovviamente...come devo operare?
ps: la funzione isLastOrderCandle era interessante....mi consigli di abbandonarla?....oppure posso inserire dai parametri per farla funzionare secondo le mie aspettative?...purtroppo mi apre sempre ordini a raffica, non capisco dove sia l'errore.
Grazie per la tua disponibilità...a presto.
Avatar utente
carlo10
Messaggi: 4261
Iscritto il: 08/05/2014, 21:17

Re: Eseguire un solo ordine nella candela

Messaggio da carlo10 »

La funzione è una sola che ti cicla prima gli ordini aperti e poi quelli chiusi.

Dovresti inserirla fuori dallo start e poi richiamarla dentro lo start con il codice che ho inserito subito sotto. La funzione di fatto sostituisce la isLastOrderCandle.

Prova ad inserirla nel tuo expert advisor, se non funziona copia qui tutto il codice che vediamo qual è il problema.
rob80
Messaggi: 9
Iscritto il: 07/10/2014, 16:58

Re: Eseguire un solo ordine nella candela

Messaggio da rob80 »

Ciao Carlo,
ho inserito il codice come mi hai detto fuori dallo start richiamandolo subito sotto l' int start.....il problema però è che quando inserisco il codice per intero mi da questo errore:

'i' - variable already defined

relativamente alla riga del ciclo sugli ordini chiusi....quindi non riesco nemmeno ad inserirlo sul grafico!
ZePeq

Re: Eseguire un solo ordine nella candela

Messaggio da ZePeq »

Prova a chiamare la variabile i2 nel 2°ciclo

Codice: Seleziona tutto

//ciclo sugli ordini chiusi
   for(int i2 = 0; i2 < OrdersHistoryTotal(); i2++)
      if(OrderSelect(i2, SELECT_BY_POS, MODE_HISTORY) && OrderSymbol() == Symbol() && OrderMagicNumber() == magic)
         if (iBarShift(NULL, 0, OrderOpenTime(), true) == 0)
            return TRUE;   
rob80
Messaggi: 9
Iscritto il: 07/10/2014, 16:58

Re: Eseguire un solo ordine nella candela

Messaggio da rob80 »

Grazie Redbullish....così non mi da errori!....adesso provo ad inserirlo nei grafici....vi tengo aggiornati :)
ZePeq

Re: Eseguire un solo ordine nella candela

Messaggio da ZePeq »

I vecchi studi di C++ delle superiori a volte tornano utili :lol:
Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite