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

Рейтинг 2085



РЕКОМЕНДУЮ




Лучшее от Vitalik5675



Заказ советника попытка №2
2017-01-27 02:23:06Рейтинг 0

Восстановления после BREXIT
2016-11-18 14:38:40Рейтинг 0

06.06.2017 EURUSD H4
2017-06-06 15:36:28Рейтинг 0

Welcome Bonus Forex $20 Комментариев 18
2016-12-02 22:01:36Рейтинг 0

Адская прибыль Комментариев 2
2016-05-21 15:55:32Рейтинг 0

Пам-па-ра-ра-ра-а-а-а-ам)

Привет
Нужен советник какой будет открывать сделки на каждой или через несколько свечей)
Работать будет на МТ4, 4-5 знак.
После закрытия свечи чтобы открывал сделку: 0-в ту сторону куда закрылась свеча если цена не двигалась или закрылась на том месте где открылась то не открывать/1-рандомно/2-только buy/3-только sell
Магик, тейк, стоп, бу, трал и ограничитель в свечах: 0-текущая/1-текущая и следующая то есть будет открывать одну сделку через одну свечу /2 /3 и т. д.
  • 0
  • Просмотров: 3867
  • 27 июля 2016, 09:11
  • Vitalik5675
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
+2
Такое веселое задание. Развлекаетесь?
avatar

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

  • 27 июля 2016, 15:38
+
0
Нет не развлекаюсь говорил что заказ другой сделаю) Вот и сделал *budenov* 
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 27 июля 2016, 15:45
+
0
Посмотрю значит сегодня.
avatar

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

  • 27 июля 2016, 15:46
+
0
Рандом не работает открывает только сначала один sell а дальше все на buy(

Эще нужно добавить 4-в противоположную сторону.
И если можно мартина всунуть.
+ при тесте обнаружилась проблема что теряется много прибыли потому надо добавить закрытие всех сделок после взятия общей прибыли по сделкам например 100 и false/true.
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 28 июля 2016, 09:42
+
+3
Веселитесь :) 



//+------------------------------------------------------------------+
//|                                                       Random.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      = 500;      // лось
extern int TakeProfit    = 500;      // язь
extern int BULevel       = 0;        // уровень БУ
extern int BUPoint       = 30;       // пункты БУ
extern int TrailingStop  = 0;        // трал
extern int BarsCount     = 3;        // через сколько баров открывать
extern int BuySell       = 0;        // 0-Candle 1-buy 2-sell 3-random
extern int Slip          = 30;       // реквот
extern int Magic         = 123;      // магик

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

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

  }
