loulou69 Posted December 3, 2009 Report Posted December 3, 2009 hi guys, here you go for the ea Fx Profit Moutain http://sharebee.com/a9a1d404 :-bd need educated this ea ^:)^ Kudos welcome
san2x Posted December 4, 2009 Report Posted December 4, 2009 Re: Fx Profit Moutain Ea manual is at http://indo-investasi.com/viewtopic.php?f=6&t=2845&start=30
loulou69 Posted December 5, 2009 Author Report Posted December 5, 2009 Re: Fx Profit Moutain Ea hi thrruss your link doesn't work !! can you put your ea on sharebe ? thanks ^:)^
ref0rmer Posted December 5, 2009 Report Posted December 5, 2009 Re: Fx Profit Moutain Ea /* Generated by EX4-TO-MQ4 decompiler V4.0.224.1 [] Website: http://purebeam.biz E-mail : [email protected] */ #property copyright "www.fxprofitmountain.net" #property link "" extern string Remark1 = "+++ Main Settings +++"; extern bool ECN_Broker = FALSE; extern int MagicNumber = 0; extern bool AlertMail = FALSE; extern bool SignalsOnly = FALSE; extern bool Alerts = FALSE; extern bool Sound = FALSE; extern bool EachTickMode = FALSE; extern double Lots = 0.1; extern int Slippage = 5; extern bool UseStopLoss = TRUE; extern int StopLoss = 100; extern bool UseTakeProfit = FALSE; extern int TP = 60; extern bool UseTrailingStop = TRUE; extern int TrailingStop = 35; extern bool MoveStopOnce = FALSE; extern int MoveStopWhenPrice = 50; extern int MoveStopTo = 1; extern bool GBPJPYsettings = FALSE; extern int K = 5; extern int D = 3; extern int S = 3; int g_bars_176; int gi_180; bool gi_184 = FALSE; double gd_188 = 1.0; string gs_196; int init() { g_bars_176 = Bars; if (EachTickMode) gi_180 = 0; else gi_180 = 1; if (Digits == 3 || Digits == 5) { gd_188 = 10; if (GBPJPYsettings) { StopLoss = 130; TrailingStop = 40; } gs_196 = WindowExpertName(); } return (0); } int deinit() { return (0); } int start() { int l_ticket_8; double l_price_12; double l_price_20; // if (10000 * Year() + 100 * Month() + Day() >= 20101101) { // Alert(gs_196 + " expired!"); // return (-1); // } // if (AccountNumber() != 1305043 && 1) { // Alert(gs_196 + " is not licensed to work on this account number!"); // return (-1); // } int li_0 = 0; if (EachTickMode && Bars != g_bars_176) gi_184 = FALSE; int l_ord_total_4 = OrdersTotal(); li_0 = 0; double l_iac_28 = iAC(NULL, 0, gi_180 + 0); double ld_36 = 0; double l_iac_44 = iAC(NULL, 0, gi_180 + 1); double ld_52 = 0; double l_istochastic_60 = iStochastic(NULL, 0, 5, 3, 3, MODE_SMA, 0, MODE_MAIN, gi_180 + 0); double ld_68 = 50; double l_iac_76 = iAC(NULL, 0, gi_180 + 0); double ld_84 = 0; double l_iac_92 = iAC(NULL, 0, gi_180 + 1); double ld_100 = 0; double l_istochastic_108 = iStochastic(NULL, 0, K, D, S, MODE_SMA, 0, MODE_MAIN, gi_180 + 0); double ld_116 = 50; double l_iac_124 = iAC(NULL, 0, gi_180 + 0); double ld_132 = 0; double l_iac_140 = iAC(NULL, 0, gi_180 + 1); double ld_148 = 0; double l_istochastic_156 = iStochastic(NULL, 0, K, D, S, MODE_SMA, 0, MODE_MAIN, gi_180 + 0); double ld_164 = 50; double l_iac_172 = iAC(NULL, 0, gi_180 + 0); double ld_180 = 0; double l_iac_188 = iAC(NULL, 0, gi_180 + 1); double ld_196 = 0; double l_istochastic_204 = iStochastic(NULL, 0, K, D, S, MODE_SMA, 0, MODE_MAIN, gi_180 + 0); double ld_212 = 50; bool li_220 = FALSE; for (int l_pos_224 = 0; l_pos_224 < l_ord_total_4; l_pos_224++) { OrderSelect(l_pos_224, SELECT_BY_POS, MODE_TRADES); if (OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { li_220 = TRUE; if (OrderType() == OP_BUY) { if (l_iac_124 < ld_132 && l_iac_140 > ld_148 && l_istochastic_156 < ld_164) li_0 = 3; if (li_0 == 3 && (EachTickMode && !gi_184) || (!EachTickMode && Bars != g_bars_176)) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen); if (AlertMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy"); if (!EachTickMode) g_bars_176 = Bars; li_220 = FALSE; } else { if (MoveStopOnce && MoveStopWhenPrice > 0) { if (Bid - OrderOpenPrice() >= Point * (gd_188 * MoveStopWhenPrice)) { if (OrderStopLoss() < OrderOpenPrice() + Point * (gd_188 * MoveStopTo)) { OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + Point * (gd_188 * MoveStopTo), OrderTakeProfit(), 0, Red); if (!(!EachTickMode)) continue; g_bars_176 = Bars; continue; } } } if (UseTrailingStop && TrailingStop > 0) { if (Bid - OrderOpenPrice() > Point * (gd_188 * TrailingStop)) { if (OrderStopLoss() < Bid - Point * (gd_188 * TrailingStop)) { OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * (gd_188 * TrailingStop), OrderTakeProfit(), 0, MediumSeaGreen); if (!EachTickMode) g_bars_176 = Bars; } } } } } else { if (l_iac_172 > ld_180 && l_iac_188 < ld_196 && l_istochastic_204 > ld_212) li_0 = 4; if (li_0 == 4 && (EachTickMode && !gi_184) || (!EachTickMode && Bars != g_bars_176)) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange); if (AlertMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell"); if (!EachTickMode) g_bars_176 = Bars; li_220 = FALSE; } else { if (MoveStopOnce && MoveStopWhenPrice > 0) { if (OrderOpenPrice() - Ask >= Point * (gd_188 * MoveStopWhenPrice)) { if (OrderStopLoss() > OrderOpenPrice() - Point * (gd_188 * MoveStopTo)) { OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - Point * (gd_188 * MoveStopTo), OrderTakeProfit(), 0, Red); if (!(!EachTickMode)) continue; g_bars_176 = Bars; continue; } } } if (UseTrailingStop && TrailingStop > 0) { if (OrderOpenPrice() - Ask > Point * (gd_188 * TrailingStop)) { if (OrderStopLoss() > Ask + Point * (gd_188 * TrailingStop) || OrderStopLoss() == 0.0) { OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * (gd_188 * TrailingStop), OrderTakeProfit(), 0, DarkOrange); if (!EachTickMode) g_bars_176 = Bars; } } } } } } } if (l_iac_28 > ld_36 && l_iac_44 < ld_52 && l_istochastic_60 > ld_68) li_0 = 1; if (l_iac_76 < ld_84 && l_iac_92 > ld_100 && l_istochastic_108 < ld_116) li_0 = 2; if (li_0 == 1 && (EachTickMode && !gi_184) || (!EachTickMode && Bars != g_bars_176)) { if (!li_220) { if (AccountFreeMargin() < 1000.0 * Lots) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return (0); } if (UseStopLoss) l_price_12 = Ask - gd_188 * StopLoss * Point; else l_price_12 = 0.0; if (UseTakeProfit) l_price_20 = Ask + gd_188 * TP * Point; else l_price_20 = 0.0; if (ECN_Broker) { l_ticket_8 = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "Buy(#" + MagicNumber + ")" + Symbol() + "", MagicNumber, 0, DodgerBlue); if (l_ticket_8 > 0) { OrderSelect(l_ticket_8, SELECT_BY_TICKET); OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(l_price_12, Digits), NormalizeDouble(l_price_20, Digits), 0, Red); } } else l_ticket_8 = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, l_price_12, l_price_20, "Buy(#" + MagicNumber + ")" + Symbol() + "", MagicNumber, 0, DodgerBlue); if (l_ticket_8 > 0) { if (OrderSelect(l_ticket_8, SELECT_BY_TICKET, MODE_TRADES)) { Print("BUY order opened : ", OrderOpenPrice()); if (AlertMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy"); } else Print("Error opening BUY order : ", GetLastError()); } if (SignalsOnly) { if (AlertMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + "Buy Signal"); if (Alerts) Alert("[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + "Buy Signal"); if (Sound) PlaySound("alert.wav"); } if (!li_220 && !SignalsOnly) { if (AlertMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + "Buy Signal"); if (Alerts) Alert("[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + "Buy Signal"); if (Sound) PlaySound("alert.wav"); if (EachTickMode) gi_184 = TRUE; if (!EachTickMode) g_bars_176 = Bars; return (0); } } } if (li_0 == 2 && (EachTickMode && !gi_184) || (!EachTickMode && Bars != g_bars_176)) { if (!li_220) { if (AccountFreeMargin() < 1000.0 * Lots) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return (0); } if (UseStopLoss) l_price_12 = Bid + gd_188 * StopLoss * Point; else l_price_12 = 0.0; if (UseTakeProfit) l_price_20 = Bid - gd_188 * TP * Point; else l_price_20 = 0.0; if (ECN_Broker) { l_ticket_8 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "Sell(#" + MagicNumber + ")" + Symbol() + "", MagicNumber, 0, DeepPink); if (l_ticket_8 > 0) { OrderSelect(l_ticket_8, SELECT_BY_TICKET); OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(l_price_12, Digits), NormalizeDouble(l_price_20, Digits), 0, Red); } } else l_ticket_8 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, l_price_12, l_price_20, "Sell(#" + MagicNumber + ")" + Symbol() + "", MagicNumber, 0, DeepPink); if (l_ticket_8 > 0) { if (OrderSelect(l_ticket_8, SELECT_BY_TICKET, MODE_TRADES)) { Print("SELL order opened : ", OrderOpenPrice()); if (AlertMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell"); } else Print("Error opening SELL order : ", GetLastError()); } if (SignalsOnly) { if (AlertMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + "Sell Signal"); if (Alerts) Alert("[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + "Sell Signal"); if (Sound) PlaySound("alert.wav"); } if (!li_220 && !SignalsOnly) { if (AlertMail) SendMail("[signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + "Sell Signal"); if (Alerts) Alert("[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + "Sell Signal"); if (Sound) PlaySound("alert.wav"); if (EachTickMode) gi_184 = TRUE; if (!EachTickMode) g_bars_176 = Bars; return (0); } } if (!EachTickMode) g_bars_176 = Bars; } return (0); } //kudos welcom
hip Posted December 6, 2009 Report Posted December 6, 2009 Re: Fx Profit Moutain Ea Has anyone been able to get a profitable back test out of this ea i have not been able to match 4xprojects results at all?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now