loulou69 Posted December 3, 2009 Report Share 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 Quote Link to comment Share on other sites More sharing options...
san2x Posted December 4, 2009 Report Share Posted December 4, 2009 Re: Fx Profit Moutain Ea manual is at http://indo-investasi.com/viewtopic.php?f=6&t=2845&start=30 Quote Link to comment Share on other sites More sharing options...
loulou69 Posted December 5, 2009 Author Report Share Posted December 5, 2009 Re: Fx Profit Moutain Ea hi thrruss your link doesn't work !! can you put your ea on sharebe ? thanks ^:)^ Quote Link to comment Share on other sites More sharing options...
ref0rmer Posted December 5, 2009 Report Share 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 Quote Link to comment Share on other sites More sharing options...
hip Posted December 6, 2009 Report Share 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? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.