Применение функций открытия ордеров из библиотеки RAD

 

Привет всем!

Помогите разобраться... Обратил свой взор на библиотеку функций  RAD (https://www.mql5.com/ru/code/15945)

Думал вот оно.., нашел полезные кубики для моего будущего советника ))  

Однако, не выходит каменный цветок и бесспорно из-за моей не компетенции ибо не профи ) 

В общем есть функции-обертки для открытия ордеров. Но получаю ошибку при попытке открыть ордер с целевыми значениями TP/SL:


OpenBuyProfit   (Открывает BUY сделку с уровнем целевой прибыли)

OpenBuyCompensation  (Открывает BUY ордер, который компенсирует сумму предыдущей цепочки непрерывных проигрышей)

OpenSellProfit  (Открывает SELL сделку с уровнем целевой прибыли)

OpenSellCompensation  (Открывает SELL ордер, который компенсирует сумму предыдущей цепочки непрерывных проигрышей)

 


//+------------------------------------------------------------------+

//| Open a Buy Order Function.                                       |
//+------------------------------------------------------------------+
void OpenBUYOrder()
   {
double lot;

lot = LotOnRisk(LotRisk,NULL); 

if(lot > 0 && CalcLastLosses(-1,MagicNumber,NULL)!=0)
 {Ticket1 = OpenBuyCompensation(LotRisk,TakeProfit,StopLoss,0,NULL,MagicNumber,NULL);}
else
   {Alert("Buying Error "," Err = ",GetLastError()," Price = ",Ask," Lots = ",lot);}

if(lot > 0 && CalcLastLosses(-1,MagicNumber,NULL)==0)
 {Ticket1 = OpenBuyProfit(LotRisk,TakeProfit,StopLoss,0,NULL,MagicNumber,NULL);}
else
   {Alert("Buying Error "," Err = ",GetLastError()," Price = ",Ask," Lots = ",lot);}


   }

//+------------------------------------------------------------------+
//| Open a Sell Order Function.                                       |
//+------------------------------------------------------------------+
void OpenSELLOrder()
   {
double lot;

lot = LotOnRisk(LotRisk,NULL); 

if(lot > 0 && CalcLastLosses(-1,MagicNumber,NULL)!=0)
 {Ticket1 = OpenSellCompensation(LotRisk,TakeProfit,StopLoss,0,NULL,MagicNumber,NULL);}
else
   {Alert("Selling Error "," Err = ",GetLastError()," Price = ",Ask," Lots = ",lot);}
if(lot > 0 && CalcLastLosses(-1,MagicNumber,NULL)==0)
 {Ticket1 = OpenSellProfit(LotRisk,TakeProfit,StopLoss,0,NULL,MagicNumber,NULL);}
else
   {Alert("Selling Error "," Err = ",GetLastError()," Price = ",Ask," Lots = ",lot);};

   }




RAD - Rapid Application Development library
RAD - Rapid Application Development library
  • www.mql5.com
В данную библиотеку вложено очень много функций, которые ускорят разработку на языке MQL4, избавив от отвлечения на механику и сосредоточив внимание на логике. Например, чтобы открыть ордер на 0.4 лота, достаточно вызвать функцию OpenBuy(0.4); Естественно, что в подобных функциях не один параметр, остальные параметры заданы по умолчанию, но по...
 

Плохая идея использовать недокументированную библиотеку, автор которой ушел с форума.

Для торговых функций берите MT4Orders и пишите в MT4-стиле, по остальному — ищите и спрашивайте.

 
Andrey Khatimlianskii:

Плохая идея использовать недокументированную библиотеку, автор которой ушел с форума.

Для торговых функций берите MT4Orders и пишите в MT4-стиле, по остальному — ищите и спрашивайте.

Спасибо за совет, думаю вы правы.