#property copyright "BankSoft v 1.0.11" #property link "" #include int gi_76 = 0; extern double ÀÌÀͽÇÇö = 0.0; extern double ¼ÕÀý¸Å = 0.0; extern double ¸Å¸Å´ÜÀ§_Lots = 1.0; extern bool ½Ç°Å·¡°¡´É = TRUE; extern bool ¸Å¸ÅÈĽÅÈ£´ë±â = TRUE; double g_lots_112 = 1.0; double gd_unused_120 = 5.0; int g_slippage_128 = 3; bool gi_132 = TRUE; int gi_136 = 14; bool gi_unused_140 = TRUE; int gi_unused_144 = 2; int g_pos_148; int g_ticket_152; int g_ord_total_156; double g_close_160; double gd_168; int gi_176; int gia_unused_180[]; int gi_unused_184 = 1; int gi_unused_188 = 0; int gi_192 = 0; bool g_ord_close_196 = FALSE; int g_count_200 = 0; int gi_unused_204 = 0; int gi_208 = 0; int gi_212 = 0; bool gi_unused_216 = FALSE; int g_bars_220 = 0; int g_magic_224 = 22212; bool gi_228 = TRUE; int gi_unused_232 = 2009; int gi_unused_236 = 9; int gi_unused_240 = 29; int gi_unused_244 = 14; int gi_unused_248 = 0; int g_color_252 = DodgerBlue; int g_color_256 = OrangeRed; int gi_unused_260 = 8388608; int gi_unused_264 = 255; int gi_268 = 0; string gs_triangle_272 = "Triangle"; double g_price_280 = 0.0; double g_price_288 = 0.0; int init() { double l_price_4; double l_price_12; if (pbcon_Login("XCXB20091019-5591", "BankSoft Expert")) { Print("·Î±×ÀÎ ¼º°ø"); gi_76++; } else { Print("·Î±×ÀÎ ½ÇÆÐ"); return (0); } if (gi_228 == FALSE) return (0); int li_0 = Hour() + 9; g_lots_112 = ¸Å¸Å´ÜÀ§_Lots; g_close_160 = Close[1]; gd_168 = GetIndicatorVar(); gi_176 = Crossed(g_close_160, gd_168); g_ord_total_156 = OrdersTotal(); g_count_200 = 0; for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) g_count_200++; } if (g_count_200 < 1 && ¸Å¸ÅÈĽÅÈ£´ë±â == FALSE) { if (gi_176 == 1) { g_ticket_152 = -1; if (ÀÌÀͽÇÇö == 0.0 && ¼ÕÀý¸Å == 0.0) { if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_BUY, g_lots_112, Ask, g_slippage_128, 0, 0, "BankSoft EA", g_magic_224, 0, Green); else MakeObject("BUY", 1); } else { if (½Ç°Å·¡°¡´É == TRUE) { g_price_280 = 0; g_price_288 = 0; if (¼ÕÀý¸Å != 0.0) g_price_280 = Ask - ¼ÕÀý¸Å * Point; if (ÀÌÀͽÇÇö != 0.0) g_price_288 = Ask + ÀÌÀͽÇÇö * Point; g_ticket_152 = OrderSend(Symbol(), OP_BUY, g_lots_112, Ask, g_slippage_128, g_price_280, g_price_288, "BankSoft EA", g_magic_224, 0, Green); } else MakeObject("BUY", 1); } if (g_ticket_152 > 0) { if (OrderSelect(g_ticket_152, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if (gi_176 == 2) { g_ticket_152 = -1; if (ÀÌÀͽÇÇö == 0.0 && ¼ÕÀý¸Å == 0.0) { if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_SELL, g_lots_112, Bid, g_slippage_128, 0, 0, "BankSoft EA", g_magic_224, 0, Red); else MakeObject("SELL", 2); } else { if (½Ç°Å·¡°¡´É == TRUE) { l_price_4 = 0; l_price_12 = 0; if (¼ÕÀý¸Å != 0.0) l_price_4 = Bid + ¼ÕÀý¸Å * Point; if (ÀÌÀͽÇÇö != 0.0) l_price_12 = Bid - ÀÌÀͽÇÇö * Point; g_ticket_152 = OrderSend(Symbol(), OP_SELL, g_lots_112, Bid, g_slippage_128, l_price_4, l_price_12, "BankSoft EA", g_magic_224, 0, Red); } else MakeObject("SELL", 2); } if (g_ticket_152 > 0) { if (OrderSelect(g_ticket_152, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); } else Print("Error opening SELL order : ", GetLastError()); return (0); } return (0); } if (gi_176 == 1 && g_bars_220 != Bars) { for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) { Alert(Symbol() + " ¸Å¼ö½ÅÈ£¹ß»ý, ¸ÅµµÆ÷Áö¼Ç Á¤¸®"); gi_192 = OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); gi_192 = OrderType(); if (gi_192 == 1 || gi_192 == 3 || gi_192 == 5) { if (½Ç°Å·¡°¡´É == TRUE) g_ord_close_196 = FALSE; else { g_ord_close_196 = TRUE; MakeObject("BUY", 1); } while (!g_ord_close_196) { g_ord_close_196 = OrderClose(OrderTicket(), OrderLots(), Ask, g_slippage_128, Violet); Sleep(300); } } } } g_lots_112 = ¸Å¸Å´ÜÀ§_Lots; gi_unused_184 = 1; g_ticket_152 = -1; g_ord_total_156 = OrdersTotal(); g_count_200 = 0; for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) g_count_200++; } if (g_count_200 < 1 && ¸Å¸ÅÈĽÅÈ£´ë±â == FALSE) { if (ÀÌÀͽÇÇö == 0.0 && ¼ÕÀý¸Å == 0.0) { if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_BUY, g_lots_112, Ask, g_slippage_128, 0, 0, "BankSoft EA", g_magic_224, 0, Green); else MakeObject("BUY", 1); } else { l_price_4 = 0; l_price_12 = 0; if (¼ÕÀý¸Å != 0.0) l_price_4 = Ask - ¼ÕÀý¸Å * Point; if (ÀÌÀͽÇÇö != 0.0) l_price_12 = Ask + ÀÌÀͽÇÇö * Point; if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_BUY, g_lots_112, Ask, g_slippage_128, l_price_4, l_price_12, "BankSoft EA", g_magic_224, 0, Green); else MakeObject("BUY", 1); } if (g_ticket_152 > 0) { if (OrderSelect(g_ticket_152, SELECT_BY_TICKET, MODE_TRADES)) { Print("BUY order opened : ", OrderOpenPrice()); g_bars_220 = Bars; } } else Print("Error opening BUY order : ", GetLastError()); } return (0); } if (gi_176 == 2 && g_bars_220 != Bars) { for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) { Alert(Symbol() + " ¸Åµµ½ÅÈ£¹ß»ý, ¸Å¼öÆ÷Áö¼Ç Á¤¸®"); gi_192 = OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); gi_192 = OrderType(); if (gi_192 == 0 || gi_192 == 2 || gi_192 == 4) { if (½Ç°Å·¡°¡´É == TRUE) g_ord_close_196 = FALSE; else { g_ord_close_196 = TRUE; MakeObject("SELL", 2); } while (!g_ord_close_196) { g_ord_close_196 = OrderClose(OrderTicket(), OrderLots(), Bid, g_slippage_128, Violet); Sleep(300); } } } } g_lots_112 = ¸Å¸Å´ÜÀ§_Lots; gi_unused_184 = 1; g_ticket_152 = -1; g_ord_total_156 = OrdersTotal(); g_count_200 = 0; for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) g_count_200++; } if (g_count_200 < 1 && ¸Å¸ÅÈĽÅÈ£´ë±â == FALSE) { if (ÀÌÀͽÇÇö == 0.0 && ¼ÕÀý¸Å == 0.0) { if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_SELL, g_lots_112, Bid, g_slippage_128, 0, 0, "BankSoft EA", g_magic_224, 0, Red); else MakeObject("SELL", 2); } else { l_price_4 = 0; l_price_12 = 0; if (¼ÕÀý¸Å != 0.0) l_price_4 = Bid + ¼ÕÀý¸Å * Point; if (ÀÌÀͽÇÇö != 0.0) l_price_12 = Bid - ÀÌÀͽÇÇö * Point; if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_SELL, g_lots_112, Bid, g_slippage_128, l_price_4, l_price_12, "BankSoft EA", g_magic_224, 0, Red); else MakeObject("SELL", 2); } if (g_ticket_152 > 0) { if (OrderSelect(g_ticket_152, SELECT_BY_TICKET, MODE_TRADES)) { Print("SELL order opened : ", OrderOpenPrice()); g_bars_220 = Bars; } } else Print("Error opening SELL order : ", GetLastError()); } return (0); } return (0); } int deinit() { DeleteAllArrowObjects(); int l_reason_0 = UninitializeReason(); if (l_reason_0 != REASON_CHARTCLOSE) if (l_reason_0 != REASON_REMOVE) return (0); if (gi_76 > 0) { pbcon_Unload(); gi_76--; } return (0); } int Crossed(double ad_0, double ad_8) { if (ad_0 > ad_8) gi_212 = 1; if (ad_0 < ad_8) gi_212 = 2; if (ad_0 == ad_8) gi_212 = 0; if (gi_212 != gi_208) { gi_208 = gi_212; return (gi_212); } return (0); } double GetIndicatorVar() { double l_icustom_0; l_icustom_0 = iCustom(NULL, 0, "BankSoft_1.0.11", gi_132, gi_136, gi_136, 2.957, 14, 16711680, 255, 0, 1); return (l_icustom_0); } int start() { double l_price_4; double l_price_12; if (pbcon_Usable() == 0) { deinit(); return (0); } if (gi_228 == FALSE) return (0); int li_0 = Hour() + 9; g_close_160 = Close[1]; gd_168 = GetIndicatorVar(); if (gd_168 == 0.0) return (0); gi_176 = Crossed(g_close_160, gd_168); g_ord_total_156 = OrdersTotal(); g_count_200 = 0; for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) g_count_200++; } if (g_count_200 < 1 && ¸Å¸ÅÈĽÅÈ£´ë±â == FALSE) { if (gi_176 == 1) { g_lots_112 = ¸Å¸Å´ÜÀ§_Lots; g_ticket_152 = -1; if (ÀÌÀͽÇÇö == 0.0 && ¼ÕÀý¸Å == 0.0) { if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_BUY, g_lots_112, Ask, g_slippage_128, 0, 0, "BankSoft EA", g_magic_224, 0, Green); else MakeObject("BUY", 1); } else { l_price_4 = 0; l_price_12 = 0; if (¼ÕÀý¸Å != 0.0) l_price_4 = Ask - ¼ÕÀý¸Å * Point; if (ÀÌÀͽÇÇö != 0.0) l_price_12 = Ask + ÀÌÀͽÇÇö * Point; if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_BUY, g_lots_112, Ask, g_slippage_128, l_price_4, l_price_12, "BankSoft EA", g_magic_224, 0, Green); else MakeObject("BUY", 1); } if (g_ticket_152 > 0) { if (OrderSelect(g_ticket_152, SELECT_BY_TICKET, MODE_TRADES)) { Print("BUY order opened : ", OrderOpenPrice()); g_bars_220 = Bars; } } else Print("Error opening BUY order : ", GetLastError()); gi_208 = FALSE; return (0); } if (gi_176 == 2) { g_lots_112 = ¸Å¸Å´ÜÀ§_Lots; g_ticket_152 = -1; if (ÀÌÀͽÇÇö == 0.0 && ¼ÕÀý¸Å == 0.0) { if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_SELL, g_lots_112, Bid, g_slippage_128, 0, 0, "BankSoft EA", g_magic_224, 0, Red); else MakeObject("SELL", 2); } else { l_price_4 = 0; l_price_12 = 0; if (¼ÕÀý¸Å != 0.0) l_price_4 = Bid + ¼ÕÀý¸Å * Point; if (ÀÌÀͽÇÇö != 0.0) l_price_12 = Bid - ÀÌÀͽÇÇö * Point; if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_SELL, g_lots_112, Bid, g_slippage_128, l_price_4, l_price_12, "BankSoft EA", g_magic_224, 0, Red); else MakeObject("SELL", 2); } if (g_ticket_152 > 0) { if (OrderSelect(g_ticket_152, SELECT_BY_TICKET, MODE_TRADES)) { Print("SELL order opened : ", OrderOpenPrice()); g_bars_220 = Bars; } } else Print("Error opening SELL order : ", GetLastError()); gi_208 = FALSE; return (0); } gi_208 = FALSE; return (0); } if (gi_176 == 1 && g_bars_220 != Bars) { for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) { Alert(Symbol() + " ¸Å¼ö½ÅÈ£¹ß»ý, ¸ÅµµÆ÷Áö¼Ç Á¤¸®"); gi_192 = OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); gi_192 = OrderType(); if (gi_192 == 1 || gi_192 == 3 || gi_192 == 5) { g_ord_close_196 = FALSE; if (½Ç°Å·¡°¡´É == TRUE) g_ord_close_196 = FALSE; else { g_ord_close_196 = TRUE; MakeObject("BUY", 1); } while (!g_ord_close_196) { g_ord_close_196 = OrderClose(OrderTicket(), OrderLots(), Ask, g_slippage_128, Violet); Sleep(300); } } } } g_lots_112 = ¸Å¸Å´ÜÀ§_Lots; gi_unused_184 = 1; g_ticket_152 = -1; g_ord_total_156 = OrdersTotal(); g_count_200 = 0; for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) g_count_200++; } if (g_count_200 < 1) { if (ÀÌÀͽÇÇö == 0.0 && ¼ÕÀý¸Å == 0.0) { if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_BUY, g_lots_112, Ask, g_slippage_128, 0, 0, "BankSoft EA", g_magic_224, 0, Green); else MakeObject("BUY", 1); } else { l_price_4 = 0; l_price_12 = 0; if (¼ÕÀý¸Å != 0.0) l_price_4 = Ask - ¼ÕÀý¸Å * Point; if (ÀÌÀͽÇÇö != 0.0) l_price_12 = Ask + ÀÌÀͽÇÇö * Point; if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_BUY, g_lots_112, Ask, g_slippage_128, l_price_4, l_price_12, "BankSoft EA", g_magic_224, 0, Green); else MakeObject("BUY", 1); } if (g_ticket_152 > 0) { if (OrderSelect(g_ticket_152, SELECT_BY_TICKET, MODE_TRADES)) { Print("BUY order opened : ", OrderOpenPrice()); g_bars_220 = Bars; } } else Print("Error opening BUY order : ", GetLastError()); return (0); } } if (gi_176 == 2 && g_bars_220 != Bars) { for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) { Alert(Symbol() + " ¸Åµµ½ÅÈ£¹ß»ý, ¸Å¼öÆ÷Áö¼Ç Á¤¸®"); gi_192 = OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); gi_192 = OrderType(); if (gi_192 == 0 || gi_192 == 2 || gi_192 == 4) { g_ord_close_196 = FALSE; if (½Ç°Å·¡°¡´É == TRUE) g_ord_close_196 = FALSE; else { g_ord_close_196 = TRUE; MakeObject("SELL", 2); } while (!g_ord_close_196) { g_ord_close_196 = OrderClose(OrderTicket(), OrderLots(), Bid, g_slippage_128, Violet); Sleep(300); } } } } g_lots_112 = ¸Å¸Å´ÜÀ§_Lots; gi_unused_184 = 1; g_ticket_152 = -1; g_ord_total_156 = OrdersTotal(); g_count_200 = 0; for (g_pos_148 = 0; g_pos_148 < g_ord_total_156; g_pos_148++) { OrderSelect(g_pos_148, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_224) g_count_200++; } if (g_count_200 < 1) { if (ÀÌÀͽÇÇö == 0.0 && ¼ÕÀý¸Å == 0.0) { if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_SELL, g_lots_112, Bid, g_slippage_128, 0, 0, "BankSoft EA", g_magic_224, 0, Red); else MakeObject("SELL", 2); } else { l_price_4 = 0; l_price_12 = 0; if (¼ÕÀý¸Å != 0.0) l_price_4 = Bid + ¼ÕÀý¸Å * Point; if (ÀÌÀͽÇÇö != 0.0) l_price_12 = Bid - ÀÌÀͽÇÇö * Point; if (½Ç°Å·¡°¡´É == TRUE) g_ticket_152 = OrderSend(Symbol(), OP_SELL, g_lots_112, Bid, g_slippage_128, l_price_4, l_price_12, "BankSoft EA", g_magic_224, 0, Red); else MakeObject("SELL", 2); } if (g_ticket_152 > 0) { if (OrderSelect(g_ticket_152, SELECT_BY_TICKET, MODE_TRADES)) { Print("SELL order opened : ", OrderOpenPrice()); g_bars_220 = Bars; } } else Print("Error opening SELL order : ", GetLastError()); return (0); } } return (0); } void MakeObject(string as_0, int ai_8) { double l_price_12 = 0; as_0 = as_0 + gi_268; gi_268++; if (ai_8 == 1) { l_price_12 = Close[0] - 2.0 * Point; if (!ObjectCreate(gs_triangle_272 + gi_268, OBJ_ARROW, 0, Time[0], l_price_12)) { Print("error: can\'t create label_object! code #", GetLastError()); return; } ObjectSet(gs_triangle_272 + gi_268, OBJPROP_COLOR, g_color_252); ObjectSet(gs_triangle_272 + gi_268, OBJPROP_ARROWCODE, SYMBOL_ARROWUP); } if (ai_8 == 2) { l_price_12 = Close[0] + 2.0 * Point; if (!ObjectCreate(gs_triangle_272 + gi_268, OBJ_ARROW, 0, Time[0], l_price_12)) Print("error: can\'t create label_object! code #", GetLastError()); else { ObjectSet(gs_triangle_272 + gi_268, OBJPROP_COLOR, g_color_256); ObjectSet(gs_triangle_272 + gi_268, OBJPROP_ARROWCODE, SYMBOL_ARROWDOWN); } } } void DeleteAllArrowObjects() { string l_name_8; int l_count_0 = 0; for (int l_count_4 = 0; l_count_4 <= gi_268; l_count_4++) { l_name_8 = gs_triangle_272 + l_count_4; if (ObjectDelete(l_name_8)) l_count_0++; } Print("Objects deleted: ", l_count_0); }