Buff
Артем

 
Уровень 13

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


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

Рейтинг 2146



РЕКОМЕНДУЮ



Еще вариант совы Активатор

Андрей Привет! Прошу в сове zakaz.opentraders.ru/29326.html поменять правила торговли.
Вообщем входим как обычно по сигналу индюка 1 ордером (без сетки) далее появляется еще сигнал в др сторону входим по нему 2-м объемом (1 ордер оставляем открытым) едем дальше опять сигнал входим по нему 2-м объемом от предыдущего ордера.
1 ордер бай объем 1
2 ордер селл объем 2
3 ордер бай объем 4
4 ордер селл объем 8
и т. д.
Выход по проценту от депо. Подобие неваляшки от СМ только с индюком.
Это позволит нам ложные входы использовать с выгодой опять же ловим тренд хороший безоткат.
  • 0
  • Просмотров: 1942
  • 12 декабря 2015, 20:08
  • Buff
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
+1
У вас в этом месяце есть один заказ. Если только свободное время будет или другой кто то сделает.
avatar

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

  • 12 декабря 2015, 21:26
+
0
Где то я делал подобный, только там машка была. Сейчас уж не найду, проще новый сделать.
avatar

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

  • 14 декабря 2015, 16:13
+
+1
Вот:




//+------------------------------------------------------------------+
//|                                                    Activator.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property description "Simple expert advisor"

//--- Inputs
extern double Loss        = 50;   //лось
extern double Profit      = 10;   //язь
extern int    Slip        = 100;  //проскальзывание
extern int    Magic       = 123;  //магик
extern double Lots        = 0.1;  //лот
extern double KLot        = 2;    //уменьшение лота
extern double MaxLot      = 10;   //максимальный лот
//----Настройки Gann_HiLo_Activator_v2
extern int LookBack=12;  // 

int trade=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   if(CountTrades()>0) lot=NormalizeDouble(Lots*MathPow(KLot,CountTrades()),2);
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll()
  {
   bool del;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol())
           {
            if(OrderType()==OP_BUY)  del=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,White);
            if(OrderType()==OP_SELL) del=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,White);
           }
        }
     }
   return;
  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   int    res=0;
//--- get ind
   double ind=iCustom(Symbol(),0,"Gann_HiLo_Activator_v2",LookBack,0,1);

//--- sell conditions
   if(Close[1]<ind)
     {
      res=OrderSend(NULL,1,Lot(),fND(Bid),Slip,0,0,"",Magic,0,Red);
      return;
     }

//--- buy conditions
   if(Close[1]>ind)
     {
      res=OrderSend(NULL,0,Lot(),fND(Ask),Slip,0,0,"",Magic,0,Blue);
      return;
     }
//---
  }
//+------------------------------------------------------------------+
double fND(double d,int n=-1)
  {
   if(n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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()==OP_BUY || OrderType()==OP_SELL) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- get ind
   double ind=iCustom(Symbol(),0,"Gann_HiLo_Activator_v2",LookBack,0,1);
   double BALANCE=AccountInfoDouble(ACCOUNT_BALANCE);
   double EQUITY=AccountInfoDouble(ACCOUNT_EQUITY);
   double Prosadka=0;

   if((Close[1]>ind && Close[3]<ind) || (Close[1]<ind && Close[3]>ind))trade=0;

   if(trade==0)
     {
      OpenPos();
      trade++;
     }

   if(Loss>0)
     {
      Prosadka=100*(BALANCE-EQUITY)/BALANCE;
        {
         if(Prosadka>=Loss)
           {
            CloseAll();
            Print("Closed All due to Stop Out");
           }
        }
     }

   if(Profit>0)
     {
      Prosadka=100*(EQUITY-BALANCE)/BALANCE;
        {
         if(Prosadka>=Profit)
           {
            CloseAll();
            Print("Closed All due to All Profit");
           }
        }
     }

   Comment("\n Ind",ind,
           "\n Trade",trade);
//---
  }
//+------------------------------------------------------------------+

avatar

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

  • 14 декабря 2015, 16:57
