[英]How to group a lot exponent in MQL4 / MT4?
我设法获得了正常的批次指数,但我需要通过对图片中的示例进行分组来对其进行一些更改。 有人可以指导我如何获得批量指数但使用分组技术 Group= 5 Exponent= 1.8吗?
double GroupExponent(int type)
{
double lot=0,exponent=1.8,group=5,initialLot=0.01;
if(type==OP_SELL)
............. //<---- Do i need to loop this area ?
lot= initialLot * MathPow(exponent,TotalSell());
return lot;
}
int TotalSell()
{
int Sell=0;
for(int trade=OrdersTotal()-1; trade>=0; trade--)
{
if(!OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))continue;
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL))
Sell++;
}
return Sell;
}
不,你不需要循环。 您可以像这样获得图层系统:
double GroupExponent(int type)
{
double lot=0,exponent=1.8,initialLot=0.01;
int group = 5;
if(type==OP_SELL)
{
lot = NormalizeDouble(initialLot * MathPow(exponent, (TotalSell() - 1) / group), 2);
}
return lot;
}
int TotalSell()
{
int Sell=0;
for(int trade=OrdersTotal()-1; trade>=0; trade--)
{
if(!OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))continue;
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL))
Sell++;
}
return Sell;
}
注意:只有当Layer == 1
等于TotalSell() == 1
这才会按预期工作。 如果Layer == 1
等于TotalSell() == 0
,则不需要从TotalSell()
内的MathPow()
减去 1。
问: “如何在 MQL4 / MT4 中对大量指数进行分组?”
好吧,从技术上讲,指数 = 1.8本身并不是指数,而是一个缩放常数,它被普通序数取幂。
请参阅与上表匹配的批量大小的计算公式:
|
|>>> for aLayerNUMBER in range( 1, 11 ):
... aVolumeInLOTs = 0.01 * ( 1.8 ** ( aLayerNUMBER - 1 ) )
... print "LAYER: {0: >2d} - {1: >5.2f} Lots".format( aLayerNUMBER,
... aVolumeInLOTs
... )
...
LAYER: 1 - 0.01 Lots
LAYER: 2 - 0.02 Lots
LAYER: 3 - 0.03 Lots
LAYER: 4 - 0.06 Lots
LAYER: 5 - 0.10 Lots
LAYER: 6 - 0.19 Lots
LAYER: 7 - 0.34 Lots
LAYER: 8 - 0.61 Lots
LAYER: 9 - 1.10 Lots
LAYER: 10 - 1.98 Lots
+0:01:07.587141
13:31:06
|
|>>>
在 MQL4 中,最常见的是:
double aVolumeInLOTs = NormalizeDouble( 0.01 * MathPow( 1.8, aLayerNUMBER - 1 ), 2 );
分组是(此处)5 笔交易的组,每笔都具有相同的规模/交易量,
再次在 ( 0.01, 0.02, 0.03, 0.06, 0.10, 0.19, 0.34, 0.61, 1.10, 1.98, 3.57, 6.42, 11.56, 20.82, 0.06, 0.10, 0.19, 0.34, 0.61, 1.10, 1.98, 3.57, 6.42, 11.56, 20.82, 0.06, 36, 36, 36, 36, 39, 37, 36, 36
拼图的最后一部分是一个原因,从哪里停止生产 5 笔交易组(为什么在第四组 5 笔交易时停止,每个 0.06 手,而不是继续进行下去)。
该信息不存在于问题中,因此显然对我们来说仍然是不可确定的,除非添加更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.