Programmazione MQL4, neofita, strategia break volatilità
Programmazione MQL4, neofita, strategia break volatilità
Ciao a tutti, voglio chiedervi un aiuto.
Sto codificando questo expert che dovrebbe funzionare in questo modo.
Faccio la differenza tra max e min della candela 1 il risultato viene moltiplicato per 1.2(fattore che ho trovato per le operazioni long)
il risultato di questa operazione lo aggiungo al valore di apertura della candela corrente trovando cosi il livello di entrata per la mia posizione long, sottraendolo invece trovo il livello di entrata short.
Se riuscite ad aiutarmi è una buona strategia di break della volatilità, ne ho molte altre da presentarvi.
Ecco come l' ho pensata
Dichiaro la variabile Range in questo modo
double Range = High[1]-Low[1]*1.2; Questa funzione ritorna la differenza tra Max e Min moltiplicata per 1.2.
Adesso vorrei dire alla macchina di aprire un ordine (BuyStop) quando il prezzo raggiunge il mio livello di ingresso dato dal risultato della funzione
Range + Open di 0
Spiegatemi per favore come si fa, altrimenti distruggo il pc perché sto impazzendo.
Grazie a tutti
Sto codificando questo expert che dovrebbe funzionare in questo modo.
Faccio la differenza tra max e min della candela 1 il risultato viene moltiplicato per 1.2(fattore che ho trovato per le operazioni long)
il risultato di questa operazione lo aggiungo al valore di apertura della candela corrente trovando cosi il livello di entrata per la mia posizione long, sottraendolo invece trovo il livello di entrata short.
Se riuscite ad aiutarmi è una buona strategia di break della volatilità, ne ho molte altre da presentarvi.
Ecco come l' ho pensata
Dichiaro la variabile Range in questo modo
double Range = High[1]-Low[1]*1.2; Questa funzione ritorna la differenza tra Max e Min moltiplicata per 1.2.
Adesso vorrei dire alla macchina di aprire un ordine (BuyStop) quando il prezzo raggiunge il mio livello di ingresso dato dal risultato della funzione
Range + Open di 0
Spiegatemi per favore come si fa, altrimenti distruggo il pc perché sto impazzendo.
Grazie a tutti
Trading System, neofita, strategia break volatilità
Ciao a tutti, voglio chiedervi un aiuto, riposto anche qui se può essere d' aiuto anche ad altre persone
Sto codificando questo expert che dovrebbe funzionare in questo modo.
Facciamo la differenza tra max e min della candela(1) il risultato viene moltiplicato per 1.2(fattore che ho trovato e profitta molto bene)
il risultato di questa operazione viene sommato al valore di apertura della candela corrente(0) trovando cosi il livello di entrata per la posizione long, sottraendolo invece, trovo il livello di entrata short.
Se riuscite ad aiutarmi è una buona strategia di break della volatilità, ne ho molte altre da presentarvi.
Ecco come l' ho codificata:
Dichiaro la variabile Range.
double Range = High[1]-Low[1]*1.2; (Questa funzione ritorna la differenza tra Max e Min moltiplicata per 1.2.)
Adesso vorrei dire alla macchina di aprire un ordine quando il prezzo corrente raggiunge il mio livello di ingresso, dato dal risultato della funzione (Range+Open di 0)
Ecco come ho codificato
if( Ask> Range){
int ticket=OrderSend(Symbol(),OP_BUY,0.01,price,3,stoploss,takeprofit,0,0,0,clrGreen);
}
Così facendo però mi apre operazioni all' open di ogni candela e non al prezzo dato dalla funzione RANGE.
Allora ho provato in altro modo, ovvero inserendo nel Price al posto di bid o ask, la mia funzione Range ma mi ritorna l' errore 130/138.
Ho provato altre 1000 soluzioni ma niente.
Riuscite a schiarirmi le idee??
Grazie a tutti
Sto codificando questo expert che dovrebbe funzionare in questo modo.
Facciamo la differenza tra max e min della candela(1) il risultato viene moltiplicato per 1.2(fattore che ho trovato e profitta molto bene)
il risultato di questa operazione viene sommato al valore di apertura della candela corrente(0) trovando cosi il livello di entrata per la posizione long, sottraendolo invece, trovo il livello di entrata short.
Se riuscite ad aiutarmi è una buona strategia di break della volatilità, ne ho molte altre da presentarvi.
Ecco come l' ho codificata:
Dichiaro la variabile Range.
double Range = High[1]-Low[1]*1.2; (Questa funzione ritorna la differenza tra Max e Min moltiplicata per 1.2.)
Adesso vorrei dire alla macchina di aprire un ordine quando il prezzo corrente raggiunge il mio livello di ingresso, dato dal risultato della funzione (Range+Open di 0)
Ecco come ho codificato
if( Ask> Range){
int ticket=OrderSend(Symbol(),OP_BUY,0.01,price,3,stoploss,takeprofit,0,0,0,clrGreen);
}
Così facendo però mi apre operazioni all' open di ogni candela e non al prezzo dato dalla funzione RANGE.
Allora ho provato in altro modo, ovvero inserendo nel Price al posto di bid o ask, la mia funzione Range ma mi ritorna l' errore 130/138.
Ho provato altre 1000 soluzioni ma niente.
Riuscite a schiarirmi le idee??
Grazie a tutti
Re: Programmazione MQL4, neofita, strategia break volatilità
Ciao Rannanato, così come hai scritto Ask sarà sempre maggiore di range, Ask è un prezzo, range è la differenza tra due prezzi, verosimilmente pochi pips...
Re: Programmazione MQL4, neofita, strategia break volatilità
Certo, però codificando in questo modo:
if( Ask> Range){
int ticket=OrderSend(Symbol(),OP_BUY,0.01,price,3,stoploss,takeprofit,0,0,0,clrGreen);
}
mi apre ordini ad ogni Open e non al valore che ritorna dalla funzione come mai?
if( Ask> Range){
int ticket=OrderSend(Symbol(),OP_BUY,0.01,price,3,stoploss,takeprofit,0,0,0,clrGreen);
}
mi apre ordini ad ogni Open e non al valore che ritorna dalla funzione come mai?
Re: Programmazione MQL4, neofita, strategia break volatilità
Questo dipende da che controllo gestisce l'apertura degli ordini, io volevo solo farti notare che la condizione if che hai scritto è sempre TRUE, mentre potrebbe essere if(Ask>iOpen(Symbol(),Timeframe,0)+range)...
Re: Programmazione MQL4, neofita, strategia break volatilità
Grazie mille, ho capito. Un' altra domanda, cosa intendi per controllo che gestisce l' apertura?
Re: Programmazione MQL4, neofita, strategia break volatilità
Mi riferivo ad un controllo che impedisca all'expert di aprire più posizioni di quante tu non voglia. Se l'expert gira da solo si può utilizzare tranquillamente OrdersTotal(), se l'expert è pensato per girare assieme ad altri si può utilizzare una funzione che valuti gli ordini con il magic number, se ti fa comodo te la posso allegare.
Re: Programmazione MQL4, neofita, strategia break volatilità
Codice: Seleziona tutto
int CheckOrders()
{
int total;
int conta=0;
int i;
if(OrdersTotal()>0)
{
total = OrdersTotal();
for(i=total-1;i>=0;i--)
{
if(!OrderSelect(i, SELECT_BY_POS))
Print("OrderSelect returned the error of ",GetLastError());
if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
conta++;
}
}
return(conta);
}
Re: Programmazione MQL4, neofita, strategia break volatilità
Ciao M1 player, Sto ancora codificando la strategia, sono riuscito ad ottenere profitti, in 6 mesi la strategia ha fatto un profitto netto di 684.10€
Adesso voglio testarla su 10 anni per vedere il risultato.
Colgo l' occasione per chiederti un' altra cosa.
Se io volessi aprire un ordine a mercato ogni volta che il prezzo corrente rompe il più alto massimo di 8 barre come devo codificarlo?
Quale è la logica per codificarlo?
Puoi aiutarmi?
Ti ringrazio
Adesso voglio testarla su 10 anni per vedere il risultato.
Colgo l' occasione per chiederti un' altra cosa.
Se io volessi aprire un ordine a mercato ogni volta che il prezzo corrente rompe il più alto massimo di 8 barre come devo codificarlo?
Quale è la logica per codificarlo?
Puoi aiutarmi?
Ti ringrazio
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti