Ciao a tutti. aiutare a capire la situazione attuale.
perché in un caso, testF2, quando prendo Buf0[i]=iCCI(NULL,0,8,PRICE_OPEN,i-1)-iCCI(NULL,0,8,PRICE_OPEN,i); tutto avviene alla grande come dovrebbe,
ma in un altro caso, testF1, con le stesse azioni Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i-1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i); l'ultima barra è crollata? perché non succede in caso di iCCI ma iMA crolla??????
e se avete bisogno di uno spostamento come nella variante da voi citata di 1-n bar a destra, meglio implementarlo esplicitamente nell'init tramite SetIndexShift(0,1);
e se avete bisogno di uno spostamento come nella variante da voi citata di 1-n bar a destra, meglio implementarlo esplicitamente nell'init tramite SetIndexShift(0,1);
Grazie mille, ma ho capito tutto perfettamente, ma perché va bene con iCCI e non con iMA?
if ((NormalizeDouble(priceopen+start*Point,Digits)<=Bid)&&(NormalizeDouble(Bid-sl*Point,Digits)>NormalizeDouble(dist*Point,Digits)))
{
sl=NormalizeDouble(Bid-dist*Point,Digits);
Ekburg:
si calcola la distanza dal prezzo al prezzo di inserimento dell'ordine, e si ha bisogno dal prezzo allo stop attuale)!
Se uno short è in piedi, allora è diretto al primo blocco, se un long è in piedi, allora è diretto al secondo blocco, e poi i trailing stop.
Se i corti sono buoni, allora vanno al primo blocco, se lunghi, allora al secondo, dopo di che i calcoli, i controlli e i trailing stop.
non riesco ancora a farlo... Sto solo provando a lungo, ho provato così tante cose che non riesco a ricordare cosa ho fatto))
C'è un programma che apre due ordini di acquisto o vendita, diciamo per EURAUD e AUDUSD. Il programma funziona solo se non ci sono ordini aperti nel terminale per queste o altre coppie. Se nel terminale è presente almeno un ordine, le compravendite non si apriranno. La mia domanda è: come programmare l'apertura degli ordini se ci sono ordini aperti nel terminale o no? Vi ringrazio in anticipo per la vostra risposta.
C'è un programma che apre due ordini di acquisto o vendita, diciamo per EURAUD e AUDUSD. Il programma funziona solo se non ci sono ordini aperti nel terminale per queste o altre coppie. Se nel terminale è presente almeno un ordine, le compravendite non si apriranno. La mia domanda è: come programmare l'apertura degli ordini se ci sono ordini aperti nel terminale o no? Vi ringrazio in anticipo per la vostra risposta.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Ciao a tutti. aiutare a capire la situazione attuale.
perché in un caso, testF2, quando prendo Buf0[i]=iCCI(NULL,0,8,PRICE_OPEN,i-1)-iCCI(NULL,0,8,PRICE_OPEN,i); tutto avviene alla grande come dovrebbe,
ma in un altro caso, testF1, con le stesse azioni Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i-1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i); l'ultima barra è crollata? perché non succede in caso di iCCI ma iMA crolla??????
C'è un modo per risolvere il problema?
Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i-1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i);
per un yem in infinito sarete gettati quando calcolate -1 bar quando i=0
è meglio così:
Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i+1);
e se avete bisogno di uno spostamento come nella variante da voi citata di 1-n bar a destra, meglio implementarlo esplicitamente nell'init tramite SetIndexShift(0,1);
Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i-1)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i);
perché l'yem sia infinito verrà lanciato quando si calcola -1 bar quando i=0
è meglio così:
Buf0[i]=iMA(NULL,0,8,0,MODE_EMA,PRICE_OPEN,i)-iMA(NULL,0,8,1,MODE_SMA,PRICE_OPEN,i+1);
e se avete bisogno di uno spostamento come nella variante da voi citata di 1-n bar a destra, meglio implementarlo esplicitamente nell'init tramite SetIndexShift(0,1);
Grazie mille, ma ho capito tutto perfettamente, ma perché va bene con iCCI e non con iMA?
si calcola la distanza dal prezzo al prezzo di inserimento dell'ordine, e si ha bisogno dal prezzo allo stop attuale)!
Se uno short è in piedi, allora è diretto al primo blocco, se un long è in piedi, allora è diretto al secondo blocco, e poi i trailing stop.
Se i corti sono buoni, allora vanno al primo blocco, se lunghi, allora al secondo, dopo di che i calcoli, i controlli e i trailing stop.
non riesco ancora a farlo... Sto solo provando a lungo, ho provato così tante cose che non riesco a ricordare cosa ho fatto))
Grazie mille, ma ho capito perfettamente, ma perché funziona con iCCI e non con iMA?
Ci sono stati errori qua e là, è solo che con iCCI non è ovvio, a causa delle peculiarità dei calcoli,
e l'applicazione delle MA, in particolare delle EMA, penso che porti alla loro visibilità.
ancora non esce nulla... Sto solo provando a lungo, ho provato così tante cose che non ricordo cosa ho fatto))
mettere OrderStopLoss() invece di sl
Hai intenzione di vivere di mance?
Non hai bisogno di mance ora, vero? :)
C'è un programma che apre due ordini di acquisto o vendita, diciamo per EURAUD e AUDUSD. Il programma funziona solo se non ci sono ordini aperti nel terminale per queste o altre coppie. Se nel terminale è presente almeno un ordine, le compravendite non si apriranno. La mia domanda è: come programmare l'apertura degli ordini se ci sono ordini aperti nel terminale o no? Vi ringrazio in anticipo per la vostra risposta.
C'è un programma che apre due ordini di acquisto o vendita, diciamo per EURAUD e AUDUSD. Il programma funziona solo se non ci sono ordini aperti nel terminale per queste o altre coppie. Se nel terminale è presente almeno un ordine, le compravendite non si apriranno. La mia domanda è: come programmare l'apertura degli ordini se ci sono ordini aperti nel terminale o no? Vi ringrazio in anticipo per la vostra risposta.
Rimuovere il controllo
Togliere il controllo