[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 270
![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
Beh, non volevo dire chefi_Ticket non è necessario, ma perché gli è stato assegnato il valore predefinito di 0 (zero). Io lo farei così:
Duplicherò di nuovo il codice sorgente:
Questa funzione permette di ottenere informazioni di trading da uno strumento (senza vincolarsi a un ordine, per esempio, prima di aprire un ordine) e lo stesso, ma in combinazione con un ordine specifico (quando è seguito da un ordine). Il valore predefinito è usato per facilitare l'uso della funzione. Il valore negativo di fi_Ticket è usato quando si inizializza la libreria commerciale.
P.S. E prima, fate attenzione ai nomi delle variabili, e più precisamente ai loro prefissi. Le variabili che hanno una b iniziale, come bs_Symbol, sono dichiarate globalmente dalla libreria. La maggior parte delle variabili globali sono dichiarate in b-PSI@Base.
Si prega di guardare il codice EA, non riesco a capire quale sia la ragione.... Al primo avvio può aprire un trade immediatamente, ma dopo la chiusura smette di funzionare fino al prossimo riavvio del terminale o on/off permette all'EA di commerciare... Funziona con l'indicatore Gann 2.0
Ecco un esempio dalla documentazione di un comando che vi aiuterà - capite come funziona, cambiate i parametri:
High[iHighest(NULL,0,MODE_HIGH,20,4)];
Basso[iLowest(NULL,0,MODE_LOW,10,10)];
GRAZIE
Ecco un esempio dalla documentazione di un comando che vi aiuterà - capite come funziona, cambiate i parametri:
High[iHighest(NULL,0,MODE_HIGH,20,4)];
Basso[iLowest(NULL,0,MODE_LOW,10,10)];
Scusate il ritardo nella risposta, ho avuto problemi con il mio computer.
Ecco un esempio dalla documentazione di un comando che vi aiuterà - capite come funziona, cambiate i parametri:
High[iHighest(NULL,0,MODE_HIGH,20,4)];
Basso[iLowest(NULL,0,MODE_LOW,10,10)];
Scusate il ritardo nella risposta, ho avuto problemi con il mio computer.
Si prega di guardare il codice EA, non riesco a capire quale sia la ragione.... Al primo avvio può aprire un trade immediatamente, ma dopo la chiusura smette di funzionare fino al prossimo riavvio del terminale o on/off permette all'EA di commerciare... Funziona con l'indicatore Gann 2.0
Questa funzione permette di ottenere informazioni di trading per uno strumento (senza collegarlo a un ordine, per esempio, prima di aprire un ordine) e lo stesso, ma in combinazione con un ordine specifico (quando lo accompagna). Il valore predefinito è usato per facilitare l'uso della funzione. Il valore negativo di fi_Ticket è usato quando si inizializza la libreria commerciale.
P.S. E prima, fate attenzione ai nomi delle variabili, o più precisamente ai loro prefissi. Le variabili che hanno una b iniziale, come bs_Symbol, sono dichiarate globalmente dalla libreria. La maggior parte delle variabili globali sono dichiarate in b-PSI@Base.
Igor, lo capisco. Ma il punto è che, come ho capito, per ottenere informazioni di mercato per un dato simbolo, non abbiamo bisogno di collegarlo a un ordine. Se c'è uno strumento, un ordine non è necessario... Non è affatto necessario. Dopo tutto, hai solo bisogno del nome dello strumento per ottenere informazioni di mercato. Non siete d'accordo?
Questa variabile di cui chiedevobs_Symbol è menzionata per la prima volta nell'inclusione di b-PSY@Base.mqh, ecco la stringa:
bs_Symbol, // текущий инструмент
Ma non gli viene assegnato nulla. Allora:
C'è un'espressione:
Dovrebbe essere inteso come:fs_Symbol != 0 giusto?
P.S. E prima, fate attenzione ai nomi delle variabili, o più precisamente ai loro prefissi. Le variabili che hanno una b iniziale, come bs_Symbol, sono dichiarate globalmente dalla libreria. La maggior parte delle variabili globali sono dichiarate in b-PSI@Base.
Di solito uso g_ per indicare le variabili globali (dalla parola global), voi usate l(ad esempio li_cnt) per indicare le variabili locali?
Amici, ho bisogno di aiuto per mettere a punto un EA.
C'è del codice che apre un ordine sotto certe condizioni if. L'esecuzione della condizione può avvenire ad ogni tick perché è posta nel corpo di int start().
Abbiamo bisogno di:
1. Dopo l'esecuzione di una condizione (e l'apertura di un ordine), dovremmo fare una pausa per l'apertura di nuovi ordini, pausa per n barre. Per esempio, se il mio Expert Advisor è su timeframe M30 e ho bisogno di passare 3 ore, allora la pausa dovrebbe essere di 6 barre.
2. Il programma dovrebbe funzionare nel tester di strategia.
Quale codice è necessario? E dove sarebbe il posto giusto per inserirlo.
Igor, lo capisco. Ma il punto è che, come ho capito, per ottenere informazioni di mercato su un dato strumento, non è affatto necessario collegarlo a un ordine. Se c'è uno strumento, un ordine non è necessario... Non è affatto necessario. Dopo tutto, hai solo bisogno del nome dello strumento per ottenere informazioni di mercato. Non siete d'accordo?
Questa variabile di cui chiedevobs_Symbol è menzionata per la prima volta nell'inclusione di b-PSY@Base.mqh, ecco la stringa:
Ma non gli viene assegnato nulla. Allora:
C'è un'espressione:
Dovrebbe essere inteso come:fs_Symbol != 0 giusto?
Di solito uso g_ per indicare le variabili globali (dalla parola global) e l(ad esempio li_cnt) per indicare quelle locali?
Hai ancora molto da imparare. Finora le vostre ipotesi non sono corrette. Le mie funzioni possono servire diversi scopi allo stesso tempo (per ridurre il codice stesso), in particolare fGet_MarketInfo(). Tutto è stato pensato ripetutamente e nulla deve essere cambiato!
Iniziate, per esempio, con un esperimento: dichiarate una variabile globale nel corpo dell'EA e provate a chiamare questa variabile dalla libreria collegata. Provate a collegare i risultati a nomi di variabili che hanno un prefisso che inizia con b, per esempio bs_Symbol.
P.S. Non ho bisogno di essere controllato: o usate le mie biblioteche, o non le usate. Se qualcosa (una parte della mia libreria) non funziona correttamente - fatemelo sapere e lo correggerò. E fare domande - "Perché funziona così? - avete bisogno di più conoscenza, perché "l'ovvietà non è in superficie".
Hai ancora molto da imparare. Finora le vostre ipotesi non sono vere. Le mie funzioni possono servire diversi scopi allo stesso tempo (per ridurre il codice stesso), in particolare fGet_MarketInfo(). Tutto è stato pensato ripetutamente e nulla deve essere cambiato!
Capisco quello che c'è. Ma non è chiaro perché sia implementato in questo modo.
Per esempio, iniziate con un esperimento: dichiarate una variabile globale nel corpo dell'EA e provate a chiamare questa variabile dalla libreria collegata. Provate a collegare i risultati a nomi di variabili che hanno un prefisso che inizia con b, per esempio bs_Symbol.
Non potrete comunque utilizzare le vostre librerie nella loro forma originale, cioè tutto è legato lì. Ogni funzione su un pacchetto di altre...
P.S. Non ho bisogno di essere controllato: o usate le mie biblioteche, o non le usate. Se qualcosa (qualche mia libreria) non funziona correttamente - fatemelo sapere e lo sistemerò. E fare domande - "Perché funziona così? - avete bisogno di più conoscenza, perché "l'ovvietà non sta in superficie".
Non volevo metterlo alla prova in nessun modo... In effetti, non c'è dubbio che sia scritto in modo molto competente. È solo che non capisco bene tutto, per questo ho detto che non credo... Guardo, penso... Ma non capisco tutto. Ecco perché ho chiesto.
P.S. Con bs_Symbol continuo a non capire.