pacak
варвар Andre

 
Уровень 15


Группа "Стол заказов MQL"

Рейтинг 1315



РЕКОМЕНДУЮ



Советник по индикатору Quantum

Здравствуйте!
Прошу написать советник по индикатору Quantum. Индикатор не перерисовывается, рабочий таймфрейм минутка М1.
Советник сеточник-усреднитель.

Условия первого входа для построения сетки:
Появился сигнал на продажу (покупку), сразу входим в рынок.
Красный квадрат — продаем, синий — покупаем.

Выход:
По противоположному сигналу, учитывая параметр «построение новой сетки»:
true — закрываем сеть, сразу строим новую
false — только закрываем сеть, больше ничего

Начальный ордер: N = 0,01 (по умолчанию)
Коэффициент увеличения лотов, в зависимости от количества ордеров в рынке (переменные):
Ордера с 1 по 10: коэффициент 1
11-20: 2
21-30: 3
31-40: 4
40-далее: 5

Дополнительная фильтрация входа:
Чтобы не частить со входами, вводим переменную «Минимальное расстояние между ордерами» в сетке (по умолчанию 3 пункта).
Пример: Поступил сигнал, зашли. Если следующий сигнал на вход меньше чем мин. расстояние, то этот сигнал игнорируем, если расстояние больше или равно, заходим. Аналогично сравниваем каждый следующий сигнал с предыдущим, который уже в рынке. Таким образом сетка растягивается только в одну сторону, учитывая минимальный шаг.



Магик обязателен.

Quantum.mq4 (2 Kb)
  • 0
  • Просмотров: 2451
  • 16 ноября 2015, 14:29
  • pacak
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
Следующая запись в группе  
Советник Безубыток
16 ноября 2015
16 ноября 2015

Комментарии (5)

+
+1
Сейчас смотрю, есть ли сигнал от индикатора и сначала сделаю максимально упрощенный вариант.
avatar

  27  AM2 Сообщений: 8028 - Андрей

  • 16 ноября 2015, 17:09
+
+1
Есть увеличение лота, усреднение с шагом.
www.opentraders.ru/downloads/934/


Редактирован: 16 ноября 2015, 19:28
avatar

  27  AM2 Сообщений: 8028 - Андрей

  • 16 ноября 2015, 17:45
+
0
Спасибо, потестирую!
А можно в самом индикаторе сделать так чтобы вверху (внизу) квадратов отображалась цена, на которой этот квадрат возник? PRICE_CLOSE
avatar

  15  pacak Автор Сообщений: 501 - варвар Andre

  • 17 ноября 2015, 01:10
+
+1
Пока так:




//+------------------------------------------------------------------+
//|                                                      Quantum.mq4 |
//+------------------------------------------------------------------+
//2012Jan27 mod for mer071898

#property copyright "Copyright © 2010, zznbrm"

//---- indicator settings
#property indicator_chart_window
#property  indicator_buffers 2 
#property  indicator_color1 Blue
#property  indicator_color2 Red
#property  indicator_width1 5
#property  indicator_width2 5

//---- input parameters
extern int eintDepth3=300;

//---- indicator buffers
double gadblUp3[];
double gadblDn3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   SetIndexBuffer(0,gadblUp3);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,250);
   SetIndexLabel(0,NULL);

   SetIndexBuffer(1,gadblDn3);
   SetIndexEmptyValue(1,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,250);
   SetIndexLabel(1,NULL);

   IndicatorDigits(5);

//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("Quantum("+eintDepth3+")");

   return( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return( 0 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutText(const string text,double price,datetime time)
  {
   ObjectsDeleteAll(0, OBJ_TEXT);
   const string name="Text"+TimeToStr(TimeCurrent());
//--- создадим объект "Текст"  
   ObjectCreate(0,name,OBJ_TEXT,0,time,price);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,10);
//--- установим способ привязки
   ObjectSetInteger(0,name,OBJPROP_ANCHOR,ANCHOR_RIGHT_UPPER);
//--- установим цвет
   ObjectSetInteger(0,name,OBJPROP_COLOR,Yellow);
  }   
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted();

   if(counted_bars < 0) return (-1);
   if(counted_bars>0) counted_bars--;
   int intLimit=Bars-counted_bars;
   int intLow3,intHigh3;

   for(int inx=intLimit; inx>=0; inx--)
     {
      gadblUp3[inx] = 0.0;
      gadblDn3[inx] = 0.0;

      intLow3=iLowest(Symbol(),Period(),MODE_LOW,eintDepth3,inx);

      if(intLow3==inx)
        {
         gadblUp3[inx]=Low[inx];
         PutText(DoubleToString(Close[inx],Digits),Low[inx],Time[inx]);
        }

      intHigh3=iHighest(Symbol(),Period(),MODE_HIGH,eintDepth3,inx);

      if(intHigh3==inx)
        {
         gadblDn3[inx]=High[inx];
         PutText(DoubleToString(Close[inx],Digits),High[inx],Time[inx]);
        }
     }

   return( 0 );
  }
//+------------------------------------------------------------------+

avatar

  27  AM2 Сообщений: 8028 - Андрей

  • 17 ноября 2015, 08:31
+
0
111
avatar

  2  el12EL12 Сообщений: 4

  • 23 мая 2018, 04:48

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари