Совместная работа двух советников.

 

Приветствую.

Интересует вопрос возможна ли совместная работа двух советников заключающаяся в разрешении первым на заключение сделки вторым при определённых условиях?

 
ssv-11: ... возможна ли совместная работа двух советников заключающаяся в разрешении первым на заключение сделки вторым при определённых условиях?

Возможна, если есть файлы исходных кодов обоих советников (для добавления в них соответствующих функций).

 
возможно все, вот только такая тема уже недавно была вроде
 
Andrei Fandeev:

Возможна, если есть файлы исходных кодов обоих советников (для добавления в них соответствующих функций).

Файлы есть. Ещё вопрос.
Планируется алгоритм из двух условий. 
Необходимо чтобы принятие второго условия и команда на совершение сделки  происходило  как можно быстрее.  Для этого лучше будет дописать функцию первого условия совершения сделки в основном советнике или передать данную функцию другому советнику?

 
Anton:
Файлы есть. Ещё вопрос.
Планируется алгоритм из двух условий. 
Необходимо чтобы принятие второго условия и команда на совершение сделки  происходило  как можно быстрее.  Для этого лучше будет дописать функцию первого условия совершения сделки в основном советнике или передать данную функцию другому советнику?

А экспертов объединить не судьба??? Вроде так оптимальней будет, если есть исходники.

 
Konstantin Nikitin:

А экспертов объединить не судьба??? Вроде так оптимальней будет, если есть исходники.

Есть опыт создания эксперта который имел в своем коде несколько условий на заключение сделки и соответственно объемный код.  Как я понимаю чем длиннее код эксперта тем больше времени ( в нановеличинах конечно же) тратится на то, чтобы советник обработал информацию и совершил сделку.... Учитывая что брокер также крадёт время на совершение сделки проскальзывания случаются значительными.... Если это скальпер на М1 для него это существенно....
Что посоветуете, как будет оптимальнее ( в плане скорости обработки информации) написать скальпера на М1 ? В одном или в двух советниках со связью последних?
 
Anton:
Есть опыт создания эксперта который имел в своем коде несколько условий на заключение сделки и соответственно объемный код.  Как я понимаю чем длиннее код эксперта тем больше времени ( в нановеличинах конечно же) тратится на то, чтобы советник обработал информацию и совершил сделку.... Учитывая что брокер также крадёт время на совершение сделки проскальзывания случаются значительными.... Если это скальпер на М1 для него это существенно....
Что посоветуете, как будет оптимальнее ( в плане скорости обработки информации) написать скальпера на М1 ? В одном или в двух советниках со связью последних?

Так с переброской условий из одного в другого эксперта, вы потратите еще больше времени. Даже по простой причине, как запись/чтение в файл/глобальную переменную. Так что овчинка выделки не стоит, как разнос на несколько экспертов. Максимум что можно разнести это взятие и закрытие позиций. Хотя и это можно реализовать с одного эксперта, прописав в него запрет/разрешение на определенные действия. И запускать его на разных графиках, в одной версии разрешить только взятие, в другой закрытие.

 
Konstantin Nikitin:

Так с переброской условий из одного в другого эксперта, вы потратите еще больше времени. Даже по простой причине, как запись/чтение в файл/глобальную переменную. Так что овчинка выделки не стоит, как разнос на несколько экспертов. Максимум что можно разнести это взятие и закрытие позиций. Хотя и это можно реализовать с одного эксперта, прописав в него запрет/разрешение на определенные действия. И запускать его на разных графиках, в одной версии разрешить только взятие, в другой закрытие.

Планировалось разрешение на сделку первым экспертом производить на 1-2 секунды раньше от установленного времени на принятие решения вторым экспертом.  Второй эксперт должен максимально быстро принимать решение и давать команду на открытие лота. Вероятно третий будет вести сделку.
Суть заморочек только в том, чтобы максимально быстро основной (второй) советник давал команду на открытие лота.
Условия тоже не простые. Используется два индикатора, подсчет расстояния на двух таймфреймах,  длинна свечи, время торговли и перерывы в торговле....
 Первое ( объемное)  должен проанализировать первый эксперт, второе, менее сложное, второй эксперт и отдать команду брокеру.
Что думаете? 
 
#include "Expert_1.mqh"
CExpert_1 *expert_1;
#include "Expert_2.mqh"
CExpert_2 *expert_2;
#include "Expert_3.mqh"
CExpert_3 *expert_3;

input bool Expert_1 = false;
input bool Expert_2 = false;
input bool Expert_3 = false;
//+------------------------------------------------------------------+

void OnInit()
{
     if( Expert_1 )
          expert_1 = new CExpert_1;
     if( Expert_2 )
          expert_2 = new CExpert_2;
     if( Expert_3 )
          expert_3 = new CExpert_3;

     return(INIT_SUCCEEDED);
}

void OnTick()
{
     if( expert_1 != NULL )
          expert_1.work();
     if( expert_2 != NULL )
          expert_2.work();
     if( expert_3 != NULL )
          expert_3.work();
}
void OnDeinit(const int reason)
{
     if( expert_1 != NULL )
          delete expert_1;
     if( expert_2 != NULL )
          delete expert_2;
     if( expert_3 != NULL )
          delete expert_3;
}

И работайте как хотите. Зачем огород городить. А дальше хотите 1-2, или все 3 отработки запускайте.

 
Konstantin Nikitin:

И работайте как хотите. Зачем огород городить. А дальше хотите 1-2, или все 3 отработки запускайте.

Спасибо. 
Ещё есть вопрос по поводу времени работы. На данное время включение и выключение времени работы ограничено минутным таймфреймом и распространяется только на вечерние и выключение эксперта. 
Начало торговли: 1:00
Конец торговли:  5:00
Мне же необходимо исключить сделки вначале и в конце часа каждого часа.  то есть необходтмо запретить эксперту вести торговлю вначале каждого часа 5 минут  и в конце каждого часа 7 минут. 
Это возможно? Может есть данное воплощение в коде?
Причина обращения: