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

Рейтинг 2146



РЕКОМЕНДУЮ



Советник для озвучки ордеров

Андрей, хотелось бы советник. Который не торгует. Но озвучивает происходящее.
Скажем выставил я, или любой советник ордер отложку, со стопами. Звуковое сопровождение. Мол отложка по такому инструменту выставлена. Сработала отложка. Опять сообщение, мол по такому инструменту сработал скажем бай или селл. Закрыли по тейк профиту, ок, озвучка. Закрыли. Сработал стоп, также, сняли ордер, озвучка. В общем озвучку хочу на работу с ордерами. Озвучки я уже на делал. Ставлю просто обычным алертом, на стопы, и отложки. Хочется упростить задачу. Так как работают, советники, и хочется с их работы так же получать озвучку.
Советник вешаем на все графики, на которых хотим получать озвучку. В общем озвучка есть, могу дать всем желающим. Главное функционал, и возможность сменить любой звуковой файл.

Я так понимаю нужен поручитель?!
Если кому интересна эта идея. Прошу помочь.
Поручителю, озвучка, по желанию.
Любой текст мне в личку, я звуковые фалы в архиве.

Вот как пример: Получили лося.

Сообщение.
Внимание, получили лося, было сложно но я справился :) ;) )
  • 0
  • Просмотров: 3291
  • 28 октября 2021, 19:04
  • Syte
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

+
0
avatar

  14  Syte Автор Сообщений: 399

  • 28 октября 2021, 19:09
+
0
Логика, я думаю у советника будет проста.
Вешаемся на график, и мониторим сделки. Появилась отложка, определили в каком направлении и какой тип. Sell Limit, sell stop. buy limit, buy stop. Выбрали звуковой файл выставили алерт по этой цене, ждем. Сняли ордер, озвучка, мол такой тип ордера снят, по такому инструменты. (Озвучки на делаю.)
Выставили по рынку, определили куда встали, озвучка. Стопы появились, озвучили.

Думаю, многим будет интересно. <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp; <img src='http://opentraders.ru/templates/skin/g6h/images/smilies/017.gif' alt=' ;) '>&nbsp; ))
Редактирован: 28 октября 2021, 19:40
avatar

  14  Syte Автор Сообщений: 399

  • 28 октября 2021, 19:19
+
0
Появилась отложка, определили в каком направлении и какой тип. Sel Limit, sell stop. buy limit, buy stop. Выбрали звуковой файл выставили алерт по этой цене, ждем. Сняли ордер, озвучка, мол такой тип ордера снят, по такому инструменты. (Озвучки на делаю.)


avatar

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

  • 28 октября 2021, 19:40
+
0
<img src='http://opentraders.ru/templates/skin/g6h/images/smilies/002.gif' alt=' :) '>&nbsp;  Ну и ладно. Мне на вино водочный.

1. Отложки.
sell limit — озвучка
buy limit — озвучка
buy stop — озвучка
sell stop — озвучка
2. Рыночные.
sell — озвучка
buy — озвучка
3. Если отложка либо рыночный ордер, был установлен со стопами одновременно. Две озвучки. Ордер (какой из первых 2 пунктов), установлен, затем «Стопы выставили».
Пример:
Первая озвучка. «Ордер buy stop по EURUSD установлен».
Вторая озвучка. «Стопы выставлены»

3. Закрытие
Сработал стоп — озвучка
Сработал тейк — озвучка

Если возможно:
Модифицировали стопы — озвучка
Пример: Стоп модифицирован.
Или: Тейк модифицирован.
Модифицировали отложку — озвучка
Удалили отложку — озвучка


Редактирован: 28 октября 2021, 20:21
avatar

  14  Syte Автор Сообщений: 399

  • 28 октября 2021, 20:07
+
0
на 29-е
avatar

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

  • 28 октября 2021, 21:48
+
0
пока 4 озвучки, т.к. работы здесь прилично:




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

extern double Lots       = 0.1;      // лот
extern int StopLoss      = 500;      // лось
extern int TakeProfit    = 600;      // язь
extern int Slip          = 30;       // реквот
extern int Magic         = 123;      // магик

extern string OpenBuy    = "BuyOpen.wav";
extern string CloseBuy   = "BuyClose.wav";
extern string OpenSell   = "SellOpen.wav";
extern string CloseSell  = "SellClose.wav";

int buys=0;
int sells=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   PutButton("B",150,150,"BUY");
   PutButton("S",80,150,"SELL");
   PutButton("CB",150,125,"CLOSE BUY");
   PutButton("CS",80,125,"CLOSE SELL");
//---
   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 ot=-1)
  {
   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()==0 && (ot==0 || ot==-1))
               count++;
            if(OrderType()==1 && (ot==1 || ot==-1))
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutButton(string name,int x,int y,string text)
  {
   ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//--- установим координаты кнопки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим размер кнопки
   ObjectSetInteger(0,name,OBJPROP_XSIZE,60);
   ObjectSetInteger(0,name,OBJPROP_YSIZE,20);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,3);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,6);
//--- установим цвет текста
   ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
//--- установим цвет фона
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,White);
//--- установим цвет границы
   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,Blue);
  }
