Ojala EA - pagina 14

 
Mohammed:
Salam,

Potremmo testare insieme questa versione!

Impostazioni: Default

Coppie: Qualsiasi

TF: H4

Nota:Si prega di scaricare Coders Guru Pop Alert se si desidera utilizzare MSN Style Pop Alert:

http://www.metatrader.info/node/82

Questa è una nuova versione o cosa?

 

Spegnere!

BrunoFX:
ciao Mohammed,

Voglio testare questo nuovo ma senza : Coders Guru Pop Alert Plugin, ma ho un errore:

2;76;C:\Forex\StrategyBuilderFX 400\expertsOjala.mq4;7:1;'Pop.mqh' - impossibile aprire il file del programma

Ciao Bruno,

Se non vuoi usare il Coder Guru Pop per favore usa questo codice:

//+------------------------------------------------------------------+

//| Ojala.mq4 |

//| Mohammed |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

#property copyright "Mohammed"

#property link "https://www.forex-tsd.com"

extern double TakeProfit=85;

extern double TrailingStop=10;

extern double StopLoss=35;

extern double Lots = 1; //0.01

extern int EmaPeriod = 6;

// Thanks going to Coders' Guru!

bool isNewSumbol(string current_symbol)

{

//loop through all the opened order and compare the symbols

int total = OrdersTotal();

for(int cnt = 0 ; cnt < total ; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

string selected_symbol = OrderSymbol();

if (current_symbol == selected_symbol)

return (False);

}

return (True);

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

//----

int cnt, ticket, total;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

if(TakeProfit<5)

{

Print("TakeProfit less than 10");

return(0); // check TakeProfit

}

total = OrdersTotal();

if(total < 1 || isNewSumbol(Symbol()))

{

if(iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,2)0)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"Ojala",12345,0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{

Print("BUY order opened : ",OrderOpenPrice());

}

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

if(iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,2)>0 && iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,1)<0)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"Ojala",12345,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{

Print("SELL order opened : " , OrderOpenPrice());

}

}

else Print("Error opening SELL order : ",GetLastError());

return(0);

}

return(0);

}

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())

{

if(OrderType()==OP_BUY) // long position is opened

{

if(iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,1)>0 && iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,0)<0)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

return(0); // exit

}

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

return(0);

}

}

}

}

else // go to short position

{

if(iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,1)0)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

return(0); // exit

}

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

}

}

return(0);

}

//+------------------------------------------------------------------+

 
JoZo:
Questa è una nuova versione o cosa?

Jozo,

È una piccola modifica all'EA originale che spero funzioni meglio!

 
Mohammed:
Ciao Bruno, se non vuoi usare il Coder Guru Pop per favore usa questo codice:

Ciao Mohammed,

THX

 
Mohammed:
Jozo, è una piccola modifica all'EA originale che spero funzioni meglio!

Puoi spiegare le modifiche?

Grazie

 
JoZo:
Puoi spiegare le modifiche? Grazie

Salam Jozo!

Queste sono le modifiche:

1- Il periodo della media mobile ora è 6 invece di 12.

2- Il calcolo per l'apertura dei trade ora per le due barre precedenti non per la barra attuale (1 e 2 non 0 bar).

3- Lo StopLoss applicato!

4- Posizioni di chiusura applicate!

In allegato il mio resoconto dei 2 giorni! (Si prega di ignorare i 2 trade manuali).

 
Mohammed:
Salam Jozo!

Queste sono le modifiche:

1- Il periodo della media mobile ora è 6 invece di 12.

2- Il calcolo per l'apertura delle compravendite ora per le due barre precedenti e non per la barra attuale (1 e 2 non 0 barre).

3- Lo StopLoss applicato!

4- Posizioni di chiusura applicate!

In allegato il mio estratto conto di 2 giorni! (Si prega di ignorare i 2 trade manuali).

Davvero una bella dichiarazione!

Ho iniziato il 9.3.2005 a inoltrare il vecchio Ojala e il saldo iniziale era di 10k. Oggi è 13.900 e il capitale 12k sto aspettando che USD/CHF salga e che EUR scenda.

Quale time frame per il nuovo Ojala?

 
JoZo:
Davvero una bella dichiarazione!

Ho iniziato il 9.3.2005 a inoltrare il vecchio Ojala e il saldo iniziale era di 10k. Oggi è 13.900 e il capitale 12k sto aspettando che USD/CHF salga e che EUR scenda.

Quale time frame per il nuovo Ojala?

Grazie Jozo!

Il time frame deve essere H4

Potrei vedere la tua dichiarazione?

 
Mohammed:
Grazie Jozo!

Il time frame deve essere H4

Potrei vedere la tua dichiarazione?

Ciao,

L'ea è previsto per un multi valute? e quanto?

 
BrunoFX:
Ciao, L'ea è previsto per un multi valute? e quanto?

Ciao,

Lo sto testando con la maggior parte delle valute e non ho eletto le valute migliori che funzionano meglio con il nuovo EA (Vedi spazio di lavoro allegato!).

Non credo più nel backtesting, ecco perché lo sto testando in avanti.

File:
screen.gif  53 kb
Motivazione: