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

Рейтинг 2087



РЕКОМЕНДУЮ



Индикатор на рабочем столе

Прошу Вас написать дополнение к советнику а именно при включении советника на рабочем столе отображающийся индикаторы используемые советником
www.opentraders.ru/downloads/2488/
чтобы каждый раз после перезагрузке компа снова не настраивать рабочий стол
  • 0
  • Просмотров: 3480
  • 23 ноября 2019, 19:48
  • Borg
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Улучшения в мультивалютный советник
Следующая запись в группе  
Советник. Попытка №2.
23 ноября 2019
24 ноября 2019

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

+
0
покажите на скринах что нужно сделать?
avatar

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

  • 23 ноября 2019, 19:57
+
0
Накинул индюки + советник на график и сохранил в шаблон *hi*  что проще.
avatar

  22  poker Сообщений: 801

  • 24 ноября 2019, 11:37
+
0
А КОГДА НОВЫЙ ВСТАВИЛ СНОВА ШАБЛОН ДЕЛАТЬ???
«Прошу Вас написать дополнение к советнику а именно при включении советника на рабочем столе отображающийся индикаторы используемые советником»
avatar

  9  Borg Автор Сообщений: 88 - Borg

  • 24 ноября 2019, 17:44
+
0
Новый что вставил? :D  сохранить как и либо записать в тот же шаблон, либо сделать еще один другой… у меня шаблонов много, под разные индикаторы и советники…
Нет, я то не настаиваю что это лучшее решение (с шаблонами), кому как удобнее…
Мне шаблон сделать 2 секунды *pardon* 
avatar

  22  poker Сообщений: 801

  • 24 ноября 2019, 18:41
+
0
Андрей возможно визуализировать используемые индикаторы в советнике??? или это невозможно?
avatar

  9  Borg Автор Сообщений: 88 - Borg

  • 24 ноября 2019, 19:13
+
0
не могу сказать. с этим еще не сталкивался.
avatar

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

  • 24 ноября 2019, 21:41
+
0
вариант с дополнением:


//+------------------------------------------------------------------+
//|                                                         3MA3.mq4 |
//|                                              Copyright 2019, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots          = 0.1;      // лот
extern double KLot          = 1;        // умножение лота
extern double MaxLot        = 5;        // максимальный лот

extern int    StopLoss      = 333;
extern int    TakeProfit    = 444;
extern int    TrailingStop  = 0;
extern int    Shift         = 2;
extern int    Slip          = 30;
extern int    Magic         = 123;

extern bool   MA3Filter     = 0;

extern int    MA1Period     = 10;
extern int    MA1Shift      = 0;
extern int    MA1Method     = 1;
extern int    MA1Price      = 0;

extern int    MA2Period     = 45;
extern int    MA2Shift      = 0;
extern int    MA2Method     = 1;
extern int    MA2Price      = 0;

extern int    MA3Period     = 200;
extern int    MA3Shift      = 0;
extern int    MA3Method     = 1;
extern int    MA3Price      = 0;

