Funzione che non funziona

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico
Rispondi
maledettopanzone
Messaggi: 4
Iscritto il: 27/03/2020, 16:27

Funzione che non funziona

Messaggio da maledettopanzone »

Buongiorno.
Sto perdendo la testa dietro ad un problema apparentemente semplice che non riesco a risolvere...
Ho preparato una funzione per il mio EA che apre una posizione, memorizza il ticket, e dovrebbe poi passarlo al codice principale, che lo utilizzera' in seguito per selezionare proprio quella posizione.
Il mio problema e' che il ticket all'interno della funzione viene perfettamente percepito (lo so perche' in fase di debug glielo faccio scrivere) ma il codice principale che ha chiamato la funzione non lo recepisce (lo so perche' glielo faccio scrivere, ma mi restituisce 0).
So che con l'eccezione delle funzioni VOID, dovrebbe essere possibile restituire un valore utilizzando RETURN. Ma non mi funziona...
Ecco il codice della funzione nelle parti salienti (ho eliminato la parte che apre il file e che funziona):

int ApriLongHedging()
{
<codice funzionante che apre la posizione>
Print("Ticket (funzione apertura posizione): ", SLTicket);//Debug, funziona
return (SLTicket);
}

Il codice principale chiamerebbe questa funzione col comando:
ApriLongHedging()
Poi tenta una verifica, con esito negativo:
Print ("Ticket (codice principale): ",SLTicket); // DEBUG: restituisce 0

Qualcuno ha idea di dove stia lo sbaglio?
Di funzioni ne ho fatte parecchie, ma erano sempre di tipo VOID, e questo problema mi trova spiazzato.
:-(
Avatar utente
carlo10
Messaggi: 4261
Iscritto il: 08/05/2014, 21:17

Re: Funzione che non funziona

Messaggio da carlo10 »

Il valore è restituito dalla funzione quindi dovresti salvarlo su una variabile oppure usarlo direttamente nella print.

miaVariabile = ApriLongHedging();
maledettopanzone
Messaggi: 4
Iscritto il: 27/03/2020, 16:27

Re: Funzione che non funziona

Messaggio da maledettopanzone »

Esatto, ora funziona!
:-)
Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti