1 Se la linea 7 è sopra la linea 1, con la linea 1 sopra la linea 6, 2 allora 3 si apre un ordine di acquisto con volume Lots_Typ, possibile slippage di 5 pips, nessun SL e TP, al prezzo di chiusura.
1 Se il profitto potenziale di questo conto è superiore a 50$, 2 allora 3 tutti gli ordini vengono chiusi, indipendentemente dalle proprietà che hanno (volume, acquisto/vendita, ...).
La catena logica è allineata correttamente, ma il codice sulla catena logica no.
OrderClose(Symbol(),5,Ask,0);
L'errore sta qui. Se si costruisce una catena logica, relativa al codice di cui sopra, si ottiene: Chiusura di 5 lotti di un ordine con un prezzo di chiusura e un possibile slippage di 0 pip.
1 Se la linea 7 è sopra la linea 1, con la linea 1 sopra la linea 6, 2 allora 3 si apre un ordine di acquisto con volume Lots_Typ, possibile slippage di 5 punti, senza SL e TP, al prezzo di chiusura.
1 Se il profitto potenziale di questo conto è superiore a 50$, 2 allora 3 tutti gli ordini saranno chiusi, indipendentemente dalle loro proprietà (volume, acquisto/vendita, ...).
La catena logica è corretta, ma il codice per catena logica no.
L'errore sta qui. Se costruiamo una catena logica, relativa al codice precedente, otteniamo: Chiusura di 5 lotti di un ordine con un prezzo di chiusura e un possibile slippage di 0 pip.
Come correggerlo? Si prega di avvisare.
Caro signore, legga attentamente la documentazione,
In particolare
Il bool OrderClose(
int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
Chiusura della posizione. Restituisce TRUE se la funzione è stata completata con successo. Restituisce FALSE se la funzione fallisce. Per ottenere informazioni sull'errore, chiamate la funzione GetLastError().
Parametri:
biglietto
-
Numero di serie unico dell'ordine.
lotti
-
Numero di lotti da chiudere.
prezzo
-
Il prezzo di chiusura.
slittamento
-
Il valore dello slippage massimo in pip.
Colore
-
Colore della freccia di chiusura sul grafico. Se il parametro manca o il suo valore è CLR_NONE, la freccia non viene mostrata sul grafico.
Caro signore, legga attentamente la documentazione,
in particolare
Il bool OrderClose(
int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
Chiusura della posizione. Restituisce TRUE se la funzione è stata completata con successo. Restituisce FALSE se la funzione fallisce. Per ottenere informazioni sull'errore, chiamate la funzione GetLastError().
Parametri:
biglietto
-
Numero di serie unico dell'ordine.
lotti
-
Numero di lotti da chiudere.
prezzo
-
Il prezzo di chiusura.
slittamento
-
Il valore dello slippage massimo in pip.
Colore
-
Colore della freccia di chiusura sul grafico. Se il parametro manca o il suo valore è CLR_NONE, la freccia non viene visualizzata sul grafico.
Esempio:
Io so tutto questo. Come posso fare in modo che tutti gli ordini siano chiusi, indipendentemente dalle loro caratteristiche?
Nel mio esempio: numero di ordine casuale, volume 5, al prezzo di chiusura, con slippage 0, nessuna freccia. Nell'esempio del documento: calcolo del numero di ordine per order_id, il volume è 1, per prezzo di chiusura, con slippage 3, la freccia è rossa.
Compito 1 Scrivi il codice che chiuderà tutti gli ordini aperti senza eccezioni.
Il mio ragionamento. È possibile scrivere questo codice, ma la domanda sorge spontanea: "Come? 1 - creare un codice che tenga traccia di tutti gli ordini aperti (volume totale, numero di cluster di ordini, acquisto/vendita, slippage consentito). 2 - Creare il codice che apre gli ordini e invia i dati al codice che controlla tutti questi ordini (si crea una specie di database). 3 - Creare un codice che chiude tutti gli ordini in determinate condizioni e prende solo i dati inutilizzati dal "database particolare". I dati non vengono riutilizzati.
Potremmo farlo in questo modo, ma penso che ci sia un'altra variante, meno ingombrante. Ecco perché chiedo "come?
Per favore consigliate come calcolare le percentuali in MQL4
per esempio x=10+3% come scriverlo programmaticamente?
Non riesco a trovarlo nel libro di riferimento.
x=10*1.03
x=10*1.03
ok! ma non voglio ricalcolarli ogni volta, ho bisogno di una funzione che calcoli le percentuali da sola
y=3; //il numero continua a cambiare ad ogni tick
x=10+yP; // invece di P hai bisogno di una percentuale. non posso scriverlo in mql
1 Se la linea 7 è sopra la linea 1, con la linea 1 sopra la linea 6,
2 allora
3 si apre un ordine di acquisto con volume Lots_Typ, possibile slippage di 5 pips, nessun SL e TP, al prezzo di chiusura.
1 Se il profitto potenziale di questo conto è superiore a 50$,
2 allora
3 tutti gli ordini vengono chiusi, indipendentemente dalle proprietà che hanno (volume, acquisto/vendita, ...).
La catena logica è allineata correttamente, ma il codice sulla catena logica no.
L'errore sta qui.
Se si costruisce una catena logica, relativa al codice di cui sopra, si ottiene:
Chiusura di 5 lotti di un ordine con un prezzo di chiusura e un possibile slippage di 0 pip.
Come correggerlo? Si prega di avvisare.
Ok! Non posso ricalcolarli ogni volta, ho bisogno di una funzione che calcoli la percentuale da sola
y=3; // il numero cambia costantemente ad ogni tick
x=10+yP; // abbiamo bisogno di percentuale invece di P. Non posso scriverlo in mql.
Ok! Non posso ricalcolarli ogni volta, ho bisogno di una funzione che calcoli la percentuale da sola
y=3; // il numero cambia costantemente ad ogni tick
x=10+yP; // invece di P abbiamo bisogno di percentuale.
x - numero, y - percentuale necessaria
passare il numero x e la percentuale desiderata di esso a y, l'output è la percentuale y del numero x
Catena logica del codice:
1 Se la linea 7 è sopra la linea 1, con la linea 1 sopra la linea 6,
2 allora
3 si apre un ordine di acquisto con volume Lots_Typ, possibile slippage di 5 punti, senza SL e TP, al prezzo di chiusura.
1 Se il profitto potenziale di questo conto è superiore a 50$,
2 allora
3 tutti gli ordini saranno chiusi, indipendentemente dalle loro proprietà (volume, acquisto/vendita, ...).
La catena logica è corretta, ma il codice per catena logica no.
L'errore sta qui.
Se costruiamo una catena logica, relativa al codice precedente, otteniamo:
Chiusura di 5 lotti di un ordine con un prezzo di chiusura e un possibile slippage di 0 pip.
Come correggerlo? Si prega di avvisare.
Caro signore, legga attentamente la documentazione,
In particolare
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderClose(order_id,1,Ask,3,Red); return(0); }Caro signore, legga attentamente la documentazione,
in particolare
Come posso fare in modo che tutti gli ordini siano chiusi, indipendentemente dalle loro caratteristiche?
So tutto questo.
Come posso fare in modo che tutti gli ordini siano chiusi, indipendentemente dalle loro caratteristiche?
Sai, buon per te,
x - numero, y - percentuale richiesta
passare il numero x e la percentuale y desiderata, l'output è la percentuale y del numero x
Proprio quello di cui avevo bisogno, grazie mille... È così facile che ci ho pensato per mezza giornata! Grazie ancora!
Sai, buon per te,
Nel mio esempio: numero di ordine casuale, volume 5, al prezzo di chiusura, con slippage 0, nessuna freccia.
Nell'esempio del documento: calcolo del numero di ordine per order_id, il volume è 1, per prezzo di chiusura, con slippage 3, la freccia è rossa.
1 c'è calcolo order_id - nessun calcolo order_number
2 volume (1) - volume (5)
3 slippage (3) - slippage (0)
4 freccia rossa - nessuna freccia
Differenze trovate.
Ora torniamo al compito.
Compito 1
Scrivi il codice che chiuderà tutti gli ordini aperti senza eccezioni.
Il mio ragionamento.
È possibile scrivere questo codice, ma la domanda sorge spontanea: "Come?
1 - creare un codice che tenga traccia di tutti gli ordini aperti (volume totale, numero di cluster di ordini, acquisto/vendita, slippage consentito).
2 - Creare il codice che apre gli ordini e invia i dati al codice che controlla tutti questi ordini (si crea una specie di database).
3 - Creare un codice che chiude tutti gli ordini in determinate condizioni e prende solo i dati inutilizzati dal "database particolare".
I dati non vengono riutilizzati.
Potremmo farlo in questo modo, ma penso che ci sia un'altra variante, meno ingombrante.
Ecco perché chiedo "come?