[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 134
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ciao a tutti.
Ho un Expert Advisor che lavora sulla storia (per l'analisi). Ho impostato manualmente un parametro in esso - il tempo (ore, minuti) di immissione degli ordini. Eseguo l'EA nell'intervallo di date stabilito, cambio gli orari degli ordini e lo eseguo di nuovo. Lo faccio 96 volte (dopo 15 minuti) al giorno. Come posso fare in modo che lo faccia da solo?
Ancora una volta chiedo: quando esattamente volete fare l'ordine? Non rispondete con il vostro codice (non voglio capirlo - abbiamo già abbastanza codici per l'analisi), ma solo a parole,
Per esempio: voglio mettere una pausa sopra/sotto la MA a quella distanza, a condizione che ... ...yada yada yada yada ...
Per la seconda volta ti chiedo di spiegare. Avremmo risolto il tuo problema molto tempo fa.
Al momento il problema è questo: fastMa ha attraversato slowMa su... ...quindi stiamo cercando dove comprare. Poi aspettiamo che il prezzo cioè Ask (dal momento che consideriamo l'acquisto) raggiunga fastMa ( beh, credo che non ci sarà un valore esatto, abbiamo bisogno di +- qualche deviazione, è rinominato i_thresholdFromMa) e non appena il prezzo raggiunge fastMa +- i_thresholdFromMa , Expert Advisor dovrebbe mettere BUYSTOP a (fastMa + buyHear * pt).
Quello che ho trovato non funziona in un terminale e non funziona sempre in un altro. C'è qualcosa che non va in generale.
L'ultima variante della funzione buyHear qui:
Ecco i parametri di input:Gli errori possono essere visti nello screenshot (in OrderSend() il prezzo è alimentato sopra il tallone rosso, mentre l'ordine come si vede nello screenshot è sotto....):
E un'altra cosa: se avete fastMA e slowMA definiti come globali, perché li passate nelle funzioni? Tutte le funzioni possono vederli comunque, senza passare i loro parametri alla funzione chiamata.
E prima non erano globali, venivano dichiarati in funzioni specifiche, non in start. Ma dato che non erano usati in nessuna delle funzioni, ottenerli ogni volta era in qualche modo, diciamo, un segno di "cattive maniere come programmatore" e non è comodo avere linee di codice identiche in funzioni diverse.
Artyom, pensi che io abbia il polso giusto all'inizio? Voglio dire che ad ogni tick il valore sarà ricevuto. Non è troppo caro? Dato che non sono un programmatore di formazione, queste domande a volte mi vengono in mente...
La risposta non mi è del tutto chiara, quindi lasciatemi chiedere di nuovo. Ho capito bene che quando si impostano le condizioni di trading
Dovresti usare il valore MA per il corrispondente numero di barre all'indietro, ma non il valore segnato con una freccia gialla nell'immagine.
Ho disegnato la figura come ho capito la tua risposta.
In realtà la domanda è un po' fuori luogo. La questione non è lo spostamento della curva, ma il valore a quale barra l'Expert Advisor ha bisogno di ottenere dal buffer. Questo è ciò che deve essere compreso. E non c'è alcuna corrispondenza tra il bias e l'ottenimento del valore dal buffer.
ciao
prima domanda
A=vero
se il valore Imacd(Main Line) 15 minuti fa è inferiore a 30 minuti fa
ciao
prima domanda
A=vero
se il valore Imacd (Main Line) 15 minuti fa è inferiore a 30 minuti fa
La domanda qui è
se ho capito bene
numero di quali periodi?
o come posso ottenere il valore del macd dalla barra precedente invece che da quella attuale?
int inizio ()
{
bool A=trueif
Clicca suiperiodi del grafico e vedi quali periodi! E trova la barra precedente(shift = 1) alla barra attuale(shift = 0) nell'ultimo posto:
O meglio ancora, iniziate a studiare il libro di testo di S. Kovalev!Salve di nuovo.
Per favore, consigliate come risolvere il seguente problema.
C'è un indicatore in forma compilata. Il codice non è disponibile. L'indicatore riflette i livelli di prezzo nella finestra del grafico principale. Voglio usare questi livelli per il mio EA ma è impossibile chiamare l'indicatore usando la funzione iCustom() - i livelli visualizzati sono oggetti grafici. È possibile leggere i dati altrimenti, per esempio attraverso i nomi degli oggetti e il tempo? I nomi di tutti i livelli sono noti (disponibili nelle impostazioni dell'indicatore), gli oggetti sono aggiornati una volta alla settimana.
Voglio dire subito che non sono molto esperto di programmazione, sarei molto grato per una risposta utile.
Qualcosa del genere.
Si prega di consigliare: nella modalità di test per "prezzi aperti", il tester usa solo i prezzi aperti, chiusi, alti e bassi?
Sì, solo i prezzi aperti, ecco perché è importante considerarlo quando si analizza l'EA. Per esempio, se la coda della candela rompe il tuo canale, allora l'EA potrebbe non notarlo, ma puoi scriverlo nella logica del programma e risolvere il problema.