[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 511
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Sì, mi sono sbagliato. In generale. Se è chiaro qui, l'ordine pendente è impostato solo dal prezzo.
Ecco il codice:
La questione è essenzialmente non complicata. Ho passato parametri formali priceForBuy e priceForSell alla funzione Trade(int signal, double& priceForBuy, double& priceForSell). I parametri sono passati dai link. Non si fa così? Le funzioni sono locali, non globali.
Si è verificato un errore durante la compilazione:
Da dove viene l'errore? Ho già definito questi parametri nella funzioneGetPriceToInput().
Come potrebbe essere altrimenti? Dovete calcolare la stessa cosa più e più volte per 100 volte?
Rendete il segnale parte dell'esperto, come nel libro di testo, e sarete felici!
Vi ho dato tutti i link nel thread di prima...
Come potrebbe essere altrimenti? Devi calcolare la stessa cosa 100 volte?
Beh, qui non ci sono esempi concreti:
https://docs.mql4.com/ru/basis/variables/formal
È scritto in cima dove i parametri della funzione sono come i miei, cioè & dopo il tipo di dati.
Beh, qui non ci sono esempi concreti:
https://docs.mql4.com/ru/basis/variables/formal
È scritto in cima dove i parametri della funzione sono come i miei, cioè & dopo il tipo di dati.
Forse si compilerà in questo modo:
anche se la struttura del codice è un po' "sinistra"...
Forse si compilerà in questo modo:
anche se la struttura del codice è un po' "sinistra"...
Beh... sono stato io a scriverlo. Canta il primo scoop. :)
Ho riscritto un po' l'esperto. Questo è quello che è venuto fuori:
A proposito, l'errore:
avviene esattamente nella funzione diinizio queste variabili non sono definite, non da qualche altra parte. Quindi bisogna aggiungere qualcosa per iniziare?
A proposito, l'errore:
avviene esattamente nella funzione diinizio queste variabili non sono definite, non da qualche altra parte. Quindi bisogna aggiungere qualcosa per iniziare?
Devono essere definiti in start() e passati per riferimento alla funzione che chiamiamo.
Questo è il modo più semplice. Ma sto guardando gli articoli scritti da un programmatore e non c'è niente di definito nella funzione start().
Ecco un link al suo consulente:
http://www.forextrade.ru/media/Image/MQLabs/181_ag/ChannelByMACross_Expert.mq4
In particolare, sono molto interessato a come scrive il codice in modo intelligente. Quindi, voglio imparare a scrivere tutto in funzioni separate, e aggiungere solo l'essenziale periniziare senza dichiarare variabili lì.
Se passiamo una variabile per riferimento in una funzione, stiamo lavorando con un buffer della variabile originale, non con il suo doppio separato. Questo significa che non importa in quale funzione l'abbiamo dichiarato in precedenza. Non è vero?
Questa è la variante più semplice. Ma sto osservando gli articoli scritti da un programmatore e nella sua funzione di avvio non viene dichiarato proprio nulla.
Potete dichiarare una variabile statica al di fuori delle funzioni e poi non dovrete passare nulla per riferimenti.
Se passiamo una variabile per riferimento in una funzione, stiamo lavorando con un buffer della variabile iniziale stessa che passiamo invece del suo duplicato separato. Questo significa che non importa in quale funzione l'abbiamo dichiarato in precedenza. Non è vero?