以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 模拟回测 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=88586) |
-- 作者:黄金精算师 -- 发布时间:2015/12/18 8:43:07 -- 模拟回测 版主帮做一个图表下的模拟回测 如:做一个向历史回测2000根K柱,开平条件为平均线 MA20与MA60,结果放在模拟结果里; 开始 ma1:ma(c,20); ma2:ma(c,60); KD:=ma1>ma2; //开多条件 PD:= ma1<ma2; //平多条件 KK:= ma1<ma2; //开空条件 PK:= ma1>ma2; //平空条件 模拟资金:= 1000000; //设模拟资金100万元 模拟做空开平仓次数:=0 ; //记录开平仓次数用 模拟做多开平仓次数:=0 ; //记录开平仓次数用 向前回测数量;=2000; //向前回测2000根K柱 手续费:=1; //买进卖出各计一个点的手续费 //----------------------------------------------------------------------- //回测主程 //----------------------------------------------------------------------- //到当时行情时,强制平仓离开时得出下面模拟结果 模拟做空开平仓次数:=? ; //记录开平仓次数 模拟做多开平仓次数:=? ; //记录开平仓次数 模拟资金:= ?; //模拟资金(减少手续费的资金) |
-- 作者:jinzhe -- 发布时间:2015/12/18 9:02:24 -- 是希望我写回测主程序吗? |
-- 作者:黄金精算师 -- 发布时间:2015/12/18 9:05:56 -- 是的,写回测主程序 [此贴子已经被作者于2015/12/18 9:06:27编辑过]
|
-- 作者:jinzhe -- 发布时间:2015/12/18 9:27:48 -- 开平条件为平均线 MA20与MA60 请就这一句话扩展为正常的交易车略 |
-- 作者:黄金精算师 -- 发布时间:2015/12/18 9:38:12 -- 开平仓的条件按这样 KD:=ma1>ma2; //开多条件 PD:= ma1<ma2; //平多条件 KK:= ma1<ma2; //开空条件 PK:= ma1>ma2; //平空条件 |
-- 作者:jinzhe -- 发布时间:2015/12/18 9:54:20 -- ma1:ma(c,20); if kk and holding=0 then begin if pd and holding>0 then begin if pk and holding<0 then begin //-----------------------------------------------------------------------
|
-- 作者:黄金精算师 -- 发布时间:2015/12/18 13:49:59 -- 这个用了原程序的开平仓指令,我要的是完全独立的摸拟,不用原开平仓 这个独立用一个写法,让他与图表完全分开,因为我后面,还有一个图表的程序。 buy(1,1,market); |
-- 作者:jinzhe -- 发布时间:2015/12/18 13:56:07 -- 那做不到 |
-- 作者:黄金精算师 -- 发布时间:2015/12/18 17:16:16 -- 几个问题不太明再请教一下 1、当图表K柱增加时测试量会不停的增加,这个程序并没有限制到向前测试的K柱数量 2、这一段做了什么用,修改参数好像完全无影响的,这是为什么呀 //回测主程 if barpos=datacount-向前回测数量 then begin 模拟资金=1000000; 模拟做空开平仓次数=0 ; 模拟做多开平仓次数=0 ; end
[此贴子已经被作者于2015/12/18 17:17:15编辑过]
|
-- 作者:jinzhe -- 发布时间:2015/12/18 17:20:43 -- 从左往右数第2000根k线开始初始变量,这样就符合你要往前测2000根k线的要求 有没有用你删掉,然后k线图上显示2000多根k线就明白了,会把2000根k线以外的数据算进去 |