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

Рейтинг 2087



РЕКОМЕНДУЮ



Советник ( скрипт ) для закрытия ордеров по заданным параметрам.

Добрый день!
Нужен советник ( скрипт ) для закрытия ордеров по заданным параметрам. Я открываю одновременно два ордера по коррелирующим парам. Советник подхватывает эти ордера и закрывает их, согласно заданным для закрытия параметрам. Советник работает на основании прилагаемого мной индикатора для парного трейдинга. Советник не открывает сам ордера, а только закрывает. На скриншоте я привел пример для одновременного закрытия двух ордеров. В советнике прописываются две коррелирующие пары, а также параметры уровня, при достижении которого желтой пунктирной линией ( на скриншоте ), оба ордера должны закрыться. Советник должен уметь работать как на 4 знаке так и на 5 знаке.
Более подробно о данной торговой стратегии здесь forexsystemsru.com/showthread.php?t=86194&goto=newpost
  • +1
  • Просмотров: 3981
  • 31 марта 2018, 06:05
  • marattmb
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
Советник работает на основании прилагаемого мной индикатора для парного трейдинга


Где прилагаемого? :) 

Более подробно о данной торговой стратегии здесь


Просьба все подробное описание разместить здесь в топике. И еще ссыль на реал мониторинг можно ;) 
avatar

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

  • 31 марта 2018, 07:55
+
0
Загружал. Почему-то не загрузилось. Как правильно загрузить?
avatar

  11  marattmb Автор Сообщений: 704

  • 31 марта 2018, 08:15
+
0
Загружал. Почему-то не загрузилось. Как правильно загрузить индикатор?
Редактирован: 31 марта 2018, 08:18
avatar

  11  marattmb Автор Сообщений: 704

  • 31 марта 2018, 08:15
+
0
Как правильно загрузить индикатор?
avatar

  11  marattmb Автор Сообщений: 704

  • 31 марта 2018, 08:16
+
0
индикатор я нашел.
ни разу не видел долго существующий памм на корреляции :) 
после выходных буду смотреть
avatar

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

  • 31 марта 2018, 08:42
+
0
avatar

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

  • 3 апреля 2018, 20:30
+
0
Спасибо!
avatar

  11  marattmb Автор Сообщений: 704

  • 3 апреля 2018, 23:23
+
0
Извините, не понял, что за параметры в советнике. В параметрах советника ведь должны быть прописаны две коррелирующие пары и уровень, при достижении которого, одновременно закрываются ордера этих пар, открытые мной ранее. Все, больше ничего не нужно.
avatar

  11  marattmb Автор Сообщений: 704

  • 3 апреля 2018, 23:38
+
0
Эти параметры нужны для того чтобы протестировать советник в тестере.
avatar

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

  • 4 апреля 2018, 17:56
+
0
Этот советник стал закрывать позиции не по условиям ТЗ. Нельзя ли убрать ненужные мне параметры. Оставить только уровень для закрытия. В тестере я его не собираюсь гонять. Он должен только закрывать открытые мной ордера, т.е то, что я делаю пока вручную. Нужны были лишь два параметра: прописка коррелирующих пар и уровень для закрытия. Все остальные параметры выходят мне боком.
avatar

  11  marattmb Автор Сообщений: 704

  • 4 апреля 2018, 22:55
+
0
покажите на скринах где что не так
avatar

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

  • 5 апреля 2018, 17:53
+
0
Скриншот, к сожалению не сделал, когда он по закрывал мне ордера, которые не нужно было трогать. Поясните мне, что нужно изменить в настройках, что бы советник не закрывал ордера, пока не достигнут уровень.
avatar

  11  marattmb Автор Сообщений: 704

  • 5 апреля 2018, 18:06
+
0
вы можете скинуть закрытые сделки на график и показать где советник закрыл не так
avatar

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

  • 5 апреля 2018, 18:32
+
0
avatar

  11  marattmb Автор Сообщений: 704

  • 6 апреля 2018, 00:33
+
0
Мне кажется, Вам лучше установить ваш советник на демо, открыть ордера по двум коррелирующим парам. Увидите наглядно, что произойдет.
avatar

  11  marattmb Автор Сообщений: 704

  • 6 апреля 2018, 02:29
+
0
да была ошибка в функции закрытия. исправил
avatar

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

  • 6 апреля 2018, 17:45
+
0
Скачать в файлах? Ссылка на скачивание прежняя?
Редактирован: 6 апреля 2018, 18:07
avatar

  11  marattmb Автор Сообщений: 704

  • 6 апреля 2018, 18:00
+
0
да я обновил: www.opentraders.ru/downloads/1854/
сейчас еще на демо поставлю
avatar

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

  • 6 апреля 2018, 18:53
+
0
Закрыл версией что в базе:

avatar

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

  • 6 апреля 2018, 19:07
+
0
Поставил на демо. Советник тут же закрыл имевшиеся два профитных ордера, хотя до уровня ой как далеко.
avatar

  11  marattmb Автор Сообщений: 704

  • 6 апреля 2018, 19:11
+
0
Пока отлаживал советник заметил большую разницу между визуальными показаниями индикатора и сигналом:



отсюда и все баги. переписывать индюк уже не ко мне.
avatar

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

  • 6 апреля 2018, 19:23
+
0
Переписывать индюк и не надо. По данному индикатору создан советник, который открывает и закрывает ордера на основании заданных уровней. Мне лишь нужно было, чтобы советник только закрывал. Ну да ладно. Удачи!
avatar

  11  marattmb Автор Сообщений: 704

  • 6 апреля 2018, 20:01
+
0
Неправильный вызов индикатора был. Посмотрите этот вариант. Сейчас сигнал и визуальное соответствуют:




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

//--- Inputs
extern int Level         = 20;       // уровень
extern int Slip          = 30;       // реквот
extern int Shift         = 0;        // на каком баре сигнал индикатора
extern int CloseSig      = 1;        // 1-закрытие по сигналу
extern string  FirstSymbol="EURJPY";
extern string  SecondSymbol="CADJPY";
extern string IndName    = "Corellation";
extern int K = 100;
extern int D = 1;
extern int S = 1;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll()
  {
   bool cl=1;
   int dig=0;
   string symb="";
   double bid=0,ask=0;

   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderType()==0)
           {
            RefreshRates();
            symb=OrderSymbol();
            bid=MarketInfo(symb,MODE_BID);
            dig=(int)MarketInfo(symb,MODE_DIGITS);
            cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(bid,dig),Slip,White);
           }
         if(OrderType()==1)
           {
            RefreshRates();
            symb=OrderSymbol();
            ask=MarketInfo(symb,MODE_ASK);
            dig=(int)MarketInfo(symb,MODE_DIGITS);
            cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(ask,dig),Slip,White);
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double sig=iCustom(NULL,0,IndName,K,D,S,FirstSymbol,SecondSymbol,2,Shift);
   if(CloseSig>0 && sig<Level) CloseAll();
   Comment("\n Level: ",sig);
  }
//+------------------------------------------------------------------+



Как только индюк ушел ниже уровня сразу закрывает.
avatar

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

  • 6 апреля 2018, 21:45
+
0
Да. Так и должно быть. Об этом я и просил.
avatar

  11  marattmb Автор Сообщений: 704

  • 7 апреля 2018, 00:33

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