对MQL5的反馈 - 页 4

 

没有办法使垫子

没有任何形式的多重继承

指针不明确

没有参考资料

复制结构的政策不明确。也要上课。

没有对错误和编译器产生的警告 进行适当的描述和举例。

整数类型(和枚举,我想)的类型化问题。

这只是快速浏览了一下。

只是大家都已经习惯了。编码是可能的,但MQL5语言肯定不能称之为精细和神奇。

 
开发人员只能是同情,有些人在追求简单和单纯,有些人想要高级语言的所有功能,需要同时取悦这两种人,使一切都能正常运作 )
 
Renat Fatkhullin:

请看一下这里:https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_double

一般来说,保证金不能根据单一工具来计算,因为它是不同头寸/工具的叠加结果。另外,在交易所执行中,保证金的计算可以转移(交易所要求这样做)到交易所本身,交易所根据其复杂和封闭的逻辑,产生最终的保证金。

对于 "如果我做这笔交易,我是否有足够的保证金 "的整体估计,有一个标准函数OrderCalcMargin:https://www.mql5.com/ru/docs/trading/ordercalcmargin

以下是代码

string txt=NULL;
double GetMarginInitial=0,GetMarginMain=0;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(!SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_INITIAL,GetMarginInitial))
     {
      Print(" SYMBOL_MARGIN_INITIAL ",GetLastError());
      return(false);
     }
   txt+="\n"+(string)(GetMarginInitial*SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN));

   if(!SymbolInfoDouble(Symbol(),SYMBOL_MARGIN_MAINTENANCE,GetMarginMain))
     {
      Print(" SYMBOL_MARGIN_MAINTENANCE ",GetLastError());
      return(false);
     }
   txt+="\n"+(string)GetMarginMain;
   
   Comment(txt);
   
   return(INIT_SUCCEEDED);
  }

在期货上显示初始保证金要求为1手5800卢布,但在外汇上使用此代码则显示为0...

在帮助中,它说

符号_边距_初始

初始(启动)保证金表示 建立一手头寸所需的保证金 数额。它用于在进入市场时验证客户的资金。


而没有其他东西....我如何计算货币的保证金?我认为只有一个办法,确定工具的类型,然后通过公式计算......。

 
Vladimir Pastushak:

以下是代码

在期货上,它显示一手的初始保证金要求为5800卢比,但在外汇上使用这个代码时,却显示为0 ...

而在参考文献中说

符号_边距_初始

初始(启动)保证金表示 建立一手头寸所需的保证金 数额。它用于在进入市场时验证客户的资金。


而没有其他东西....

是的,该参数用于控制期货的保证金要求。

虽然对于外汇来说,我们可以(需要)自己重新计算并给出一个粗略的(因为我们不知道交易者想做什么--买入或卖出)每1手的保证金价值

 
Фьючерсные объемы для МТ:

没有办法使垫子

没有任何形式的多重继承

我们将在稍后进行这项工作。我们有通常的继承权。


指针不明确

没有参考资料

有参考资料和指针。它们是安全和可控的。


复制结构的政策不明确。还有就是上课的时候。

精确理解--具有简单(非动态)字段的结构被自动复制。其余的,写一个拷贝函数。

我们已经在计划用一些(非类)动态类型来扩展复制结构的机制。这将使大部分的工作变得更容易。


没有对编译器 错误和警告 进行适当的描述和举例。

错误和警告文本与其他编译器相同/相似。在这种情况下,没有人重新发明一个轮子。


整数类型(以及类似枚举)的类型问题

类型的僵化是一个优先事项。这就是为什么不允许Cish自由地进行危险的分配和转换。


该语言仍在开发中,很快我们将认真升级MQL4/MQL5编译器,届时新的优化编译器(目前通过Optimize=1启用)将发布。

 
Serhiy Dotsenko:
dac已经写了如何在VS中编辑mql代码,你不能编译它,但你可以在VS中编辑它,在ME中按f7 )

有兴趣...你在哪里写的? 如果我想使用标准类,你能找到它们吗,还是要凭记忆打字?

我已经习惯了代码,但编辑器我无法习惯,在其他编辑器之后,好像我只是换成了记事本 :)

 
sigma7i:

有兴趣...你在哪里写的? 如果我想使用标准类,你能找到它们吗,还是要凭记忆打字?

我已经习惯了代码,但我无法习惯这个编辑器,在其他编辑器之后,我就像在使用记事本一样:)

我们也会升级编辑器的,只是有其他优先事项。

也许我们将为插件开辟道路。

 
Renat Fatkhullin:

是的,这个参数是为了控制期货的保证金要求。

虽然对于外汇来说,我们可以(必须)重新计算并给出一个粗略的(因为我们不知道交易者想做什么--买入或卖出)1手保证金的价值

CFD指数也会返回零......帮助里有公式,但没有注释出来......。

也许有人知道什么是


保证金:(手数*合约大小*市场价格*百分比)/杠杆率

利润:(收盘价-开盘价)*合约大小*手数


百分比-它是什么?
 
Vladimir Pastushak:


保证金:(手数*合约大小*市场价格*百分比)/杠杆率

利润:(收盘价-开盘价)*合约大小*手数


百分比--在文件中甚至没有人说过一个字......。

在终端帮助中查看 -https://www.metatrader5.com/ru/terminal/help/trading_advanced/margin_forex
 
你可以用SymbolInfoMarginRate 获得这些系数,试试
原因: