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

Рейтинг 2146



РЕКОМЕНДУЮ




Лучшее от MaxZ12



Создание советника Комментариев 19
2015-02-01 13:56:01Рейтинг 0

Пробой прошлой свечи + Мартин

Здравствуйте, Уважаемый АМ2! Могли бы Вы написать для меня советник по стратегии пробоя предидущей часовой свечи: В определенное мною время сов выставляет два стоповых ордера на бай и сел, на мин.и макс. предидущей свечи с отступом от них сколько я задам. Пример:
Когда открывается бай но идет в против. тогда срабатывает открытие в сел в 2 раза больше начального лота и одновременно на первоночальном бае выставляется снова ордер в 2 раза больше села, если и сел начинает против идти, тогда срабатывает снова в бай который был выставлен и т.д. Как бы цена бьется в канале, но стратегия на пробой, ордера будут открываться по ходу движения. Поэтому получается первый ордер если допустим в бай первоначальным лотом, второй в сел значит в 2 раза больше и последующие, в бай, в сел, в бай, в сел… В два раза больше от пред идущего.После профита все должно удалиться до следующих суток-установленного времени.  Ps.  Подобное для меня делала Oxy!
  • 0
  • Просмотров: 5962
  • 25 ноября 2015, 12:36
  • MaxZ12
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
0
Нарисуйте на скрине подробнее.
avatar

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

  • 25 ноября 2015, 13:31
+
0
Ок. Рисую на телефоне, простите если что
avatar

  8  MaxZ12 Автор Сообщений: 63

  • 25 ноября 2015, 14:03
+
0
Я помню тоже делал подобный, только не найду наверное.
avatar

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

  • 25 ноября 2015, 14:30
+
0
Нет не нашел, ни названия ни заказчика не помню уже. А где окси советник?
avatar

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

  • 25 ноября 2015, 14:38
+
0
У меня в блоге от 4 февраля 2015 г.
avatar

  8  MaxZ12 Автор Сообщений: 63

  • 25 ноября 2015, 14:45
+
0
Это совсем не то. Тут придется долго репу чесать как это сделать.
avatar

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

  • 25 ноября 2015, 15:06
+
0
Время и желание если совпадут у вас, посмотрите, что можно сделать с моим заказом. *hi* 
avatar

  8  MaxZ12 Автор Сообщений: 63

  • 25 ноября 2015, 15:15
+
0
Вот нашел подобный советник: zakaz.opentraders.ru/28083.html
Вспомнил свой коммент в в том топике:
Шпильки пускаешь?

Набрал в поиске, только так и нашел! :D 
avatar

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

  • 26 ноября 2015, 06:10
+
0
Здравствуйте, Андрей, спасибо большое! Почитал, блин, ТЕРПЕНИЕ У Вас (ПРОГРАММИСТОВ)на бесплатные советники ЖЕЛЕЗНОЕ *hi* . Сегодня дам ему тэста! *hi* 
avatar

  8  MaxZ12 Автор Сообщений: 63

  • 26 ноября 2015, 07:18
+
0
Андрей, погонял, пока все ок. Можно ли сделать чтоб сов открывал сделки в указанное мною время, и до профита. Следующую серию сделок открывал соответственно на следующие сутки в указанное время?
avatar

  8  MaxZ12 Автор Сообщений: 63

  • 26 ноября 2015, 10:02
+
0
Я еще доработал советник. Красиво рисует за 5 лет :D 




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

//--- Inputs
extern int    Delta          = 100;       // дельта
extern double Loss           = 9000;      // убыток в валюте
extern double Profit         = 10;        // профит в валюте
extern double Lots           = 0.01;      // лот
extern double KLot           = 2;         // увеличение лота
extern double MaxLot         = 10;        // максимальный лот
extern int    Slip           = 30;        // проскальзывание
extern int    Magic          = 123;       // магик

double BuyStopPrice=0,SellStopPrice=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

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

  }
//+------------------------------------------------------------------+
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);
  }
//+------------------------------------------------------------------+  
int LastOrderType()
  {
   int type=0;
   if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES))
     {
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
        {
         if(OrderType()==OP_BUY)  type=1; //sell
         if(OrderType()==OP_SELL) type=2; //buy
        }
     }
   return(type);
  }
//+------------------------------------------------------------------+  
void CloseAll()
  {
   bool cl=true;
   double pBid,pAsk;

   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            pBid=MarketInfo(OrderSymbol(),MODE_BID);
            pAsk=MarketInfo(OrderSymbol(),MODE_ASK);
            if(OrderType()==OP_BUY) cl=OrderClose(OrderTicket(),OrderLots(),fND(pBid),Slip,Blue);
            if(OrderType()==OP_SELL) cl=OrderClose(OrderTicket(),OrderLots(),fND(pAsk),Slip,Red);
           }
        }
     }
  }