extern string TemplateName  = "3MA.tpl";

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   ChartApplyTemplate(0,TemplateName);
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()<2)
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;
      if(StopLoss>0)
         sl=NormalizeDouble(price+StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price-TakeProfit*_Point,_Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;
      if(StopLoss>0)
         sl=NormalizeDouble(price-StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price+TakeProfit*_Point,_Digits);
     }

   r=OrderSend(NULL,type,Lots,NormalizeDouble(price,_Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   for(int i=OrdersHistoryTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderProfit()>0)
               break;
            if(OrderProfit()<0)
              {
               lot=OrderLots()*KLot;
               break;
              }
           }
        }
     }
   if(lot>MaxLot)
      lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   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(Bid-OrderOpenPrice()>TrailingStop*_Point)
                 {
                  if(OrderStopLoss()<Bid-TrailingStop*_Point)
                    {
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*_Point,OrderTakeProfit(),0,Yellow);
                     return;
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if((OrderOpenPrice()-Ask)>TrailingStop*_Point)
                 {
                  if((OrderStopLoss()>(Ask+TrailingStop*_Point)) || (OrderStopLoss()==0))
                    {
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*_Point,OrderTakeProfit(),0,Yellow);
                     return;
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   double MA1=iMA(NULL,0,MA1Period,MA1Shift,MA1Method,MA1Price,Shift);
   double MA2=iMA(NULL,0,MA2Period,MA2Shift,MA2Method,MA2Price,Shift);
   double MA3=iMA(NULL,0,MA3Period,MA3Shift,MA3Method,MA3Price,Shift);

   double MA12=iMA(NULL,0,MA1Period,MA1Shift,MA1Method,MA1Price,Shift+1);
   double MA22=iMA(NULL,0,MA2Period,MA2Shift,MA2Method,MA2Price,Shift+1);
   double MA32=iMA(NULL,0,MA3Period,MA3Shift,MA3Method,MA3Price,Shift+1);

   bool buy =  MA1>MA2 && MA12<MA22;
   bool sell =  MA1<MA2 && MA12>MA22;

   if(MA3Filter)
     {
      buy = Bid>MA3 && MA1>MA2 && MA12<MA22;
      sell = Bid<MA3 && MA1<MA2 && MA12>MA22;
     }

   if(buy)
      PutOrder(0,Ask);
   if(sell)
      PutOrder(1,Bid);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(TrailingStop>0)
      Trailing();

   if(CountTrades()<1)
      OpenPos();
  }
//+------------------------------------------------------------------+

avatar

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

  • 25 ноября 2019, 20:24
+
+1
сохраняете шаблон с советником:


extern string TemplateName  = "3MA.tpl";


когда бросаете советник на график, то он автоматически вызовет шаблон с помощью функции:


 ChartApplyTemplate(0,TemplateName);


только не сохраняйте шаблон без советника, иначе при вызове шаблона эксперт будет удаляться
avatar

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

  • 25 ноября 2019, 20:28
+
0
это не то надо как на тесторе в конце теста показываются индикаторы но они должны быть видны в реальном времени может как то из индикатора «рисовалку „можно вставить в советник*help* 
avatar

  9  Borg Автор Сообщений: 88 - Borg

  • 25 ноября 2019, 21:06
+
0
Прошу Вас написать дополнение к советнику а именно при включении советника на рабочем столе отображающийся индикаторы используемые советником
www.opentraders.ru/downloads/2488/
чтобы каждый раз после перезагрузке компа снова не настраивать рабочий стол


по тз сделано. в тз про тестер ни сказано ни слова
avatar

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

  • 25 ноября 2019, 21:27
+
+1
Ответ прост! Для того чтобы тестить советника с нужным набором индикаторов нужно просто взять график, настроить его без советника и сохранить шаблон как tester.tpl. ВАЖНО УЧЕСТЬ что перед сохранением открыть объекты и выделить все и удалить, иначе показания индикаторов в виде стрелок могут уже висеть на графике. Вуаля! Запускаете советника в тестер с настроенными индикатора и и смотрите как отрабатывает советник по ним.
avatar

  11  merlin77 Сообщений: 23 - Михаил

  • 26 ноября 2019, 01:24
+
+1
Для открытия открытия на строенного графика с нужными индикаторами, шаблон default.tpl Для реальной торговли, чтобы не переставать под стратегию шаблон например 3МА.tpl уже в месте с советником. Потом просто открываешь график и выбираешь сохранённый шоблон. Главное чтобы советники и индикаторы лежали в тех папках как при настройке шаблона. Иначе шаблон откроет только то что найдёт и об остальном ничего не скажет даже в журнале.
avatar

  11  merlin77 Сообщений: 23 - Михаил

  • 26 ноября 2019, 01:33
+
0
Когда изменяете параметры индикатора в советнике снова не рисуете рабочий стол а он сам подстраивается*help*  для десятка индикаторов
avatar

  9  Borg Автор Сообщений: 88 - Borg

  • 26 ноября 2019, 17:12
+
0
У вас две Машки…
От куда десяток.
avatar

  11  merlin77 Сообщений: 23 - Михаил

  • 27 ноября 2019, 10:38
+
0
когда изменяете параметры в советнике и чтобы одновременно все это менялось в шаблоне такого я не встречал. если у вас есть пример кода, то можно будет о чем то говорить :) 
avatar

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

  • 26 ноября 2019, 17:50
+
0
это нет ?? не сможете написать???
avatar

  9  Borg Автор Сообщений: 88 - Borg

  • 26 ноября 2019, 19:44
+
0
это нет ?? не сможете написать???

А зачем вам уважаемый, такой советник?*nb* 
Раз не знаете как работать с терминалом, и не хотите его изучить, то вам нужен не советник, а робот, что бы он сам — включал комп., запускал терминал и торговал только в прибыль, а за тем и ещё сам же, регулярно выводил прибыль на ваш банковский счёт*wall* 
avatar

  8  volondai Сообщений: 104

  • 26 ноября 2019, 23:20
+
0
«Вовка в Тридевятом царстве» мультик *drinks* 
avatar

  22  poker Сообщений: 801

  • 27 ноября 2019, 09:59
+
0
именно это функция нужна для красоты и не считал что для программистов это будет так сложно скопировать рисовалку с индука в сову
avatar

  9  Borg Автор Сообщений: 88 - Borg

  • 27 ноября 2019, 20:42
+
0
опишите то что нужно на форуме мкл, попросите пример кода, а я сделаю все остальное :) 
avatar

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

  • 27 ноября 2019, 21:23
+
0
предается искать на других форумах раз здесь только один шаблон мусолят с разных сторон и нечего нового не допросится*neft* 
avatar

  9  Borg Автор Сообщений: 88 - Borg

  • 1 декабря 2019, 17:10

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