//+------------------------------------------------------------------+
//| Установка ордера                                                 |
//+------------------------------------------------------------------+
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;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderType()<2) count++;
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime OOT()
  {
   datetime oot=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderType()<2) oot=OrderOpenTime();
         break;
        }
     }
   return(oot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   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)
              {
               if(Bid-OrderOpenPrice()>TrailingStop*Point)
                 {
                  if(OrderStopLoss()<Bid-TrailingStop*Point)
                    {
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                     return;
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if((OrderOpenPrice()-Ask)>TrailingStop*Point)
                 {
                  if((OrderStopLoss()>(Ask+TrailingStop*Point)) || (OrderStopLoss()==0))
                    {
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                     return;
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void BU()
  {
   bool m;
   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)
              {
               if(OrderOpenPrice()<=(Bid-(BULevel+BUPoint)*Point) && OrderOpenPrice()>OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BUPoint*Point,OrderTakeProfit(),0,Yellow);
                  return;
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()>=(Ask+(BULevel+BUPoint)*Point) && (OrderOpenPrice()<OrderStopLoss() || OrderStopLoss()==0))
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BUPoint*Point,OrderTakeProfit(),0,Yellow);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   bool buy=true,sell=true;
   if(BuySell==0){buy=Close[1]>Open[1]; sell=Close[1]<Open[1];}
   if(BuySell==1){buy=true; sell=false;}
   if(BuySell==2){buy=false; sell=true;}
   if(BuySell==3)
     {
      if(MathRand()/32768==0) {buy=true; sell=false;}
      else {buy=false; sell=true;}
     }

   if(CountTrades()<1) PutOrder(1,Bid);

   if(t!=Time[0] && TimeCurrent()-OOT()>BarsCount*PeriodSeconds())
     {
      if(buy) PutOrder(0,Ask);
      if(sell) PutOrder(1,Bid);
      t=Time[0];
     }

   if(BULevel>0) BU();
   if(TrailingStop>0) Trailing();
  }
//+------------------------------------------------------------------+
avatar

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

  • 27 июля 2016, 17:26
+
0
Пам-па-ра-ра-ра-а-а-а-ам)


Я же говорил, бесполезно вот это все писать в правилах:
2.5. Заголовок для топика-заказа. В заголовок необходимо поместить не просто «Поправьте/исправьте/сделайте советник/инидкатор», но и указать название советника/индикатора (если нужно поправить советники или индикатор) или указать название индикатора (тех. фигуры, принципа работы и др.), по которому заказывается советник. Таким образом заголовок должен быть уникален. Пример заголовка: «Заказ советника по двум Fibo»
Правила Стола заказов


Виталик, тебе повезло, что Андрей уже взялся. А так бы я просто закрыл бы заказ от дальнейшего обсуждения, что и сделаю в следующий раз.
avatar

  45  Bishop Сообщений: 5720 - АЛЬФАХАМЕЦ-Машковод

  • 27 июля 2016, 18:46
+
0
Bishop . зря вы так, отличный заказ и шикарная реализация.
Вполне выделяется из общеймассы
Добавте в начале слово советник и все будет по правилам.
Редактирован: 27 июля 2016, 20:23
avatar

  16  cerber04 Сообщений: 409

  • 27 июля 2016, 20:22
+
0
Bishop. зря вы так,

Я про правила говорю. И повторю, что в следующий раз зарублю любой подобный заказ у любого, у кого увижу, а если человек не будет и дальше понимать, то выкину из стола заказов. Я же не шутки шучу тут, наверное.
avatar

  45  Bishop Сообщений: 5720 - АЛЬФАХАМЕЦ-Машковод

  • 27 июля 2016, 20:29
+
+1
Добавте в начале слово советник и все будет по правилам.

Я бегать добавлять ничего не собираюсь ни за кем. Мало того, что бесплатно им делают, они даже правила прочитать не могут. Поэтому если я за кем-то и побегу, то только для того, чтобы он уже не встал потом.
avatar

  45  Bishop Сообщений: 5720 - АЛЬФАХАМЕЦ-Машковод

  • 27 июля 2016, 20:33
+
0
По рандому как выцепляет разворот! *good*  <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/003.gif' alt=' :D '>&nbsp; 



//+------------------------------------------------------------------+
//|                                                       Random.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      = 500;      // лось
extern int TakeProfit    = 500;      // язь
extern int BULevel       = 0;        // уровень БУ
extern int BUPoint       = 30;       // пункты БУ
extern int TrailingStop  = 0;        // трал
extern int BarsCount     = 3;        // через сколько баров открывать
extern int BuySell       = 0;        // 0-Candle 1-buy 2-sell 3-random
extern int Slip          = 30;       // реквот
extern int Magic         = 123;      // магик

datetime t=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   MathSrand(GetTickCount());
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Установка ордера                                                 |
//+------------------------------------------------------------------+
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;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades()
  {
   int count=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderType()<2) count++;
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime OOT()
  {
   datetime oot=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderType()<2) oot=OrderOpenTime();
         break;
        }
     }
   return(oot);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   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)
              {
               if(Bid-OrderOpenPrice()>TrailingStop*Point)
                 {
                  if(OrderStopLoss()<Bid-TrailingStop*Point)
                    {
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                     return;
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if((OrderOpenPrice()-Ask)>TrailingStop*Point)
                 {
                  if((OrderStopLoss()>(Ask+TrailingStop*Point)) || (OrderStopLoss()==0))
                    {
                     mod=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Yellow);
                     return;
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void BU()
  {
   bool m;
   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)
              {
               if(OrderOpenPrice()<=(Bid-(BULevel+BUPoint)*Point) && OrderOpenPrice()>OrderStopLoss())
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+BUPoint*Point,OrderTakeProfit(),0,Yellow);
                  return;
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(OrderOpenPrice()>=(Ask+(BULevel+BUPoint)*Point) && (OrderOpenPrice()<OrderStopLoss() || OrderStopLoss()==0))
                 {
                  m=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-BUPoint*Point,OrderTakeProfit(),0,Yellow);
                  return;
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   MathSrand(GetTickCount());
   bool buy=true,sell=true;
   if(BuySell==0){buy=Close[1]>Open[1]; sell=Close[1]<Open[1];}
   if(BuySell==1){buy=true; sell=false;}
   if(BuySell==2){buy=false; sell=true;}
   if(BuySell==3)
     {
      int res=MathRand();
      if(res>16383) {buy=true; sell=false;}
      if(res<16383) {buy=false; sell=true;}
     }

   if(CountTrades()<1) PutOrder(1,Bid);

   if(t!=Time[0] && TimeCurrent()-OOT()>BarsCount*PeriodSeconds())
     {
      if(buy) PutOrder(0,Ask);
      if(sell) PutOrder(1,Bid);
      t=Time[0];
     }

   if(BULevel>0) BU();
   if(TrailingStop>0) Trailing();

   Comment(MathRand());
  }
//+------------------------------------------------------------------+

Редактирован: 28 июля 2016, 11:53
avatar

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

  • 28 июля 2016, 11:36
+
0
Может генерить и так. Это не ко мне почему все время баит.

avatar

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

  • 28 июля 2016, 11:47
+
0
Рандом что хочет то и вытворяет :)  www.opentraders.ru/downloads/1273/

avatar

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

  • 28 июля 2016, 11:59
+
0
Да сейчас работает рандом.
Нашел еще один метод)

void OpenRandomOrder()
{
   
    int random = 1 + MathRand()%10;
    if (random > 5)
    {
        BuyOrder();
        
    }
    if (random <= 5)
    {
        SellOrder();
        
    }
}
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 28 июля 2016, 12:27
+
0
Еще нужно добавить 4-в противоположную сторону.
И если можно мартина всунуть.
+ при тесте обнаружилась проблема что теряется много прибыли потому надо добавить закрытие всех сделок после взятия общей прибыли по сделкам например 100 и false/true.
:) 
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 28 июля 2016, 12:37
+
0
Еще нужно добавить 4-в противоположную сторону.

