#property copyright "www.Forex-Advisor.eu" #property link "www.Forex-Advisor.eu" string gs_none_76 = "none"; double gd_84; double gd_92; double gd_100; double gd_108 = 0.0; extern int MAGIC = 123456789; extern double LotSize = 1.0; extern int Slippage = 3; extern bool CloseTradesAtBarEnd = TRUE; extern int MaxTradesAllowed = 1; extern string LongComment = "BUY"; extern string ShortComment = "SELL"; extern color ShortColor = CLR_NONE; extern color LongColor = CLR_NONE; extern bool UseSound = FALSE; extern string SoundFile = "news.wav"; extern bool SendEmail = FALSE; extern int Use1 = 0; extern int Use2 = 0; extern int Use3 = 0; extern int Use4 = 0; extern int Use5 = 0; extern int Use6 = 0; extern int Use7 = 0; extern int Use8 = 0; extern int Use9 = 0; extern int Use10 = 0; extern int Use11 = 0; extern int Use12 = 0; extern int Use13 = 0; extern int Use14 = 0; extern int Use15 = 0; extern int Use16 = 0; extern int Use17 = 0; extern int Use18 = 0; extern int Use19 = 0; extern int Use20 = 0; extern int Use21 = 0; extern int Use22 = 0; extern int Use23 = 0; extern int Use24 = 0; extern int Use25 = 0; extern int Use26 = 0; extern int Use27 = 0; extern int Use28 = 0; extern int Use29 = 0; extern int Use30 = 0; extern int Use31 = 0; extern int Use32 = 0; extern int Use33 = 0; extern int Use34 = 0; extern int Use35 = 0; extern int Use36 = 0; extern int Use37 = 0; extern int Use38 = 0; extern int Use39 = 0; extern int Use40 = 0; extern int Use41 = 0; extern int Use42 = 0; extern int Use43 = 0; extern int Use44 = 0; extern int Use45 = 0; extern int Use46 = 0; extern int Use47 = 0; extern int Use48 = 0; extern int Use49 = 0; extern int Use50 = 0; extern int Use51 = 0; extern int Use52 = 0; extern int Use53 = 0; extern int Use54 = 0; extern int Use55 = 0; extern int Use56 = 0; extern int Use57 = 0; extern int Use58 = 0; int init() { return (0); } int deinit() { return (0); } double VChart(int ai_0, int ai_4) { int li_12; double ld_28; double ld_36; double ld_ret_52; double ld_ret_60; double ld_ret_68; double ld_ret_76; int li_8 = 5; int li_16 = 100; int l_shift_84 = iBarShift(Symbol(), 0, ai_0, TRUE); if (l_shift_84 == -1) Print("Shift err"); if (li_8 < 2) li_12 = 2; if (li_8 > 1000) li_12 = 1000; if (li_8 >= 2 && li_8 <= 1000) li_12 = li_8; for (int l_count_88 = 0; l_count_88 < li_12; l_count_88++) { ld_28 += (High[l_shift_84 + l_count_88] + (Low[l_shift_84 + l_count_88])) / 2.0; ld_36 += High[l_shift_84 + l_count_88] - (Low[l_shift_84 + l_count_88]); } double ld_20 = NormalizeDouble(ld_28 / li_12, Digits); double ld_44 = NormalizeDouble(0.2 * (ld_36 / li_12), Digits); if (ld_44 == 0.0) ld_44 = 1; if (ai_4 == 1) { ld_ret_52 = li_16 + NormalizeDouble((Open[l_shift_84] - ld_20) / ld_44, Digits); return (ld_ret_52); } if (ai_4 == 2) { ld_ret_60 = li_16 + NormalizeDouble((Low[l_shift_84] - ld_20) / ld_44, Digits); return (ld_ret_60); } if (ai_4 == 3) { ld_ret_68 = li_16 + NormalizeDouble((High[l_shift_84] - ld_20) / ld_44, Digits); return (ld_ret_68); } if (ai_4 == 4) { ld_ret_76 = li_16 + NormalizeDouble((Close[l_shift_84] - ld_20) / ld_44, Digits); return (ld_ret_76); } return (0.0); } int start() { int l_ticket_4; if (Volume[0] == 1.0) { if (CloseTradesAtBarEnd == TRUE) { for (int l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES) == TRUE) { if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && OrderMagicNumber() == MAGIC) OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE); if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == MAGIC) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE); } } if (OrdersTotal() > 0) { for (l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES) == TRUE) { if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && OrderMagicNumber() == MAGIC) OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE); if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == MAGIC) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE); } } } } gs_none_76 = "none"; gd_84 = VChart(Time[1], 4); gd_92 = VChart(Time[1], 2); gd_100 = VChart(Time[1], 3); gd_108 = VChart(Time[1], 1); if (Use1 == 1) if (gd_84 <= 99.689 && gd_108 > 98.104 && gd_84 <= 98.568 && gd_84 <= 98.29 && gd_92 <= 97.14) gs_none_76 = "down"; if (Use2 == 1) if (gd_84 > 101.584 && gd_108 <= 101.918 && gd_108 <= 101.129) gs_none_76 = "up"; if (Use3 == 1) if (gd_84 <= 103.086 && gd_108 > 100.16 && gd_84 <= 100.729 && gd_84 <= 100.405 && gd_84 > 97.5) gs_none_76 = "down"; if (Use4 == 1) if (gd_84 > 96.982 && gd_108 <= 98.795 && gd_84 > 98.878 && gd_108 <= 98.224 && gd_100 > 99.178) gs_none_76 = "up"; if (Use5 == 1) if (gd_84 <= 103.086 && gd_108 > 101.789 && gd_108 > 103.1 && gd_100 > 104.211) gs_none_76 = "down"; if (Use6 == 1) if (gd_84 > 102.938 && gd_108 <= 103.786 && gd_84 > 104.27) gs_none_76 = "up"; if (Use7 == 1) if (gd_84 <= 96.832 && gd_108 > 96.173 && gd_84 <= 96.564) gs_none_76 = "down"; if (Use8 == 1) if (gd_108 <= 101.878 && gd_84 > 99.649 && gd_108 <= 100.183 && gd_84 > 100.664 && gd_108 > 98.452) gs_none_76 = "up"; if (Use9 == 1) if (gd_84 <= 95.59 && gd_108 > 94.488 && gd_84 <= 95.336) gs_none_76 = "down"; if (Use10 == 1) if (gd_108 <= 98.814 && gd_84 > 97.13 && gd_108 <= 97.232 && gd_108 <= 96.14) gs_none_76 = "up"; if (Use11 == 1) if (gd_108 > 98.814 && gd_84 <= 102.392 && gd_108 > 101.782 && gd_84 <= 101.835) gs_none_76 = "down"; if (Use12 == 1) if (gd_84 > 105.488 && gd_108 <= 106.202 && gd_84 > 105.538) gs_none_76 = "up"; if (Use13 == 1) if (gd_108 > 102.58 && gd_84 <= 103.607 && gd_108 > 103.231 && gd_92 > 100.471) gs_none_76 = "down"; if (Use14 == 1) if (gd_108 <= 98.814 && gd_84 > 97.886 && gd_84 > 99.31 && gd_84 <= 100.071) gs_none_76 = "up"; if (Use15 == 1) if (gd_108 > 97.81 && gd_84 <= 99.688 && gd_108 > 99.122 && gd_92 > 97.314 && gd_100 > 100.61) gs_none_76 = "down"; if (Use16 == 1) if (gd_108 <= 97.13 && gd_84 > 95.886 && gd_84 > 97.098 && gd_108 > 96.326 && gd_92 <= 96.382) gs_none_76 = "up"; if (Use17 == 1) if (gd_108 > 102.58 && gd_108 > 104.435 && gd_84 <= 104.728) gs_none_76 = "down"; if (Use18 == 1) if (gd_84 > 102.938 && gd_108 <= 103.388 && gd_108 <= 102.517 && gd_100 <= 105.932) gs_none_76 = "up"; if (Use19 == 1) if (gd_108 > 96.536 && gd_84 <= 99.275 && gd_108 > 98.524 && gd_84 <= 98.745 && gd_108 <= 100.879) gs_none_76 = "down"; if (Use20 == 1) if (gd_108 <= 99.758 && gd_84 > 99.554 && gd_100 <= 101.144 && gd_108 > 98.572) gs_none_76 = "up"; if (Use21 == 1) if (gd_108 > 101.916 && gd_84 <= 102.811 && gd_108 > 102.547 && gd_84 <= 102.619 && gd_84 > 102.02) gs_none_76 = "down"; if (Use22 == 1) if (gd_108 <= 96.536 && gd_84 > 94.464 && gd_108 <= 95.409) gs_none_76 = "up"; if (Use23 == 1) if (gd_84 <= 97.93 && gd_108 > 96.75 && gd_84 <= 97.234) gs_none_76 = "down"; if (Use24 == 1) if (gd_84 <= 96.018 && gd_108 > 93.312) gs_none_76 = "down"; if (Use25 == 1) if (gd_108 <= 97.81 && gd_92 <= 95.158 && gd_92 > 92.888 && gd_100 <= 97.857) gs_none_76 = "up"; if (Use26 == 1) if (gd_108 <= 99.444 && gd_84 > 99.275 && gd_108 > 98.645 && gd_84 <= 100.173) gs_none_76 = "up"; if (Use27 == 1) if (gd_84 <= 102.059 && gd_108 > 100.755 && gd_92 <= 100.523 && gd_100 > 103.669) gs_none_76 = "down"; if (Use28 == 1) if (gd_100 > 103.492 && gd_108 <= 101.797 && gd_92 > 100.802) gs_none_76 = "up"; if (Use29 == 1) if (gd_108 > 97.81 && gd_84 <= 100.12 && gd_92 <= 96.558 && gd_108 > 98.735 && gd_100 <= 103.906) gs_none_76 = "down"; if (Use30 == 1) if (gd_108 <= 100.634 && gd_84 > 100.12 && gd_108 <= 99.918 && gd_100 > 101.364 && gd_108 <= 99.221) gs_none_76 = "up"; if (Use31 == 1) if (gd_108 > 97.81 && gd_100 <= 103.542 && gd_100 <= 101.604 && gd_108 > 99.924) gs_none_76 = "down"; if (Use32 == 1) if (gd_108 <= 97.81 && gd_84 > 97.941 && gd_108 > 97.262 && gd_108 <= 97.43) gs_none_76 = "up"; if (Use33 == 1) if (gd_108 > 105.13 && gd_100 <= 107.7) gs_none_76 = "down"; if (Use34 == 1) if (gd_100 > 103.658 && gd_92 <= 101.038 && gd_84 > 103.703) gs_none_76 = "up"; if (Use35 == 1) if (gd_100 > 103.658 && gd_108 <= 101.982 && gd_92 <= 100.613 && gd_108 > 100.195) gs_none_76 = "up"; if (Use36 == 1) if (gd_108 > 97.81 && gd_100 <= 104.146 && gd_108 > 101.054 && gd_84 <= 101.616 && gd_108 <= 101.542) gs_none_76 = "down"; if (Use37 == 1) if (gd_108 <= 97.81 && gd_100 > 98.036 && gd_92 <= 95.158 && gd_108 <= 96.115) gs_none_76 = "up"; if (Use38 == 1) if (gd_84 <= 100.12 && gd_108 > 97.81 && gd_100 <= 100.808 && gd_84 <= 97.93) gs_none_76 = "down"; if (Use39 == 1) if (gd_84 > 100.12 && gd_108 <= 101.559 && gd_84 > 101.15 && gd_100 <= 103.366) gs_none_76 = "up"; if (Use40 == 1) if (gd_92 <= 101.122 && gd_108 > 100.649 && gd_108 <= 101.62 && gd_100 <= 103.236 && gd_108 > 100.741) gs_none_76 = "down"; if (Use41 == 1) if (gd_92 <= 101.122 && gd_84 > 101.926 && gd_84 <= 102.156) gs_none_76 = "down"; if (Use42 == 1) if (gd_84 > 100.12 && gd_84 <= 100.645 && gd_92 <= 98.281 && gd_92 > 97.402) gs_none_76 = "up"; if (Use43 == 1) if (gd_92 <= 101.122 && gd_84 > 102.674 && gd_84 <= 102.98) gs_none_76 = "down"; if (Use44 == 1) if (gd_92 > 98.816 && gd_100 <= 104.744 && gd_108 > 102.427 && gd_84 <= 103.378) gs_none_76 = "up"; if (Use45 == 1) if (gd_84 <= 102.375 && gd_108 > 98.488 && gd_100 <= 101.657 && gd_84 <= 99.51 && gd_108 > 99.398) gs_none_76 = "down"; if (Use46 == 1) if (gd_108 > 99.303 && gd_108 <= 99.797 && gd_92 > 97.583) gs_none_76 = "up"; if (Use47 == 1) if (gd_84 <= 102.375 && gd_92 > 97.306 && gd_92 <= 97.686 && gd_100 > 100.082) gs_none_76 = "down"; if (Use48 == 1) if (gd_84 <= 99.118 && gd_84 > 98.448 && gd_108 <= 98.488 && gd_108 > 97.375 && gd_108 <= 98.146) gs_none_76 = "up"; if (Use49 == 1) if (gd_84 <= 102.375 && gd_92 > 98.281 && gd_92 <= 98.816 && gd_108 <= 100.404) gs_none_76 = "down"; if (Use50 == 1) if (gd_108 > 99.324 && gd_92 <= 98.202 && gd_92 > 96.582 && gd_100 <= 102.444) gs_none_76 = "up"; if (Use51 == 1) if (gd_84 <= 102.375 && gd_108 > 97.232 && gd_108 <= 98.172 && gd_84 > 98.178) gs_none_76 = "down"; if (Use52 == 1) if (gd_84 > 102.445 && gd_108 <= 103.46 && gd_92 > 101.386 && gd_84 <= 104.114 && gd_108 > 102.25) gs_none_76 = "up"; if (Use53 == 1) if (gd_84 <= 104.471 && gd_92 > 101.315 && gd_100 > 105.652 && gd_92 <= 102.627) gs_none_76 = "down"; if (Use54 == 1) if (gd_100 <= 105.15 && gd_100 > 103.712 && gd_84 <= 103.502 && gd_92 <= 101.196) gs_none_76 = "down"; if (Use55 == 1) if (gd_100 > 103.11 && gd_92 <= 102.916 && gd_84 <= 101.059 && gd_108 > 100.137) gs_none_76 = "up"; if (Use56 == 1) if (gd_84 > 102.375 && gd_92 <= 102.916 && gd_108 <= 102.75 && gd_108 > 101.396) gs_none_76 = "up"; if (Use57 == 1) if (gd_84 <= 104.253 && gd_84 > 99.877 && gd_100 > 102.82 && gd_100 <= 103.542) gs_none_76 = "down"; if (Use58 == 1) if (gd_84 > 104.253 && gd_108 <= 104.268 && gd_100 <= 107.532) gs_none_76 = "up"; l_ticket_4 = 0; if (gs_none_76 == "up") { if (CloseTradesAtBarEnd == FALSE) { for (l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES) == TRUE) if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && OrderMagicNumber() == MAGIC) OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE); } if (OrdersTotal() > 0) { for (l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES) == TRUE) if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && OrderMagicNumber() == MAGIC) OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE); } } } if (OrdersTotal() < MaxTradesAllowed) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotSize, Ask, Slippage, 0, 0, LongComment, MAGIC, 0, LongColor); if (l_ticket_4 == -1) { RefreshRates(); l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotSize, Ask, Slippage, 0, 0, LongComment, MAGIC, 0, LongColor); if (l_ticket_4 != -1) { if (UseSound == TRUE) PlaySound(SoundFile); if (SendEmail == TRUE) SendMail("Day-Trader opened BUY order on " + Symbol(), "Order #" + l_ticket_4 + " @" + DoubleToStr(Ask, Digits)); } } else { if (UseSound == TRUE) PlaySound(SoundFile); if (SendEmail == TRUE) SendMail("Day-Trader opened BUY order on " + Symbol(), "Order #" + l_ticket_4 + " @" + DoubleToStr(Ask, Digits)); } } } if (gs_none_76 == "down") { if (CloseTradesAtBarEnd == FALSE) { for (l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES) == TRUE) if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == MAGIC) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE); } if (OrdersTotal() > 0) { for (l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES) == TRUE) if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == MAGIC) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE); } } } if (OrdersTotal() < MaxTradesAllowed) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotSize, Bid, Slippage, 0, 0, ShortComment, MAGIC, 0, ShortColor); if (l_ticket_4 == -1) { RefreshRates(); l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotSize, Bid, Slippage, 0, 0, ShortComment, MAGIC, 0, ShortColor); if (l_ticket_4 != -1) { if (UseSound == TRUE) PlaySound(SoundFile); if (SendEmail == TRUE) SendMail("Day-Trader opened SELL order on " + Symbol(), "Order #" + l_ticket_4 + " @" + DoubleToStr(Bid, Digits)); } } else { if (UseSound == TRUE) PlaySound(SoundFile); if (SendEmail == TRUE) SendMail("Day-Trader opened SELL order on " + Symbol(), "Order #" + l_ticket_4 + " @" + DoubleToStr(Bid, Digits)); } } } } return (0); }