文斯的地段计算 - 页 6

 
Vinin:

我只是在谈论要分析的交易数量。真实或虚拟。


啊,现在我明白了,也许这不是正确的方法,因为样本应该具有代表性,即越多越好......

当然,每个人都有自己的标准--对某人来说,200个就够了,而对某人来说,500个就不够了......

我一直在进一步挖掘最佳解决方案,以寻找R.Vince用他的几何平均 法得出的最佳(原谅我是tofthologic)f。

 
MaxZ:
这并不完全是我的建议。这更像是你的做法了。重要的是,它也被证明是正确的。 。


嗯,怎么说呢--因为这正是我所做的,只是直接与TWR有关--但不是与它的几何平均 G有关。

"因为如果数_1的K度根大于数_2的相同K度的根,那么数_1就大于数_2!"。:))))))"

TWR 是 "相对有限资本"(Terminal Wealth Relative

 TWR = MathPow(TWR*(1+f*(-Mas_Outcome_of_transactions[orderIndex]/(D))),0.33); // TWR - это произведение всех HPR    
 
Roman.:


我在跷跷板中对开盘价进行了所有的计算,从2002年至今2011年的交易 - 503,回撤最多的交易=-628。

结果见上文。我现在正在其他EA变体上进行测试。

以下是解决这个问题的方法的原文--第1页。31.

我们已经看到,最好的交易系统是具有最高几何平均数的系统。为了计算几何平均数,我们需要知道f。因此,让我们一步一步地描述我们的行动。

1.以给定的市场体系中的交易历史为例。

2.通过观察从0到1的各种f值,找到最佳的f值。

3.一 你找到了f,就采取N度 TWR的根 N 是交易总数) 这是你对这个市场系统的几何平均数。现在你可以用得到的几何平均数将这个系统与其他系统进行比较。f值将告诉你在这个市场系统中要交易多少个合同。一旦找到f,就可以通过将最大的损失除以负的最优/来转换为货币等值。例 如,如果最大的损失等于100美元,最佳f=0.25,那么-100美元/-0.25=400美元。换句话说,你应该为每400美元的账户投注1个单位。为了简单起见,你可以以单位为基础计算一切(例如,一个5美元的筹码或一个期货合约,或100只股票)。 你应该分配给每个单位的美元数可以通过将你的最大损失除以负的最佳f来计算。最佳f 平衡系统的盈利能力(基于1个单位)和其风险(基于1个单位)的结果 许多人认为,最佳的固定分数是分配给账户的百分比


也许去做对数是有意义的。用总和代替乘积
 
Vinin:

也许去做对数是有意义的。用总和代替乘积


谢谢你,维克多,这是有可能的,我得试试,但现在我正在测试这个减少产品的方案--把它变成1/3的幂。

//TWR — это «относительный конечный капитал» (Terminal Wealth Relative), 
 TWR = MathPow(TWR*(1+f*(-Mas_Outcome_of_transactions[orderIndex]/(D))),0.33); // TWR - это произведение всех HPR    
 
Roman.:


嗯,怎么说呢--因为我正是这样做的,只是直接针对TWR--但不是针对其几何平均数G。

"因为如果数_1的K度根大于数_2的相同K度的根,那么数_1就大于数_2!"。:))))))"

TWR 是 "相对有限资本"(Terminal Wealth Relative

你有一个丢失的交易。

TWR = TWR* ...

我不知道这将如何影响文斯地段的计算,但我的建议是不排除这种操作。

我的建议是让数组TWR[]。而G是这样算的。

G *= MathPow(TWR[orderIndex], 1/N);


罗马人。:


谢谢你,维克多,这是有可能的,我得试试,但现在我正在测试产品减少的这种变体--把它变成1/3的幂。

即使你去除三级根,仍然不会有双重溢出。
 
Roman.:
for ( orderIndex = 1;orderIndex<Qnt; orderIndex++) //при заданной f проходим по всем закрытым ордерам
{                                                  // и считаем относительный конечный капитал (TWR)
   TWR = TWR*(1+f*(-Mas_Outcome_of_transactions[orderIndex]/(D))); // TWR - это произведение всех HPR
}

为什么你在for()循环中有 "orderIndex<Qnt "条件?所以你是跳过了TWR数组的 最后一个元素
 
MaxZ:

你有一个缺失的操作。

我不知道这将如何影响文斯地段的计算,但我的建议是不排除这种操作。

我建议把数组变成TWR[]。而G是这样算的。


即使你去除三级根,仍然不会有双重溢出。


我有一个溢出,所有其他事情都是相同的,包括总价值:交易数量=503,最大损失=628...

你应该在你的地方,在你的任何一个板块上检查--代码贴在第一页--在外部变量中加入,在de-enith函数中加入...这就是全部。

 

MaxZ:


为什么你的for()循环中正好有 "orderIndex<Qnt "条件?事实证明,你跳过了TWR阵列的最后一个元素?


根本没有TWR数组,没有必要组织它,只需计算f就够了,只需比较不同f下的TWR(在循环中)就够了,知道最大TWR的f值就够了。

一切工作正常,比较 - 第一行和最后一行 - "日志 "和 "结果 "标签的最后一笔交易的利润值...


交易号码是不同的,因为在我的猫头鹰中,收盘是从市场的最后一个订单到第一个订单。最主要的是,这个数字击败了--503个交易--那里(在测试器中)和那里(在计算中)+

最后一笔关闭的503交易的价值 1076 - 在de-it功能中通过历史搜索订单,从开始到最后(最后)关闭的订单进行。

 
Roman.:


TWR数组--根本不需要组织它,计算f就足够了,它只对不同f下的TWR比较感兴趣(在一个循环中),所有,知道最大TWR的值f,就这样。

一切工作正常,比较一下--第一行和最后一行--分别是 "日志 "和 "结果 "标签的最后一笔交易的利润值......


完全被搞糊涂了。我是指Mas_Qutcome_of_transactions[]数组。因为事实证明,它的一个元素在一个循环中没有被计算在内...

而如果我看到代码中的不准确之处,我为什么要看报告?我不相信有奇迹!:D

也许测试员关闭的交易不应该被考虑在内?毕竟,不是你的TS关闭了它们......。

 
MaxZ:

我完全糊涂了。我是指Mas_Qutcome_of_transactions[]数组。因为事实证明,循环不计算它的一个元素...

而且,如果我看到代码中的不准确之处,我为什么要看报告?我不相信有奇迹!:D

也许测试员关闭的交易不应该被考虑在内?不是由你的TS关闭的......。


是的,我将用条件<=Qnt来检查。所有的交易都由TS关闭,测试者关闭了最后10个(我相信这是在合理的容忍范围内...:-))))