0
Автор заказа, поясните что на скрине.
avatar

verta81

  • 30 ноября 2022, 22:37
0
Загадили тему))
avatar

verta81

  • 30 ноября 2022, 22:36
0
вот здесь делал, Андрей: mql.opentraders.ru/56594.html
avatar

verta81

  • 5 ноября 2022, 17:18
0

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
    ButtonCreate("Button",200,20,80,25,"Button");
    LabelCreate("Label1",50,50,"Label1");
    LabelCreate("Label2",50,70,"Label2");
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
    ObjectsDeleteAll(); 
  }
//+------------------------------------------------------------------+ 
//| Создает текстовую метку                                          | 
//+------------------------------------------------------------------+ 
bool LabelCreate(string name,int x,int y,string text)
  {
//--- создадим текстовую метку 
   ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//--- установим координаты метки 
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x); 
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y); 
//--- установим угол графика, относительно которого будут определяться координаты точки 
   ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_LEFT_UPPER); 
//--- установим текст 
   ObjectSetString(0,name,OBJPROP_TEXT,text); 
//--- установим шрифт текста 
   ObjectSetString(0,name,OBJPROP_FONT,"Arial"); 
//--- установим размер шрифта 
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12);  
//--- установим цвет 
   ObjectSetInteger(0,name,OBJPROP_COLOR,clrRed); 
   return(true); 
  } 
//+------------------------------------------------------------------+ 
//| Создает кнопку                                                   | 
//+------------------------------------------------------------------+ 
bool ButtonCreate(string name,int x,int y,int width,int height,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,width); 
   ObjectSetInteger(0,name,OBJPROP_YSIZE,height); 
//--- установим угол графика, относительно которого будут определяться координаты точки 
   ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_RIGHT_UPPER); 
//--- установим текст 
   ObjectSetString(0,name,OBJPROP_TEXT,text); 
//--- установим шрифт текста 
   ObjectSetString(0,name,OBJPROP_FONT,"Arial"); 
//--- установим размер шрифта 
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12); 
//--- установим цвет текста 
   ObjectSetInteger(0,name,OBJPROP_COLOR,clrBlack); 
//--- установим цвет фона 
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clrCoral); 
//--- установим цвет границы 
   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,clrCoral);  
//--- переведем кнопку в заданное состояние 
   ObjectSetInteger(0,name,OBJPROP_STATE,false); 
 
   return(true); 
  } 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Erase()
  {
   for(int i=0;i<ObjectsTotal();i++)
     {
      if(ObjectName(i)=="Button" || ObjectName(i)=="Label1" || ObjectName(i)=="Label2") continue;
        {
         ObjectSetInteger(0,ObjectName(i),OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS, EMPTY);
         PrintFormat("Объект %d: Имя объекта - %s",i,ObjectName(i));
        }
     }
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(ObjectGetInteger(0,"Button",OBJPROP_STATE))
     {
      Erase();
      ObjectSetInteger(0,"Button",OBJPROP_STATE,false);
     }
  }
//+------------------------------------------------------------------+
avatar

verta81

  • 27 октября 2022, 01:13
0
А как найти ВСЕ объекты на графике? каким-то перебором имен? как узнать имена ВСЕХ объектов?
avatar

verta81

  • 27 октября 2022, 00:25
0
Может кто встречал сам индикатор в исходнике?
avatar

verta81

  • 18 октября 2022, 11:11
0
что-то похожее: www.opentraders.ru/downloads/3421/
avatar

verta81

  • 12 октября 2022, 20:21
0
Что-то похожее тестировал. Пороюсь в закрамах, может найду и продемонстрирую.
avatar

verta81

  • 12 октября 2022, 11:14
0
При условии закрытия встречных ордеров и спрэде более 28pips, ТС будет убыточна. Как планируете решить вопрос при выходе из флэта и импульсах? Депо не резиновое ведь.
P.S. это не критика, просто интересно.
avatar

verta81

  • 12 октября 2022, 11:06
0
Хочу поинтересоваться для себя, Вы спред в данной стратегии учитывали?
avatar

verta81

  • 12 октября 2022, 10:54
0
цена достигла уровня, на котором должен открыться ордер одного направления и при этом на уровне есть ранее открытые ордера другого направления, то они должны быть закрыты.
Как тогда должно работать закрытие встречных?
avatar

verta81

  • 12 октября 2022, 10:42
0
А если взять первый рисунок и на нём сделать пример закрытия встречных ордеров, по мере движения цены.
avatar

verta81

  • 12 октября 2022, 10:18
0
А если открывать сделку по следующим условиям:
1. Цена пробила машку снизу вверх.
2. Зарылась медвежья свечка.
3. Ордер Buy на открытии новой свечи.
4. Обратный сигнал закрывает открытый ордер, или использовать тейк и стоп
avatar

verta81

  • 6 октября 2022, 17:47
0
выставление отложек происходит после срабатывания первого ордера
www.opentraders.ru/downloads/3402/
avatar

verta81

  • 20 сентября 2022, 22:49
+1
замените функцию OnDeinit на следующую:

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
    ObjectDelete(0,"Main");
    ObjectDelete(0,"Stop");
    ObjectDelete(0,"Take");
    ObjectDelete(0,"Startb");
    ObjectDelete(0,"Stopb");
  }

будет удалять только свои объекты: кнопки и линии.

ответ на вопрос: реально сделать.
avatar

verta81

  • 17 сентября 2022, 07:59
0
перезалил
www.opentraders.ru/downloads/3397/
время экспирации установите =0 или больше 10
avatar

verta81

  • 16 сентября 2022, 21:50
0
шаг у вас какой?
avatar

verta81

  • 16 сентября 2022, 21:36
0
147 — время истечения ордера запрещено брокером.
130 — не правильные стопы. Проверьте настройки стопа, тейка и шаг
avatar

verta81

  • 16 сентября 2022, 21:27
+1
Сделал, как понял))

www.opentraders.ru/downloads/3397/

2 файла:
— setka_12 клик по графику-нарисовали 3 линии в месте клика и далее жмакаем пуск, проверять на демо или реальном счету
— setka_13 рисует 3 линии и далее жмакаем пуск. можно тестить в тестере
avatar

verta81

  • 16 сентября 2022, 16:49