Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1906

 

Добрый день. Я в скрипт добавил всё как подсказали- код скрипта для перевода графмков на д1 и шаблон среднесрок ниже.

//+------------------------------------------------------------------+
//|                                               D1_AND_SHABLON.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright " КОПИЯ 1 "
#property link      "https://vk.com/danila_mastep"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string tplName = "FIBOmAGIC СРЕДНЕСРОК";
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    if(ChartPeriod(prevChart) != PERIOD_D1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_D1);
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+


Окно терминала с открытыми графиками на скрине ниже.

7 графиков с шаблоном скальпинга

На скрине видно что открыто 7 графиков и на всех шаблон скальпинг как и на AUD/USD. При перетаскивании скрипта D1_AND_SHABLON.mq4 ничего не происходит- где могла закрасться ошибка? О_о

 
DanilaMactep #:

Добрый день. Я в скрипт добавил всё как подсказали- код скрипта для перевода графмков на д1 и шаблон среднесрок ниже.


Окно терминала с открытыми графиками на скрине ниже.

На скрине видно что открыто 7 графиков и на всех шаблон скальпинг как и на AUD/USD. При перетаскивании скрипта D1_AND_SHABLON.mq4 ничего не происходит- где могла закрасться ошибка? О_о

Вся проблема в том, что советчиков слишком много и у каждого своё решение. Даже если правильное, то отличается от других. Но часто бывает абсолютно не правильное.

Саша советовал поставить имя шаблона без .tpl а в моей подсказке так

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам

Alexey Viktorov, 2022.02.17 08:29

Вам достаточно было в свой код дописать одну строку. Или даже заменить две строки одной

string tplName = "name.tpl";
/********************Script program start function*******************/
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    //if(ChartPeriod(prevChart) != PERIOD_H1)
    //  ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
    ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

Вы взяли часть оттуда, часть отсюда и получилась каша… даже не перловая…
 
novichok2018 #:

Да, именно:  что бы советник №2, видел все открываемые позиции советником №1. Только если бы для меня это было просто, я бы не обратился за помощью.

Пока что я виже решение такое: написать индикатор, который бы создавал объект "точка" с координатами открытия позиции советником №1 и поместить его на график, где установлен советник №2.

Если моя логика верна, то всё равно требуется помощь в написании этого индикатора.

Он их видит
 
novichok2018 #:

Да, именно:  что бы советник №2, видел все открываемые позиции советником №1. Только если бы для меня это было просто, я бы не обратился за помощью.

Пока что я виже решение такое: написать индикатор, который бы создавал объект "точка" с координатами открытия позиции советником №1 и поместить его на график, где установлен советник №2.

Если моя логика верна, то всё равно требуется помощь в написании этого индикатора.

Не совсем понятно, нужно что бы Вы видели открытые позиции советником №1

или все же советник №2 ?

Вот, ниже код советника который видит открытые поз. открытые советником №1, 

достаточно прописать в свойствах магик советника №1.

//+------------------------------------------------------------------+
//|                                                  советник №2.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input int  Magic = 0;  //

datetime OOT;   //время последней открытой позиции.
double  OOP;    //цена последней открытой позиции.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   GetPos(Symbol(),Magic);

   Comment("время последней открытой позиции =",TimeToString(OOT),
           "\nцена последней открытой позиции = ",DoubleToString(OOP,_Digits));

  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void GetPos(string sy,int mn)
  {

   int      i,k=OrdersTotal();

   for(i=0; i<k; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==mn && OrderSymbol()==sy)
           {
            if(OOT<OrderOpenTime())
              {
               OOT = OrderOpenTime();
               OOP = OrderOpenPrice();
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

И выводит в соммент координаты последний открытой поз. 

 
Alekseu Fedotov #:

Не совсем понятно, нужно что бы Вы видели открытые позиции советником №1

или все же советник №2 ?

Вот, ниже код советника который видит открытые поз. открытые советником №1, 

достаточно прописать в свойствах магик советника №1.

И выводит в соммент координаты последний открытой поз. 

У него нет доступа к коду советника-передатчика...

Человек упорно уверен, что если ордер открыт на другом графике, то передачик его не видит.

Я пытался объяснить, но безуспешно(

 
Tretyakov Rostyslav #:

У него нет доступа к коду советника-передатчика...

Человек упорно уверен, что если ордер открыт на другом графике, то передачик его не видит.

Я пытался объяснить, но безуспешно(

Думал что речь идет о приемнике, и вроде как код открытый. Ну не понял.

 
Alexey Viktorov #:

Вся проблема в том, что советчиков слишком много и у каждого своё решение. Даже если правильное, то отличается от других. Но часто бывает абсолютно не правильное.

Саша советовал поставить имя шаблона без .tpl а в моей подсказке так


Вы взяли часть оттуда, часть отсюда и получилась каша… даже не перловая…
Очень мелкие детали, на которые сам никогда не обратишь внимания. Большое спасибо за направление, завтра буду дальше кавыряться. И это I'll be back пацаны ))))))))))))))))))
 
Tretyakov Rostyslav #:
Он их видит

Возможно, он их видит, я кода советника не читал, но, возможно, он видит только то,что отражается на графике, на котором он установлен. А отражаются линии тейкпрофита, стоплосса и цены открытия позиции, но нет времени открытия. Поэтому, я думаю, если советник №2 видит только то, что отражено на его графике, то он может некорректно считывать информацию от советника №1. Отсюда мое желание отразить на его графике всю информацию об позиции, открытой советником №1: цену, время открытия и стопы. 

 
Alekseu Fedotov #:

Не совсем понятно, нужно что бы Вы видели открытые позиции советником №1

или все же советник №2 ?

Вот, ниже код советника который видит открытые поз. открытые советником №1, 

достаточно прописать в свойствах магик советника №1.

И выводит в соммент координаты последний открытой поз. 

Платформа не допускает установку двух советников на один график. Необходим наверное индикатор.

 
Vitaly Muzichenko #:

Данные о подписчике вынимать вредно.

Опять-же, у вас на счету 50 с плечом 500, а у подписчика 5000 с плечом 33.

Тут как-бы есть небольшие проблемы с расчётами. Это если говорить о данном сервисе.

Если говорить о самокопировании, то:

у вас на счету 50 с плечом 2000, а у подписчика 5000 с плечом 33

Вы сможете открыть 3 позиции с небольшим лотом, а у подписчика с завышенным лотом под его депозит уже после второй не останется денег, потому что все уйдут на маржу.

---

Не так всё просто.

Спасибо!
На счет подписчиков и их данных.
Дело в том что все будет с их согласия. Я не планирую заниматься массовым копированием на данном ресурсе, это очень неудобно.

Данные нужны что бы подписчик не обманул меня дважды. Так как оплата будет после прибыли. И я должен видеть баланс подписчика что бы понимать какова моя сумма вознаграждения.
Подписчик будет переводить мою прибыль сам. 

Кредитное плечо у меня стабильное, 100.  Баланс 100 долларов. Это снижает нагрузку на психику. А у подписчика может быть 100 000, мне легче сохранять спокойствие чем ему.
Я так работаю на бинанс.
Так же хочу развить тему для тех кто в форексе.

Вы я так понимаю специалист.
Вот скажите возможно ли сделать с копировальщиком что то такое подобное?
Например на бинанс данные о моем клиенте ( подписчике) Выводятся по АПИ в мою админку на сайте что для меня сделал мой друг программист.  Но в MQL 5  он не очень. Или вообще не очень))

Причина обращения: