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

 
Alexey Viktorov:

ctrl+tab和ctrl+shift+tab救不了俄罗斯民主之父?

它是随机切换的,但我希望它是有顺序的。

它更方便、更快捷,并允许你隐藏图表面板。

 
Artyom Trishkin:

谢谢你。

 
Трейдер Внатуре:

它是随机切换的,但我希望它是有顺序的。

它更方便、更快捷,并且会隐藏图表面板。

它应该按照打开图表的顺序进行切换。但是,如果你再用鼠标拖动随机洗牌,那么和...

 

先生们,请帮助解决算法的问题。现在是夏天,我的脑子完全不听使唤。任务是在增加交易量的条件下计算出要开出的总交易量。

给你的。

b - 基本批次(第一份订单的数量)。

m - 倍数或体积增加的系数。例如,二阶的体积=b*m。三阶的体积=b*m*m。

t是要开启的订单 总量。


因此,举例来说,每个后续订单的数量是通过公式计算的

v=b*(m^(i-1)),其中i是这个阶数的序号,即如果这是系列的第二阶,v=b*m,如果第三阶是b*m^2。

因此,现在的任务是推导出一个所有订单的总成交量(t)的公式。

 
leonerd:

v=b*(m^(i-1)),其中i是这个阶数的阶数,即如果是系列中的第二阶,那么v=b*m,如果是第三阶-b*m^2。

因此,现在的任务是输出所有订单的总数量的公式,以便开仓(t)。

如果公式正确,你就都准备好了,在循环中v+=b*(m^(i-1)),初步将v=0.0归零,或者如果你想在t中得到数量,那么t=0.0;在循环中t+=v。

 
Igor Makanu:

如果公式正确,你就都准备好了,在循环中v+=b*(m^(i-1)),预零v=0.0或者如果在t中你想得到总和,t=0.0;在循环中t+=v。

是的,我没有考虑到循环的问题...但我就是这样通过实验得到的,我想。

vol_total=b*m^t-b


b(m^t-1)

 
leonerd:

是的,我还没有想到这个周期...但这是我的经验之谈。

b(m^t-1)

然后在循环中检查你的两个公式 - 它们应该是一样的;)

 
Igor Makanu:

然后在循环中检查你的两个公式 - 它们应该是一样的;)

好吧,用一个周期确实更可靠。

请告诉我是否有一些现成的类别来确定包括套期保值在内的总保证金。

例如,我使用马丁格尔法计算订单量。它们的方向不同。我也有他们的价格。我现在需要估计为这些订单保留的总保证金。在这种情况下,我所说的订单是指激活的公开市场订单。

 
leonerd:

好吧,确实是用循环的方式更可靠。

请告诉我是否有任何现成的类别来确定包括套期保值在内的总保证金。

例如,我曾用马丁格尔法计算过订单量。它们的方向不同。我也有他们的价格。我现在需要估计为这些订单保留的总保证金。在这种情况下,我所说的订单是指激活的公开市场订单。

我没有为MT5写很多东西,我不明白保证金,它应该是在关于为市场准备专家顾问的文章中。

我看了一下我的MT4的掌上电脑,大致上是这样计算保证金的。

bool checkmargin(double lot,int ordertype)
  {
   double m=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(_Symbol,ordertype,lot),2);
   bool result = AccountBalance()-m>0 ? true : false;
   return(result);
  }
 
Igor Makanu:

我在MT5中写的不多,我不明白保证金,在某处的文章中,对市场的专家的准备应该是准确的。

我看了看我手上的MT4,这就是保证金的计算方式。

谢谢,我需要它用于MT4和MT5。但你在这里没有考虑到不同方向的订单和Margin的对冲系数。

有几个订单order1,...,orderN都是市场(将)买入或卖出,方向是已知的:dir1,...,dirN。这些卷也是vol1,...,volN。还有open_price1,...,open_priceN。任务是计算出总的保证金规模。但这些订单还没有被打开。这就是复杂性,据我所知,这对所有交叉汇率都会有问题,因为即使交叉汇率的订单开盘价是已知的,但我们需要该货币对的汇率来将其转换为存款货币,而我们无法事先知道。

原因: