Versi Contoh MACD telah dioptimalkan secara khusus untuk GBP / USD grafik H4. EA Ini menggunakan Crossing dari 4 indikator MACD dan 2 indikator moving average determinates ke arah posisi depan. Contoh MACD menggunakan stop-loss order untuk membuntuti PERUSAHAAN. Itu sebabnya ia memiliki persentase yang sangat tinggi dari pesanan menguntungkan. Tapi EA ini Harus selalu aktif untuk berhenti dari posisi kalah dalam waktu singkat.
Pengujian Sampel MACD MetaTrader expert advisor Menunjukkan beberapa hasil yang menarik. pada GBP / USD grafik H4 dengan 0,3 Oder standar. Hasilnya tentang keuntungan sekitar $ 4,450 $ 1,030 penarikan maksimum dalam satu tahun. Memeriksa pada masa tahun tiga
Apakah tidak masalah untuk mengungkapkan EA ini:
Contoh Tampilan MACD EA
//| http://www.metaquotes.net/ | extern double TakeProfit = 30;
extern double Lots = 0.3;
extern double TrailingStop = 60;
extern double StopLoss = 0;
extern double MACDOpenLevel=3;
extern double MACDCloseLevel=2;
extern double MATrendPeriod=24; //+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious, MaCurrent, MaPrevious;
int cnt, ticket, total;
// initial data checks
// it is important to make sure that the expert works with a normal
// chart and the user did not make any mistakes setting external
// variables (Lots, StopLoss, TakeProfit,
// TrailingStop) in our case, we check TakeProfit
// on a chart of less than 100 bars
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
// to simplify the coding and speed up access
// data are put into internal variables
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1); double SL;
total=OrdersTotal();
if(total<1)
{
// no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
// check for long position (BUY) possibility
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)
{
SL = 0;
if (StopLoss > 0) SL = Ask - StopLoss * Point;
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,Ask+TakeProfit*Point,"macd sample",16384,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);
}
// check for short position (SELL) possibility
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDOpenLevel*Point) && MaCurrent<MaPrevious)
{
SL = 0;
if (StopLoss > 0) SL = Bid + StopLoss * Point;
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,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);
}
// it is important to enter the market correctly,
// but it is more important to exit it correctly...
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDCloseLevel*Point))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
// check for trailing stop
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
{
// should it be closed?
if(MacdCurrent<0 && MacdCurrent>SignalCurrent &&
MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*Point))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
// check for trailing stop
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);
}
// the end.
Rebat FBS TERBESAR – Dapatkan pengembalian rebat atau komisi
BalasHapushingga 70% dari setiap transaksi yang anda lakukan baik loss maupun
profit,bergabung sekarang juga dengan kami
trading forex fbsasian.com
-----------------
Kelebihan Broker Forex FBS
1. FBS MEMBERIKAN BONUS DEPOSIT HINGGA 100% SETIAP DEPOSIT ANDA
2. FBS MEMBERIKAN BONUS 5 USD HADIAH PEMBUKAAN AKUN
3. SPREAD FBS 0 UNTUK AKUN ZERO SPREAD
4. GARANSI KEHILANGAN DANA DEPOSIT HINGGA 100%
5. DEPOSIT DAN PENARIKAN DANA MELALUI BANL LOKAL
Indonesia dan banyak lagi yang lainya
Buka akun anda di fbsasian.com
-----------------
Jika membutuhkan bantuan hubungi kami melalui :
Tlp : 085364558922
BBM : fbs2009
http://robotfx.ro/post/142060854072/robotfx-macd
BalasHapusAn easy to use and profitable expert advisor for metatrader