以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教老师图表系统和后台系统对同一个公式运行得到的数据不一致  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=81552)

--  作者:cjh2015
--  发布时间:2015/7/23 9:39:19
--  请教老师图表系统和后台系统对同一个公式运行得到的数据不一致

金子塔软件自带的金肯特交易系统,代码为:

 

 

//中间变量
INPUT:N(40,1,100,10),SS(1,1,10000,1);
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
手数:=SS;
MA1:REF(MA(((H+L+C)/3,N)),1);//三价平均线
浮动区间:=REF(MA(TR,N),1);//真实振幅的移动平均线
上轨:MA1+浮动区间;
下轨:MA1-浮动区间;

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150723093137.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150723093226.jpg
图片点击可在新窗口打开查看

--  作者:cjh2015
--  发布时间:2015/7/23 9:42:35
--  

测试合约为pta1601,图表程序化和后台程序化对ma1,上轨,下轨几个关键参数,总会有细微的数据差别,请问老师会是什么原因??


--  作者:jinzhe
--  发布时间:2015/7/23 9:47:36
--  
一个是实时的值,一个是形成k线后的值,你比较的不是同一个东西
--  作者:jinzhe
--  发布时间:2015/7/23 9:49:03
--  
你再后台上输出一下 ref(ma1,1) ref(上轨,1) ref(下轨,1) 再看看是不是一样的
--  作者:cjh2015
--  发布时间:2015/7/23 9:54:25
--  
谢谢老师,我测试一下
--  作者:cjh2015
--  发布时间:2015/7/23 17:01:51
--  
请教老师,经测试,ref(ma1,1) ref(上轨,1) ref(下轨,1) 只是输出昨天的后台数据,和今天的图表程序化的数据还是不一样
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2015/7/23 17:08:52
--  
把调试代码都用文字发一下,我明天做本地测试查找问题
--  作者:cjh2015
--  发布时间:2015/7/23 17:13:39
--  

//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!

//策略:金肯特纳交易系统
//简介:肯特纳系统是建立在最高价、最低价和收盘价三者平均值的移动平均线上,在每一时刻都产生一个由最高价、最低价移动平均线索形成的通道。突破上轨做多;下破下轨做空。
//类型:中长期通道突破
//周期:
//使用市场:
//详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=30508&page=2
//版本:1.0
//修订时间:2012.11.9
//DESIGNED BY Rogarz

//中间变量
INPUT:N(40,1,100,10),SS(1,1,10000,1);
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
手数:=SS;
MA1:REF(MA(((H+L+C)/3,N)),1);//三价平均线
浮动区间:=REF(MA(TR,N),1);//真实振幅的移动平均线
上轨:MA1+浮动区间;
下轨:MA1-浮动区间;

 


//交易条件
开多条件:=MA1>REF(MA1,1) AND DYNAINFO(  7)>上轨;
开空条件:=MA1<REF(MA1,1) AND DYNAINFO(  7)<下轨;
平多条件:=DYNAINFO(  7)<MA1;
平空条件:=DYNAINFO(  7)>MA1;
//交易系统

//SELL(平多条件 AND HOLDING>0,手数,MARKET);
//SELLSHORT(平空条件 AND HOLDING<0,手数,MARKET);
//BUY(开多条件 AND HOLDING<=0,手数,MARKET);
//BUYSHORT(开空条件 AND HOLDING>=0,手数,MARKET);

DEBUGFILE(\'D:\\Traderecord\\MYTestJKT.txt\',\'MA1=%.3f\',MA1);
DEBUGFILE(\'D:\\Traderecord\\MYTestJKT.txt\',\'浮动区间=%.3f\',浮动区间);
DEBUGFILE(\'D:\\Traderecord\\MYTestJKT.txt\',\'上轨=%.3f\',上轨);
DEBUGFILE(\'D:\\Traderecord\\MYTestJKT.txt\',\'下轨=%.3f\',下轨);
DEBUGFILE(\'D:\\Traderecord\\MYTestJKT.txt\',\'TMA1=%.3f\',ref(MA1,1));
DEBUGFILE(\'D:\\Traderecord\\MYTestJKT.txt\',\'后台上轨=%.3f\',ref(上轨,1));
DEBUGFILE(\'D:\\Traderecord\\MYTestJKT.txt\',\'后台下轨=%.3f\',ref(下轨,1));


--  作者:jinzhe
--  发布时间:2015/7/23 17:17:37
--  
好,谢谢
--  作者:cjh2015
--  发布时间:2015/7/23 17:24:42
--  

后台程序化测试的方式和参数如图,谢谢老师


图片点击可在新窗口打开查看此主题相关图片如下:5.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:6.jpg
图片点击可在新窗口打开查看