Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1229
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
La mia comprensione è che è come un controllo periodico della disponibilità. (C'è EURUSD? e c'è un ordine con il Magic specificato?) Se manca una delle condizioni, apriamo una posizione. Solo se entrambe le condizioni sono soddisfatte, apriamo una posizione.
Nella fase 2 ci viene chiesto. Supponiamo di avere un ordine aperto manualmente. Allora soddisfiamo la prima condizione (abbiamo lo stesso simbolo) e non soddisferemo la seconda condizione, poiché questo ordine non contiene magia. E se una delle condizioni non corrisponde, allora il codice dovrebbe aprire l'ordine. Questo è esattamente ciò che fa il codice. Ma al prossimo tick, apre il terzo, quarto e quinto ordine.....
Perché apre un terzo ordine?
Ma ci sono due ordini che soddisfano entrambe le condizioni in totale. Ci dovrebbe essere un controllo (cambiamento in return(0)), non un'apertura. , non l'apertura.
Buona notte a tutti! Potete dirmi se è possibile scrivere un codice in mql5 che disegni una linea sul grafico (immagine allegata) e registri tutte le coordinate di questa linea nel file? Se volete disegnare una linea e riempirla con le coordinate, allora dovete fare un semplice ricalco della linea.
Tutto è nella documentazione.
Tutto è nella documentazione.
Grazie per il suggerimento, forse puoi aiutarmi a costruire uno di questi, naturalmente gratis.
Grazie per il suggerimento, ma forse puoi aiutarmi a costruire una di queste cose, non gratis ovviamente.
Non gratis - questo è per te)))
La mia comprensione è che è come un controllo periodico della disponibilità. (C'è EURUSD? e c'è un ordine con il Magic specificato?) Se manca una delle condizioni, apriamo una posizione. Solo se entrambe le condizioni sono soddisfatte, apriamo una posizione.
Nella fase 2 ci viene chiesto. Supponiamo di avere un ordine aperto manualmente. Allora soddisfiamo la prima condizione (abbiamo lo stesso simbolo) e non soddisfiamo la seconda condizione, poiché questo ordine non contiene magia. E se una delle condizioni non corrisponde, allora il codice dovrebbe aprire l'ordine. Questo è esattamente ciò che fa il codice. Ma al prossimo tick, apre il terzo, quarto e quinto ordine.....
Perché apre un terzo ordine?
Ma ci sono due ordini che soddisfano entrambe le condizioni in totale. Ci dovrebbe essere un controllo (cambiamento in return(0)), non un'apertura. ma non l'apertura.
== - se è uguale != - se non è uguale. Continuità - fine dell'iterazione del ciclo e inizio di una nuova iterazione del ciclo. Breaking - terminazione del ciclo e transizione al prossimo operatore che segue il ciclo, return - terminazione della funzione, nel vostro caso Onstart e attesa di un nuovo tick. E se un ordine con il tuo magik è aperto, dovrebbe terminare la funzione e lasciare in attesa di un nuovo tick.
Domanda: se vuoi aprire un ordine nella finestra corrente, perché devi specificare esplicitamente lo strumento, o vuoi aprire gli ordini dalla finestra di un altro strumento? Inoltre non è chiaro quanti ordini vuoi aprire. Secondo il vostro codice, solo un ordine può essere aperto e solo dopo che è stato chiuso, il secondo sarà aperto. Avete un mago e uno strumento per aprire una finestra. Inoltre, le condizioni di apertura degli ordini sono controllate per lo strumento corrente e non per gli Eurobucks.
== - se uguale != - se non uguale. Kontinue - termina l'iterazione del ciclo e inizia una nuova iterazione del ciclo. Break - termina il ciclo e va all'operatore successivo al ciclo, return - termina la funzione, nel tuo caso Onstart e aspetta un nuovo tick. E se un ordine con il tuo magik è aperto, dovrebbe terminare la funzione e lasciare in attesa di un nuovo tick.
Domanda: se vuoi aprire un ordine nella finestra corrente, perché devi specificare esplicitamente lo strumento, o vuoi aprire gli ordini dalla finestra di un altro strumento? Non è nemmeno chiaro quanti ordini vuoi aprire. Secondo il vostro codice, solo un ordine può essere aperto e solo dopo che è stato chiuso, il secondo sarà aperto. Avete un mago e uno strumento per aprire una finestra. Inoltre, le condizioni di apertura degli ordini sono controllate per lo strumento corrente e non per gli Eurobucks.
- Sì, voglio aprire nella finestra corrente;
- Un ordine. L'ordine successivo non viene aperto fino alla chiusura dell'ordine precedente.
"Inoltre, le condizioni di apertura dell'ordine sono controllate per lo strumento corrente e non per gli Eurobucks" - allora ?
- Sì, voglio aprire nella finestra corrente;
- Un ordine. L'ordine successivo non viene aperto fino alla chiusura dell'ordine precedente.
"Inoltre, le condizioni di apertura dell'ordine sono controllate per lo strumento corrente e non per gli Eurobucks" - allora ?
E che cosa poi, per esempio, si ha una finestra aperta non Eurobucks, ma l'Eurofunt, si confronta il simbolo dell'ordine selezionato con Eurobucks, se è vero, allora sull'Eurobucks c'è un ordine, e se il nostro magik, poi ritorno dalla funzione OnStart, e se non, allora abbiamo impostato un ordine su Eurobucks, ma Kloz, High, Ask, Bid, si avrà un errore quando si aprono gli ordini, perché bid e ask per questi instuents sono diversi. E Symbol() restituirà il simbolo della finestra corrente e non ci saranno errori.
Usa il modello dal meta editor, c'è un pulsante Nuovo in alto a sinistra. La funzione OnStart è ancora usata, ma non è giusto, e OnStart è per gli script. Il modello giusto.
Codice corretto. Manca il tuo commento all'ordine, e il mago non è considerato nel tuo codice. Nelle avvertenze alla linea di apertura nota Conversione implicita del tipo di un numero in una stringa!!!
ci sono molti errori nel tuo esempio
dovrebbe esserci:
qui i prezzi non sono normalizzati OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-SL*Point,Bid+TP*Point,"My order",MagicNumber,0,clrGreen);
Qui non capisco la logica per cui l'uscita da OnTick() è necessaria se la condizione è falsa.
forse, dovremmo andare avanti con il cicloe calcolare semplicemente quanti ordini ci sono
Il tuo esempio è molto semplice nella logica e sarebbe difficile modificarlo per altri compiti... forse vorrebbe aggiungere il trailing