[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 705
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
Così chiaro, guardare nel libro e non vedere, funziona grazie! Andando avanti) con le domande. Tutto sulle stesse variabili globali. Ho aggiunto la seguente condizione all'indicatore:
Voglio definire a quale variabile globale deve essere assegnato un valore, a seconda della valuta su cui si basa l'indicatore.
Ho capito che nella variabile globale GlobalVariableSet(valuta,param), il nome (valuta) dovrebbe contenere il valore assegnato sopra
richiamare la variabile globale nel codice di Expert Advisor
stringa valuta="valuta";
int i= GlobalVariableGet(valuta); // ma non ottengo il valore, .... Cioè ottengo 0. Forse è impossibile cambiare il nome della variabile globale in questo modo?
Se un EA controlla il valore salvato dall'indicatore, allora sarebbe logico supporre che il valore del parametro valuta dovrebbe corrispondere al nome del simbolo, cioè EURUSD o GBPUSD.
di conseguenza, se il consigliere controlla il valore del simbolo corrente, allora
stringa valuta = Symbol();
int i= GlobalVariableGet(valuta);In primo luogo, dall'aiuto
Restituisce il valore della variabile globale esistente o 0 in caso di errore. Chiama GetLastError() per ottenere informazioni sugli errori.
Puoi vedere il contenuto del GV, ma non puoi recuperarlo?
Bene, le variabili globali mostrano sia il nome che il valore, .... Non posso ottenere il valore della variabile globale nel mio codice tramite la variabile globale (nome del parametro), devo specificare il nome della stringa, poi nessun problema, trova tutto.
Bene, le variabili globali mostrano sia il nome che il valore, ..... Non posso ottenere il valore della variabile globale nel mio codice tramite (nome del parametro) della variabile globale, devo specificare il nome della stringa, poi non trova problemi.
Sostituire
if (symb==EUR) {valuta=EUR;}
a
if (symb=="EURUSD") {valuta="EUR";}
Se l'EA controlla il valore salvato dall'indicatore, allora sarebbe logico assumere che il valore del parametro valuta dovrebbe corrispondere al nome dello strumento, cioè EURUSD o GBPUSD...
Di conseguenza, se il consigliere controlla il valore del simbolo corrente, allora
stringa valuta = Symbol();
int i= GlobalVariableGet(valuta);È così che funziona)) È più facile di quanto sembri)
Molte grazie a tutti coloro che visitano e aiutano!
Amici, ditemi dove ho sbagliato... Non riesco a capirlo. L'indicatore legge i dati, ma poi non funziona. Non riesco a trovarlo. Forse qualcuno può dirmi cosa non capisco:
Il giornale mostra sempre i dati dell'array di valori dell'indicatore, ma poi si ferma...
... solo una cella zero... e solo zero... Aiuto per favore...
Scusate, c'è stato un errore ..... ecco l'originale
Odissea, se non li hai, dovresti aggiungerli :))
Amici, ditemi dove ho sbagliato... Non riesco a capirlo. L'indicatore legge i dati, ma poi non funziona. Non riesco a trovarlo. Forse qualcuno può dirmi cosa non capisco:
Il giornale mostra sempre i dati dell'array di valori dell'indicatore, ma poi si ferma...
... solo una cella zero... e solo zero... Aiuto per favore...
Artyom, trovato il primo errore finora:
Gli array PeakUP[] e PeakDN[], sono dichiarati senza quantità specificata di elementi, cioè, li avete creati senza celle, e più avanti in un codice cercate di scriverci qualcosa, ma siccome non contengono in sé elementi, naturalmente in essi non viene scritto nulla, e nella stampante costantemente zero. Dato che non sapete esattamente quanti picchi e depressioni ci saranno, vi consiglio di aumentare dinamicamente il numero di elementi in questi array quando arrivano nuovi dati, le aree corrette sono segnate in rosso.
ArraySize() restituisce il numero totale di elementi dell'array, ma poiché l'indicizzazione parte da zero, il numero effettivo di elementi è ArraySize() - 1.
...come fare, o almeno cosa dovrebbe essere specificato in esso, per aprire ordini su altre coppie. Non voglio eseguire diversi EAs ((
Artyom, finora ho trovato il primo errore:
Gli array PeakUP[] e PeakDN[], sono dichiarati senza quantità specificata di elementi, cioè li avete creati senza celle, e più avanti nel codice provate a scriverci qualcosa, ma siccome non contengono elementi in sé, naturalmente non vi si scrive nulla, e nella stampante costantemente zero. Dato che non sapete esattamente quanti picchi e depressioni ci saranno, vi consiglio di aumentare dinamicamente il numero di elementi in questi array quando arrivano nuovi dati, le aree corrette sono segnate in rosso.
ArraySize() restituisce il numero totale di elementi dell'array, ma poiché l'indicizzazione parte da zero, il numero effettivo di elementi è ArraySize() - 1.