+
0
Спасибо бу тестить и вообще предлагаю правила чтоли ввести чтобы все тестили и выкладывали результаты, а то столько сов написано и тишина некоторые ток обсуждаются 3-4 людьми. Хотя все знаем как на др ресурсах это все происходит и на сколько страниц растягивается и это правильный подход совместное тестирование. Ща новую тему создам с предложением админам.
avatar

  13  Buff Автор Сообщений: 401 - Артем

  • 14 декабря 2015, 20:14
+
0
Тестируют конечно, но результаты почти всегда печальны.
avatar

  17  vis Сообщений: 200 - ♫♪♫♪

  • 15 декабря 2015, 09:06
+
0
Что то неправильно. 1 ордер открывает заданным объемом потом появляется обратный сигнал и он открывает сразу много ордеров до мах лота и потом начинается пересиживание больше ничего не открывается, если пересидеть удалось то опять появляется сигнал опять много ордеров.
avatar

  13  Buff Автор Сообщений: 401 - Артем

  • 14 декабря 2015, 20:48
+
+1
Сделал немного по другому:




//+------------------------------------------------------------------+
//|                                                    Activator.mq4 |
//|                                              Copyright 2015, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, AM2"
#property link      "http://www.forexsystems.biz"
#property description "Simple expert advisor"

//--- Inputs
extern double Loss        = 50;   //лось
extern double Profit      = 10;   //язь
extern int    Slip        = 100;  //проскальзывание
extern int    Magic       = 123;  //магик
extern double Lots        = 0.1;  //лот
extern double KLot        = 2;    //уменьшение лота
extern double MaxLot      = 10;   //максимальный лот
//----Настройки Gann_HiLo_Activator_v2
extern int LookBack=12;  // 

int btrade=0, strade=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   if(CountTrades()>0) lot=NormalizeDouble(Lots*MathPow(KLot,CountTrades()),2);
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll()
  {
   bool del;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol())
           {
            if(OrderType()==OP_BUY)  del=OrderClose(OrderTicket(),OrderLots(),Bid,Slip,White);
            if(OrderType()==OP_SELL) del=OrderClose(OrderTicket(),OrderLots(),Ask,Slip,White);
           }
        }
     }
   return;
  }
//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void OpenPos()
  {
   int    res=0;
//--- get ind
   double ind=iCustom(Symbol(),0,"Gann_HiLo_Activator_v2",LookBack,0,1);

//--- sell conditions
   if(Close[1]<ind && strade<1)
     {
      res=OrderSend(NULL,1,Lot(),fND(Bid),Slip,0,0,"",Magic,0,Red);
      btrade=0;
      strade=1;
     }

//--- buy conditions
   if(Close[1]>ind && btrade<1)
     {
      res=OrderSend(NULL,0,Lot(),fND(Ask),Slip,0,0,"",Magic,0,Blue);
      btrade=1;
      strade=0;
     }
//---
  }
//+------------------------------------------------------------------+
double fND(double d,int n=-1)
  {
   if(n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
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()==OP_BUY || OrderType()==OP_SELL) count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//| OnTick function                                                  |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- get ind
   double ind=iCustom(Symbol(),0,"Gann_HiLo_Activator_v2",LookBack,0,1);
   double BALANCE=AccountInfoDouble(ACCOUNT_BALANCE);
   double EQUITY=AccountInfoDouble(ACCOUNT_EQUITY);
   double Prosadka=0;

      OpenPos();

   if(Loss>0)
     {
      Prosadka=100*(BALANCE-EQUITY)/BALANCE;
        {
         if(Prosadka>=Loss)
           {
            CloseAll();
            Print("Closed All due to Stop Out");
           }
        }
     }

   if(Profit>0)
     {
      Prosadka=100*(EQUITY-BALANCE)/BALANCE;
        {
         if(Prosadka>=Profit)
           {
            CloseAll();
            Print("Closed All due to All Profit");
           }
        }
     }

   Comment("\n Ind",ind,
           "\n Buy Trade",btrade,
           "\n Sell Trade",strade);
//---
  }
//+------------------------------------------------------------------+

avatar

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

  • 14 декабря 2015, 21:10

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