0
так вот, что бы сов. когда выставил ордер и отработал его, а сигнал ещё «живой», уже не брал его в работу!!!, ждал следующего, свежего сигнала…


слоган: «У нас только живые сигналы!» :D 



www.opentraders.ru/downloads/3342/
avatar

AM2

  • 18 июня 2022, 05:59
0
добавил обратный сигнал в тот же советник: www.opentraders.ru/downloads/3337/

avatar

AM2

  • 18 июня 2022, 05:36
0
мой вариант с удержанием. в коде все прокомментировал


//+------------------------------------------------------------------+
//|                                                        Chart.mq4 |
//|                                              Copyright 2022, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

int delta=0;
datetime t=0;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutButton(string name,int x,int y,string text)
  {
   ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//--- установим координаты кнопки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим размер кнопки
   ObjectSetInteger(0,name,OBJPROP_XSIZE,80);
   ObjectSetInteger(0,name,OBJPROP_YSIZE,30);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,2);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12);
//--- установим цвет текста
   ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
//--- установим цвет фона
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,White);
//--- установим цвет границы
   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,Blue);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов
   ObjectSetInteger(0,name,OBJPROP_HIDDEN,0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

// считаем секунды с момента нажатия 

   delta=int(TimeCurrent()-t);

   Comment("\n delta: ",delta,
           "\n t: ",t);

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,         // идентификатор события
                  const long& lparam,   // параметр события типа long
                  const double& dparam, // параметр события типа double
                  const string& sparam  // параметр события типа string
                 )
  {

// запомнили время нажатия лкм

   if(int(sparam)==1)
     {
      t=TimeCurrent();
     }
     
// если отпустили счетчик сбросился

   if(int(sparam)==0)
     {
      t=0;
     }
     
// если с момента удержания прошло более 3 сек и нажали ку, то рисуем кнопку

   if(lparam==81 && delta>3 && delta<111)
     {
      PutButton("c",33,33,"BUTON");
     }
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+

avatar

AM2

  • 17 июня 2022, 02:57
+1
уменьшил параметр до 100: www.opentraders.ru/downloads/2784/

avatar

AM2

  • 16 июня 2022, 19:41
0
у вас советник в формате *.ex4 его не поправишь. пишите тз или шлите файл mq4
avatar

AM2

  • 16 июня 2022, 17:48
0
ссылкой на файлообменник или новый топик
avatar

AM2

  • 16 июня 2022, 17:26
0
индикатор 88 подвешивает терминал. я его сразу удалил
avatar

AM2

  • 15 июня 2022, 20:06
0
если у меня получилось быстро сделать, есть заказ, нет — к другому специалисту
avatar

AM2

  • 14 июня 2022, 06:45