Incrocio medie mobili

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico

Moderator: Dainesi

Post Reply
LucaMQL4
Posts: 72
Joined: 15/02/2016, 23:11

Incrocio medie mobili

Post by LucaMQL4 » 17/06/2017, 21:48

Buonasera ragazzi,
volevo chiedervi,siccome è la prima volta, come posso codificare nella metaquote di mt4 la seguente cosa:
semplicemente all'incrocio di due medie mobili entrare buy se la piu veloce supera la più lenta oppure entrare sell se la più lenta supera la più veloce, so che bisogna usare la funzione iMA, ma siccome è la prima volta non so cosa mi ritorna e come trattarla.

grazie buona serata

Sponsor

Sponsor
 

User avatar
PlSoft
Posts: 114
Joined: 20/12/2015, 21:12
Location: Suzzara

Re: Incrocio medie mobili

Post by PlSoft » 18/06/2017, 19:34

int counted_bars=IndicatorCounted();

int limit=Bars-counted_bars;
if(counted_bars>0) limit++;

for(int i=1; i<limit; i++)
{
MA1=iMA(NULL,0,MA1_Period,MAAppliedPrice,MA_Method,PRICE_CLOSE,i);
MA2=iMA(NULL,0,MA2_Period,MAAppliedPrice,MA_Method,PRICE_CLOSE,i);

MA1_Buffer=MA1;
MA2_Buffer=MA2;

MyColor = indicator_color1 ;if(MA1_Buffer < MA2_Buffer) MyColor = indicator_color2;
}

//Normalmente MyColor è BUY se MA1 < MA2 MyColor è SELL

Il codice in allegato fa quello che chiedi.

LucaMQL4
Posts: 72
Joined: 15/02/2016, 23:11

Re: Incrocio medie mobili

Post by LucaMQL4 » 19/06/2017, 12:30

non riesco perchè praticamente non mi entra solo se c'è stato l'incrocio delle medie mobili ma mi entra praticamante sempre perchè assume la condizione che se la media lenta si trova sotto la media veloce fai questo altrimenti fai quest'altro. Quindi sballa tutto perchè non mi entra solo nel momento dell 'incrocio. Puoi aiutarmi ?

ecco il codice:

Code: Select all

int counted_bars=IndicatorCounted();

int limit=Bars-counted_bars;
if(counted_bars>0) limit++;

for(int i=1; i<limit; i++)
{
MA1=iMA(Symbol(),PERIOD_CURRENT,MA1_Periodo,0,METHOD_EXIT,MA_PRICE,i);
MA2=iMA(Symbol(),PERIOD_CURRENT,MA2_Periodo,0,METHOD_EXIT,MA_PRICE,i);

if(OrderTotal()=0){
if(MA1>MA2)
Ticket=OrderSend(Symbol(),OP_BUY,Lotti,Ask,0,SL,TP,"Buy",Magic_Number,0,clrBlue);
else if(MA1<MA2)
Ticket=OrderSend(Symbol(),OP_SELL,Lotti,Bid,0,SL,TP,"Sell",Magic_Number,0,clrRed);
}
Grazie della disponibilità

ps. Quegli indicator color mi danno problemi al compilatore non capisco cosa sono. Praticamente mi danno problemi perche non gli attibuisco un tipo, ma vedendoli per la prima volta non so nemmeno che tipo attribuirgli.

simitch
Posts: 121
Joined: 18/12/2014, 0:06

Re: Incrocio medie mobili

Post by simitch » 19/06/2017, 17:18

è molto più semplice di quello che state facendo, Se l'ea non è complesso fai molto prima a crearti 4 variabili:
MA1=iMA(Symbol(),PERIOD_CURRENT,MA1_Periodo,0,METHOD_EXIT,MA_PRICE,i);
MA2=iMA(Symbol(),PERIOD_CURRENT,MA2_Periodo,0,METHOD_EXIT,MA_PRICE,i);

che sono le medie ora e
MA1prima=iMA(Symbol(),PERIOD_CURRENT,MA1_Periodo,0,METHOD_EXIT,MA_PRICE,i-1);
MA2prima=iMA(Symbol(),PERIOD_CURRENT,MA2_Periodo,0,METHOD_EXIT,MA_PRICE,i-1);

Il crossover avviene quando prima una era minore dell'altra e poi diventa maggiore.
if(ma1prima<ma2prima && ma1>ma2)

Spero di essermi spiegato abbastanza chiaramente anche se di fretta.

LucaMQL4
Posts: 72
Joined: 15/02/2016, 23:11

Re: Incrocio medie mobili

Post by LucaMQL4 » 19/06/2017, 17:28

ok perfetto, provo e ti aggiorno, grazie.

texcs
Posts: 44
Joined: 29/05/2014, 23:08

Re: Incrocio medie mobili

Post by texcs » 28/06/2017, 15:40

simitch wrote:
19/06/2017, 17:18
è molto più semplice di quello che state facendo, Se l'ea non è complesso fai molto prima a crearti 4 variabili:
MA1=iMA(Symbol(),PERIOD_CURRENT,MA1_Periodo,0,METHOD_EXIT,MA_PRICE,i);
MA2=iMA(Symbol(),PERIOD_CURRENT,MA2_Periodo,0,METHOD_EXIT,MA_PRICE,i);

che sono le medie ora e
MA1prima=iMA(Symbol(),PERIOD_CURRENT,MA1_Periodo,0,METHOD_EXIT,MA_PRICE,i-1);
MA2prima=iMA(Symbol(),PERIOD_CURRENT,MA2_Periodo,0,METHOD_EXIT,MA_PRICE,i-1);

Il crossover avviene quando prima una era minore dell'altra e poi diventa maggiore.
if(ma1prima<ma2prima && ma1>ma2)

Spero di essermi spiegato abbastanza chiaramente anche se di fretta.
che tipo di parametro è "METHOD_EXIT," di ima nn lo trovo da nessuna parte

simitch
Posts: 121
Joined: 18/12/2014, 0:06

Re: Incrocio medie mobili

Post by simitch » 29/06/2017, 19:47

E' un parametro ca**ata che ho scritto di fretta. non ha senso. Li va semplicemente il tipo di media. Non ho idea del perchè ho scritto così. Però il concetto per l'incrocio è corretto.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest