#property copyright "Copyright © 2007-2009, Intrepid Financial Software" #property link "http://www.intrepidfs.com" #include extern string Name = "Your Name"; extern string serial = "Your Serial Number"; extern string livekey = "Enter Live Trading Key"; extern string Section1 = "--RISK SETTINGS--"; extern double MaxRiskPercent = 10.0; extern string SubsSection1a = "--ADVANCED RISK SETTINGS--"; extern int MaxOrders = 10; extern string Section2 = "--TRADE BEHAVIOR/BROKER COMPATIBILTY--"; extern double MaximumSpread = 6.0; extern int MagicNumber = 42; extern int UseOrderExpiration = 1; extern int DisableStopOrders = 0; extern int SetOrderParamAfterTrade = 0; extern int DisableHedging = 1; extern int StopOrderRange = 3; extern double MinLot = 0.0; extern string Section3 = "--E-MAIL UPDATE OPTIONS--"; extern string EMAILHELP = "Set sendmail to 1 to enable email updates"; extern int sendemail = 0; extern string HOURHELP = "Broker Time that email is sent"; extern int UpdateHour = 6; extern string Section4 = "--DISPLAY SETTINGS--"; extern int DisplayMenu = 1; extern int DisplayPairWatch = 1; extern color SellOrderColor = CLR_NONE; extern color BuyOrderColor = CLR_NONE; extern color CloseOrderColor = CLR_NONE; extern color NNTITLEText = Ivory; extern color NNTopBarclr = LightSteelBlue; extern color NNGUIText = Ivory; extern color NNBottomBarclr = SteelBlue; extern color NNDispText = Lavender; extern color NNCpyRghtTxt = C'0x4D,0x4D,0x4D'; extern color NNClrGood = C'0x00,0xE8,0x74'; extern color NNClrmedium = C'0xEC,0xDF,0xA4'; extern color NNClrWarn = IndianRed; extern color NNClrSpread = C'0xD3,0xD9,0xDE'; extern color NNPairWClr = Ivory; extern string OrderLabel = "NN621"; extern string SubSection1 = "-- TRADING TIMES --"; extern int TradeSunday = 1; extern int TradeMonday = 1; extern int TradeTuesday = 1; extern int TradeWednesday = 1; extern int TradeThursday = 1; extern string Section6 = "-- INTERNAL SETTINGS--"; extern string WARNING = "MODIFICATION BELOW NOT RECOMENDED"; extern string BAKey = "Beta Access Key"; extern int TradeFriday = 0; extern int ExitTradesOnFriday = 0; extern int TradeExitHour = 6; extern int ExitOnlyIfProfitable = 0; extern double UseLots = 0.0; extern int UseTakeProfit = 200; extern int EnableMinLotTestTrade = 0; extern string DoNotModifyBelow = "---------- Do not modify below this line --------"; extern int ocnt = 0; extern int frchk = 0; extern int osellcnt = 0; extern int obuycnt = 0; extern int mnmbr = 0; extern int omaxord = 0; extern int sm = 0; extern int boxcheck = 0; extern int prevticket = 0; extern int prevticket2 = 0; extern int ticket = 0; extern int maxord = 0; extern int sl = 0; extern int strend = 0; extern int ltrend = 0; extern int ltchkcnt = 0; extern int stchkcnt = 0; extern int buymaxorder = 0; extern int sellmaxorder = 0; extern int fdc = 0; extern int EnableDebugDisplay = 0; extern int errorcnt = 0; extern int expire = 0; extern double BuyStrengthPercent = 0.0; extern double SellStrengthPercent = 0.0; extern double bbal = 0.0; extern double sbal = 0.0; extern double lbp = 0.0; extern double lsp = 0.0; extern double prvbd = 0.0; extern double prvbal = 0.0; extern double longtrend = 0.0; extern double tsl = 0.0; extern double shortrend = 0.0; extern double opmsg = 0.0; extern double opmsg2 = 0.0; extern double lots = 0.0; extern double symprofit = 0.0; extern double symsellprofit = 0.0; extern double symbuyprofit = 0.0; extern double eprice = 0.0; extern double eprice2 = 0.0; extern string omsg; extern string lkchk; extern string csym; extern string disperiod; extern string debugmsg1; extern string debugmsg2; extern string debugmsg3; extern string debugmsg4; extern string debugmsg5; extern string debugmsg6; extern string debugmsg7; extern string debugmsg8; extern string debugmsg9; extern string debugmsg10; extern string debugmsg11; extern string debugmsg12; extern string debugmsg13; extern string debugmsg14; extern string debugmsg15; extern string debugmsg16; extern string debugmsg17; extern string debugmsg18; extern string debugmsg19; extern string debugmsg20; extern string newdebugmsg; extern color oclr = Black; int init() { lkchk = livekey; if (GlobalVariableCheck("live_key") == TRUE) if (GlobalVariableGet("live_key") == StrToDouble(CheckLiveKey())) livekey = DoubleToStr(GlobalVariableGet("live_key"), 0); if (BAKey != CheckBAKey()) { TradeFriday = FALSE; ExitTradesOnFriday = FALSE; TradeExitHour = 6; ExitOnlyIfProfitable = FALSE; UseLots = 0; UseTakeProfit = 200; EnableMinLotTestTrade = FALSE; } if (MaxRiskPercent > 15.0 && BAKey != CheckBAKey()) MaxRiskPercent = 15; if (MaxOrders > 20 && BAKey != CheckBAKey()) MaxOrders = 20; if (IsDemo() == TRUE) { } if (MaximumSpread > 10.0) MaximumSpread = 10; if (Digits == 3 || Digits == 5) if (MaximumSpread < 100.0) MaximumSpread = 10.0 * MaximumSpread; int li_unused_0 = 0; PreloadGUI(); if (EnableDebugDisplay == 1) { CreateDebugGui(); newdebugmsg = "Loading Neuro Net.."; ResetDebugMsgs(); UpdateDebugGui(); } ObjectSetText("loadhdrz24", "20% //", 20, "Cataneo BT", NNGUIText); ObjectSetText("loadhdrz24", "30% ///", 20, "Cataneo BT", NNGUIText); ObjectSetText("loadhdrz24", "40% ////", 20, "Cataneo BT", NNGUIText); if (EnableDebugDisplay == 1) { newdebugmsg = "Setting Variables.."; ResetDebugMsgs(); UpdateDebugGui(); } SetVariables(); ObjectSetText("loadhdrz24", "50% /////", 20, "Cataneo BT", NNGUIText); if (EnableDebugDisplay == 1) { newdebugmsg = "Perform Error Checking.."; ResetDebugMsgs(); UpdateDebugGui(); } ErrorCheck(); ObjectSetText("loadhdrz24", "60% //////", 20, "Cataneo BT", NNGUIText); if (EnableDebugDisplay == 1) { newdebugmsg = "Do Risk Calculation.."; ResetDebugMsgs(); UpdateDebugGui(); } DoRiskCalculation(); ObjectSetText("loadhdrz24", "70% ///////", 20, "Cataneo BT", NNGUIText); if (EnableDebugDisplay == 1) { newdebugmsg = "Count Existing Orders.."; ResetDebugMsgs(); UpdateDebugGui(); } CntOrders(); ObjectSetText("loadhdrz24", "80% //////// -Please Wait", 20, "Cataneo BT", NNGUIText); if (EnableDebugDisplay == 1) { newdebugmsg = "Set Balances.."; ResetDebugMsgs(); UpdateDebugGui(); } SetBalances(); ObjectSetText("loadhdrz24", "90% //////////", 20, "Cataneo BT", NNGUIText); if (EnableDebugDisplay == 1) { newdebugmsg = "Check Settings.."; ResetDebugMsgs(); UpdateDebugGui(); } InputsCheck(); ObjectSetText("loadhdrz24", "100% //////////", 20, "Cataneo BT", NNGUIText); if (EnableDebugDisplay == 1) { newdebugmsg = "Create GUI.."; ResetDebugMsgs(); UpdateDebugGui(); } CreateGUI(); return (0); } int deinit() { UpdateStatus(); boxcheck = 0; ObjectsDeleteAll(); return (0); } int start() { int li_unused_24; datetime l_time_32; int l_ord_total_0 = OrdersTotal(); double ld_4 = 24; double ld_12 = 24; BuyStrengthPercent = 100; SellStrengthPercent = 100; int li_unused_20 = 0; aprofCheck(); if (Period() == PERIOD_M1) disperiod = "M1"; if (Period() == PERIOD_M5) disperiod = "M5"; if (Period() == PERIOD_M15) disperiod = "M15"; if (Period() == PERIOD_M30) disperiod = "M30"; if (Period() == PERIOD_H1) disperiod = "H1"; if (Period() == PERIOD_H4) disperiod = "H4"; if (Period() == PERIOD_D1) disperiod = "D1"; if (Period() == PERIOD_W1) disperiod = "W1"; if (Period() == PERIOD_MN1) disperiod = "MN1"; if (DisableHedging == 1) { buymaxorder = MaxOrders / 2; sellmaxorder = MaxOrders / 2; if (CountSellOrders() > 0) { sellmaxorder = MaxOrders; buymaxorder = 0; } if (CountBuyOrders() > 0) { buymaxorder = MaxOrders; sellmaxorder = 0; } } else { buymaxorder = MaxOrders / 2; sellmaxorder = MaxOrders / 2; } if (livekey != CheckLiveKey() && IsDemo() == FALSE) { UpdateStatus(); ResetMaxord(); return (0); } if (serial != CheckSerial()) { oclr = NNClrWarn; omsg = "Invalid Serial Key"; UpdateStatus(); ResetMaxord(); return (0); } if (Month() >= 11 || Year() > 2009) { oclr = NNClrWarn; omsg = "Software Expired -- Please Update"; UpdateStatus(); ResetMaxord(); return (0); } if (!(StringSubstr(Symbol(), 0, 6) == "USDJPY" || StringSubstr(Symbol(), 0, 6) == "EURUSD") && !(StringSubstr(Symbol(), 0, 6) == "AUDUSD")) { if (BAKey != CheckBAKey()) { oclr = NNClrWarn; omsg = "Unapproved Pair: " + Symbol(); UpdateStatus(); ResetMaxord(); return (0); } } if (Period() != PERIOD_M5) { if (BAKey != CheckBAKey()) { oclr = NNClrWarn; omsg = "Unapproved Time-Frame: " + disperiod; UpdateStatus(); ResetMaxord(); return (0); } } int li_unused_36 = 65; int li_unused_40 = MarketInfo(Symbol(), MODE_SPREAD); CntOrders(); if (maxord > ocnt) { omsg = "Waiting on trend."; oclr = NNClrGood; } else { if (omsg != "Trading not allowed on this day." && maxord > 0) { omsg = "Maximum orders reached."; oclr = Crimson; } } CheckSpreads(); UpdateStatus(); CheckDates(); if (IsOptimization() != TRUE || IsTesting() != TRUE) { if (sendemail == 1 && Hour() != UpdateHour) sm = 0; RefreshRates(); } l_ord_total_0 = OrdersTotal(); for (int l_count_28 = 0; l_count_28 < l_ord_total_0; l_count_28++) { li_unused_24 = l_count_28; nanobot(); } if (Time[0] == l_time_32) return (0); l_time_32 = Time[0]; if (IsTradeAllowed()) { RefreshRates(); li_unused_40 = MarketInfo(Symbol(), MODE_SPREAD); } else { l_time_32 = Time[1]; return (0); } ticket = -1; l_ord_total_0 = OrdersTotal(); perceptron(); CheckDates(); for (int l_pos_44 = 0; l_pos_44 < l_ord_total_0; l_pos_44++) { OrderSelect(l_pos_44, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == mnmbr) { prevticket = OrderTicket(); if (DayOfWeek() == 5 && ExitTradesOnFriday == 1 && Hour() == TradeExitHour) { if (ExitOnlyIfProfitable == FALSE) { if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 2, CloseOrderColor); else OrderClose(OrderTicket(), OrderLots(), Bid, 1, CloseOrderColor); } else { if (ExitOnlyIfProfitable == 1 && OrderProfit() > 0.0) { if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 2, CloseOrderColor); else OrderClose(OrderTicket(), OrderLots(), Bid, 1, CloseOrderColor); } } } if (shortrend <= ld_4 && OrderType() == OP_SELL && OrderProfit() > 0.0) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Ask, 2, CloseOrderColor); if (EnableDebugDisplay == 1) { newdebugmsg = "Closing " + OrderTicket() + " on Sell trend percent: %" + DoubleToStr(NormalizeDouble(shortrend, 2), 2); ResetDebugMsgs(); UpdateDebugGui(); } strend = 0; } if (longtrend <= ld_12 && OrderType() == OP_BUY && OrderProfit() > 0.0) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Bid, 1, CloseOrderColor); if (EnableDebugDisplay == 1) { newdebugmsg = "Closing " + OrderTicket() + " on Buy trend percent: %" + DoubleToStr(NormalizeDouble(longtrend, 2), 2); ResetDebugMsgs(); UpdateDebugGui(); } ltrend = 0; } } } l_ord_total_0 = OrdersTotal(); for (l_count_28 = 0; l_count_28 < l_ord_total_0; l_count_28++) { li_unused_24 = l_count_28; nanobot(); } perceptron(); CntOrders(); if (longtrend >= BuyStrengthPercent && shortrend <= 60.0) { DoRiskCalculation(); CheckDates(); if (EnableMinLotTestTrade == TRUE) { if (obuycnt == 0 && ltrend == 0) { if (MinLot > 0.0) lots = MinLot; else lots = MarketInfo(Symbol(), MODE_MINLOT); } if (obuycnt > 0 && symbuyprofit < 0.0) { if (MinLot > 0.0) lots = MinLot; else lots = MarketInfo(Symbol(), MODE_MINLOT); } } ltrend = 1; if (obuycnt < buymaxorder) { if (obuycnt == 0 || symbuyprofit > 0.0) { if (EnableDebugDisplay == 1) { newdebugmsg = "Open BUY Order on " + Symbol() + " at Ask price: " + DoubleToStr(NormalizeDouble(Ask, Digits), Digits); ResetDebugMsgs(); UpdateDebugGui(); } if (maxord != 0) { if (UseOrderExpiration == 1) expire = TimeCurrent() + 7200; else expire = 0; eprice = Ask + StopOrderRange * Point; if (Digits == 5 || Digits == 3) eprice = Ask + 10 * StopOrderRange * Point; if (UseTakeProfit == 0) { if (DisableStopOrders == 1 && SetOrderParamAfterTrade == 0) ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, Ask - sl * Point, 0, OrderLabel, mnmbr, 0, BuyOrderColor); else { if (SetOrderParamAfterTrade == 1) ticket = OrderSend(Symbol(), OP_BUYSTOP, lots, NormalizeDouble(eprice, Digits), 3, 0, 0, OrderLabel, mnmbr, expire, BuyOrderColor); else ticket = OrderSend(Symbol(), OP_BUYSTOP, lots, NormalizeDouble(eprice, Digits), 3, eprice - sl * Point, 0, OrderLabel, mnmbr, expire, BuyOrderColor); } if (SetOrderParamAfterTrade == 1) OrderModify(ticket, OrderOpenPrice(), eprice - sl * Point, 0, expire, BuyOrderColor); } else { if (DisableStopOrders == 1 && SetOrderParamAfterTrade == 0) ticket = OrderSend(Symbol(), OP_BUY, lots, Ask, 3, eprice - sl * Point, Ask + UseTakeProfit * Point, OrderLabel, mnmbr, 0, BuyOrderColor); else { if (SetOrderParamAfterTrade == 1) ticket = OrderSend(Symbol(), OP_BUYSTOP, lots, NormalizeDouble(eprice, Digits), 3, 0, 0, OrderLabel, mnmbr, expire, BuyOrderColor); else ticket = OrderSend(Symbol(), OP_BUYSTOP, lots, NormalizeDouble(eprice, Digits), 3, eprice - sl * Point, Ask + UseTakeProfit * Point, OrderLabel, mnmbr, expire, BuyOrderColor); } if (SetOrderParamAfterTrade == 1) OrderModify(ticket, OrderOpenPrice(), eprice - sl * Point, Bid + UseTakeProfit * Point, 0, BuyOrderColor); } CntOrders(); lbp = 0.0; if (ticket < 0) { lbp = 0.0; l_time_32 = Time[1]; } } } } } else { if (osellcnt < sellmaxorder && shortrend >= SellStrengthPercent && longtrend <= 60.0) { DoRiskCalculation(); CheckDates(); if (EnableMinLotTestTrade == TRUE) { if (osellcnt == 0 && strend == 0) { if (MinLot > 0.0) lots = MinLot; else lots = MarketInfo(Symbol(), MODE_MINLOT); } if (osellcnt > 0 && symsellprofit < 0.0) { if (MinLot > 0.0) lots = MinLot; else lots = MarketInfo(Symbol(), MODE_MINLOT); } } strend = 1; if (osellcnt == 0 || symsellprofit > 0.0) { if (EnableDebugDisplay == 1) { newdebugmsg = "Open SELL Order on " + Symbol() + " at Ask price: " + DoubleToStr(NormalizeDouble(Ask, Digits), Digits); ResetDebugMsgs(); UpdateDebugGui(); } if (maxord != 0) { if (UseOrderExpiration == 1) expire = TimeCurrent() + 7200; else expire = 0; eprice2 = Bid - StopOrderRange * Point; if (Digits == 5 || Digits == 3) eprice2 = Bid - 10 * StopOrderRange * Point; if (UseTakeProfit == 0) { if (DisableStopOrders == 1 && SetOrderParamAfterTrade == 0) ticket = OrderSend(Symbol(), OP_SELL, lots, Bid, 3, Ask + sl * Point, 0, OrderLabel, mnmbr, 0, SellOrderColor); else { if (SetOrderParamAfterTrade == 1) ticket = OrderSend(Symbol(), OP_SELLSTOP, lots, NormalizeDouble(eprice2, Digits), 3, 0, 0, OrderLabel, mnmbr, expire, SellOrderColor); else ticket = OrderSend(Symbol(), OP_SELLSTOP, lots, NormalizeDouble(eprice2, Digits), 3, Ask + sl * Point, 0, OrderLabel, mnmbr, expire, SellOrderColor); } if (SetOrderParamAfterTrade == 1) OrderModify(ticket, OrderOpenPrice(), Ask + sl * Point, 0, expire, BuyOrderColor); } else { if (DisableStopOrders == 1 && SetOrderParamAfterTrade == 0) ticket = OrderSend(Symbol(), OP_SELL, lots, Bid, 3, Ask + sl * Point, Bid - UseTakeProfit * Point, OrderLabel, mnmbr, 0, SellOrderColor); else { if (SetOrderParamAfterTrade == 1) ticket = OrderSend(Symbol(), OP_SELLSTOP, lots, NormalizeDouble(eprice2, Digits), 3, 0, 0, OrderLabel, mnmbr, expire, SellOrderColor); else ticket = OrderSend(Symbol(), OP_SELLSTOP, lots, NormalizeDouble(eprice2, Digits), 3, Ask + sl * Point, Bid - UseTakeProfit * Point, OrderLabel, mnmbr, expire, SellOrderColor); } if (SetOrderParamAfterTrade == 1) OrderModify(ticket, OrderOpenPrice(), Ask + sl * Point, Bid - UseTakeProfit * Point, expire, BuyOrderColor); } CntOrders(); lsp = 0.0; if (ticket < 0) { lsp = 0.0; l_time_32 = Time[1]; } } } } } prvbd = Ask; prvbal = AccountBalance(); return (0); } double CreateDebugGui() { int li_0 = 350; debugmsg1 = "No Data Available"; debugmsg2 = "No Data Available"; debugmsg3 = "No Data Available"; debugmsg4 = "No Data Available"; debugmsg5 = "No Data Available"; debugmsg6 = "No Data Available"; debugmsg7 = "No Data Available"; debugmsg8 = "No Data Available"; debugmsg9 = "No Data Available"; debugmsg10 = "No Data Available"; debugmsg11 = "No Data Available"; debugmsg12 = "No Data Available"; debugmsg13 = "No Data Available"; debugmsg14 = "No Data Available"; debugmsg15 = "No Data Available"; debugmsg16 = "No Data Available"; debugmsg17 = "No Data Available"; debugmsg18 = "No Data Available"; debugmsg19 = "No Data Available"; debugmsg20 = "No Data Available"; ObjectCreate("loaddbg", OBJ_LABEL, 0, 0, 0); ObjectSetText("loaddbg", "----- Debug Information ----------------------------------------------------------------------", 12, "Accord Light SF", NNGUIText); ObjectSet("loaddbg", OBJPROP_CORNER, 0); ObjectSet("loaddbg", OBJPROP_XDISTANCE, 25); ObjectSet("loaddbg", OBJPROP_YDISTANCE, 200); ObjectCreate("dbgmsg1", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg1", "1.) " + debugmsg1, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg1", OBJPROP_CORNER, 0); ObjectSet("dbgmsg1", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg1", OBJPROP_YDISTANCE, 220); ObjectCreate("dbgmsg2", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg2", "2.) " + debugmsg2, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg2", OBJPROP_CORNER, 0); ObjectSet("dbgmsg2", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg2", OBJPROP_YDISTANCE, 235); ObjectCreate("dbgmsg3", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg3", "3.) " + debugmsg3, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg3", OBJPROP_CORNER, 0); ObjectSet("dbgmsg3", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg3", OBJPROP_YDISTANCE, 250); ObjectCreate("dbgmsg4", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg4", "4.) " + debugmsg4, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg4", OBJPROP_CORNER, 0); ObjectSet("dbgmsg4", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg4", OBJPROP_YDISTANCE, 265); ObjectCreate("dbgmsg5", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg5", "5.) " + debugmsg5, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg5", OBJPROP_CORNER, 0); ObjectSet("dbgmsg5", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg5", OBJPROP_YDISTANCE, 280); ObjectCreate("dbgmsg6", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg6", "6.) " + debugmsg6, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg6", OBJPROP_CORNER, 0); ObjectSet("dbgmsg6", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg6", OBJPROP_YDISTANCE, 295); ObjectCreate("dbgmsg7", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg7", "7.) " + debugmsg7, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg7", OBJPROP_CORNER, 0); ObjectSet("dbgmsg7", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg7", OBJPROP_YDISTANCE, 310); ObjectCreate("dbgmsg8", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg8", "8.) " + debugmsg8, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg8", OBJPROP_CORNER, 0); ObjectSet("dbgmsg8", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg8", OBJPROP_YDISTANCE, 325); ObjectCreate("dbgmsg9", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg9", "9.) " + debugmsg9, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg9", OBJPROP_CORNER, 0); ObjectSet("dbgmsg9", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg9", OBJPROP_YDISTANCE, 340); ObjectCreate("dbgmsg10", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg10", "10.) " + debugmsg10, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg10", OBJPROP_CORNER, 0); ObjectSet("dbgmsg10", OBJPROP_XDISTANCE, 25); ObjectSet("dbgmsg10", OBJPROP_YDISTANCE, 355); ObjectCreate("dbgmsg11", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg11", "11.) " + debugmsg11, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg11", OBJPROP_CORNER, 0); ObjectSet("dbgmsg11", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg11", OBJPROP_YDISTANCE, 220); ObjectCreate("dbgmsg12", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg12", "12.) " + debugmsg12, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg12", OBJPROP_CORNER, 0); ObjectSet("dbgmsg12", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg12", OBJPROP_YDISTANCE, 235); ObjectCreate("dbgmsg13", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg13", "13.) " + debugmsg13, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg13", OBJPROP_CORNER, 0); ObjectSet("dbgmsg13", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg13", OBJPROP_YDISTANCE, 250); ObjectCreate("dbgmsg14", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg14", "14.) " + debugmsg14, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg14", OBJPROP_CORNER, 0); ObjectSet("dbgmsg14", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg14", OBJPROP_YDISTANCE, 265); ObjectCreate("dbgmsg15", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg15", "15.) " + debugmsg15, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg15", OBJPROP_CORNER, 0); ObjectSet("dbgmsg15", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg15", OBJPROP_YDISTANCE, 280); ObjectCreate("dbgmsg16", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg16", "16.) " + debugmsg16, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg16", OBJPROP_CORNER, 0); ObjectSet("dbgmsg16", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg16", OBJPROP_YDISTANCE, 295); ObjectCreate("dbgmsg17", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg17", "17.) " + debugmsg17, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg17", OBJPROP_CORNER, 0); ObjectSet("dbgmsg17", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg17", OBJPROP_YDISTANCE, 310); ObjectCreate("dbgmsg18", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg18", "18.) " + debugmsg18, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg18", OBJPROP_CORNER, 0); ObjectSet("dbgmsg18", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg18", OBJPROP_YDISTANCE, 325); ObjectCreate("dbgmsg19", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg19", "19.) " + debugmsg19, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg19", OBJPROP_CORNER, 0); ObjectSet("dbgmsg19", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg19", OBJPROP_YDISTANCE, 340); ObjectCreate("dbgmsg20", OBJ_LABEL, 0, 0, 0); ObjectSetText("dbgmsg20", "20.) " + debugmsg20, 8, "Accord Light SF", NNGUIText); ObjectSet("dbgmsg20", OBJPROP_CORNER, 0); ObjectSet("dbgmsg20", OBJPROP_XDISTANCE, li_0 + 25); ObjectSet("dbgmsg20", OBJPROP_YDISTANCE, 355); return (0.0); } double UpdateDebugGui() { ObjectSetText("dbgmsg1", "1.) " + debugmsg1, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg2", "2.) " + debugmsg2, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg3", "3.) " + debugmsg3, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg4", "4.) " + debugmsg4, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg5", "5.) " + debugmsg5, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg6", "6.) " + debugmsg6, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg7", "7.) " + debugmsg7, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg8", "8.) " + debugmsg8, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg9", "9.) " + debugmsg9, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg10", "10.) " + debugmsg10, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg11", "11.) " + debugmsg11, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg12", "12.) " + debugmsg12, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg13", "13.) " + debugmsg13, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg14", "14.) " + debugmsg14, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg15", "15.) " + debugmsg15, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg16", "16.) " + debugmsg16, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg17", "17.) " + debugmsg17, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg18", "18.) " + debugmsg18, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg19", "19.) " + debugmsg19, 8, "Accord Light SF", NNGUIText); ObjectSetText("dbgmsg20", "20.) " + debugmsg20, 8, "Accord Light SF", NNGUIText); return (0.0); } double ResetDebugMsgs() { debugmsg20 = debugmsg19; debugmsg19 = debugmsg18; debugmsg18 = debugmsg17; debugmsg17 = debugmsg16; debugmsg16 = debugmsg15; debugmsg15 = debugmsg14; debugmsg14 = debugmsg13; debugmsg13 = debugmsg12; debugmsg12 = debugmsg11; debugmsg11 = debugmsg10; debugmsg10 = debugmsg9; debugmsg9 = debugmsg8; debugmsg8 = debugmsg7; debugmsg7 = debugmsg6; debugmsg6 = debugmsg5; debugmsg5 = debugmsg4; debugmsg4 = debugmsg3; debugmsg3 = debugmsg2; debugmsg2 = debugmsg1; debugmsg1 = newdebugmsg; return (0.0); } double CheckSpreads() { if (EnableDebugDisplay == 1) { newdebugmsg = "Checking Spreads.."; ResetDebugMsgs(); UpdateDebugGui(); } if (MaximumSpread > 0.0) { if (MarketInfo(Symbol(), MODE_SPREAD) > MaximumSpread) { ResetMaxord(); oclr = NNClrWarn; omsg = "Spread protection triggered."; } else maxord = omaxord; } return (0.0); } double perceptron() { double ld_152; double l_iopen_208; double l_iopen_216; double l_iopen_224; double l_iclose_232; double l_iclose_240; double l_iclose_248; double l_ihigh_256; double l_ihigh_264; double l_ihigh_272; double l_ilow_280; double l_ilow_288; double l_ilow_296; double l_iopen_304; double l_iopen_312; double l_iopen_320; double l_iclose_328; double l_iclose_336; double l_iclose_344; double l_ihigh_352; double l_ihigh_360; double l_ihigh_368; double l_ilow_376; double l_ilow_384; double l_ilow_392; double ld_400; int li_136 = 0; int li_140 = 24; double ld_96 = 11.3333333333; shortrend = 0; longtrend = 0; double l_iac_0 = iAC(Symbol(), PERIOD_M1, 0); double l_iac_8 = iAC(Symbol(), PERIOD_M1, 7); double l_iac_16 = iAC(Symbol(), PERIOD_M1, 14); double l_iac_24 = iAC(Symbol(), PERIOD_M1, 21); double ld_32 = l_iac_0 + l_iac_8 + l_iac_16 + l_iac_24; if (ld_32 > 0.0) ld_32 = 1; else ld_32 = -1; l_iac_0 = iAC(Symbol(), PERIOD_M5, 0); l_iac_8 = iAC(Symbol(), PERIOD_M5, 7); l_iac_16 = iAC(Symbol(), PERIOD_M5, 14); l_iac_24 = iAC(Symbol(), PERIOD_M5, 21); double ld_40 = l_iac_0 + l_iac_8 + l_iac_16 + l_iac_24; if (ld_40 > 0.0) ld_40 = 1; else ld_40 = -1; l_iac_0 = iAC(Symbol(), PERIOD_M15, 0); l_iac_8 = iAC(Symbol(), PERIOD_M15, 7); l_iac_16 = iAC(Symbol(), PERIOD_M15, 14); l_iac_24 = iAC(Symbol(), PERIOD_M15, 21); double ld_48 = l_iac_0 + l_iac_8 + l_iac_16 + l_iac_24; if (ld_48 > 0.0) ld_48 = 1; else ld_48 = -1; l_iac_0 = iAC(Symbol(), PERIOD_M30, 0); l_iac_8 = iAC(Symbol(), PERIOD_M30, 7); l_iac_16 = iAC(Symbol(), PERIOD_M30, 14); l_iac_24 = iAC(Symbol(), PERIOD_M30, 21); double ld_56 = l_iac_0 + l_iac_8 + l_iac_16 + l_iac_24; if (ld_56 > 0.0) ld_56 = 1; else ld_56 = -1; l_iac_0 = iAC(Symbol(), PERIOD_H1, 0); l_iac_8 = iAC(Symbol(), PERIOD_H1, 7); l_iac_16 = iAC(Symbol(), PERIOD_H1, 14); l_iac_24 = iAC(Symbol(), PERIOD_H1, 21); double ld_64 = l_iac_0 + l_iac_8 + l_iac_16 + l_iac_24; if (ld_64 > 0.0) ld_64 = 1; else ld_64 = -1; l_iac_0 = iAC(Symbol(), PERIOD_H4, 0); l_iac_8 = iAC(Symbol(), PERIOD_H4, 7); l_iac_16 = iAC(Symbol(), PERIOD_H4, 14); l_iac_24 = iAC(Symbol(), PERIOD_H4, 21); double ld_72 = l_iac_0 + l_iac_8 + l_iac_16 + l_iac_24; if (ld_72 > 0.0) ld_72 = 1; else ld_72 = -1; l_iac_0 = iAC(Symbol(), PERIOD_D1, 0); l_iac_8 = iAC(Symbol(), PERIOD_D1, 7); l_iac_16 = iAC(Symbol(), PERIOD_D1, 14); l_iac_24 = iAC(Symbol(), PERIOD_D1, 21); double ld_80 = l_iac_0 + l_iac_8 + l_iac_16 + l_iac_24; if (ld_80 > 0.0) ld_80 = 1; else ld_80 = -1; ld_80 = 0; if (ld_32 == 1.0) longtrend += 0.0; else if (ld_32 == -1.0) shortrend += 0.0; if (ld_40 == 1.0) longtrend += 1.5 * ld_96; else if (ld_40 == -1.0) shortrend += 1.5 * ld_96; if (ld_48 == 1.0) longtrend += ld_96 / 2.0; else if (ld_48 == -1.0) shortrend += ld_96 / 2.0; if (ld_56 == 1.0) longtrend += ld_96; else if (ld_56 == -1.0) shortrend += ld_96; if (ld_64 == 1.0) longtrend += ld_96; else if (ld_64 == -1.0) shortrend += ld_96; if (ld_72 == 1.0) longtrend += ld_96; else if (ld_72 == -1.0) shortrend += ld_96; if (iForce(NULL, PERIOD_M1, 13, MODE_SMA, PRICE_CLOSE, 0) > 0.0) shortrend += 0.0; if (iForce(NULL, PERIOD_M1, 13, MODE_SMA, PRICE_CLOSE, 0) < 0.0) longtrend += 0.0; if (iForce(NULL, PERIOD_M5, 13, MODE_SMA, PRICE_CLOSE, 0) > 0.0) shortrend += ld_96; if (iForce(NULL, PERIOD_M5, 13, MODE_SMA, PRICE_CLOSE, 0) < 0.0) longtrend += ld_96; if (iForce(NULL, PERIOD_M15, 13, MODE_SMA, PRICE_CLOSE, 0) > 0.0) shortrend += ld_96; if (iForce(NULL, PERIOD_M15, 13, MODE_SMA, PRICE_CLOSE, 0) < 0.0) longtrend += ld_96; if (iForce(NULL, PERIOD_M30, 13, MODE_SMA, PRICE_CLOSE, 0) > 0.0) shortrend += ld_96; if (iForce(NULL, PERIOD_M30, 13, MODE_SMA, PRICE_CLOSE, 0) < 0.0) longtrend += ld_96; if (iForce(NULL, PERIOD_H1, 13, MODE_SMA, PRICE_CLOSE, 0) > 0.0) shortrend += ld_96; if (iForce(NULL, PERIOD_H1, 13, MODE_SMA, PRICE_CLOSE, 0) < 0.0) longtrend += ld_96; if (iForce(NULL, PERIOD_H4, 13, MODE_SMA, PRICE_CLOSE, 0) > 0.0) shortrend += ld_96; if (iForce(NULL, PERIOD_H4, 13, MODE_SMA, PRICE_CLOSE, 0) < 0.0) longtrend += ld_96; if (iRSI(NULL, 0, 14, PRICE_CLOSE, 0) > 70.0) shortrend += 10.0; if (iRSI(NULL, 0, 14, PRICE_CLOSE, 0) < 30.0) longtrend += 10.0; double l_ialligator_112 = iAlligator(NULL, PERIOD_H1, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORJAW, 1); double l_ialligator_120 = iAlligator(NULL, PERIOD_H1, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORTEETH, 1); double l_ialligator_128 = iAlligator(NULL, PERIOD_H1, 13, 8, 8, 5, 5, 3, MODE_SMMA, PRICE_MEDIAN, MODE_GATORLIPS, 1); if (iCustom(Symbol(), PERIOD_H1, "Accelerator", 0, 1, 1) > 0.0 && iCustom(Symbol(), PERIOD_H1, "Accelerator", 0, 1, 0) > iCustom(Symbol(), PERIOD_H1, "Accelerator", 0, 1, 1)) li_136 = 1; if (iCustom(Symbol(), PERIOD_H1, "Accelerator", 0, 2, 1) < 0.0 && iCustom(Symbol(), PERIOD_H1, "Accelerator", 0, 2, 0) < iCustom(Symbol(), PERIOD_H1, "Accelerator", 0, 2, 1)) li_136 = 2; if (l_ialligator_112 > l_ialligator_120 && l_ialligator_120 > l_ialligator_128) { if (Bid > l_ialligator_112 && li_136 == 1 && iFractals(NULL, PERIOD_H1, MODE_UPPER, 3) > l_ialligator_112 && iAC(NULL, PERIOD_H1, 0) > 0.0) longtrend += 30.0; if (Bid < l_ialligator_128 && li_136 == 2 && iFractals(NULL, PERIOD_H1, MODE_LOWER, 3) < l_ialligator_128 && iAO(NULL, PERIOD_H1, 0) < 0.0) shortrend += 30.0; } opmsg = shortrend; opmsg2 = longtrend; double ld_unused_192 = 99999; double ld_unused_200 = -1; string l_symbol_412 = Symbol(); int l_timeframe_408 = 60; for (int li_420 = 0; li_420 < li_140; li_420++) { l_iclose_232 = iClose(l_symbol_412, l_timeframe_408, li_420); l_iclose_240 = iClose(l_symbol_412, l_timeframe_408, li_420 + 1); l_iclose_248 = iClose(l_symbol_412, l_timeframe_408, li_420 + 2); l_iopen_208 = iOpen(l_symbol_412, l_timeframe_408, li_420); l_iopen_216 = iOpen(l_symbol_412, l_timeframe_408, li_420 + 1); l_iopen_224 = iOpen(l_symbol_412, l_timeframe_408, li_420 + 2); l_ihigh_256 = iHigh(l_symbol_412, l_timeframe_408, li_420); l_ihigh_264 = iHigh(l_symbol_412, l_timeframe_408, li_420 + 1); l_ihigh_272 = iHigh(l_symbol_412, l_timeframe_408, li_420 + 2); l_ilow_280 = iLow(l_symbol_412, l_timeframe_408, li_420); l_ilow_288 = iLow(l_symbol_412, l_timeframe_408, li_420 + 1); l_ilow_296 = iLow(l_symbol_412, l_timeframe_408, li_420 + 2); l_iclose_328 = iClose(l_symbol_412, l_timeframe_408, li_420 + 4); l_iclose_336 = iClose(l_symbol_412, l_timeframe_408, li_420 + 5); l_iclose_344 = iClose(l_symbol_412, l_timeframe_408, li_420 + 3); l_iopen_304 = iOpen(l_symbol_412, l_timeframe_408, li_420 + 4); l_iopen_312 = iOpen(l_symbol_412, l_timeframe_408, li_420 + 5); l_iopen_320 = iOpen(l_symbol_412, l_timeframe_408, li_420 + 3); l_ihigh_352 = iHigh(l_symbol_412, l_timeframe_408, li_420 + 4); l_ihigh_360 = iHigh(l_symbol_412, l_timeframe_408, li_420 + 5); l_ihigh_368 = iHigh(l_symbol_412, l_timeframe_408, li_420 + 3); l_ilow_376 = iLow(l_symbol_412, l_timeframe_408, li_420 + 4); l_ilow_384 = iLow(l_symbol_412, l_timeframe_408, li_420 + 5); l_ilow_392 = iLow(l_symbol_412, l_timeframe_408, li_420 + 3); if (l_ihigh_360 > l_ihigh_264 && l_ilow_384 < l_ilow_288 && l_ihigh_360 > l_ihigh_272 && l_ilow_384 < l_ilow_296 && l_ihigh_360 > l_ihigh_368 && l_ilow_384 < l_ilow_392 && l_ihigh_360 > l_ihigh_352 && l_ilow_384 < l_ilow_376) { ld_152 = l_ihigh_360 - l_ilow_384; break; } } if (Ask >= l_ihigh_360) { ld_400 = l_ihigh_360 + 2.5 * ld_152; if (ld_400 > Ask) { if (Digits == 2) { } if (Digits == 3) { } if (Digits == 4) { } if (Digits == 5) { } } } if (Bid <= l_ilow_384) { ld_400 = l_ilow_384 - 2.5 * ld_152; if (ld_400 < Bid) { if (Digits == 2) { } if (Digits == 3) { } if (Digits == 4) { } if (Digits == 5) { } } } if (iOpen(l_symbol_412, PERIOD_H1, 0) < l_ihigh_360 && iClose(l_symbol_412, l_timeframe_408, 0) >= l_ihigh_360 && ld_400 > Ask) longtrend += 50.0; if (iOpen(l_symbol_412, PERIOD_H1, 0) > l_ilow_384 && iClose(l_symbol_412, l_timeframe_408, 0) <= l_ilow_384 && ld_400 < Bid) shortrend += 50.0; if (longtrend > 100.0) longtrend = 100; if (shortrend > 100.0) shortrend = 100; return (0); } double PreloadGUI() { ObjectsDeleteAll(); int l_corner_0 = 0; if (IsOptimization() != TRUE || IsTesting() != TRUE) { ObjectCreate("hdr", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr", "Neuro Net v6.21", 36, "Cataneo BT", NNTITLEText); ObjectSet("hdr", OBJPROP_CORNER, l_corner_0); ObjectSet("hdr", OBJPROP_XDISTANCE, 0); ObjectSet("hdr", OBJPROP_YDISTANCE, 10); ObjectCreate("line1", OBJ_LABEL, 0, 0, 0); ObjectSetText("line1", CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59), 12, "Wingdings", NNTopBarclr); ObjectSet("line1", OBJPROP_CORNER, l_corner_0); ObjectSet("line1", OBJPROP_XDISTANCE, 5); ObjectSet("line1", OBJPROP_YDISTANCE, 55); ObjectCreate("loadhdr", OBJ_LABEL, 0, 0, 0); ObjectSetText("loadhdr", "Loading Neuro Net...", 20, "Cataneo BT", NNGUIText); ObjectSet("loadhdr", OBJPROP_CORNER, l_corner_0); ObjectSet("loadhdr", OBJPROP_XDISTANCE, 25); ObjectSet("loadhdr", OBJPROP_YDISTANCE, 90); ObjectCreate("loadhdrz24", OBJ_LABEL, 0, 0, 0); ObjectSetText("loadhdrz24", "10% /", 20, "Cataneo BT", NNGUIText); ObjectSet("loadhdrz24", OBJPROP_CORNER, l_corner_0); ObjectSet("loadhdrz24", OBJPROP_XDISTANCE, 25); ObjectSet("loadhdrz24", OBJPROP_YDISTANCE, 130); ObjectCreate("line2", OBJ_LABEL, 0, 0, 0); ObjectSetText("line2", CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59) + CharToStr(59), 12, "Wingdings", NNBottomBarclr); ObjectSet("line2", OBJPROP_CORNER, l_corner_0); ObjectSet("line2", OBJPROP_XDISTANCE, 5); ObjectSet("line2", OBJPROP_YDISTANCE, 162); ObjectCreate("author", OBJ_LABEL, 0, 0, 0); ObjectSetText("author", "Copyright 2008-2009 Intrepid Financial Software", 10, "Sylfaen", NNCpyRghtTxt); ObjectSet("author", OBJPROP_CORNER, l_corner_0); ObjectSet("author", OBJPROP_XDISTANCE, 5); ObjectSet("author", OBJPROP_YDISTANCE, 175); } return (0.0); } double CreateGUI() { string l_dbl2str_24; int li_unused_32; int li_36; string ls_40; string l_dbl2str_0 = DoubleToStr(NormalizeDouble(Ask, Digits), Digits); int li_8 = 85; int li_12 = -45; int li_unused_16 = 85; int l_corner_20 = 0; if (IsOptimization() != TRUE || IsTesting() != TRUE) { l_dbl2str_24 = DoubleToStr(NormalizeDouble(AccountBalance() - bbal, 2), 2); li_unused_32 = 5; li_36 = 1; ObjectDelete("loadhdr"); ObjectDelete("loadhdrz24"); if (li_36 >= 2) { if (li_36 == 2) { } } else { if (DisplayMenu == 1) { ObjectCreate("hdr1", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1", "- Options -", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1", OBJPROP_XDISTANCE, li_8 + 480); ObjectSet("hdr1", OBJPROP_YDISTANCE, 5); ObjectCreate("hdr1a", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1a", "____________________________", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1a", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1a", OBJPROP_XDISTANCE, li_8 + 400); ObjectSet("hdr1a", OBJPROP_YDISTANCE, 10); ObjectCreate("hdr1ab", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1ab", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1ab", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1ab", OBJPROP_XDISTANCE, li_8 + 396); ObjectSet("hdr1ab", OBJPROP_YDISTANCE, 28); ObjectCreate("hdr1abaa", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1abaa", "F7 - Neuro Net Settings", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1abaa", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1abaa", OBJPROP_XDISTANCE, li_8 + 416); ObjectSet("hdr1abaa", OBJPROP_YDISTANCE, 28); ObjectCreate("hdr1aba", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aba", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1aba", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aba", OBJPROP_XDISTANCE, li_8 + 647); ObjectSet("hdr1aba", OBJPROP_YDISTANCE, 28); ObjectCreate("hdr1ac", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1ac", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1ac", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1ac", OBJPROP_XDISTANCE, li_8 + 396); ObjectSet("hdr1ac", OBJPROP_YDISTANCE, 46); ObjectCreate("hdr1acaa", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1acaa", "F2 - Historical Data", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1acaa", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1acaa", OBJPROP_XDISTANCE, li_8 + 416); ObjectSet("hdr1acaa", OBJPROP_YDISTANCE, 46); ObjectCreate("hdr1aca", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aca", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1aca", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aca", OBJPROP_XDISTANCE, li_8 + 647); ObjectSet("hdr1aca", OBJPROP_YDISTANCE, 46); ObjectCreate("hdr1ad", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1ad", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1ad", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1ad", OBJPROP_XDISTANCE, li_8 + 396); ObjectSet("hdr1ad", OBJPROP_YDISTANCE, 64); ObjectCreate("hdr1afaaq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1afaaq", " ", 10, "Accord Light SF", NNClrGood); ObjectSet("hdr1afaaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1afaaq", OBJPROP_XDISTANCE, li_12 + 468); ObjectSet("hdr1afaaq", OBJPROP_YDISTANCE, 72); ObjectCreate("hdr1adaa", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1adaa", "F11 - Full Screen Mode", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1adaa", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1adaa", OBJPROP_XDISTANCE, li_8 + 416); ObjectSet("hdr1adaa", OBJPROP_YDISTANCE, 64); ObjectCreate("hdr1ada", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1ada", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1ada", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1ada", OBJPROP_XDISTANCE, li_8 + 647); ObjectSet("hdr1ada", OBJPROP_YDISTANCE, 64); ObjectCreate("hdr1ae", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1ae", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1ae", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1ae", OBJPROP_XDISTANCE, li_8 + 396); ObjectSet("hdr1ae", OBJPROP_YDISTANCE, 82); ObjectCreate("hdr1aeaa", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aeaa", "Ctrl + M - Market Watch", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1aeaa", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aeaa", OBJPROP_XDISTANCE, li_8 + 416); ObjectSet("hdr1aeaa", OBJPROP_YDISTANCE, 82); ObjectCreate("hdr1aea", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aea", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1aea", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aea", OBJPROP_XDISTANCE, li_8 + 647); ObjectSet("hdr1aea", OBJPROP_YDISTANCE, 82); ObjectCreate("hdr1af", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1af", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1af", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1af", OBJPROP_XDISTANCE, li_8 + 396); ObjectSet("hdr1af", OBJPROP_YDISTANCE, 100); ObjectCreate("hdr1afaa", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1afaa", "Ctrl + O - Metatrader Options", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1afaa", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1afaa", OBJPROP_XDISTANCE, li_8 + 416); ObjectSet("hdr1afaa", OBJPROP_YDISTANCE, 100); ObjectCreate("hdr1afa", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1afa", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1afa", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1afa", OBJPROP_XDISTANCE, li_8 + 647); ObjectSet("hdr1afa", OBJPROP_YDISTANCE, 100); ObjectCreate("hdr1ag", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1ag", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1ag", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1ag", OBJPROP_XDISTANCE, li_8 + 396); ObjectSet("hdr1ag", OBJPROP_YDISTANCE, 118); ObjectCreate("hdr1aga", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aga", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1aga", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aga", OBJPROP_XDISTANCE, li_8 + 647); ObjectSet("hdr1aga", OBJPROP_YDISTANCE, 118); ObjectCreate("hdr1az", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1az", "____________________________", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1az", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1az", OBJPROP_XDISTANCE, li_8 + 400); ObjectSet("hdr1az", OBJPROP_YDISTANCE, 118); ObjectCreate("hdr1aqzqz24", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aqzqz24", " ", 10, "Accord Light SF", CLR_NONE); ObjectSet("hdr1aqzqz24", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aqzqz24", OBJPROP_XDISTANCE, li_12 + 553); ObjectSet("hdr1aqzqz24", OBJPROP_YDISTANCE, 138); } if (DisplayPairWatch == 1) { ObjectCreate("hdr1q", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1q", "- Pair -", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1q", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1q", OBJPROP_XDISTANCE, li_12 + 435); ObjectSet("hdr1q", OBJPROP_YDISTANCE, 5); ObjectCreate("hdr1aq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aq", "______________", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1aq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aq", OBJPROP_XDISTANCE, li_12 + 400); ObjectSet("hdr1aq", OBJPROP_YDISTANCE, 10); ObjectCreate("hdr1abq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1abq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1abq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1abq", OBJPROP_XDISTANCE, li_12 + 396); ObjectSet("hdr1abq", OBJPROP_YDISTANCE, 28); ObjectCreate("hdr1abaaq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1abaaq", Symbol(), 10, "Accord Light SF", NNGUIText); ObjectSet("hdr1abaaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1abaaq", OBJPROP_XDISTANCE, li_12 + 435); ObjectSet("hdr1abaaq", OBJPROP_YDISTANCE, 32); ObjectCreate("hdr1abaq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1abaq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1abaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1abaq", OBJPROP_XDISTANCE, li_12 + 521); ObjectSet("hdr1abaq", OBJPROP_YDISTANCE, 28); ObjectCreate("hdr1acq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1acq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1acq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1acq", OBJPROP_XDISTANCE, li_12 + 396); ObjectSet("hdr1acq", OBJPROP_YDISTANCE, 46); ObjectCreate("hdr1acaaq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1acaaq", DoubleToStr(NormalizeDouble(Ask, Digits), Digits), 10, "Accord Light SF", NNGUIText); ObjectSet("hdr1acaaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1acaaq", OBJPROP_XDISTANCE, li_12 + 441); ObjectSet("hdr1acaaq", OBJPROP_YDISTANCE, 46); ObjectCreate("hdr1acaq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1acaq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1acaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1acaq", OBJPROP_XDISTANCE, li_12 + 521); ObjectSet("hdr1acaq", OBJPROP_YDISTANCE, 46); ObjectCreate("hdr1adq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1adq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1adq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1adq", OBJPROP_XDISTANCE, li_12 + 396); ObjectSet("hdr1adq", OBJPROP_YDISTANCE, 64); ObjectCreate("hdr1adaq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1adaq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1adaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1adaq", OBJPROP_XDISTANCE, li_12 + 521); ObjectSet("hdr1adaq", OBJPROP_YDISTANCE, 64); ObjectCreate("hdr1aeq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aeq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1aeq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aeq", OBJPROP_XDISTANCE, li_12 + 396); ObjectSet("hdr1aeq", OBJPROP_YDISTANCE, 82); ObjectCreate("hdr1aeaaq", OBJ_LABEL, 0, 0, 0); if (Digits == 5) ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits, 2), 26, "Accord Light SF", NNGUIText); if (Digits == 3) ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits, 2), 26, "Accord Light SF", NNGUIText); if (Digits == 4 && Symbol() != "USDCZK" && Symbol() != "USDMXN" && Symbol() != "USDZAR") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits, 2), 26, "Accord Light SF", NNGUIText); if (Digits == 4 && Symbol() == "USDCZK" || Symbol() == "USDMXN" || Symbol() == "USDZAR") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits + 1, 2), 26, "Accord Light SF", NNGUIText); if (Digits == 2 && Symbol() != "GBPJPY" && Symbol() != "EURJPY") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits + 1, 2), 26, "Accord Light SF", NNGUIText); if (Digits == 2 && Symbol() == "GBPJPY" || Symbol() == "EURJPY") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits + 2, 2), 26, "Accord Light SF", NNGUIText); ObjectSet("hdr1aeaaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aeaaq", OBJPROP_XDISTANCE, li_12 + 426); ObjectSet("hdr1aeaaq", OBJPROP_YDISTANCE, 62); ObjectCreate("hdr1aeaq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aeaq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1aeaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aeaq", OBJPROP_XDISTANCE, li_12 + 521); ObjectSet("hdr1aeaq", OBJPROP_YDISTANCE, 82); ObjectCreate("hdr1afq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1afq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1afq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1afq", OBJPROP_XDISTANCE, li_12 + 396); ObjectSet("hdr1afq", OBJPROP_YDISTANCE, 100); if (Digits == 5 || Digits == 3) { ObjectCreate("hdr1afaaqzq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1afaaqzq", "Spread: " + DoubleToStr(NormalizeDouble(MarketInfo(Symbol(), MODE_SPREAD), 0) / 10.0, 0), 10, "Accord Light SF", NNGUIText); ObjectSet("hdr1afaaqzq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1afaaqzq", OBJPROP_XDISTANCE, li_12 + 428); ObjectSet("hdr1afaaqzq", OBJPROP_YDISTANCE, 108); ObjectCreate("hdr1afaaqzqfrc", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1afaaqzqfrc", Digits + " Digit", 10, "Accord Light SF", NNGUIText); ObjectSet("hdr1afaaqzqfrc", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1afaaqzqfrc", OBJPROP_XDISTANCE, li_12 + 410); ObjectSet("hdr1afaaqzqfrc", OBJPROP_YDISTANCE, 122); } else { ObjectCreate("hdr1afaaqzq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1afaaqzq", "Spread: " + DoubleToStr(NormalizeDouble(MarketInfo(Symbol(), MODE_SPREAD), 0), 0), 10, "Accord Light SF", NNGUIText); ObjectSet("hdr1afaaqzq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1afaaqzq", OBJPROP_XDISTANCE, li_12 + 428); ObjectSet("hdr1afaaqzq", OBJPROP_YDISTANCE, 108); } if (IsDemo()) { ObjectCreate("hdr1aqzq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aqzq", "Demo Account", 10, "Accord Light SF", NNClrGood); ObjectSet("hdr1aqzq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aqzq", OBJPROP_XDISTANCE, li_12 + 423); ObjectSet("hdr1aqzq", OBJPROP_YDISTANCE, 138); } else { if (livekey != CheckLiveKey() || BAKey == CheckBAKey()) { ResetMaxord(); ObjectCreate("hdr1aqzqkk", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aqzqkk", "Please enter your Live Key.", 10, "Accord Light SF", NNClrWarn); ObjectSet("hdr1aqzqkk", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aqzqkk", OBJPROP_XDISTANCE, 513); ObjectSet("hdr1aqzqkk", OBJPROP_YDISTANCE, 138); } else { ObjectCreate("hdr1aqzq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1aqzq", "Live Account", 10, "Accord Light SF", NNClrWarn); ObjectSet("hdr1aqzq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1aqzq", OBJPROP_XDISTANCE, li_12 + 423); ObjectSet("hdr1aqzq", OBJPROP_YDISTANCE, 138); } } ObjectCreate("hdr1afaq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1afaq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1afaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1afaq", OBJPROP_XDISTANCE, li_12 + 521); ObjectSet("hdr1afaq", OBJPROP_YDISTANCE, 100); ObjectCreate("hdr1agq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1agq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1agq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1agq", OBJPROP_XDISTANCE, li_12 + 396); ObjectSet("hdr1agq", OBJPROP_YDISTANCE, 118); ObjectCreate("hdr1agaq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1agaq", "|", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1agaq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1agaq", OBJPROP_XDISTANCE, li_12 + 521); ObjectSet("hdr1agaq", OBJPROP_YDISTANCE, 118); ObjectCreate("hdr1azq", OBJ_LABEL, 0, 0, 0); ObjectSetText("hdr1azq", "______________", 14, "Cataneo BT", NNGUIText); ObjectSet("hdr1azq", OBJPROP_CORNER, l_corner_20); ObjectSet("hdr1azq", OBJPROP_XDISTANCE, li_12 + 400); ObjectSet("hdr1azq", OBJPROP_YDISTANCE, 118); } ls_40 = AccountCurrency(); if (ls_40 == "EUR") csym = "€"; else { if (ls_40 == "GBP" || ls_40 == "EGP" || ls_40 == "SYP" || ls_40 == "SHP" || ls_40 == "LBP" || ls_40 == "JEP" || ls_40 == "FKP" || ls_40 == "GIP" || ls_40 == "GGP" || ls_40 == "IMP") csym = "£"; else { if (ls_40 == "JPY" || ls_40 == "CNY") csym = "¥"; else csym = "$"; } } ObjectCreate("totalprof", OBJ_LABEL, 0, 0, 0); ObjectSetText("totalprof", "Profit: ", 10, "Accord Light SF", NNGUIText); ObjectSet("totalprof", OBJPROP_CORNER, l_corner_20); ObjectSet("totalprof", OBJPROP_XDISTANCE, 5); ObjectSet("totalprof", OBJPROP_YDISTANCE, 70); ObjectCreate("totalprofa", OBJ_LABEL, 0, 0, 0); ObjectSetText("totalprofa", csym + l_dbl2str_24 + " (" + DoubleToStr(NormalizeDouble(100 / bbal * StrToDouble(l_dbl2str_24), 2), 2) + "%)", 10, "Accord Light SF", NNClrGood); ObjectSet("totalprofa", OBJPROP_CORNER, l_corner_20); ObjectSet("totalprofa", OBJPROP_XDISTANCE, 44); ObjectSet("totalprofa", OBJPROP_YDISTANCE, 70); ObjectCreate("statuslbl3", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl3", "Account: ", 10, "Accord Light SF", NNGUIText); ObjectSet("statuslbl3", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl3", OBJPROP_XDISTANCE, 175); ObjectSet("statuslbl3", OBJPROP_YDISTANCE, 70); ObjectCreate("statuslbl3a", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl3a", csym + DoubleToStr(NormalizeDouble(AccountBalance(), 2), 2), 10, "Accord Light SF", NNClrGood); ObjectSet("statuslbl3a", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl3a", OBJPROP_XDISTANCE, 236); ObjectSet("statuslbl3a", OBJPROP_YDISTANCE, 70); ObjectCreate("statuslbl", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl", "Open Trades: ", 10, "Accord Light SF", NNGUIText); ObjectSet("statuslbl", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl", OBJPROP_XDISTANCE, 150); ObjectSet("statuslbl", OBJPROP_YDISTANCE, 90); ObjectCreate("statuslblab", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslblab", "(" + OrdersTotal() + "/" + csym + DoubleToStr(NormalizeDouble(AccountEquity() - AccountBalance(), 2), 2) + ")", 10, "Accord Light SF", NNClrGood); ObjectSet("statuslblab", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslblab", OBJPROP_XDISTANCE, 238); ObjectSet("statuslblab", OBJPROP_YDISTANCE, 90); ObjectCreate("statuslbla", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbla", "Exposure:", 10, "Accord Light SF", NNGUIText); ObjectSet("statuslbla", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbla", OBJPROP_XDISTANCE, 5); ObjectSet("statuslbla", OBJPROP_YDISTANCE, 110); ObjectCreate("statuslblaa", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslblaa", "Loading...", 10, "Accord Light SF", NNClrmedium); ObjectSet("statuslblaa", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslblaa", OBJPROP_XDISTANCE, 70); ObjectSet("statuslblaa", OBJPROP_YDISTANCE, 110); ObjectCreate("statuslblb", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslblb", "Neuro Net:", 10, "Accord Light SF", NNGUIText); ObjectSet("statuslblb", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslblb", OBJPROP_XDISTANCE, 190); ObjectSet("statuslblb", OBJPROP_YDISTANCE, 110); ObjectCreate("statuslblba", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslblba", "Loading...", 10, "Accord Light SF", NNClrmedium); ObjectSet("statuslblba", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslblba", OBJPROP_XDISTANCE, 260); ObjectSet("statuslblba", OBJPROP_YDISTANCE, 110); ObjectCreate("statuslbl2", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl2", "Date: " + Month() + "/" + Day() + "/" + Year() + " ", 9, "Accord Light SF", NNGUIText); ObjectSet("statuslbl2", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl2", OBJPROP_XDISTANCE, 5); ObjectSet("statuslbl2", OBJPROP_YDISTANCE, 90); ObjectCreate("statuslbl4", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl4", "Status:", 10, "Accord Light SF", NNGUIText); ObjectSet("statuslbl4", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl4", OBJPROP_XDISTANCE, 5); ObjectSet("statuslbl4", OBJPROP_YDISTANCE, 130); ObjectCreate("statuslbl5", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl5", omsg + "(Market may be closed)", 10, "Accord Light SF", oclr); ObjectSet("statuslbl5", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl5", OBJPROP_XDISTANCE, 50); ObjectSet("statuslbl5", OBJPROP_YDISTANCE, 130); ObjectCreate("statuslbl4x", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl4x", "Short Trend(Sell):", 10, "Accord Light SF", NNGUIText); ObjectSet("statuslbl4x", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl4x", OBJPROP_XDISTANCE, 5); ObjectSet("statuslbl4x", OBJPROP_YDISTANCE, 150); ObjectCreate("statuslbl4xd", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl4xd", "Long Trend(Buy):", 10, "Accord Light SF", NNGUIText); ObjectSet("statuslbl4xd", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl4xd", OBJPROP_XDISTANCE, 150); ObjectSet("statuslbl4xd", OBJPROP_YDISTANCE, 150); ObjectCreate("statuslbl5x", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl5x", "%" + DoubleToStr(NormalizeDouble(opmsg, 2), 1), 9, "Accord Light SF", NNClrGood); ObjectSet("statuslbl5x", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl5x", OBJPROP_XDISTANCE, 113); ObjectSet("statuslbl5x", OBJPROP_YDISTANCE, 150); ObjectCreate("statuslbl5xxd", OBJ_LABEL, 0, 0, 0); ObjectSetText("statuslbl5xxd", "%" + DoubleToStr(NormalizeDouble(opmsg2, 2), 1), 9, "Accord Light SF", NNClrGood); ObjectSet("statuslbl5xxd", OBJPROP_CORNER, l_corner_20); ObjectSet("statuslbl5xxd", OBJPROP_XDISTANCE, 260); ObjectSet("statuslbl5xxd", OBJPROP_YDISTANCE, 150); } } return (0.0); } double UpdateStatus() { string l_dbl2str_16; double ld_24; int l_count_32; int li_unused_0 = 85; int li_4 = 85; int l_corner_8 = 0; int li_12 = 1; if (IsOptimization() != TRUE || IsTesting() != TRUE) { l_dbl2str_16 = DoubleToStr(NormalizeDouble(AccountBalance() - GlobalVariableGet("bbal"), 2), 2); if (Hour() == UpdateHour && sendemail == 1 && sm != 1) { SendMail("From Neuro Net", "Account #" + AccountNumber() + " Update. Account Balance: " + csym + DoubleToStr(NormalizeDouble(AccountBalance(), 2), 2) + " Floating Balance: " + OrdersTotal() + " / " + csym + DoubleToStr(NormalizeDouble(AccountEquity() - AccountBalance(), 2), 2) + " Profit this session: " + l_dbl2str_16); sm = 1; } if (li_12 >= 2) { if (li_12 == 2) { } } else { li_4 = -65; if (DisplayPairWatch == 1) { ObjectSetText("hdr1abaaq", Symbol(), 10, "Accord Light SF", NNPairWClr); ObjectSetText("hdr1acaaq", DoubleToStr(NormalizeDouble(Ask, Digits), Digits), 10, "Accord Light SF", NNPairWClr); if (Ask > prvbd) { if (Digits == 5) ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits, 2), 26, "Accord Light SF", NNClrGood); if (Digits == 3) ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits, 3), 26, "Accord Light SF", NNClrGood); if (Digits == 4 && Symbol() != "USDCZK" && Symbol() != "USDMXN" && Symbol() != "USDZAR") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits, 2), 26, "Accord Light SF", NNClrGood); if (Digits == 4 && Symbol() == "USDCZK" || Symbol() == "USDMXN" || Symbol() == "USDZAR") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits + 1, 2), 26, "Accord Light SF", NNClrGood); if (Digits == 2 && Symbol() != "GBPJPY" && Symbol() != "EURJPY") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits + 1, 2), 26, "Accord Light SF", NNClrGood); if (Digits == 2 && Symbol() == "GBPJPY" || Symbol() == "EURJPY") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits + 2, 2), 26, "Accord Light SF", NNClrGood); ObjectSetText("hdr1afaaq", "UP", 10, "Accord Light SF", NNClrGood); ObjectSet("hdr1afaaq", OBJPROP_CORNER, l_corner_8); ObjectSet("hdr1afaaq", OBJPROP_XDISTANCE, li_4 + 470); ObjectSet("hdr1afaaq", OBJPROP_YDISTANCE, 96); } else { if (Digits == 5) ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits, 2), 26, "Accord Light SF", NNClrWarn); if (Digits == 3) ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits, 3), 26, "Accord Light SF", NNClrWarn); if (Digits == 4 && Symbol() != "USDCZK" && Symbol() != "USDMXN" && Symbol() != "USDZAR") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits, 2), 26, "Accord Light SF", NNClrWarn); if (Digits == 4 && Symbol() == "USDCZK" || Symbol() == "USDMXN" || Symbol() == "USDZAR") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits + 1, 2), 26, "Accord Light SF", NNClrWarn); if (Digits == 2 && Symbol() != "GBPJPY" && Symbol() != "EURJPY") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits + 1, 2), 26, "Accord Light SF", NNClrWarn); if (Digits == 2 && Symbol() == "GBPJPY" || Symbol() == "EURJPY") ObjectSetText("hdr1aeaaq", StringSubstr(DoubleToStr(NormalizeDouble(Ask, Digits), Digits), Digits + 2, 2), 26, "Accord Light SF", NNClrWarn); ObjectSetText("hdr1afaaq", "DOWN", 10, "Accord Light SF", NNClrWarn); ObjectSet("hdr1afaaq", OBJPROP_CORNER, l_corner_8); ObjectSet("hdr1afaaq", OBJPROP_XDISTANCE, li_4 + 456); ObjectSet("hdr1afaaq", OBJPROP_YDISTANCE, 96); } ObjectSetText("hdr1afaaqzq", "Spread: " + DoubleToStr(NormalizeDouble(MarketInfo(Symbol(), MODE_SPREAD), 0), 0), 10, "Accord Light SF", NNClrSpread); } ObjectSetText("totalprofa", csym + l_dbl2str_16 + " (" + DoubleToStr(NormalizeDouble(100 / bbal * StrToDouble(l_dbl2str_16), 2), 2) + "%)", 10, "Accord Light SF", NNClrGood); ObjectSetText("statuslbl3a", csym + DoubleToStr(NormalizeDouble(AccountBalance(), 2), 2), 10, "Accord Light SF", NNClrGood); ObjectSetText("statuslblab", "(" + OrdersTotal() + "/" + csym + DoubleToStr(NormalizeDouble(AccountEquity() - AccountBalance(), 2), 2) + ")", 9, "Accord Light SF", NNClrGood); if (TimeMinute(TimeCurrent()) <= 0) ObjectSetText("statuslbl2", "Date: " + Month() + "/" + Day() + "/" + Year() + " " + TimeHour(TimeCurrent()) + ":0" + TimeMinute(TimeCurrent()) + " ", 9, "Accord Light SF", NNGUIText); else ObjectSetText("statuslbl2", "Date: " + Month() + "/" + Day() + "/" + Year() + " " + TimeHour(TimeCurrent()) + ":" + TimeMinute(TimeCurrent()) + " ", 9, "Accord Light SF", NNGUIText); ld_24 = 0.0; l_count_32 = 0; for (int l_pos_36 = 0; l_pos_36 < OrdersTotal(); l_pos_36++) { OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == mnmbr) { ld_24 += OrderLots(); l_count_32++; } } if (maxord == 0 || OrdersTotal() >= maxord) ObjectSetText("statuslblaa", DoubleToStr(NormalizeDouble(ld_24, 2), 2) + " lots (" + l_count_32 + "/" + maxord + ")", 10, "Accord Light SF", NNClrmedium); else ObjectSetText("statuslblaa", DoubleToStr(NormalizeDouble(ld_24, 2), 2) + " lots (" + l_count_32 + "/" + maxord + ")", 10, "Accord Light SF", NNClrGood); ObjectSetText("statuslblba", "Enabled", 10, "Accord Light SF", NNClrGood); ObjectSetText("statuslbl5", omsg, 10, "Accord Light SF", oclr); if (opmsg > 35.0) { ObjectSetText("statuslbl5x", "%" + DoubleToStr(NormalizeDouble(opmsg, 2), 1), 9, "Accord Light SF", NNClrmedium); if (opmsg > 70.0) ObjectSetText("statuslbl5x", "%" + DoubleToStr(NormalizeDouble(opmsg, 2), 1), 9, "Accord Light SF", NNClrGood); } else ObjectSetText("statuslbl5x", "%" + DoubleToStr(NormalizeDouble(opmsg, 2), 1), 9, "Accord Light SF", NNClrWarn); if (opmsg2 > 35.0) { ObjectSetText("statuslbl5xxd", "%" + DoubleToStr(NormalizeDouble(opmsg2, 2), 1), 9, "Accord Light SF", NNClrmedium); if (opmsg2 > 70.0) ObjectSetText("statuslbl5xxd", "%" + DoubleToStr(NormalizeDouble(opmsg2, 2), 1), 9, "Accord Light SF", NNClrGood); } else ObjectSetText("statuslbl5xxd", "%" + DoubleToStr(NormalizeDouble(opmsg2, 2), 1), 9, "Accord Light SF", NNClrWarn); } } return (0.0); } double InputsCheck() { int li_0; if (Digits == 5 && fdc != 1) { if (UseTakeProfit > 0) { li_0 = 10 * UseTakeProfit; UseTakeProfit = li_0; } fdc = 1; } if (Digits == 3 && fdc != 1) { if (UseTakeProfit > 0) { li_0 = 10 * UseTakeProfit; UseTakeProfit = li_0; } fdc = 1; } return (0.0); } double SetBalances() { if (GlobalVariableGet("bbal") == 0.0 || GlobalVariableGet("anmbr") != AccountNumber()) { GlobalVariableSet("bbal", AccountBalance()); GlobalVariableSet("anmbr", AccountNumber()); sbal = AccountBalance(); } else { bbal = GlobalVariableGet("bbal"); sbal = AccountBalance(); } return (0.0); } double CheckDates() { if (TradeSunday == 0 && DayOfWeek() == 0) { ResetMaxord(); omsg = "Trading not allowed on this day."; oclr = Crimson; return (0); } if (TradeMonday == 0 && DayOfWeek() == 1) { ResetMaxord(); omsg = "Trading not allowed on this day."; oclr = Crimson; return (0); } if (TradeTuesday == 0 && DayOfWeek() == 2) { ResetMaxord(); omsg = "Trading not allowed on this day."; oclr = Crimson; return (0); } if (TradeWednesday == 0 && DayOfWeek() == 3) { ResetMaxord(); omsg = "Trading not allowed on this day."; oclr = Crimson; return (0); } if (TradeThursday == 0 && DayOfWeek() == 4) { ResetMaxord(); omsg = "Trading not allowed on this day."; oclr = Crimson; return (0); } if (TradeFriday == 0 && DayOfWeek() == 5) { ResetMaxord(); omsg = "Trading not allowed on this day."; oclr = Crimson; return (0); } if (DayOfWeek() == 6) { ResetMaxord(); omsg = "Trading not allowed on this day."; oclr = Crimson; return (0); } omsg = "Waiting on trend."; oclr = NNClrGood; return (0.0); } double ResetMaxord() { if (maxord > 0) { if (omaxord > 0) { omaxord = maxord; maxord = 0; } } return (0.0); } double ErrorCheck() { if (!IsExpertEnabled()) { omsg = "Expert Advisors Disabled - Ctrl+E"; oclr = NNClrWarn; ResetMaxord(); return (3); } if (!IsTradeAllowed()) { omsg = "Allow Live Trades Unchecked - F7"; oclr = NNClrWarn; ResetMaxord(); if (boxcheck != 1) MessageBox("Live Trading of Neuro Net is not being allowed. Hit F7 on your keyboard. Click the Common tab and please put a checkmark in Allow Live Trades towards the bottom left.", "Live Trading Disabled", MB_ICONEXCLAMATION); boxcheck = 1; return (3); } if (Hour() == 20 && Minute() == 59 && DayOfWeek() == 5 || DayOfWeek() == 6 || DayOfWeek() == 0) { omsg = "Market Closed"; oclr = NNClrWarn; ResetMaxord(); return (3); } return (1); } double CntOrders() { ocnt = 0; osellcnt = 0; obuycnt = 0; symprofit = 0.0; for (int l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == mnmbr && OrderType() == OP_SELLSTOP) { symsellprofit += OrderProfit(); osellcnt++; } } for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == mnmbr && OrderType() == OP_SELL) { symsellprofit += OrderProfit(); osellcnt++; } } for (int l_pos_8 = 0; l_pos_8 < OrdersTotal(); l_pos_8++) { OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == mnmbr && OrderType() == OP_BUYSTOP) { symbuyprofit += OrderProfit(); obuycnt++; } } for (int l_pos_12 = 0; l_pos_12 < OrdersTotal(); l_pos_12++) { OrderSelect(l_pos_12, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == mnmbr && OrderType() == OP_BUY) { symbuyprofit += OrderProfit(); obuycnt++; } } if (ocnt <= 0) { ocnt = 0; symprofit = 0.0; } return (0.0); } double SetVariables() { opmsg = 0.0; opmsg2 = 0.0; omsg = "Loading..."; oclr = NNClrmedium; lbp = 0.0; lsp = 0.0; mnmbr = MagicNumber; return (0.0); } double DoRiskCalculation() { double ld_0; double ld_8; string l_symbol_16; if (sl == 0) { sl = 40; if (Digits == 5) sl = 10 * sl; if (Digits == 3) sl = 10 * sl; } if (sl < MarketInfo(Symbol(), MODE_STOPLEVEL)) sl = MarketInfo(Symbol(), MODE_STOPLEVEL); if (tsl == 0.0) { if (Digits == 3 || Digits == 5) tsl = 400; else tsl = 40; } if (tsl < MarketInfo(Symbol(), MODE_STOPLEVEL)) tsl = MarketInfo(Symbol(), MODE_STOPLEVEL); if (MaxOrders > 0) maxord = MaxOrders; else maxord = 10; double ld_24 = 100000; if (UseLots == 0.0) { if (StringSubstr(Symbol(), 3, 3) == "USD") ld_8 = ld_24 * MarketInfo(Symbol(), MODE_TICKSIZE); else { if (StringSubstr(Symbol(), 0, 3) == "USD") ld_8 = ld_24 * MarketInfo(Symbol(), MODE_TICKSIZE) / Ask; else { if (StringSubstr(Symbol(), 3, 3) != "CHF" && StringSubstr(Symbol(), 3, 3) != "JPY" && StringSubstr(Symbol(), 3, 3) != "CAD" && StringSubstr(Symbol(), 3, 3) != "DKK") ld_8 = ld_24 * MarketInfo(Symbol(), MODE_TICKSIZE) * MarketInfo(StringSubstr(Symbol(), 3, 3) + "USD" + StringSubstr(Symbol(), 6, StringLen(Symbol()) - 6), MODE_ASK); else { l_symbol_16 = "USD" + StringSubstr(Symbol(), 3, StringLen(Symbol()) - 3); if (StringSubstr(Symbol(), 3, 3) == "CHF") ld_8 = ld_24 * MarketInfo(Symbol(), MODE_TICKSIZE) / MarketInfo(l_symbol_16, MODE_ASK); else { if (StringSubstr(Symbol(), 3, 3) == "JPY") ld_8 = ld_24 * MarketInfo(Symbol(), MODE_TICKSIZE) / MarketInfo(l_symbol_16, MODE_ASK); if (StringSubstr(Symbol(), 3, 3) == "CAD") ld_8 = ld_24 * MarketInfo(Symbol(), MODE_TICKSIZE) / MarketInfo(l_symbol_16, MODE_ASK); if (StringSubstr(Symbol(), 3, 3) == "DKK") ld_8 = ld_24 * MarketInfo(Symbol(), MODE_TICKSIZE) / MarketInfo(l_symbol_16, MODE_ASK); } } } } lots = AccountFreeMargin() * (MaxRiskPercent / 100.0) / maxord / sl / ld_8; if (MinLot > 0.0) ld_0 = MinLot; else ld_0 = MarketInfo(Symbol(), MODE_MINLOT); if (lots < ld_0) for (maxord = 10; maxord == 1 || lots > ld_0; maxord--) lots = AccountFreeMargin() * (MaxRiskPercent / 100.0) / maxord / sl / ld_8; } else lots = UseLots; if (lots < ld_0) lots = ld_0; if (lots > MarketInfo(Symbol(), MODE_MAXLOT)) lots = MarketInfo(Symbol(), MODE_MAXLOT); if (maxord > 0) omaxord = maxord; InputsCheck(); return (0.0); } string CheckSerial() { string ls_0; string ls_8 = "NN5"; for (int li_16 = 0; li_16 < StringLen(Name); li_16++) { ls_0 = StringGetChar(Name, li_16); ls_8 = ls_8 + ls_0; } return (StringSubstr(ls_8, 0, 13)); } string CheckBAKey() { string ls_0; string ls_8 = "NNB"; for (int li_16 = 0; li_16 < StringLen(Name); li_16++) { ls_0 = StringGetChar(Name, li_16) / 2; ls_8 = ls_8 + ls_0; } return (StringSubstr(ls_8, 0, 9)); } string CheckLiveKey() { string ls_0; string ls_unused_8 = ""; string ls_16 = ""; string ls_24 = ""; string ls_40 = ""; ls_40 = AccountCompany(); for (int li_48 = 0; li_48 < StringLen(ls_40); li_48++) { ls_0 = StringGetChar(ls_40, li_48); ls_16 = ls_16 + ls_0; } for (int li_52 = 0; li_52 < StringLen(Name); li_52++) { ls_0 = StringGetChar(Name, li_52); ls_24 = ls_24 + ls_0; } double ld_32 = (StrToDouble(ls_24) + StrToDouble(ls_16)) / 4.0; ls_16 = DoubleToStr(ld_32, 0); return (StringSubstr(ls_16, 0, 12)); } int CountBuyOrders() { int l_ord_total_0 = OrdersTotal(); int l_count_4 = 0; for (int l_pos_8 = 0; l_pos_8 < l_ord_total_0; l_pos_8++) { OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUY && OrderSymbol() == Symbol()) l_count_4++; } return (l_count_4); } int CountSellOrders() { int l_ord_total_0 = OrdersTotal(); int l_count_4 = 0; for (int l_pos_8 = 0; l_pos_8 < l_ord_total_0; l_pos_8++) { OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_SELL && OrderSymbol() == Symbol()) l_count_4++; } return (l_count_4); } double aprofCheck() { double l_str2dbl_0; if (NormalizeDouble(AccountBalance() - GlobalVariableGet("bbal"), 2) > 0.0) { if (GlobalVariableGet("live_key") != StrToDouble(StringSubstr(CheckLiveKey(), 0, 12))) { l_str2dbl_0 = StrToDouble(StringSubstr(CheckLiveKey(), 0, 12)); GlobalVariableSet("live_key", l_str2dbl_0); } if (IsDemo() == TRUE && lkchk != CheckLiveKey()) { ObjectSetText("hdr1aqzq", "Live Key View(F3)", 10, "Accord Light SF", NNClrGood); ObjectSet("hdr1aqzq", OBJPROP_XDISTANCE, 358); ObjectSet("hdr1aqzq", OBJPROP_YDISTANCE, 138); } } return (0.0); } double nanobot() { double l_price_40; double ld_48; double l_pips_56; bool li_68; bool li_72; double ld_0 = 9; double ld_8 = 40; double ld_16 = 20; double ld_24 = 9; double ld_32 = 20; int l_ord_total_64 = OrdersTotal(); if (Digits == 5 || Digits == 3) ld_24 = 10.0 * ld_24; if (Digits == 5 || Digits == 3) ld_32 = 10.0 * ld_32; sl = 40; if (Digits == 5) sl = 10 * sl; if (Digits == 3) sl = 10 * sl; for (int l_pos_80 = 0; l_pos_80 < l_ord_total_64; l_pos_80++) { OrderSelect(l_pos_80, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == mnmbr) { if (OrderType() == OP_BUYSTOP && Bid > OrderOpenPrice() + 7.0 * Point || OrderType() == OP_BUYSTOP && longtrend < 80.0) if (longtrend > 0.0) OrderDelete(OrderTicket(), CLR_NONE); if (OrderType() == OP_SELLSTOP && Ask < OrderOpenPrice() - 7.0 * Point || OrderType() == OP_SELLSTOP && shortrend < 80.0) if (shortrend > 0.0) OrderDelete(OrderTicket(), CLR_NONE); if (OrderType() == OP_BUY) { li_68 = TRUE; if (shortrend >= 70.0 && Ask > OrderOpenPrice() + ld_32 * Point || longtrend < 80.0 && Ask > OrderOpenPrice() + ld_32 * Point || iAC(NULL, PERIOD_H1, 0) < 0.0 && Ask > OrderOpenPrice() + ld_32 * Point || longtrend < 70.0) { if (Digits == 5 || Digits == 3) l_pips_56 = 200; else l_pips_56 = 20; if (Digits == 5 || Digits == 3) tsl = 10.0 * ld_0; else tsl = ld_0; } if (shortrend < 40.0 && tsl > ld_32) { if (Digits == 5 || Digits == 3) l_pips_56 = 2000; else l_pips_56 = 200; if (Digits == 5 || Digits == 3) tsl = 10.0 * ld_8; else tsl = ld_8; } if (shortrend < 70.0 && shortrend > 40.0 && tsl > ld_24) { if (Digits == 5 || Digits == 3) l_pips_56 = 800; else l_pips_56 = 80; if (Digits == 5 || Digits == 3) tsl = 10.0 * ld_16; else tsl = ld_16; } if (tsl > 0.0) { l_price_40 = Bid - Point * tsl; ld_48 = OrderOpenPrice() - sl * Point; if (l_price_40 > OrderOpenPrice() + Point * MarketInfo(Symbol(), MODE_SPREAD) && l_price_40 > OrderStopLoss() || OrderStopLoss() == 0.0) { if (EnableDebugDisplay == 1) { newdebugmsg = "Modify BUY Order " + OrderTicket() + " SL " + DoubleToStr(NormalizeDouble(OrderStopLoss(), Digits), Digits) + " to " + DoubleToStr(NormalizeDouble(Ask - tsl * Point, Digits), Digits) + " for " + StringSubstr(DoubleToStr(NormalizeDouble(Ask - tsl * Point - OrderStopLoss(), Digits), Digits), StringLen(DoubleToStr(NormalizeDouble(Ask - tsl * Point - OrderStopLoss(), Digits), Digits)) - 2, 2) + " pips"; ResetDebugMsgs(); UpdateDebugGui(); } if (UseTakeProfit == 0) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_40, 0, 0, Red); else { if (l_pips_56 > 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_40, Ask + l_pips_56 * Point, 0, Red); else OrderModify(OrderTicket(), OrderOpenPrice(), l_price_40, OrderTakeProfit(), 0, Red); } } } } if (OrderType() == OP_SELL) { li_72 = TRUE; if (longtrend >= 80.0 && Ask < OrderOpenPrice() - ld_32 * Point || shortrend < 80.0 && Ask < OrderOpenPrice() - ld_32 * Point || iAC(NULL, PERIOD_H1, 0) > 0.0 && Ask < OrderOpenPrice() - ld_32 * Point || shortrend < 70.0) { if (Digits == 5 || Digits == 3) l_pips_56 = 200; else l_pips_56 = 20; if (Digits == 5 || Digits == 3) tsl = 10.0 * ld_0; else tsl = ld_0; } if (longtrend < 40.0 && tsl > ld_32) { if (Digits == 5 || Digits == 3) l_pips_56 = 2000; else l_pips_56 = 200; if (Digits == 5 || Digits == 3) tsl = 10.0 * ld_8; else tsl = ld_8; } if (longtrend < 80.0 && longtrend > 40.0 && tsl > ld_24) { if (Digits == 5 || Digits == 3) l_pips_56 = 800; else l_pips_56 = 80; if (Digits == 5 || Digits == 3) tsl = 10.0 * ld_16; else tsl = ld_16; } if (tsl > 0.0) { l_price_40 = Ask + Point * tsl; ld_48 = OrderOpenPrice() + sl * Point; if (NormalizeDouble(l_price_40, Digits) < OrderOpenPrice() - Point * MarketInfo(Symbol(), MODE_SPREAD) && OrderStopLoss() > NormalizeDouble(l_price_40, Digits) || OrderStopLoss() == 0.0) { if (EnableDebugDisplay == 1) { newdebugmsg = "Modify SELL " + OrderTicket() + " SL " + DoubleToStr(NormalizeDouble(OrderStopLoss(), Digits), Digits) + " to " + DoubleToStr(NormalizeDouble(Bid + tsl * Point, Digits), Digits) + " for " + StringSubstr(DoubleToStr(NormalizeDouble(OrderStopLoss() - Bid + tsl * Point, Digits), Digits), StringLen(DoubleToStr(NormalizeDouble(OrderStopLoss() - Bid + tsl * Point, Digits), Digits)) - 2, 2) + " pips"; ResetDebugMsgs(); UpdateDebugGui(); } if (UseTakeProfit == 0) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_40, 0, 0, Red); else { if (l_pips_56 > 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_40, Bid - l_pips_56 * Point, 0, Red); else OrderModify(OrderTicket(), OrderOpenPrice(), l_price_40, OrderTakeProfit(), 0, Red); } if (GetLastError() > 0/* NO_ERROR */) { } } } } if (li_68 == TRUE) if (longtrend < 30.0) ltchkcnt++; if (li_72 == TRUE) if (shortrend < 30.0) stchkcnt++; if (OrderType() == OP_BUY) { ld_48 = OrderOpenPrice() - sl * Point; if (Bid <= ld_48) OrderClose(OrderTicket(), OrderLots(), Bid, 7, CloseOrderColor); if (OrderProfit() > 0.0 && ltchkcnt >= 10) stchkcnt = 0; } if (OrderType() == OP_SELL) { ld_48 = OrderOpenPrice() + sl * Point; if (Ask >= ld_48) OrderClose(OrderTicket(), OrderLots(), Ask, 3, CloseOrderColor); if (OrderProfit() > 0.0 && stchkcnt >= 10) stchkcnt = 0; } } } return (0); }