0
Сейчас отмечает входы точками: www.opentraders.ru/downloads/764/

avatar

AM2

  • 2 июня 2015, 12:03
0
Вот простой пробойник по условию:
1. Лоу растут, но свеча закрылась ниже последнего лоу — селл стоп.
2. Хаи убывают, но свеча закрылась выше последнего хая — бай стоп.

Точки при совпадении условия, если нужно расставлю.


//+------------------------------------------------------------------+
//|                                                    Proboynik.mq4 |
//|                                            Copyright © 2014, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+

#property copyright "Copyright © 2014, AM2"
#property link      "http://www.forexsystems.biz"
#property description "Forex expert advisor"

//--- Inputs
extern int StopLoss      = 2000; // стоплосс ордера
extern int TakeProfit    = 2000; // тейкпрофит ордера
extern int Slip          = 2;    // проскальзывание
extern int Expiration    = 14;   // время истечения ордера
extern int Delta         = 100;  // расстояние от вершин
extern double Lots       = 0.1;  // объем позиции
extern int MAGIC         = 333;  // магик
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void PutOrder()
  {
   int    res,b,s;
   datetime expiration=TimeCurrent()+3600*Expiration;
   double price,tp,sl;

   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
           {
            if(OrderType()==OP_BUYSTOP)b++;
            if(OrderType()==OP_SELLSTOP)s++;
           }
        }
     }

//--- buy
   if(High[2]<High[3] && Close[1]>High[2]  && b<1)
     {
      price=High[1]+Delta*Point;
      sl=price-StopLoss*Point;
      tp=price+TakeProfit*Point;
      res=OrderSend(Symbol(),OP_BUYSTOP,Lots,price,Slip,sl,tp,"",MAGIC,expiration,Blue);
     }

//--- sell 
   if(Low[2]>Low[3] && Close[1]<Low[2] && s<1)
     {
      price=Low[1]-Delta*Point;
      sl=price+StopLoss*Point;
      tp=price-TakeProfit*Point;
      res=OrderSend(Symbol(),OP_SELLSTOP,Lots,price,Slip,sl,tp,"",MAGIC,expiration,Red);
     }
  }
//+------------------------------------------------------------------+
void DelOrder()
  {
   bool del;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderType()==OP_BUYSTOP)  del=OrderDelete(OrderTicket());
      if(OrderType()==OP_SELLSTOP) del=OrderDelete(OrderTicket());
     }
  }
//+------------------------------------------------------------------+
bool NewBar()
  {
   static datetime lastbar=0;
   datetime curbar=Time[0];
   if(lastbar!=curbar)
     {
      lastbar=curbar;
      return (true);
     }
   else
     {
      return(false);
     }
  }
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- check for history and trading
   if(Bars<100 || IsTradeAllowed()==false)
      return;
   if(NewBar()==true)
     {
      if(CountTrades()<1)PutOrder();
      if(CountTrades()>0)DelOrder();
     }
//---
  }
//+------------------------------------------------------------------+


avatar

AM2

  • 2 июня 2015, 11:28
0
Можно поподробнее со скринами? Бросил первый индикатор на М1, там только текст, так и должно быть? Второй вообще не работает.
avatar

AM2

  • 2 июня 2015, 11:00
0
3)Функция: «Время торговли», почему то не работает,(торгует круглосуточно, причем я заметил, это замечание также в некоторых других «топиках») 


Вот так торговать по времени наверное будет точнее :) 

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 29.04.2009                                                     |
//|  Описание : Возвращает флаг разрешения торговли по времени.                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    TimeBegin - время начала торговли         (ЧЧ:ММ)                       |
//|    TimeEnd   - время окончания торговли      (ЧЧ:ММ)                       |
//+----------------------------------------------------------------------------+
bool isTradeTimeString(string TimeBegin="00:00",string TimeEnd="00:00")
  {
   datetime dtBegin, dtEnd;        // Время начала и окончания работы
   int      hc, he;                // Часы текущего времени и окончания работы

   dtBegin=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeBegin);
   dtEnd  =StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeEnd);
   hc     =TimeHour(TimeCurrent());
   he     =TimeHour(dtEnd);
   if(dtBegin>=dtEnd)
     {
      if(hc>=he) dtEnd+=24*60*60; else dtBegin-=24*60*60;
     }

   if(TimeCurrent()>=dtBegin && TimeCurrent()<=dtEnd) return(True);
   else return(False);
  }
avatar

AM2

  • 2 июня 2015, 10:27
0
Я сделал просто чтобы сдвигал все линии влево на указанное количество баров.
avatar

AM2

  • 2 июня 2015, 10:22
0
Сейчас только по одной сделке при сигнале: www.opentraders.ru/downloads/745/

avatar

AM2

  • 2 июня 2015, 10:15
0
Может лучше сразу написать советник по вашему условию?

avatar

AM2

  • 2 июня 2015, 09:45
0
С фильтрами почти не торгует. Отключение еще не сделал: www.opentraders.ru/downloads/762/
avatar

AM2

  • 1 июня 2015, 16:24
0
А хейкен как в качестве фильтра работает?
avatar

AM2

  • 1 июня 2015, 14:55
0
Добавил в советник фильтр по ТМА и по времени: www.opentraders.ru/downloads/762/

avatar

AM2

  • 1 июня 2015, 11:20
0
Это уже другой заказ.
avatar

AM2

  • 1 июня 2015, 04:29
0
Сейчас тщательно рассматривал входы. Там где условие соболюдается, входы есть. Но часто машка сливается с точками, вот тогда и входа нет. Также поправил условие и вывел сигналы индикатора на экран: www.opentraders.ru/downloads/758/
avatar

AM2

  • 1 июня 2015, 04:26
0
А где ТМА и хейкен?
avatar

AM2

  • 1 июня 2015, 03:54
0
Это завтра поправлю.
avatar

AM2

  • 31 мая 2015, 22:44
0
Я вывел сигналы индикатора на экран для того чтобы было видно — есть сигнал есть вход. Если сигналы не соответствуют визуальной картинке это нужно копаться внутри индикатора.
avatar

AM2

  • 31 мая 2015, 19:12
0
Слишком много условий и индикаторов. Нужно упрощать.
avatar

AM2

  • 31 мая 2015, 17:21
0
После прогона в тестере не определишь точный вход был или нет. Машки перерисуются и все. Определите только при замедленном прогоне в тестере с нанесенными индикаторами или на демо.
avatar

AM2

  • 31 мая 2015, 17:19