//+------------------------------------------------------------------+
double fND(double d,int n=-1)
  {
   if(n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double AllProfit()
  {
   double profit=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) profit+=OrderProfit()+OrderSwap()+OrderCommission();
           }
        }
     }
   return(profit);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void DelOrder()
  {
   bool del;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUYSTOP)  del=OrderDelete(OrderTicket());
            if(OrderType()==OP_SELLSTOP) del=OrderDelete(OrderTicket());
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int LastDealResult()
  {
   int result=0;
   if(OrdersHistoryTotal()==0)
     {
      result=0;
     }
   if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
     {
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
        {
         if(OrderProfit()>0)
           {
            result=1;//tp  
           }
         if(OrderProfit()<0)
           {
            result=2;//sl  
           }
        }
     }
   return(result);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double Lot()
  {
   double lot=Lots;
   if(CountTrades()>0) lot=NormalizeDouble(Lots*MathPow(KLot,CountTrades()),2);
   if(lot>MaxLot)lot=Lots;
   return(lot);
  }  
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
// торгуем
   int res=0,i=0;
   double tp=0,bid=0,ask=0,pr=0;

   bid=MarketInfo(Symbol(),MODE_BID);
   ask=MarketInfo(Symbol(),MODE_ASK);

// открытие первого ордера по условию
   if(CountTrades()<1)
     {
      //---- buy 
      if(Open[1]<Close[1] && Open[0]>Close[1])
        {
         res=OrderSend(Symbol(),OP_BUY,Lot(),NormalizeDouble(ask,Digits),Slip,0,0,"",Magic,0,Blue);
         BuyStopPrice=ask;
         SellStopPrice=ask-Delta*Point;
         return;
        }

      //---- sell   
      if(Open[1]>Close[1] && Open[0]<Close[1])
        {
         res=OrderSend(Symbol(),OP_SELL,Lot(),NormalizeDouble(bid,Digits),Slip,0,0,"",Magic,0,Red);
         SellStopPrice=bid;
         BuyStopPrice=pr=bid+Delta*Point;
         return;
        }
     }

// открытие последующих ордеров
   if(CountTrades()>0)
     {
      if(LastOrderType()==1)
        {
         pr=SellStopPrice;
         res=OrderSend(Symbol(),OP_SELLSTOP,Lot(),NormalizeDouble(pr,Digits),Slip,0,0,"",Magic,0,Red);
         return;
        }

      if(LastOrderType()==2)
        {
         pr=BuyStopPrice;
         res=OrderSend(Symbol(),OP_BUYSTOP,Lot(),NormalizeDouble(pr,Digits),Slip,0,0,"",Magic,0,Blue);
         return;
        }
     }

   if(LastDealResult()==1)DelOrder();
   if(AllProfit()>=Profit || AllProfit()<=-Loss)
     {
      CloseAll();
      DelOrder();
     }

   Comment("\n Profit: ",DoubleToString(AllProfit(),2),
           "\n Last Order Type: ",LastOrderType(),
           "\n Count Trades: ",CountTrades());
  }
//+------------------------------------------------------------------+


Редактирован: 26 ноября 2015, 12:10
avatar

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

  • 26 ноября 2015, 11:58
+
0
Торгует в определенное время и раз в день: www.opentraders.ru/downloads/890/

avatar

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

  • 26 ноября 2015, 12:56
+
0
Большое спасибо, Буду тэстить!*hi*  А вот 5и летний который-уж СЛИШКОМ РОВНЫЙ север :) 
avatar

  8  MaxZ12 Автор Сообщений: 63

  • 26 ноября 2015, 13:48
+
0
А вот 5и летний который-уж СЛИШКОМ РОВНЫЙ север

Там если много лотов наберет и не туда мотнет, то все хана! :D 
avatar

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

  • 26 ноября 2015, 18:07
+
0
Ага :D 
avatar

  8  MaxZ12 Автор Сообщений: 63

  • 26 ноября 2015, 21:26
+
0
А вот 5и летний который-уж СЛИШКОМ РОВНЫЙ север Да и стоп не адекватный точно хана будет
avatar

  22  ruslan71 Сообщений: 988 - Руслан

  • 25 февраля 2016, 10:34
+
0
Советник HedgeMartin-Time класный делает прибыль, но не срабатывают на некоторых парах отложки и получается прибыль есть но маленькая. Пожалуйста посмотрите почему не выставляются ордера.

Вот советник

yadi.sk/d/42dCUGHJpPpKE



Редактирован: 24 февраля 2016, 10:47
avatar

  15  cashyra Сообщений: 392 - Юра

  • 24 февраля 2016, 10:36

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