Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1384
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
leonerd #:
Здравствуйте. А как программно узнать символ и таймфрейм активного чарта в клиентском терминале? Т.е. чарта выбранного в настоящее время во вкладке. Есть какая-то функция из MQL5 для этого?
PORTA IL GRAFICO IN ALTO
Visualizza il grafico in cima a tutti gli altri grafici
bool
Come si fa a definire un identificatore di grafico da mostrare?
PORTA IL GRAFICO IN ALTO
Visualizza il grafico in cima a tutti gli altri grafici
bool
Come si definisce un ID del grafico da mostrare?
https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_foreground
Grazie. CHART_FOREGROUND è probabilmente il più adatto. Non ho bisogno di impostare forzatamente il grafico attivo, ho solo bisogno di determinare quale è attivo. Ho ragione a pensare che dovrò passare attraverso tutti i grafici aperti controllando CHART_FOREGROUND?
https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_foreground
Grazie. CHART_FOREGROUND è probabilmente il più adatto. Non è che ho bisogno di impostare forzatamente il grafico attivo, ma solo di identificare quello che è attivo. Ho capito bene che devo passare attraverso tutti i grafici aperti controllando CHART_FOREGROUND?
CHART_FOREGROUND è un grafico in alto.
E per non farlo rispettare, dovreste sostituire ChartSetInteger con ChartGetInteger
Buon pomeriggio.
Puoi darmi un suggerimento - sto pensando a un robot e ci sono quattro diverse condizioni - non so ancora quali rimuovere: voglio scoprirlo più tardi quando ottimizzo per diversi timeframe.
Cioè: quattro condizioni (f1,f2,f3,f4). Ci possono essere molte combinazioni (0,0,1,1) o (1,0,1,0) e così via - un totale di 16 combinazioni. Esattamente 15 - la variante (0, 0, 0, 0) non viene considerata.
Domanda: come creare la logica del programma per non descrivere tutte le 15 combinazioni nel codice. C'è una funzione per controllare ciascuna di queste condizioni, e in quali combinazioni di queste condizioni si applicano - controlla come altro.
Sarei felice se potessi mostrarmi qualche Expert Advisor, che mi permette di inserire molte condizioni in un codice conciso.
Buon pomeriggio.
Puoi darmi un suggerimento - sto pensando a un robot e ci sono quattro diverse condizioni - non so ancora quali rimuovere: voglio scoprirlo più tardi quando ottimizzo per diversi timeframe.
Cioè: quattro condizioni (f1,f2,f3,f4). Ci possono essere molte combinazioni (0,0,1,1) o (1,0,1,0) e così via - un totale di 16 combinazioni. Più precisamente 15 - la variante (0, 0, 0, 0) non è considerata.
Domanda: come creare la logica del programma per non descrivere tutte le 15 combinazioni nel codice. C'è una funzione per controllare ciascuna di queste condizioni, e in quali combinazioni di queste condizioni si applicano - controlla come altro.
Sarei felice se mi mostrassi qualche Expert Advisor, che mi permette di introdurre condizioni multiple in un codice conciso.
Potrei andare così:
O qualcosa del genere:
CHART_FOREGROUND è il grafico in alto
E per non forzarlo, sostituite ChartSetInteger con ChartGetInteger
grazie
Si potrebbe fare così:
O qualcosa del genere:
Ed ecco la prima costruzione - quale sarebbe il comportamento del codice nelle condizioni (0, 1, 0, 1)?
Potresti spiegare il corpo della condizione If
Ed ecco la prima costruzione - quale sarebbe il comportamento del codice nelle condizioni (0, 1, 0, 1)?
Potresti spiegare il corpo della condizione Se
Qui è molto semplice. Se F1==falso, allora ( !F1 || f1) sarà vero indipendentemente dalla condizione f1.
Cioè, se Fn==vero, la condizione fn viene controllata, e se Fn==falso, la condizione fn non viene controllata.
Di conseguenza, per (0, 1, 0, 1) solo le condizioni f2 e f4 saranno controllate, e se entrambe sono valide, il codice open_pos() sarà eseguito
Questo è molto semplice. Se F1==falso, allora ( !F1 || f1) sarà vero indipendentemente dalla condizione f1.
Cioè, se Fn==vero, la condizione fn viene controllata, e se Fn==falso, la condizione fn non viene controllata.
Corrispondentemente, per (0, 1, 0, 1) solo le condizioni f2 e f4 saranno controllate, e se entrambe sono valide, il codice open_pos() sarà eseguito
Ma per il caso in cui f1 e gli altri non sono solo 0 o 1. Pensavo che se la condizione f1 è soddisfatta per una posizione corta, allora ne viene restituita una. Se è per una posizione lunga, restituisce 2. Se la condizione non è affatto soddisfatta - 0.
Ma in una tale costruzione probabilmente non dovremmo contare su una tale varietà di valori dei parametri e formulare la condizione in qualche altro modo?
Ma per il caso in cui f1 e gli altri non sono solo 0 o 1. Pensato che se la condizione f1 è soddisfatta per la posizione corta, allora viene restituito uno. Se per una posizione lunga restituisce 2. Se la condizione non è affatto soddisfatta - 0.
Ma forse non dovremmo contare su una tale diversità di valori dei parametri in questo costrutto e formulare la condizione in qualche altro modo, vero?
Gli insiemi di condizioni per l'apertura lunga e corta sono considerati separatamente.
Voglio dire, per esempio, così:
Venderò anche un pezzo del mio codice reale - non rivelerà alcun know-how senza informazioni sui valori "da battaglia" delle variabili e sulle condizioni di tenuta delle posizioni.
Qui si può effettivamente specificare una delle 224 opzioni: