新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 537

 
sebegolov:

帮我弄清楚为什么指标没有呈现出来。我想最终创造出类似ZigZag的东西。

请正确输入代码


我已经在你的帖子中为你做了。

 
Artyom Trishkin:

请正确插入代码


我已经在你的帖子中为你做了。

对不起,第一次在这个论坛上写东西,下次我会好好写的。
 

日安!

我在哪里可以得到一个MT4的机器人,在开仓后 设置SL和TP?

 
churkin:

日安!

我在哪里可以得到一个MT4的机器人,在开仓后 设置SL和TP?

在这里
 

你能告诉我如何在代码中确定这个工具在一天结束时是否有互换?

 
Ivan Katsko:

你能告诉我如何在代码中确定这个工具在一天结束时是否有互换?

要在一天结束时看一看交换...

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_SHORT)- 调换空头头寸

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_LONG) - 多头的交换

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_MODE) - 用于计算交换的模型

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_ROLLOVER3DAY)--计算三倍 调换的星期。

 
Artyom Trishkin:

要在最后看一下交换的情况......

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_SHORT)- 调换空头头寸

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_LONG) - 多头的交换

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_MODE) - 用于计算交换的模型

SymbolInfoDouble(Symbol(),SYMBOL_SWAP_ROLLOVER3DAY)--计算三倍 调换的星期。

通过SYMBOL_SWAP_MODE参考 对于SymbolInfoInteger() 函数。在全局变量中,设置int ssm = SymbolInfoInteger(Symbol(),SYMBOL_SWAP_MODE); 在代码中:Print("ssm = ",ssm); 在没有交换的FC上和交换=0的FC上都有结果(这里有问题)。我想知道:是否会有交换,以便我可以做出相应的决定。



 
Ivan Katsko:

通过SYMBOL_SWAP_MODE参考 对于SymbolInfoInteger() 函数。在全局变量中设置int ssm = SymbolInfoInteger(Symbol(),SYMBOL_SWAP_MODE); 在代码中:Print("ssm = ",ssm); 在没有交换的DC和交换=0的DC上都有结果(这里有问题)。我想知道是否会有交换,以便我可以做出适当的决定。

市场环境中的一些变量,类似于MT5中的变量,在MT4中并不总是正确地被填充。因此,我们必须在MT4中使用MarketInfo。而MT4的掉期计算类型,在绝大多数情况下是点数。因此,如果你通过MarketInfo请求信息(在MT4中我们必须更经常地使用这种老方法),你将得到与参考值相对应的值。

MODE_SWAPTYPE

26

计算掉期的方法。0--以点数为单位;1--以票据基础货币为单位;2--以百分数为单位;3--以抵押货币为单位。

 
Ihor Herasko:

市场环境中的一些变量,类似于MT5中的变量,在MT4中并不总是正确地被填充。这就是为什么我们必须在MT4中以老式的方式使用MarketInfo。而MT4的掉期计算类型,在绝大多数情况下是点数。因此,如果我们通过MarketInfo请求信息(在MT4中我们必须更经常地使用这种老方法),我们将得到与参考值相对应的值。

MODE_SWAPTYPE

26

计算掉期的方法。0--以点数表示;1--以票据基础货币表示;2--以百分比表示;3--以抵押货币表示。

SWAP--据我所知,是一个交易中心的程序,包括以下内容:如果在一天结束时有未平仓的订单,它们就会被关闭,而新的订单则会被打开。否则,交易台不关闭/打开订单,但收取隔夜利息(+/-)。我想确定:SWAP是否会被收费,或者订单是否会被关闭/打开?应用。

double ssm_l = MarketInfo(Symbol(), MODE_SWAPLONG );

double ssm_s = MarketInfo(Symbol(), MODE_SWAPSHORT);

Print("ssm_l = ",ssm_l);

Print("ssm_s = ",ssm_s);

结果发现,有一些数值在加州,SWAP是收费的,而在加州,SWAP是不收费的。所以不可能确定SWAP是否被指控。


 
Ivan Katsko:

隔夜利息 - 据我所知,交易中心的程序如下:如果在一天结束时还有未平仓的订单,它们会被关闭,而新的订单会被打开。 否则,交易中心不会关闭/打开订单,而是收取隔夜利息(+/-)。我想确定:SWAP是否会被收费,或者订单是否会被关闭/打开?

这种互换计算方法被称为滚存。在MT4中,没有办法以编程方式了解它。只是间接地,在有工作的市场订单的午夜班发生后。在MT4中,有很多这样的小问题,但相当令人不快。在MT5中,这种情况要少一些,但它们仍然存在。

应用。

double ssm_l = MarketInfo(Symbol(), MODE_SWAPLONG );

double ssm_s = MarketInfo(Symbol(), MODE_SWAPSHORT);

Print("ssm_l = ",ssm_l);

Print("ssm_s = ",ssm_s);

结果发现,有一些数值在加州,SWAP是收费的,而在加州,SWAP是不收费的。因此,我们不能决定一家经纪公司是否有隔夜利息。


这些是以点为单位的互换值。你将需要把它们转换为从市场订单量开始的存款货币。然后,我们将得到真正的互换尺寸。

原因: