cardon

 
Уровень 10

  Торгую в компаниях:


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

Рейтинг 2092



РЕКОМЕНДУЮ




Лучшее от cardon



дороботка сова Комментариев 68
2016-11-24 13:25:33Рейтинг 0

советник на 1 МА Комментариев 13
2016-07-29 13:57:46Рейтинг 0

просто индюк Комментариев 22
2016-09-17 11:18:53Рейтинг 0

доработка сова Комментариев 2
2017-01-09 19:57:28Рейтинг 0

сова просто сова Комментариев 19
2016-10-06 16:43:18Рейтинг 0

соетник тралл тейка для лимитной сети

всем привет 0/
для сеточных стратегий и не только, для разгона, там где везде применяются лимитные ордера и мартингейл нужен тралл тейка.

советник мт4 сам не торгует.

просто горизонтальная линия при касании которой закрываются все ордера на графике, вообще все,линию можно таскать руками и бросить в любое место, над линией или в углу графика сделать суммарное, числовое значение профита всех открытых ордеров, включая минусовые, чтоб было видно какой профит закроется при касании линии.

уточнение — если в работе 1 ордер то показывает значение 1 одера, если в работе несколько ордеров и наша линия между ними, то получится профит и положительный, а с других ордеров отрицательный, в углу или над линией должно отображатся значение общее, которое будет при закрытии всех ордеров, чтоб знать какой прфит будет в этом промежутке.

===============================================================================
сделать функцию — автомат вкл/выкл, в любое время выключить/включить ручной режим и перейти на автоматический тралл, как в стандартных усреднителях — тоесть при срабатывании следующего ордера тейк подтягивается на заданное расстояние.

приветствуется критика.:) 
  • 0
  • Просмотров: 2543
  • 2 мая 2016, 09:19
  • cardon
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
Следующая запись в группе  
Переделка совы
01 мая 2016
02 мая 2016

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

+
0
Такие индивидуальные варианты реализовать в разы сложнее чем просто советник с индикаторами. Если будет достаточно свободного времени буду смотреть.
avatar

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

  • 2 мая 2016, 09:30
+
0
не тороплюсь :) 
avatar

  10  cardon Автор Сообщений: 376

  • 2 мая 2016, 10:00
+
0
Сделал набросок для тестера:




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

//--- Inputs
extern double Lots       = 0.1;      // лот
extern int StopLoss      = 0;        // лось
extern int TakeProfit    = 0;        // язь
extern int Delta         = 30;       // отступ от линии для закрытия
extern int Slip          = 30;       // реквот
extern int Magic         = 0;        // магик
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

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

  }
//+------------------------------------------------------------------+
//| Горизонтальная линия                                             |
//+------------------------------------------------------------------+
void PutHLine()
  {
   ObjectCreate(0,"TP",OBJ_HLINE,0,0,Bid+300*Point);
//--- установим цвет линии
   ObjectSetInteger(0,"TP",OBJPROP_COLOR,Red);
//--- установим толщину линии
   ObjectSetInteger(0,"TP",OBJPROP_WIDTH,1);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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 AllProfit()
  {
   double pr=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)
              {
               pr+=OrderProfit()+OrderCommission()+OrderSwap();
              }
           }
        }
     }
   return(pr);
  }
//+------------------------------------------------------------------+
//| Закрытие позиции по типу ордера                                  |
//+------------------------------------------------------------------+
void CloseAll(int ot=-1)
  {
   bool cl;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==0 && (ot==0 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slip,White);
              }
            if(OrderType()==1 && (ot==1 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slip,White);
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double LinePrice()
  {
   double pr=0;
   for(int i=ObjectsTotal()-1;i>=0;i--)
     {
      pr=ObjectGetDouble(0,"TP",OBJPROP_PRICE);
     }
   return(pr);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(OrdersTotal()<1 && IsTesting())
     {
      for(int i=1;i<=5;i++)
        {
         PutOrder(3,Ask+300*Point*i);//selllimit 5
        }

      for(int i=1;i<=4;i++)
        {
         PutOrder(4,Ask+200*Point*i);//buystop 4
        }
     }

   PutHLine();
   if(AllProfit()>0 && Bid<LinePrice()+Delta*Point && Bid>LinePrice()-Delta*Point) CloseAll();

   Comment("\n Profit: ",AllProfit(),
           "\n Equity: ",AccountEquity(),
           "\n Balance: ",AccountBalance(),
           "\n LinePrice: ",LinePrice());
  }
//+------------------------------------------------------------------+

avatar

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

  • 2 мая 2016, 11:55
+
0
В этом варианте есть возможность посмотреть работу советника в тестере и также можете ставить и смотреть как будет работать на демо.
www.opentraders.ru/downloads/1167/
Редактирован: 2 мая 2016, 21:40
avatar

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

  • 2 мая 2016, 13:44
+
0
честно проверил и не понял — зачем значение «отступ от линии закрытия»? нельзя чтоб при касании закрывался по линии Ask? или для чего это? так почти все устраивает, линию таскаем руками, бросаем куда хотим. отоброжение числового значения, в правый угол. по возможности- числовое значение должно отображать какой мыполучим сумарный профит всех открытых ордеров в том числе и отрицательных на том месте где стоит линия. иметь возможность смены цвета линии. пока все что заметил.
Редактирован: 3 мая 2016, 15:23
avatar

  10  cardon Автор Сообщений: 376

  • 3 мая 2016, 15:19
+
0
честно проверил и не понял — зачем значение «отступ от линии закрытия»? нельзя чтоб при касании закрывался по линии Ask?

Можете по другому объяснить машине термин касание, я буду только рад.
avatar

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

  • 3 мая 2016, 17:24
+
0
Вывел в правый угол общий профит и цвет линии в настройки. С остальным уже не ко мне: www.opentraders.ru/downloads/1167/
avatar

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

  • 3 мая 2016, 17:32
+
0
ладно спасибо за проделаное, мучить вас не буду, не выходит так не выходит, я попытался, вы попытались, он работает некоректно, на рынок с ним безполезно выходить, а работы над ним много, он то закрывает то нет и непонятно как.
отменяю заказ.:) 
avatar

  10  cardon Автор Сообщений: 376

  • 3 мая 2016, 17:56

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