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

Рейтинг 2081



РЕКОМЕНДУЮ



Сделать сову по инди FL23

Андрей, добрый день!

В предыдущем посте всем миром решали что за стратегия, а решив нашли — индюк FL23. (http://vit-fx.opentraders.ru/36155.html)
Один из наших ДЦ его впаривает «випам» как свою стратегию, но оказалось авторы другие люди — forex4live.com/index.php

Нашел индюк, правда декомпил.
Необходимо по нему сделать сову, чтобы умела переводить в БУ после N пунктов прохода цены и тралить на M пунктов. Если можно, то с ММ — фикс лот или % от депо и возможность увеличения.
Вход в сделку — пересечение уровней ±0.3. Думаю, что лучше будет если отложками открываться по цене ± 10 pips.
FL23_Decompil.mq4 (4 Kb)
  • +3
  • Просмотров: 2949
  • 28 ноября 2016, 18:16
  • vit-fx
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
По одному заказу в месяц. Напомните в следующем.
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 28 ноября 2016, 18:48
+
0
Ok. А последний можете доделать? Хочу использовать его для ручной торговли на m15.
avatar

  4  vit-fx Автор Сообщений: 76

  • 28 ноября 2016, 19:14
+
0
Добрый день.
Запишите этот заказ на меня)
avatar

  13  Pesha Сообщений: 222 - ¯\_(ツ)_/¯

  • 28 ноября 2016, 19:23
+
0
благодарю *za*  *drinks* 
avatar

  4  vit-fx Автор Сообщений: 76

  • 28 ноября 2016, 19:34
+
0
Дня через 2 только доберусь, сейчас заказов много.
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 28 ноября 2016, 19:45
+
0
Спасибо, будем ждать!
avatar

  4  vit-fx Автор Сообщений: 76

  • 28 ноября 2016, 19:46
+
0
Обычный рисовальщик :-((
Андрей, по заказу отбой.

Либо исходник такой же художник, либо таков результат декомпила и блужданий по нету
avatar

  4  vit-fx Автор Сообщений: 76

  • 28 ноября 2016, 20:30
+
0
Андрей, добрый вечер.
Если будет время сделайте на мое имя заказ.
avatar

  13  Pesha Сообщений: 222 - ¯\_(ツ)_/¯

  • 30 ноября 2016, 19:47
+
+1
Хорошавин :) 
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 30 ноября 2016, 20:07
+
0
Вечером буду делать.
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 1 декабря 2016, 06:48
+
+1
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 1 декабря 2016, 18:05
+
+2
Вчера зашел по этому индюку
avatar

  13  Pesha Сообщений: 222 - ¯\_(ツ)_/¯

  • 30 ноября 2016, 21:14
+
0
Он рисует. Стоит перезапустить или зайти в настройки — все меняется.
avatar

  4  vit-fx Автор Сообщений: 76

  • 30 ноября 2016, 23:49
+
0
очередной заход руками
avatar

  13  Pesha Сообщений: 222 - ¯\_(ツ)_/¯

  • 2 декабря 2016, 18:49
+
+1
Вижу вход и выход. Почему промежуточные сигналы в игноре?
Как решил вопрос перерисовки? Отсутствием перезапусков и повторных инициализаций?
avatar

  4  vit-fx Автор Сообщений: 76

  • 3 декабря 2016, 23:06
+
0
Увеличиваем ТФ видим картинку на миним и тк уровень не пробивался, ждем-с и результат
Работа по одному индюку это жирно)))))
avatar

  13  Pesha Сообщений: 222 - ¯\_(ツ)_/¯

  • 4 декабря 2016, 18:15
+
0
(… и тк уровень не пробивался...)-Уточни плиз какой уровень не пробивался?
avatar

  18  Marik007 Сообщений: 400 - Forexman

  • 5 декабря 2016, 00:16
+
0
avatar

  13  Pesha Сообщений: 222 - ¯\_(ツ)_/¯

  • 5 декабря 2016, 19:29
+
0
Андрей, подскажите, как в настройках указать, чтобы открытую позицию закрывал при наличии встречного сигнала и открывался уже по встречному?
avatar

  4  vit-fx Автор Сообщений: 76

  • 3 декабря 2016, 23:25
