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

Рейтинг 2146



РЕКОМЕНДУЮ



Стратегия форекс «CCSS»

Тезка, приветствую!
Нужна помощь. Есть стратегия, нужна сова под МТ4 :)  На сколько реально не знаю, но кажется ничего сложного.

ТЗ:
Сигналом в BUY является смена цвета основного индикатор на графике «SSG HASignal». Далее именно на этой свече индикатор «CCI» должен быть выше уровня 95. Если этого не произошло далее про сигнал забыли. Если все хорошо, то смотрим на третий индюк «SSG Fbar» и ждем нашего цвета (на рисунке BUY синий). Если поступил противоположный сигнал, то про предыдущий забыли.


Опции совы:
— размер лота;
— лось;
— язь;
— проскальзывание.
P.S. Во вложении есть шаблон и индикаторы + видео стратегии с сайта.
cloud.mail.ru/public/GPtb/d3Hk3Jwu2

Спасибо!

Ну и пользуясь случаем… тезка и все все все…
  • 0
  • Просмотров: 4551
  • 18 февраля 2018, 16:55
  • poker
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Отложки по семафору.
Следующая запись в группе  
МА
18 февраля 2018
20 февраля 2018

Брокер для ваших роботов, 15 лет на рынке

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

+
+1
на среду
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 18 февраля 2018, 17:00
+
+1
нет четкого сигнала от индикатора SSG HASignal.
см. набросок:


//+------------------------------------------------------------------+
//|                                                          SSG.mq4 |
//|                                              Copyright 2018, AM2 |
//|                                      http://www.forexsyatems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, AM2"
#property link      "http://www.forexsyatems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots       = 0.1;      // лот
extern double KLot       = 1;        // умножение лота
extern double MaxLot     = 5;        // максимальный лот
extern int StopLoss      = 2000;     // лось
extern int TakeProfit    = 3000;     // язь
extern int Slip          = 30;       // реквот
extern int Shift         = 1;        // на каком баре сигнал индикатора
extern int Magic         = 123;      // магик
extern string IndName    = "SSG_HASignal";
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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,Lot(),NormalizeDouble(price,Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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 OpenPos()
  {
   double buy  = iCustom(NULL,0,IndName,0,Shift);
   double sell = iCustom(NULL,0,IndName,1,Shift);

   if(buy<1000)
     {
      PutOrder(0,Ask);
     }

   if(sell<1000)
     {
      PutOrder(1,Bid);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void ClosePos()
  {
   double buy  = iCustom(NULL,0,IndName,0,Shift);
   double sell = iCustom(NULL,0,IndName,1,Shift);

   if(sell<1000)
     {
      CloseAll(0);
     }

   if(buy<1000)
     {
      CloseAll(1);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   for(int i=OrdersHistoryTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if(OrderProfit()>0) break;
         if(OrderProfit()<0)
           {
            lot=OrderLots()*KLot;
            break;
           }
        }
     }
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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);
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   double buy  = iCustom(NULL,0,IndName,0,Shift);
   double sell = iCustom(NULL,0,IndName,1,Shift);

   if(CountTrades()<1)
     {
      OpenPos();
     }
   else ClosePos();

   Comment("\n buy: ",buy,
           "\n sell: ",sell);
  }
//+------------------------------------------------------------------+

avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 21 февраля 2018, 21:35
+
0
Тезка, понял. Давай гляну. Спасибо )
avatar

  22  poker Автор Сообщений: 849

  • 22 февраля 2018, 22:18
+
+1
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 24 февраля 2018, 08:47
+
0
Тезка, спасибо!
avatar

  22  poker Автор Сообщений: 849

  • 25 февраля 2018, 14:20
+
0
добрый день. Я не могу настроить чтобы закрытие было по обратному сигналу( он игнорирует стоп и профит выставил 0. Что мне изменит? Спасибо:) 
avatar

  3  Aleksandr-1 Сообщений: 7 - Александр

  • 13 марта 2018, 19:07
+
0
ОН не работает!(  необходима доделать. Вы можете доработать советник?
avatar

  3  Aleksandr-1 Сообщений: 7 - Александр

  • 22 марта 2018, 10:16
+
0
я не могу :)  не программист я
avatar

  22  poker Автор Сообщений: 849

  • 23 марта 2018, 14:57
+
0
Тезка, в пятницу поставил на демку совушку ) она сразу открыла ордер в sell… но по картинке не должна была… еще понаблюдаю отпишу…

Редактирован: 3 марта 2018, 19:16
avatar

  22  poker Автор Сообщений: 849

  • 3 марта 2018, 19:16
+
0
добрый день. Я не могу настроить чтобы закрытие было по обратному сигналу(  он игнорирует стоп и профит выставил 0. Что мне изменит? Спасибо:) 
avatar

  3  Aleksandr-1 Сообщений: 7 - Александр

  • 13 марта 2018, 18:04

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