[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 409
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
Quando apri e aggiorni il grafico, una richiesta di nuovi dati va al server. Alcune avide società di brokeraggio preferiscono spendere i loro soldi per le loro tasche piuttosto che per server più potenti e un canale più ampio. Devono limitare il numero di richieste dal terminale in modo che un server debole non venga "bloccato". MRC ha solo 2000 richieste al giorno. È 10 volte meno del numero dei loro strumenti moltiplicato per il numero di TF, senza contare le richieste di trade.
Incluse in MQL4 aiutano a snellire il codice. Per esempio, ecco come appare un indicatore per 3000 linee nel mio codice.
Il fatto è che ho visto librerie, ed è menzionato nella documentazione, che gli inludi sono di solito posti all'inizio del codice, dove sono dichiarate le variabili globali. Se ci sono funzioni negli inludi, sembra strano pensare che in un posto in cui sono dichiarate variabili globali ci sarà di fatto una funzione in quel posto, e in alternativa, qualche tipo di variabile. Non è così che il codice è scritto. Se le variabili utilizzate nell'Expert Advisor e le variabili esterne personalizzate sono dichiarate in alto, nessuno mette funzioni accanto a loro! Ma mettono gli inludi con le funzioni, ed è considerato normale, da quanto ho capito. Questo è ciò che mi confonde di più.
Non sembra logico...
D'altra parte, se si mette un inline, da qualche parte. invece di diverse funzioni, che sono responsabili di ottenere, diciamo, un segnale di scambio per qualche attributo, sarebbe una cosa logica e leggibile.
Sfortunatamente, il compilatore non permette che un'inclusione sia usata più di una volta in un modulo. Questo è di solito un modo per risparmiare sul codice ripetitivo.
Buon pomeriggio a tutti.
Studio delle funzioni MarketInfo ( ) e Print( )
Ecco un semplice codice che usa queste funzioni
Tester, TF 60 min.
La richiesta del grafico sembra la richiesta CopyRates ArrayCopySeries e non quella RefreshRates. CopyRates è l'unica funzione non commerciale che muove il server.
Controllato RefreshRates(). Se questo Expert Advisor viene eseguito, per esempio, su EURUSD, e un altro strumento la cui finestra non è stata aperta per molto tempo viene inserito nelle impostazioni (in modo che la cronologia non ci sia), la cronologia appare.
Quindi, RefreshRates() fa riferimento al server e scarica la cronologia. Di conseguenza, è necessario controllare l'arrivo della storia.
Il supporto dice che nessuna delle funzioni si riferisce direttamente al server. Tutto viene eseguito attraverso il terminale :-).
Se usate GetProfitFromDateInCurrency() (originale - questo è IMPORTANTE: non so cosa potreste aver ottenuto nella vostra versione), allora la funzione dovrebbe essere chiamata così:
e la funzione restituirà i profitti sugli ordini chiusi dall'inizio del giorno corrente.
E potete catturare tutte le cose stupide nel codice usando Print().
non funziona. Mostra tutti i profitti disponibili sulle transazioni per l'intera storia.
Ecco la funzione originale e non ho cambiato nulla in essa, ovviamente
ecco la sua chiamata e stampa
Controllato RefreshRates(). Se questo Expert Advisor viene eseguito, per esempio, su EURUSD, e un altro strumento la cui finestra non è stata aperta per molto tempo viene inserito nelle impostazioni (in modo che la cronologia non ci sia), la cronologia appare.
Quindi, ancora RefreshRates() si riferisce al server e riempie la storia. Di conseguenza, è necessario controllare l'arrivo della storia.
Il supporto dice che nessuna delle funzioni si riferisce direttamente al server. Quindi, tutto viene fatto attraverso il terminale :-)
Vadim, ho eseguito il tuo script su un terminale sul quale non ho mai aperto alcuno strumento a parte le major e i cross con lo yen. Comunque, ecco uno screenshot:
Non viene pompato nulla perché la matrice dei dati di mercato è vuota, a giudicare dai commenti...
Vadim, ho eseguito il tuo script su un terminale sul quale non ho mai aperto alcuno strumento a parte le major e i cross con lo yen. Comunque, ecco uno screenshot:
Non si sta pompando nulla perché la matrice dei dati di mercato è vuota, a giudicare dai commenti...
Sì. Non ha anche notato che ha MarketInfo() nel suo Expert Advisor e non solo RefreshRates().
Controllato RefreshRates(). Se questo Expert Advisor viene eseguito, per esempio, su EURUSD, e un altro strumento la cui finestra non è stata aperta per molto tempo viene inserito nelle impostazioni (in modo che la cronologia non ci sia), la cronologia appare.
Quindi, ancora RefreshRates() si riferisce al server e riempie la storia. Di conseguenza, è necessario controllare l'arrivo della storia.
Il supporto dice che nessuna delle funzioni si riferisce direttamente al server. Quindi, tutto viene fatto attraverso il terminale :-)
Il livello di immaginazione è impressionante. Perché i dati sono apparsi solo per alcuni simboli (che non sono stati aperti) e non per tutti nella revisione del mercato? Come faceva la funzione RefreshRates() a sapere che alcuni simboli dovevano essere aggiornati e altri no?
Junko, smetti di divagare.
non funziona. Emette tutti i profitti disponibili sulle compravendite nell'intera storia.
Ecco la funzione originale e non ho cambiato nulla in essa, ovviamente
ecco la sua chiamata e la sua stampa
Quindi tutto è corretto. Tu "leggi" la funzione riga per riga e capisci come funziona, se sei troppo annoiato per scriverla da solo, e tutto andrà a posto...
Avete un parametro di funzione:
è l'ora di apertura dell 'ultima barra del giorno, cioè tutte le posizioni chiuse prima dell'apertura della barra del giorno corrente saranno calcolate e sommate! Ha senso? Quindi fissate un'altra barra, che è richiesta o qualunque cosa sia. Ma dovete vedere voi stessi.
Sì. Inoltre non ha notato che ha MarketInfo() nel suo Expert Advisor, non solo RefreshRates().
Anche tutte le funzioni:
DoubleToStr(iOpen(sTool, 0, i), Digits), ",
DoubleToStr(iLow(sTool, 0, i), Digits), ",
DoubleToStr(iHigh(sTool, 0, i), Digits), " ",
DoubleToStr(iClose(sTool, 0, i), Digits), ",
DoubleToStr(iVolume(sTool, 0, i), 0), "\n");
Naturalmente, i dati saranno aggiornati.