От чего в противоположную?
avatar

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

  • 28 июля 2016, 15:15
+
0
От закрытия свечи.
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 28 июля 2016, 15:28
+
0
Все добавил. Так на рандоме может довольно долго продолжаться. Также добавил стоп в рублях.
www.opentraders.ru/downloads/1273/

avatar

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

  • 29 июля 2016, 09:38
+
0
Проверил работает супер *good* 
Осталось правильные настройки найти.
Один раз получилось в 10 раз баланс увеличился но потом все слило медленно(
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 30 июля 2016, 14:45
+
0
Сейчас правильно работает?
Вроде плюсует.:) 
avatar

  6  gek63 Сообщений: 97

  • 5 августа 2016, 00:32
+
0
Да сейчас все работает)
За какое время проводили тест и с какими настройками?
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 5 августа 2016, 01:02
+
0
Поставил на демо 02.08 депозит 200$
Пока +200$ сделал
avatar

  6  gek63 Сообщений: 97

  • 5 августа 2016, 03:21
+
0
*think* 
Поставил на демо 02.08 депозит 200$
Пока +200$ сделал

Это результат а не настройки :D 
С какими настройками?
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 5 августа 2016, 10:18
+
0
Привет!
Ничего не менял.
avatar

  6  gek63 Сообщений: 97

  • 5 августа 2016, 12:06
+
0
Тогда на какой паре?
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 5 августа 2016, 13:04
+
+1
На EURUSD.
Но сегодня не справился. Нонки видать.-300$
avatar

  6  gek63 Сообщений: 97

  • 5 августа 2016, 16:19
+
0
Не в нонках дело :D 
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 5 августа 2016, 16:54
+
0
Да я знаю.А ты не потбирал настройки
avatar

  6  gek63 Сообщений: 97

  • 5 августа 2016, 19:50
+
0
Пробую еще тестировать в тестере с разными настройками только плохо пока получается(
Сначала зарабатывает но потом сливает потому что накапливаются сделки или закрываются не там где нужно.
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 5 августа 2016, 21:13
+
0
Нда.Видать нет хороших, рабочих советников.
avatar

  6  gek63 Сообщений: 97

  • 5 августа 2016, 22:05
+
0
Есть только не в общем доступе или урезанные версии.
Но а вдруг получится вот таким заказом и граальчик себе сделать*budenov* 
avatar

  7  Vitalik5675 Автор Сообщений: 282

  • 5 августа 2016, 22:10

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