Лента последних комментариев


0
На 18-е.
avatar

AM2

  • 14 января 2018, 08:40
0
Андрей, возникла логическая идея:*think* 
1)Если ЛИНИЯ не выделена и есть касание, закрываем сеть.
2) Когда закрыли сеть линия выделяется и на ней сеть больше не кроется.
3)Сов запоминает «числовое значение №1»(цену) выделенной линии.
--Переходим к следующей ЛИНИИ:
4)Если выполняется условие: ЛИНИЯ не выделена и есть касание, а ее числовое значение(цена) БОЛЬШЕ или МЕНЬШЕ «числового значения №1» то значить:
а)Закрываем сеть.
б)Линия выделяется и на ней сеть больше не кроется.
в)Активируем линию с «числовым значением №1» щелкаем по ней мышкой.
5)Сов запоминает «числовое значение №2»(цену) выделенной линии.
--Переходим к следующей ЛИНИИ: и т.д. (по кругу) от линии к линии.
avatar

Marik007

  • 13 января 2018, 21:37
0
За то по ТЗ <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/003.gif' alt=' :D '>&nbsp; 
avatar

Syte

  • 13 января 2018, 21:07
0
Так хуже.
avatar

AM2

  • 13 января 2018, 21:03
0
Поменял входы:


//+------------------------------------------------------------------+
//|                                                        Buzel.mq4 |
//|                                              Copyright 2017, AM2 |
//|                                      http://www.forexsyatems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, AM2"
#property link      "http://www.forexsyatems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots       = 0.1;      // лот
extern double KLot       = 1;        // умножение лота
extern double MaxLot     = 5;        // максимальный лот
extern int StopLoss      = 350;      // лось
extern int TakeProfit    = 200;      // язь
extern int Delta         = 300;      // 
extern int Slip          = 30;       // реквот
extern int Magic         = 123;      // магик

bool b=1,s=1;
datetime t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0) sl=NormalizeDouble(price+StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price-TakeProfit*Point,Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0) sl=NormalizeDouble(price-StopLoss*Point,Digits);
      if(TakeProfit>0) tp=NormalizeDouble(price+TakeProfit*Point,Digits);
     }

   r=OrderSend(NULL,type,Lot(),NormalizeDouble(price,Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderProfit()>0) break;
         if(OrderProfit()<0)
           {
            lot=OrderLots()*KLot;
            break;
           }
        }
     }
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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()<2) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(t!=Time[0])
     {
      b=1;s=1;
      t=Time[0];
     }
     
   if(Bid-Open[0]>Delta*Point && b)
     {
      PutOrder(0,Ask);b=0;
     }

   if(Open[0]-Bid>Delta*Point && s)
     {
      PutOrder(1,Bid);s=0;
     }
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 13 января 2018, 21:01
0
Только у вас ордера перепутаны. Там где нужен sell стоит buy. Где нужен buy там стоит sell :)  Эта стратегия, напоминает вашу, которую вы делали по видео. Торнадо по моему, но тут более, надежный вход без сетки и соответственно просадка меньше.
avatar

Syte

  • 13 января 2018, 20:55
0
Вот и я об этом :) ;) )))) Поделимся?! :) 
avatar

Syte

  • 13 января 2018, 20:36
0
Нормально он мне нарисовал за 10 лет!
www.opentraders.ru/downloads/1778/

avatar

AM2

  • 13 января 2018, 20:16
0
Спасибо огромное
avatar

Syte

  • 13 января 2018, 19:47
0
Посмотрю после выходных.
avatar

AM2

  • 13 января 2018, 19:46
0


Если сработало условие для покупки, ждем выполнение условия для продажи, в пределах этого бара, на этом баре больше не покупаем.

Если сработало условие для продажи, значит больше не продаем, на этом баре, ждем противоположное условие, для покупки. Либо появление новой свечи. Появилась новая свеча, работаем с начала с 3 пункта.

Третий пункт всегда обновляет свое значение, с появлением нового бара. За место 100, там может быть любое значение. Это значение будет равно Open нового бара. От него все считаем
avatar

Syte

  • 13 января 2018, 18:29
0
Могу тех задание нарисовать в схеме.
avatar

Syte

  • 13 января 2018, 18:02
0
Хм… А как это за скринить? Я просто реально не знаю как это в картинках описать.

Появилась новая свеча. Нулевой бар. Ждем когда цена пойдет вверх или вниз от точки Open[0], на переменную N по цене bid. И все.

Могу другими словами описать.

При присоединении советника. к графику, ждем появления нового бара.
Когда он появился, берем Open[0] прибавляем к ней переменную N. И сравниваем, значение полученного результата с текущей ценой. Если равно, или больше, то покупаем, но один раз, в одну сторону.

Пример: Если текущее ценовое значение нового бара, 100, а переменная, 10, то для покупки нужно открыть ордер по рынку, если будет цена 110. А для продажи, если цена будет 90. Другими словами, мы от значения цены Open отнимаем или прибавляем переменную N. И открываем ордер. Только один раз на свече и ставим стопы. В итоге, если при подключении советника, мы дождались появления новой свечи, мы можем открыть не более двух ордеров на одной свече.

Предположим, что цена нового бара Open[0] равна 100. Переменная равна 10. Цена пошла вниз на 90. Тут советник должен открыть sell со стопами. Если после открытия, сразу пошли на верх, то есть, в пределах данной свечи. И достигла отметки 110, то покупаем по рынку. Все, дальше ждем, так как в рынке на этой свече было открыто два ордера. Можно открыть если, появится новое условие, а именно новая свеча. И по ней уже будем считать новые ордера. Но так же не более двух. На одной свече, нельзя открывать два одинаковых ордера, на одной свече. На одной свече может быть открыты ордера, либо sell, либо buy, либо оба sell и buy. Но нее два sell или два buy.
avatar

Syte

  • 13 января 2018, 17:56
0
Это то, что нужно. ОГРОМНОЕ СПАСИБО! *good* *good* *good* 
avatar

vasdco

  • 13 января 2018, 17:23
0
Это то, что нужно. ОГРОМНОЕ СПАСИБО! *good* *good* *good* 
avatar

vasdco

  • 13 января 2018, 17:21
0
А не могли бы прилепить

Могу отдельным топиком :) 
avatar

AM2

  • 13 января 2018, 16:47
0
Скрины с пояснениями пожалуйста.
avatar

AM2

  • 13 января 2018, 16:46
0
А не могли бы прилепить стрелку и алерт с окошком на какой паре, если перекупленность, то стрелка вниз и в окошке sell, если перепроданность то вверх и bay/ Заранее огромное спасибо
avatar

Marlboropartner

  • 13 января 2018, 16:44
0
Если цена не достигла перекупленности перепроданности пишет значение атр:
www.opentraders.ru/downloads/1777/





avatar

AM2

  • 13 января 2018, 15:51
0
пожалуйста
avatar

vebster

  • 13 января 2018, 15:06
Начать торговлю с Альпари