[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 307
![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
Di solito si usa <=. O >=. In entrambi i casi, l'implementazione è hardware, Metaquotes non ha nulla a che fare con esso.
Anche gli sviluppatori di altre lingue non hanno nulla a che fare con questo. Funzionamento di base. Come + e -.
Poiché la condizione non è una disgiunzione stretta (ed è sempre vera se almeno 1 elemento è vero), il modo più logico di gestire questa condizione sarebbe quello di dividere prima la molecola(a>b || c>d) in atomi "a>b" e "c>d", poi fare un ciclo attraverso gli atomi in modo sequenziale per controllare la verità. E se il prossimo atomo è vero, allora interrompiamo immediatamente il ciclo, permettendo al programma di fare l'azione che si trova subito dopo le parentesi - cioè, di non cercare attraverso il resto degli atomi, perché non è necessario. E non importa se cerchiamo dall'inizio alla fine o dalla fine all'inizio della lista di atomi creata. Solo lo sviluppatore può mostrare la direzione di ricerca (meta-citazioni). Ma perché ne avete bisogno? Stai scrivendo il tuo compilatore?
Mi viene in mente: se nella logica di TC la condizione a>b è vera molto più spesso di c>d==vero, allora potrebbe essere importante come queste due condizioni sono controllate per velocizzare il programma
In realtà l'espressione si presenta così: if(a>b || (a<=b && c>d)). Se il controllo di verità viene eseguito da sinistra a destra, l'espressione a<=b sarà superflua dal punto di vista della velocità del programma. La domanda era esattamente se è da sinistra a destra o viceversa, o in modo diverso nei diversi casi.
In realtà l'espressione si presenta così: if(a>b || (a<=b && c>d)). Se il controllo di verità viene eseguito da sinistra a destra, l'espressione a<=b sarà superflua dal punto di vista della velocità del programma. La domanda era solo se è da sinistra a destra o viceversa, o diversamente in casi diversi.
Puoi spiegare il motivo per cui l'EA non apre gli ordini e scrive l'errore 133
È necessario confrontare il tempo di apertura della posizione con l'attuale tempo di apertura della barra Time[0]. Se il tempo di apertura di una posizione è maggiore o uguale al tempo di apertura della barra - l'Expert Advisor non apre nuove posizioni. Quando appare una nuova barra, Time[0] cambierà il suo valore in un tempo successivo e questo confronto mostrerà che la posizione non è ancora stata aperta sulla barra corrente (nuova) e possiamo negoziare.
A proposito, la tua domanda può anche essere suddivisa in 2 sotto-domande:
1. Alla barra attuale è stata aperta una posizione che è riuscita a chiudere, ma siamo ancora in attesa di una nuova barra.
2. Sulla barra corrente è stata aperta una posizione ed è riuscita a chiudersi, allora possiamo aprire di nuovo una posizione sulla stessa barra (cioè una posizione può essere aperta sulla stessa barra simultaneamente).
Ho un problema con questo: in una e la stessa barra per alcuni minuti la condizione per aprire un ordine diventa vera e l'ordine si apre. poi fallisce e di nuovo apre un secondo ordine. come posso combattere questo? ho solo provato ad aprire un ordine una volta per barra forse ci sono altre opzioni?
Vedo che stai usando una bandiera che permette/disperde l'apertura di una posizione. Senza conoscere le condizioni della bandiera, è impossibile dirvi qualcosa. Nel mio EA uso 2 approcci per aprire una posizione e posso offrire il seguente codice:
Cos'è il detrending, è come "smettere di parlare"?
Applicare un filtro passa-basso a una serie == sottrarre la componente di tendenza (pendenza). l'esempio più semplice: applicare un muwing al prezzo, e poi mostrare la differenza in una finestra separata.
Vedo che stai usando una bandiera che permette/disperde l'apertura di una posizione. Senza conoscere le condizioni della bandiera, è impossibile dirvi qualcosa. Nel mio EA uso 2 approcci quando apro una posizione e posso offrire il seguente codice:
Non capisco bene cosa va dove e da dove.
se questo e quello, allora è "uguale a".
Se è uguale a "True" allora l'ordine si apre.
Se scrivo se questo e quello, l'ordine si apre. questo risolverà il problema?