⭐ deadsoul Posted September 16, 2009 Report Posted September 16, 2009 hello friends i got this ea and it needs to be educated and tested ... /* Generated by EX4-TO-MQ4 decompiler V4.0.224.1 [] Website: [url]http://purebeam.biz[/url] E-mail : [email][email protected][/email] */ #property copyright "Copyright © 2006, Arab Online Forex" #property link "[email protected]" extern double Lot_size = 0.1; extern double maxLose = 0.0; extern double TrailingStop = 0.0; bool gi_100 = FALSE; bool gi_104 = TRUE; int gi_108 = 0; string gs_112 = "2009.08.31"; int start() { string ls_80; double l_ihigh_0 = iHigh("EURUSD", PERIOD_D1, 2); double l_ilow_8 = iLow(NULL, PERIOD_D1, 2); double l_iclose_16 = iClose(NULL, PERIOD_D1, 2); double ld_24 = NormalizeDouble((l_ihigh_0 + l_ilow_8 + l_iclose_16) / 3.0, Digits); double l_ihigh_32 = iHigh(NULL, PERIOD_D1, 1); double l_ilow_40 = iLow(NULL, PERIOD_D1, 1); double l_iclose_48 = iClose(NULL, PERIOD_D1, 1); double l_price_64 = NormalizeDouble((l_ihigh_32 + l_ilow_40 + l_iclose_48) / 3.0, Digits); double ld_72 = l_ihigh_32 - l_ilow_40; double l_iopen_56 = iOpen(NULL, PERIOD_D1, 0); double l_price_88 = NormalizeDouble(2.0 * l_price_64 - l_ihigh_32, Digits); double l_price_96 = NormalizeDouble(l_price_64 - (l_ihigh_32 - l_ilow_40), Digits); double l_price_104 = NormalizeDouble(2.0 * l_price_64 - (2.0 * l_ihigh_32 - l_ilow_40), Digits); double l_price_112 = NormalizeDouble(2.0 * l_price_64 - l_ilow_40, Digits); double l_price_120 = NormalizeDouble(l_price_64 + (l_ihigh_32 - l_ilow_40), Digits); double l_price_128 = NormalizeDouble(2.0 * l_price_64 + (l_ihigh_32 - 2.0 * l_ilow_40), Digits); if (gi_108 != 0) { if (AccountNumber() != gi_108) { Alert("ArabiFx Expert is registered to account # " + gi_108 + " ONLY !\nIf this is not your registered account", "\nPlease contact [email][email protected][/email] \nor Call 002-0103-925-926"); return (0); } } int l_str2time_136 = StrToTime(gs_112); if (TimeCurrent() >= l_str2time_136) { Alert("This Trial version has been expired"); Alert("Please contact [email][email protected][/email] \nor Call 002-0103-925-926"); return (0); } if (IsDemo() == FALSE && gi_100 == TRUE) { Alert("You can use the program with a Demo account ONLY"); Alert("Please contact [email][email protected][/email] \nor Call 002-0103-925-926"); return (0); } if (AccountBalance() <= maxLose) { Alert("Sorry ... \nMaximum Account Stop has been Reached \nThe Program Stopped"); CloseAllTrades(); Comment("Maximum Account Stop has been reached - The Program Stopped"); return (0); } if (l_price_64 >= ld_24 && l_price_64 > l_iopen_56 && l_price_64 - l_iopen_56 > 0.0014) ls_80 = " Today is BOMP DOWN or BOMP UP if Cant Break Low Yesterday"; if (l_price_64 <= ld_24 && l_price_64 < l_iopen_56 && l_iopen_56 - l_price_64 > 0.0014) ls_80 = "2- Today is BOMP UP or BOMP DOWN if Cant Break High Yesterday"; if (l_price_64 > ld_24 && l_price_64 < l_iopen_56 && ld_72 <= 0.015 && l_price_64 - l_price_104 > 0.0125) ls_80 = " Program OFF DONT ENTER THE MARKET TODAY - Risky Market"; if (l_price_64 < ld_24 && l_price_64 > l_iopen_56 && ld_72 <= 0.015 && l_price_64 - l_price_104 > 0.0125) ls_80 = " Program OFF DONT ENTER THE MARKET TODAY - Risky Market"; if (l_price_64 > ld_24 && l_price_64 < l_iopen_56 && ld_72 > 0.015) ls_80 = " Today Zigzag UP then DOWN - Flag"; if (l_price_64 < ld_24 && l_price_64 > l_iopen_56 && ld_72 > 0.015) ls_80 = " Today Zigzag DOWN then UP - Flag"; if (l_price_64 == l_iclose_48 || l_price_64 == l_iopen_56) ls_80 = " Program OFF DONT ENTER THE MARKET TODAY - Risky Market"; if (l_price_64 - l_iopen_56 <= 0.0014 && l_price_64 - l_iopen_56 > 0.0 && l_price_64 - l_price_104 <= 0.0125) ls_80 = " Today is BOMP DOWN or BOMP UP - Risky Market"; if (l_iopen_56 - l_price_64 <= 0.0014 && l_iopen_56 - l_price_64 > 0.0 && l_price_64 - l_price_104 <= 0.0125) ls_80 = " Today is BOMP UP or BOMP DOWN - Risky Market"; if (l_price_64 - l_iopen_56 <= 0.0014 && l_price_64 - l_iopen_56 > 0.0 && l_price_64 - l_price_104 > 0.0125) ls_80 = " Program OFF DONT ENTER THE MARKET TODAY - Risky Market"; if (l_iopen_56 - l_price_64 <= 0.0014 && l_iopen_56 - l_price_64 > 0.0 && l_price_64 - l_price_104 > 0.0125) ls_80 = " Program OFF DONT ENTER THE MARKET TODAY - Risky Market"; Comment(ls_80, "\n\n", "???? ?????? ?????? ????? ??? ??????? ?????\n ?? ????? ??? ???????? ???? ????? ?? ?????? \n??????? ??? ?????? ?? ?? ??? ??? ????? ?? ??? ????? ?? ????? ????? ??? ?????\n ??? ???? ??? ????? ??? ??????? ???? ?? ???? ???????? ???????? ?????????", "\n\n", "Coded By: ArabOnlineForex.com - Tel: 002 0103 925 926"); if (gi_104 == TRUE) if (TimeHour(TimeCurrent()) >= 23) CloseAllTrades(); if (Hour() >= 21 && Minute() == Minute()) { for (int l_pos_140 = 0; l_pos_140 < OrdersTotal(); l_pos_140++) { OrderSelect(l_pos_140, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderType() == OP_BUYLIMIT || OrderType() == OP_SELLLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP) OrderDelete(OrderTicket()); } } if (Hour() >= 21) return (0); if (Hour() < 21 && !ExistPositions()) { if (l_price_64 == l_iclose_48 || l_price_64 == l_iopen_56) return (0); if (l_price_64 > ld_24 && l_price_64 < l_iopen_56 && ld_72 <= 0.015 && l_price_64 - l_price_104 > 0.0125) return (0); if (l_price_64 < ld_24 && l_price_64 > l_iopen_56 && ld_72 <= 0.015 && l_price_64 - l_price_104 > 0.0125) return (0); if (l_price_64 - l_iopen_56 <= 0.0014 && l_price_64 - l_iopen_56 > 0.0 && l_price_64 - l_price_104 > 0.0125) return (0); if (l_iopen_56 - l_price_64 <= 0.0014 && l_iopen_56 - l_price_64 > 0.0 && l_price_64 - l_price_104 > 0.0125) return (0); if (l_iopen_56 > l_iclose_48 && l_iopen_56 - l_iclose_48 >= 0.0014) OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_iopen_56 - 30.0 * Point, 2, l_iopen_56, l_iclose_48 + 5.0 * Point, "ArabiFx", 32165498, 0, Red); if (l_iopen_56 < l_iclose_48 && l_iclose_48 - l_iopen_56 >= 0.0014) OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_iopen_56 + 30.0 * Point, 2, l_iopen_56, l_iclose_48 - 5.0 * Point, "ArabiFx", 32165498, 0, Blue); if (l_price_64 >= ld_24 && l_price_64 > l_iopen_56 && l_price_64 - l_iopen_56 > 0.0014 && Hour() > 10) { OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_112 + 15.0 * Point, 2, l_price_64 - 50.0 * Point, l_price_120 - 10.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_112 + 25.0 * Point, 2, l_price_64 - 50.0 * Point, l_price_128 - 10.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_112 + 50.0 * Point, 2, l_price_64 - 50.0 * Point, l_price_128 - 10.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_ilow_40, 2, l_price_64 + 50.0 * Point, l_price_96 + 20.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_ilow_40, 2, l_price_64 + 50.0 * Point, l_price_104 + 15.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_88 - 50.0 * Point, 2, l_price_64 + 50.0 * Point, l_price_104 + 15.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_96, 2, l_price_96 - 50.0 * Point, l_price_96 + 25.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_104 - 20.0 * Point, 2, l_price_104 + 25.0 * Point, l_price_104 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_104, 2, l_price_104 - 40.0 * Point, l_price_104 + 10.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_SELLLIMIT, Lot_size, l_price_128, 2, l_price_128 + 40.0 * Point, l_price_128 - 10.0 * Point, "ArabiFx", 32165498, 0, Red); } if (l_price_64 <= ld_24 && l_price_64 < l_iopen_56 && l_iopen_56 - l_price_64 > 0.0014 && Hour() > 10) { OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_88 - 15.0 * Point, 2, l_price_64 + 50.0 * Point, l_price_96 + 10.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_88 - 25.0 * Point, 2, l_price_64 + 50.0 * Point, l_price_104 + 10.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_88 - 50.0 * Point, 2, l_price_64 + 50.0 * Point, l_price_104 + 10.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_ihigh_32, 2, l_price_64 - 50.0 * Point, l_price_120 - 20.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_ihigh_32, 2, l_price_64 - 50.0 * Point, l_price_128 - 15.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_112 + 50.0 * Point, 2, l_price_64 - 50.0 * Point, l_price_128 - 15.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_SELLLIMIT, Lot_size, l_price_120, 2, l_price_120 + 50.0 * Point, l_price_120 - 25.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_128 + 20.0 * Point, 2, l_price_128 - 25.0 * Point, l_price_128 + 50.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_SELLLIMIT, Lot_size, l_price_128, 2, l_price_128 + 40.0 * Point, l_price_128 - 10.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_104, 2, l_price_104 - 40.0 * Point, l_price_104 + 10.0 * Point, "ArabiFx", 32165498, 0, Blue); } if (l_price_64 > ld_24 && l_price_64 < l_iopen_56 && ld_72 > 0.015) { OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_64 + 10.0 * Point, 2, l_price_96, l_price_64 + 25.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_64, 2, l_price_96, l_price_64 + 10.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_88 + 12.0 * Point, 2, l_price_96, l_price_88 + 50.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_88, 2, l_price_96, l_price_88 + 50.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_88 - 35.0 * Point, 2, l_price_96, l_price_88 + 50.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_88 - 50.0 * Point, 2, l_price_96, l_price_88 + 50.0 * Point, "ArabiFx", 32165498, 0, Blue); } if (l_price_64 < ld_24 && l_price_64 > l_iopen_56 && ld_72 > 0.015) { OrderSend(Symbol(), OP_SELLLIMIT, Lot_size, l_price_64 - 15.0 * Point, 2, l_price_120, l_price_64 - 25.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLLIMIT, Lot_size, l_price_64, 2, l_price_120, l_price_64 - 10.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLLIMIT, Lot_size, l_price_112 - 12.0 * Point, 2, l_price_120, l_price_112 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLLIMIT, Lot_size, l_price_112, 2, l_price_120, l_price_112 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLLIMIT, Lot_size, l_price_112 + 35.0 * Point, 2, l_price_120, l_price_112 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLLIMIT, Lot_size, l_price_112 + 50.0 * Point, 2, l_price_120, l_price_112 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); } if (l_price_64 - l_iopen_56 <= 0.0014 && l_price_64 - l_iopen_56 > 0.0 && l_price_64 - l_price_104 <= 0.0125) { OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_120, 2, l_price_112, l_price_128 + 35.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_128, 2, l_price_120, l_price_128 + 35.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_128, 2, l_price_120, l_price_128 + 35.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_ilow_40 - 5.0 * Point, 2, l_price_64, l_price_104 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_96, 2, l_price_64, l_price_104 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_104, 2, l_price_96, l_price_104 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_104, 2, l_price_96, l_price_104 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_ihigh_32 + 5.0 * Point, 2, l_price_64, l_price_120 - 15.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_ihigh_32 + 15.0 * Point, 2, l_price_64, l_price_128, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_96 + 10.0 * Point, 2, l_price_96, l_price_96 + 20.0 * Point, "ArabiFx", 32165498, 0, Blue); } if (l_iopen_56 - l_price_64 <= 0.0014 && l_iopen_56 - l_price_64 > 0.0 && l_price_64 - l_price_104 <= 0.0125) { OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_120, 2, l_price_112, l_price_128 + 35.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_128, 2, l_price_120, l_price_128 + 35.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_price_128, 2, l_price_120, l_price_128 + 35.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_ilow_40 - 5.0 * Point, 2, l_price_64, l_price_104 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_96, 2, l_price_64, l_price_104 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_104, 2, l_price_96, l_price_104 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_SELLSTOP, Lot_size, l_price_104, 2, l_price_96, l_price_104 - 50.0 * Point, "ArabiFx", 32165498, 0, Red); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_ihigh_32 + 5.0 * Point, 2, l_price_64, l_price_120 - 15.0 * Point, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYSTOP, Lot_size, l_ihigh_32 + 15.0 * Point, 2, l_price_64, l_price_128, "ArabiFx", 32165498, 0, Blue); OrderSend(Symbol(), OP_BUYLIMIT, Lot_size, l_price_96 + 10.0 * Point, 2, l_price_96, l_price_96 + 20.0 * Point, "ArabiFx", 32165498, 0, Blue); } } int l_ord_total_144 = OrdersTotal(); for (int l_pos_148 = 0; l_pos_148 < l_ord_total_144; l_pos_148++) { OrderSelect(l_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) { if (OrderType() == OP_BUY) { if (TrailingStop > 0.0) { if (Bid - OrderOpenPrice() > Point * TrailingStop) { if (OrderStopLoss() < Bid - Point * TrailingStop) { OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, Blue); return (0); } } } } if (OrderType() == OP_SELL) { if (TrailingStop > 0.0) { if (OrderOpenPrice() - Ask > Point * TrailingStop) { if (OrderStopLoss() > Ask + Point * TrailingStop || OrderStopLoss() == 0.0) { OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, Red); return (0); } } } } } } return (0); } void CloseAllTrades() { for (int l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES)) { if (Symbol() == OrderSymbol() && OrderMagicNumber() == 32165498) { if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 2, Blue); if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 2, Red); } } } } bool ExistPositions() { for (int l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES)) if (OrderSymbol() == Symbol() && OrderMagicNumber() == 32165498) return (TRUE); } return (FALSE); } Quote
JoeCocker Posted September 16, 2009 Report Posted September 16, 2009 Re: need help educating this ea I don't see any include in your mq4 so I guess the only change you need to put is string gs_112 = "2009.08.31"; change that to any future date and it should be 'educated' cheers, Joe Quote
⭐ deadsoul Posted September 16, 2009 Author Report Posted September 16, 2009 Re: need help educating this ea I don't see any include in your mq4 so I guess the only change you need to put is string gs_112 = "2009.08.31"; change that to any future date and it should be 'educated' cheers, Joe thanx ..joe i will give it atry... Quote
Csh-flow Posted September 16, 2009 Report Posted September 16, 2009 Re: need help educating this ea Could you share the statement after backtest? Thanks Quote
rollover1713006058 Posted September 17, 2009 Report Posted September 17, 2009 Re: need help educating this ea find the following and add them to disable the checks.. it should run in live account and no date checks.. /* <<<<<---- add this if (gi_108 != 0) { if (AccountNumber() != gi_108) { Alert("ArabiFx Expert is registered to account # " + gi_108 + " ONLY !\nIf this is not your registered account", "\nPlease contact [email protected] \nor Call 002-0103-925-926"); return (0); } } int l_str2time_136 = StrToTime(gs_112); if (TimeCurrent() >= l_str2time_136) { Alert("This Trial version has been expired"); Alert("Please contact [email protected] \nor Call 002-0103-925-926"); return (0); } if (IsDemo() == FALSE && gi_100 == TRUE) { Alert("You can use the program with a Demo account ONLY"); Alert("Please contact [email protected] \nor Call 002-0103-925-926"); return (0); } add this ---->>> */ Quote
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.