+
0
В советнике только открытие позы, закрытия по сигналу нет.
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 5 декабря 2016, 19:33
+
0
Можете добавить как опцию?
avatar

  4  vit-fx Автор Сообщений: 76

  • 5 декабря 2016, 20:03
+
0
Андрей, вы опытный программист. Подскажите, в коде самого FL23, вначале (строки 26-33), происходят телодвижения, дальнейший смысл которых, судя по коду, мне не ясен. Можете подсказать зачем делаются эти пустые операции?
string Lsa_0[256];
  
  for (int index_4 = 0; index_4 < 256; index_4++)
   Lsa_0[index_4] = CharToStr(index_4);
  
  int str2int_8 = StrToInteger(Lsa_0[67] + Lsa_0[111] + Lsa_0[112] + Lsa_0[121] + Lsa_0[32] + Lsa_0[82]  + Lsa_0[105] + Lsa_0[103] + Lsa_0[104] + Lsa_0[116] +
                               Lsa_0[32] + Lsa_0[169] + Lsa_0[32]  + Lsa_0[75]  + Lsa_0[97] + Lsa_0[122] + Lsa_0[97]  + Lsa_0[111] + Lsa_0[111] + Lsa_0[32]  +
                               Lsa_0[50] + Lsa_0[48]  + Lsa_0[49]  + Lsa_0[49]  + Lsa_0[32]);


Массив Lsa_0 далее нигде не используется. Зачем он здесь? Ведь вся серия индюков FL содержит ее. В чем может быть дело?
avatar

  4  vit-fx Автор Сообщений: 76

  • 6 декабря 2016, 10:09
+
0
Массив Lsa_0 далее нигде не используется. Зачем он здесь? Ведь вся серия индюков FL содержит ее. В чем может быть дело?


Не используется, убирайте.
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 6 декабря 2016, 12:19
+
0
Андрей, подскажите, как в настройках указать, чтобы открытую позицию закрывал при наличии встречного сигнала и открывался уже по новому сигналу?
avatar

  4  vit-fx Автор Сообщений: 76

  • 6 декабря 2016, 15:06
+
0
Только дописать закрытие.
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 6 декабря 2016, 17:08
+
0
Добавил процедуру закрытия:
void CloseAll()
  {
   bool cl;
   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)
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slip,White);
              }
            if(OrderType()==OP_SELL)
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slip,White);
              }
           }
        }
     }
  }


и изменил условия в OnTick:
if(CountTrades()>1 && CountTrades()<2 && t!=Time[0])
     {
      CloseAll();
      t=Time[0];
     }
     
   if(CountTrades()<1 && t!=Time[0])
     {
      OpenPos();
      t=Time[0];
     }


все верно?
avatar

  4  vit-fx Автор Сообщений: 76

  • 6 декабря 2016, 18:08
+
0
по такому условия никогда не закроет.

if(CountTrades()>1 && CountTrades()<2 && t!=Time[0])
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 6 декабря 2016, 20:03
+
0
а как нужно?
avatar

  4  vit-fx Автор Сообщений: 76

  • 6 декабря 2016, 23:25
+
0
Что то вроде:

Функция закрытия

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void ClosePos()
  {
   double lime= iCustom(NULL,0,IndName,2,Shift);
   double red = iCustom(NULL,0,IndName,3,Shift);
//---
   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)
              {
               if(red<1000)
                 {
                  CloseAll(0);
                 }
              }
            if(OrderType()==OP_SELL)
              {
               if(lime<1000)
                 {
                  CloseAll(1);
                 }
              }
           }
        }
     }
  }


Применение функции:
if(CountTrades()>0) ClosePos();


И плюс закрытие по типу ордера:


//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll(int ot=-1)
  {
   bool cl;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==0 && (ot==0 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slip,White);
              }
            if(OrderType()==1 && (ot==1 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slip,White);
              }
           }
        }
     }
  }
avatar

  34  AM2 Сообщений: 15865 - Андрей

  • 7 декабря 2016, 20:44
+
0
Все получилось, большое спасибо!
avatar

  4  vit-fx Автор Сообщений: 76

  • 7 декабря 2016, 23:25

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