[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 275
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 domanda è.
Come ottenere un numero senza meno, se risulta che Open[1] < Close[1] e quando si sottrae Open[1]-Close[1] ottengo il valore con un meno, come fare che fosse sempre un valore positivo, ho bisogno di calcolare la distanza tra Open e Close forse c'è un altro modo?
Grazie.
La domanda è.
Come ottenere un numero senza meno, se risulta che Open[1] < Close[1] e quando si sottrae Open[1]-Close[1] ottengo il valore con un meno, come fare che fosse sempre un valore positivo, ho bisogno di calcolare la distanza tra Open e Close forse c'è un altro modo?
>> Grazie.
https://docs.mql4.com/ru/math/MathAbs
https://docs.mql4.com/ru/math/MathAbs
;) >> Grazie!
Buona giornata!
Quando si scriveva un EA per MT4, c'era la necessità di determinare programmaticamente (cioè nel codice dell'EA stesso) se almeno un ordine di questo EA era aperto o meno. Potete consigliarmi se esiste una tale funzione? Forse, se c'è, sarebbe qualcosa del genere
Bool (è stato aperto un ordine EA con questo numero magico)
{risposta= Vero/Falso}
?
Esperti - aiuto per favore - ci stiamo già scervellando
P.S.- provato l'opzione con i numeri d'ordine - non ha funzionato
Buona giornata!
Quando si scrive un EA per MT4, c'era la necessità di determinare programmaticamente (cioè nel codice dell'EA stesso) se almeno un ordine di questo EA era aperto o meno. Sapete se esiste una tale funzione?
Questa funzione funzionerà?
Esempio d'uso: mettiamo questa funzione alla fine del nostro codice e la controlliamo quando apriamo una posizione:
Se non cerchiamo posizioni ma ordini pendenti, possiamo usare questa funzione
Funzione NumberOfOrders().
Questa funzione restituisce il numero di ordini. Puoi limitare la lista degli ordini da controllare usando i parametri della funzione:
sy - Nome dello strumento. Se impostiamo questo parametro, la funzione controllerà solo gli ordini dello strumento specificato. NULL significa strumento corrente, e "" (di default) significa qualsiasi strumento.
op - Tipo di ordine in sospeso. Valori validi: OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP o -1. Il valore predefinito di -1 significa qualsiasi ordine.
mn - Identificatore dell'ordine (MagicNumber). Il valore predefinito di -1 significa qualsiasi MagicNumber.
https://www.mql5.com/ru/forum/107476/page12
Si prega di spiegare cosa forniscono i file:
Se possibile, in qualche modo semplice.
Grazie.
Si prega di spiegare cosa forniscono i file:
Se possibile, in qualche modo semplice.
Grazie.
Si tratta dei cosiddetti "file di libreria". questi file immagazzinano funzioni di uso frequente. sono usati per evitare di caricare il sorgente. se il file di libreria è "dichiarato", le funzioni del file dichiarato possono essere usate come se fossero incluse nel sorgente.
Per favore, spiegate cosa ci danno i file:
Se possibile, per favore mantenetelo semplice.
Grazie.
Quando si usa (chiamando) una funzione da questi file (già inizialmente incorporati in mt4) noi, in caso di funzionamento errato dell'EA, possiamo vedere nel log il numero dell'errore che abbiamo fatto nel codice.
Per esempio, chiamiamo la funzione GetLastError() :
In questo caso, se abbiamo fatto un errore nel codice o impostato parametri esterni errati, vedremo il numero di questo errore nel log.
Per esempio, 130.
E la decodifica del numero può essere trovata su -https://book.mql4.com/ru/appendix/errors
E non abbiamo bisogno di passare attraverso tutto il codice, perché sappiamo già dove si trova l'errore!
Questa funzione funzionerà?
Esempio di utilizzo: mettiamo la funzione stessa alla fine del codice (fuori dalla funzione START) e poi la controlliamo quando apriamo una posizione:
Se non cerchiamo posizioni ma ordini pendenti, possiamo usare
Funzione NumberOfOrders().
Questa funzione restituisce il numero di ordini. Puoi limitare la lista degli ordini da controllare usando i parametri della funzione:
sy - Nome dello strumento. Se si specifica questo parametro, la funzione controllerà solo gli ordini dello strumento specificato. NULL significa strumento corrente, e "" (di default) significa qualsiasi strumento.
op - Tipo di ordine in sospeso. Valori validi: OP_BUYLIMIT, OP_BUYSTOP, OP_SELLLIMIT, OP_SELLSTOP o -1. Il valore predefinito di -1 indica qualsiasi ordine.
mn - Identificatore dell'ordine (MagicNumber). Il valore predefinito -1 significa qualsiasi MagicNumber.
https://www.mql5.com/ru/forum/107476/page12
Grazie mille per il suggerimento, abbiamo provato ma non ha funzionato, per favore controlla se c'è un errore da qualche parte nel codice:
Se vogliamo controllare se c'è una condizione di Vendita o di Acquisto e non abbiamo aperto o chiuso un ordine, in questo caso, solo la prima condizione funzionerà. E se l'EA ha già aperto ordini in passato, allora, quando viene aperto un ordine, la prima + la seconda condizione dovrebbero scattare.
Ho dato un'occhiata al link fornito da te, forse ExistOrders(); è più adatto?
(ma onestamente non riuscivo a collocarlo, dato che a quanto pare mi manca l'abilità per il momento).
Non avete chiamato la funzione correttamente.
La vostra funzione si chiama così: se (NumberOfPositions(NULL,Magic)> 1)
Dovrebbe apparire così:
Sentite la differenza (avete lasciato fuori "-1") ! e RICEVETE IL VOSTRO CODICE.
Per controllarlo, potete stampare un commento sul grafico. Per esempio, così (all'inizio della funzione START).
Per quanto riguarda la tua seconda condizione, io ("senza pensarci troppo") imposterei un mago diverso e una funzione separata Open_Buy_2() per aprire le posizioni dalla seconda condizione !Il codice della seconda condizione sarebbe come questo