Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1076
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
Salve. Potresti aiutarmi, se hai tempo La domanda è questa, ho bisogno che l'EA apra un ordine su ogni segnale di due indicatori, (danno un segnale quando sono in certa combinazione) in una parola, ci dovrebbero essere diversi ordini di acquisto o vendita nel mercato, rispettivamente, secondo i segnali degli indicatori. Ma ho solo un ordine nel mercato e finché non si chiude quello successivo non si apre ...... È una questione di conteggio degli ordini? Per favore, datemi un suggerimento. Se ne avete bisogno, posso mandarvi il codice.
Grazie in anticipo!
rimuovere la condizione "if (OrdersTotal()==0)....". - Dicono solo: cerca le voci e apri nuovi ordini solo quando non ci sono ordini.
Se non volete aprire un grosso pacchetto di nuovi ordini senza tale condizione, dovete creare una condizione aggiuntiva. E questo dipende dalla tua strategia: non aprirne uno nuovo nel tempo T del precedente, o controllare le barre o mantenere le distanze in pip tra gli ordini...
Salve. Inizierò dicendovi che vi ringrazio molto per aiutare i neofiti. Non sarei in grado di rispondere da solo, giorno dopo giorno, a domande elementari a un principiante e poi a un altro.
E la domanda è questa:
Prima, quando mql4 era un po' diverso, pensavo che qualsiasi elaborazione di ordini, come apertura/chiusura/modifica dopo un possibile errore, dovesse essere interrotta dalla funzione return(0). A causa di ciò, se dovessi chiudere diversi ordini aperti al prezzo corrente, il tester li chiuderebbe uno per uno su ogni nuova barra e questo probabilmente distorcerebbe l'immagine reale (abbastanza drammaticamente, a volte) nel tester (per ogni tick di un frame). Il nuovo EA deve chiudere diversi ordini esattamente in base al segnale e parzialmente.
Domanda: è possibile elaborarli tutti (chiuderli parzialmente) in un ciclo, senza interrompere il ciclo ogni volta? Il tester sarà in grado di gestirlo? Cioè, sarà in grado di chiuderli parzialmente tutti in una barra?
Salve. Inizierò dicendovi che vi ringrazio molto per aiutare i neofiti. Non sarei in grado di rispondere da solo, giorno dopo giorno, a domande elementari a un principiante e poi a un altro.
E la domanda è questa:
Prima, quando mql4 era un po' diverso, pensavo che qualsiasi elaborazione di ordini, come apertura/chiusura/modifica dopo un possibile errore, dovesse essere interrotta dalla funzione return(0). A causa di ciò, se dovessi chiudere diversi ordini aperti al prezzo corrente, il tester li chiuderebbe uno per uno su ogni nuova barra e questo probabilmente distorcerebbe l'immagine reale (abbastanza drammaticamente, a volte) nel tester (per ogni tick di un frame). Il nuovo EA deve chiudere diversi ordini esattamente in base al segnale e parzialmente.
Domanda: è possibile elaborarli tutti (chiuderli parzialmente) in un ciclo, senza interrompere il ciclo ogni volta? Il tester sarà in grado di gestirlo? Cioè, sarà in grado di chiuderli parzialmente tutti in una barra?
Può farlo senza problemi ad una piccola condizione. Il codice deve essere scritto correttamente.
Se ci sono 2 funzioni (eventualmente sovraccaricate), per esempio, int Funkz(int a) int Funkz(int a, int b, int w), e poi il programma viene compilato, quale funzione lavorerà più velocemente, la prima considerando che ha un solo argomento o non ha importanza, perché il programma è già costruito e ciò che è descritto nel corpo, o c'è lo stesso un piccolo effetto, perché gli argomenti della funzione rappresentano uno stack per cui la memoria è riservata?
Se avete due funzioni con lo stesso nome ma con un numero diverso di argomenti, non è una questione di quale sarà chiamata più velocemente. Quando chiamate una funzione, non scrivete Funkz(), ma specificate il numero di argomenti.
La questione è se il compilatore masticherà le funzioni con lo stesso nome.
Se ho capito bene, non stiamo parlando del codice, ma del file compilato?
Se avete due funzioni con lo stesso nome ma con un numero diverso di argomenti, non è una questione di quale sarà chiamata più velocemente. Quando chiamate una funzione, non scrivete Funkz(), ma specificate il numero di argomenti.
La questione è se il compilatore masticherà le funzioni con lo stesso nome.
Intendi il file compilato, non il codice?
E se le funzioni sono diverse, quale funzionerà più velocemente con meno o più argomenti? Penso che il sovraccarico con diversi numeri porti anche un carico o è solo per comodità?
Per favore, ditemi come scrivere #define?
Lo scrivo così
#define my_POS cst_Position.my_Position
Se cambio questa costruzione in def - tutto funziona.
Ma quando scrivo solo my_POS. l'elenco delle funzioni non appare dopo un punto.
Lo stesso per
#define pos_DATA cst_Position.getPositionData
non ci sono suggerimenti dopo la pos_DATA(.
Cosa sto facendo di sbagliato?
Salve, cari esperti!
Per favore aiutatemi a risolvere questo problema.
Quando si testa qualsiasi coppia, tutto funziona correttamente, ma quando si lavora con altre valute, gli ordini pendenti non vengono piazzati (devo esporre l'ordine pendente) e non vengono chiusi dopo l'attivazione del take profit.
Per favore consigliate come cambiare il codice, se possibile:
Grazie mille in anticipo
Salve, cari esperti!
Per favore aiutatemi a risolvere questo problema.
...Si prega di inserire il codice correttamente: