程序库: MT4Orders - 页 66

 
fxsaber #:

请出示密码

#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>

//+------------------------------------------------------------------+
//| 脚本程序启动功能|
//+------------------------------------------------------------------+
void OnStart()
  {
   
   //SL
   double stopLoss = Ask-10*_Point;
   stopLoss = NormalizeDouble(stopLoss, _Digits);
   
   //TP
   double takeProfit = Ask+10*_Point;
   takeProfit = NormalizeDouble(takeProfit, _Digits);   

   int result=OrderSend(Symbol(), OP_BUY, 1, Ask, 30, stopLoss, takeProfit, "TEST", 2021, 0, clrMagenta);
   if(result<=0)
      {
         int err=GetLastError();
         Print("Error sending order Error Code: "+IntegerToString(err));         
      }
      Alert(result);
  }

我糊涂了,我看到的是 mql5 OrderSend 函数,它返回一个布尔值。

你做得很好,它的工作原理与 mql4 相同。

唯一的问题是,它在库 "MQL4_to_MQL5.mqh "中产生了两个警告。可以解决吗?


 
mercanet #:

问题能解决吗?

#include <MT4Orders.mqh>

#define  Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

//+------------------------------------------------------------------+
//| 脚本程序启动功能|
//+------------------------------------------------------------------+
void OnStart ()
  {
   
   //SL
   double stopLoss = Ask- 10 * _Point ;
   stopLoss = NormalizeDouble (stopLoss, _Digits );
   
   //TP
   double takeProfit = Ask+ 10 * _Point ;
   takeProfit = NormalizeDouble (takeProfit, _Digits );   

   TICKET_TYPE result= OrderSend ( Symbol (), OP_BUY, 1 , Ask, 30 , stopLoss, takeProfit, "TEST" , 2021 , 0 , clrMagenta );
   if (result<= 0 )
      {
         int err= GetLastError ();
         Print ( "Error sending order Error Code: " + IntegerToString (err));         
      }
       Alert (result);
  }
 
fxsaber #:
同步性 非常好,但并不完美。有朝一日,应该对这一主题进行调整....

很棒的库--唯一的问题(我认为)是版本控制。为什么不放在 Github 上?进行修改 - 在桌面 Github 上会高亮显示,用户上传了新版本。

MT4Orders
MT4Orders
  • www.mql5.com
Параллельное использование ордерных систем MetaTrader 4 и MetaTrader 5.
 
Vladimir Perervenko #:

很棒的库--唯一的问题(在我看来)是版本控制。为什么不放在 Github 上?进行修改 - 在桌面 Github 上会突出显示,用户上传新版本。

谢谢。当前版本(所有 KB 语言)都会显示出来,因此没有计划更改。

我不使用 Github。这里的更新定位为 "供您自己使用"。

 
fxsaber #:

当前版本(所有 MQ 语言)的显示方式是不计划进行任何更改。

不要犹豫,MQ 不会让你松懈 ))
 

交易、自动交易系统和交易策略测试论坛

mql5 语言的特殊性、微妙之处和工作技巧

fxsaber, 2021.09.16 18:44

因此,对于从未通过展期的最小头寸,很可能存在巨额掉期。而对于通过展期的大额头寸,掉期为零。

MT5 的另一项功能会相应地影响平仓的 OrderSwap()。MT4 中的 CloseBy 是否也有同样的情况,还未核实。

 
再次重申,我不建议使用 SELECT_BY_TICKET。在 MT5 中,票据有歧义。
 

也许最好在 b3080 中重新编译库,因为其中的 SB 错误已得到修复。

也就是说,在某些情况下,运行在 b2958 中

 

顺便问一下,如何禁用日志功能?打印 东西。

因为程序库很健谈,很多东西都在后台丢失了

 
Maxim Kuznetsov 打印

因为图书馆很健谈,很多东西都会在它的后台丢失

关于交易、自动交易系统和交易策略测试的论坛

库:MT4Orders

fxsaber, 2019.04.29 15:19

如果您需要在您的产品中使用 MT4Orders,您可以剪切库源的相关部分,或者放置一个通用存根
// 通过宏,我们切断了任何有关 MT4Orders 存在的提示。
#define Alert PrintTmp
#define Print PrintTmp
  void PrintTmp( string ) {}
  
  #include <MT4Orders.mqh> //https://www.mql5.com/zh/code/16006
#undef  Print
#undef  Alert