//+------------------------------------------------------------------+
//| Закрытие позиции по типу ордера                                  |
//+------------------------------------------------------------------+
void CloseAll(int ot=-1)
  {
   bool cl=1;

   if(OrderSelect(OrdersTotal()-1,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()
  {
   if(ObjectGetInteger(0,"B",OBJPROP_STATE)==1)
     {
      PutOrder(0,Ask);
      ObjectSetInteger(0,"B",OBJPROP_STATE,0);
     }

   if(ObjectGetInteger(0,"S",OBJPROP_STATE)==1)
     {
      PutOrder(1,Bid);
      ObjectSetInteger(0,"S",OBJPROP_STATE,0);
     }

   if(ObjectGetInteger(0,"CB",OBJPROP_STATE)==1)
     {
      CloseAll(0);
      ObjectSetInteger(0,"CB",OBJPROP_STATE,0);
     }

   if(ObjectGetInteger(0,"CS",OBJPROP_STATE)==1)
     {
      CloseAll(1);
      ObjectSetInteger(0,"CS",OBJPROP_STATE,0);
     }

   if(CountTrades(0)>buys)
     {
      PlaySound(OpenBuy);
      Alert(_Symbol+" Открыли Бай!");
      buys=CountTrades(0);
     }

   if(CountTrades(0)<buys)
     {
      PlaySound(OpenBuy);
      Alert(_Symbol+" Закрыли Бай!");
      buys=CountTrades(0);
     }

   if(CountTrades(1)>sells)
     {
      PlaySound(OpenSell);
      Alert(_Symbol+" Открыли Sell!");
      sells=CountTrades(1);
     }

   if(CountTrades(1)<sells)
     {
      PlaySound(CloseSell);
      Alert(_Symbol+" Закрыли Sell!");
      sells=CountTrades(1);
     }

   Comment("\n Trades: ",CountTrades(),
           "\n Buy Trades: ",CountTrades(0),
           "\n Sell Trades: ",CountTrades(1));
  }
//+------------------------------------------------------------------+

avatar

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

  • 29 октября 2021, 19:02
+
0
Интересная ведь идея? Не правда ли?

Будет возможность, до делай. (Это по желанию.)
Там вроде на вскидку, делать не чего. А коснешься, как обычно, делать и делать.
Андрей. Делай по возможности. Не упирайся, это не столь важно. У других заказчиков, более продуктивные идеи. У меня тут озвучка, а у них торговля. :) 

АНДРЕЙ
Спасибо, что ты есть.
:) 
======================================
PS
Я не издеваюсь, и не прикалываюсь. Я Серьезно. Андрей.
Делай по возможности.
Очень хочется озвучку.
Но и торговлю кому то, тоже хочется :) ;) )
avatar

  14  Syte Автор Сообщений: 399

  • 29 октября 2021, 19:40
+
0
основа есть. в следующих топиках можно что то потихоньку добавлять
avatar

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

  • 30 октября 2021, 08:26
+
0
сегодня я кнопки заготовил, а код и озвучка на следующий топ

avatar

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

  • 30 октября 2021, 08:38
+
0
Тоже не плохо. А кнопки для чего? Просто включать определенный звук или нет? Советник не будет ведь торговать.
avatar

  14  Syte Автор Сообщений: 399

  • 30 октября 2021, 09:31
+
0
мне надо моделировать ситуацию, чтобы проверить работу советника
avatar

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

  • 30 октября 2021, 09:37
+
0
*good* 
avatar

  14  Syte Автор Сообщений: 399

  • 30 октября 2021, 09:51
+
0
добавил обработку к кнопкам и озвучку выставления закрытия отложек: www.opentraders.ru/downloads/3167/

avatar

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

  • 30 октября 2021, 13:30
+
0
Урааа. Тут еще немного осталось. :) ;) )

Тут кнопки в последствии лучше убрать. Я понимаю, что для теста, это хорошо. Но в работе, можно случайно нажать :) 

А так, ну офигенно. Можно звуки менять. Надоел какой то звук. Взял другой.
Сидишь телек смотришь. А тут.
«А вы сегодня заработали, чего дома? За пивом не пора» :) ;) ))))))))))))))))))))
Блин, какая все таки классная идея. Не знаю как всем, а мне реально жизнь облегчит.

Свою идею торговли, не могу описать роботом. Так бы вообще в потолок бы плевал. Ну хоть озвучка ордеров, и то облегчит работу, не буду за компом «жить».

Спасибо :) ;) ))
avatar

  14  Syte Автор Сообщений: 399

  • 30 октября 2021, 19:22
+
0
Я думаю, что можно две версии сделать. Одна с кнопками, что бы можно было управлять. А вторая просто озвучка. Без управления кнопками. Звук и ни чего большего. А вторая. И звук и торговля с кнопок. Думаю будет интересно. \

Можно думаю в настройках вывести. True работаем с торговой панелью. Либо false работаем чисто со звуком, кнопки убираем :) ;) )
Редактирован: 30 октября 2021, 19:28
avatar

  14  Syte Автор Сообщений: 399

  • 30 октября 2021, 19:26

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