feng-pan 发表于 2011-3-4 04:03 
1754# greenwisher
谢谢阿!
我已经用excel做好系统模拟器了,之后打算用VBA写程序来反复测试。
这是几个系统的模拟器(我还在不断的修改,所以有兴趣就大致看看吧):
第一个是我用来买入回调/卖出反弹的系统, 后面两个是van tharp那个资金管理游戏里面的两个系统。
(进行模拟时将ecxel的公式计算改为手动,然后用F9来更新模拟结果。)
excel里面可以记录最大回撤的数值。基本上反复测试这个值就能得到我想要的概率。 另外我还写了两三个初步的头寸策略程序,excel里面有这些策略的资金曲线。
如果有人敢兴趣的话, 我写了个小模块,加载到上次的那几个模拟器底稿中用,这是用VBA来记录最大回撤值的代码:
Dim intX As Integer, intY As Integer, intZ As Integer, intI As Integer
Sub Maxdrawdown()
x = 0
y = 0
Z = 0
i = 0
Do
Calculate
i = i + 1
If Range("f17").Value < x Then x = Range("f17").Value
If Range("f17").Value <= -10 Then y = y + 1
If Range("f17").Value <= -20 Then Z = Z + 1
Loop While i < 10000
MsgBox y / i
MsgBox Z / i
MsgBox x
End Sub
就写了这么一小段, 没有做成窗口, 反正自己够用就行.
模块对1000笔模拟交易的结果进行一万次试验,
最后显示的三个数值分别是发生-10R回撤的百分比, 发生-20R回撤的百分比,和1万次试验中发生的最大"最大回撤".