金字塔公式系统常见问题汇总
(2013-03-11 14:07:18)
标签:
财经金字塔程序化问题汇总 |
分类: 金字塔 |
金字塔公式系统常见问题汇总
|
用以图表显示的交易系统和后台程式化交易的交易指令函数,参数有明显的不同,用户不能简单的将BUY函数加个T就可以直接后台交易,使用前应该将鼠标放在TBUY函数上认真看看函数说明。 ==========================================
有关公式函数参数默认值的使用说明 拿后台程式化交易开多指令比如:tbuy(zd,1,mkt,'003028',hy); 初学者容易犯这样一个错误,以为只要使用了mkt指令后,价格就不需要填写了,这是错误的方法,几乎所有的编程语言函数缺省值都是中间不能空缺的,只能从后面空缺。 tbuy(zd,1,mkt)这样是没问题的,后面的参数金字塔将自行按默认处理。 tbuy(zd,1,lmt,c,0) 也是没问题的,后面的帐号和品种均按默认处理。 tbuy(zd,1,mkt,'003028',hy) 但是这样就不行,因为中间的两个委托价格没有填写,金字塔会吧'003028',hy当做价格来处理,势必造成委托结果与你希望的不符。 tbuy(zd,1,mkt,0,0,'003028',hy) ; 这样经过改写,就没问题了。
========================================== 有关后台程式化交易使用的注意事项 后台程式化交易由于用户无法直接在图表上看到信号的整个出现过程,故对用户的公式编写水平有一定的要求,用户需要对金字塔的后台交易系统工作机理有比较深的了解,并且要对自己的公式系统有清晰的认识,这样一旦遇到问题也能及时找到问题的原因。强烈建议用户,只有具有比较熟练的使用图表公式编写基础之后再来使用后台程式化交易!后台程式化交易的调试工作非常重要,请参考下面有关的专门介绍。 如果你对金字塔的后台 程式化交易还不了解,那么建议用户仔细阅读
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=370
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=124 ==========================================
金字塔公式编写调试 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=1246&page=1&star=1
===========================================
有关平仓反手的模型
input:man(26,2,200);
ma1:=ma(close,man);
资产:ASSET,LINETHICK0; //顺序必须主要需要根据仓位先平后开的原则
if ccm then
if cmc then
如果是传统的ENTERLONG交易信号,同样需要先平后开的原则
EXITLONG:
cross(A2,AO) OR B2>0;
如果用户帐户资金不足或者希望顺序成交,可以使用ORDERQUEUE指令 EXITLONG: cross(A2,AO) OR B2>0, ORDERQUEUE;
==================================================
由于金字塔不鼓励使用未来函数,所以 文华的:
NN1:=BARSLAST(DATE<>REFX(DATE,1));
在金字塔中用这一条指令替换 NN:=barslast(DATE<>REF(DATE,1))+1;
=======================================
关于函数不能在控制语句之内被引用的问题
答:请参阅专贴介绍
==================================================
TIME 和 CURRENTTIME 的区别 很多用户需要在一个精确的时间内做某些下单动作,比如开盘后5分钟下单,收盘前1分钟平仓,这种时候不能使用TIME函数做时间点判断,因为TIME是取的周期时间,金字塔在生成每根K线时为了规范化时间,都将时间做了一定程度的修整,所以已经不是严格的成交时间。如果用户需要精确的时间做某些事情,那么必须使用CURRENTTIME,取用户本地计算机时间来完成。为了保证时间准确可靠,用户应该定期的校正您的本地时间,方法可在工具->选项->升级和时间 。
=================================================== 对于最后一个周期才起作用的函数,如果使用了全局变量进行控制,千万记得加上islastbar控制条件 variable:a=10; debugout('a1=%.0f',a);
if a=10 then begin debugout('a4=%.0f',a);
解决办法是
=============================================== 对于公式中经常引用到的市场代码,比如上海证券市场是'SH',具体每个市场的代码在工具菜单->市场与板块中,查看市场的代号,设置和进行管理.
================================================= 金字塔公式测试系统,没有测试结果的问题解决 1、确认所测试品种的测试时间段的历史数据齐全,若不起请在工具菜单-》补充数据上补齐。2、在第二步的测试时间段确保时间正确。3、确保在第一步所选测试周期选择正确,公式系统该周期未被禁用。4、确保第四步交易费率设置合理,资金至少要能够进行必要的开仓条件。该资金设置同样在图表做交易系统测试显示时同样应该注意。
========================================= 文华模型转金字塔模型 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=210 ========================================= 金字塔公式测试系统,没有测试结果的问题解决
1、确认所测试品种的测试时间段的历史数据齐全,若不起请在工具菜单-》补充数据上补齐。 2、在第二步的测试时间段确保时间正确。 3、确保在第一、步所选测试周期选择正确,公式系统该周期未被禁用。 4、确保第四步交易费率设置合理,资金至少要能够进行必要的开仓条件。该资金设置同样在图表做交易系统测试显示时同样应该注意。 5、如果不能双向交易,问题是:只有“交易系统”属性得公式支持双向交易测试,其他类型得公式只能单向测试,测试模型在第5步有选项。另外开打公式系统检查公式是否支持双向交易语句。 =========================================
为什么我的交易系统有信号了但是没有委托或者成交,我们以图表交易为重点介绍,对于初学用户,总结原因一般有如下几点: 1、用户需确认在出现交易信号之后金字塔是否有发出委托指令,用户可以在交易记录中查询到,如果有委托但未成交主要有两点,对于模拟交易,如果使用综合交易平台系统,由于目前并不完善,会经常造成即便市价下单也无法及时成交的情况。对于实盘交易,用户需要在报单策略上多仔细考虑尽量的发出对价单来保证其成交。 2、如果有信号没有委托发出,请确认是否是下列几点造成
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=1246&page=1&star=1
=========================================
有关后台自动交易THOLDING的使用 初学者在使用后台自动交易时,通常认为将函数前简单加T就可以,但实际不行的,比如: tSELL(bp and THOLDING>0,0,LMT,C); tSELLSHORT(sp and THOLDING<0,0,LMT,C); tBUY(bk and THOLDING=0,1,LMT,C);
tBUYSHORT(sk and
THOLDING=0, 1,LMT,C);
THOLDING与图表HOLDING最大的不同在于,THOLDING是与你真实持仓一致的函数,只有当我们的委托下单成交后才会有所变化,而HOLDING是虚拟持仓,BUY执行过后立即变化。 由于我们前面的代码在执行了平仓操作后,THOLDING不会马上变成0,故会导致TBUY的THOLDING=0条件不被成立,导致没有反手信号。 正确的反手写法
if bp > 0 and THOLDING>0 then begin tSELL(1,0,MKT),ORDERQUEUE; tBUYSHORT(1, 1,MKT),ORDERQUEUE; end
if sp > 0 and THOLDING<0 then begin tSELLSHORT(1,0,MKT),ORDERQUEUE; tBUY(1,1,MKT),ORDERQUEUE; end
有关这部分的用户详细讨论,详见http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=2775
清注意上述代码使用了市价委托,如在CTP接口上模拟交易,请注意一定要在上期所品种下进行
THOLING与THODING2的不同:THOLING会返回我们当前的可用持仓,发出平仓指令之后,即便没有成交,持仓也会被扣掉,故如果用THOLING做为开仓条件,会有前次平仓没有成交而马上开仓带来的资金不足情况,如果用户需要知道当前自己的实际持仓,那么请用THODING2,他不会因为你的挂单未成交而导致的实际持仓被扣情况。
========================================= 用VARIABLE定义的变量和直接赋值定义的变量有何不同? http://www.weistock.com/bbs/dispbbs.asp?BoardID=2&ID=2501 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=3611
========================================== 引用指定周期品种数据,指定指标数据的注意事项 在使用"INDIE.VAR"(P1,P2)或者"000001$CLOSE"或者使用CALLSTOCK,STKINDI函数引用其他周期的指标数据时,一些初学者容易犯的一个错误就是认为当前的品种数据全了以后被引用品种的数据也全的,导致在使用引用数据指标时编写的公式无法正常工作。金字塔的在用户翻看一个品种时是可以自动补数据的,但是无法自动补被引用品种的或者该品种不同周期的数据,再首次使用金字塔或者在不确定被引用数据是否齐全时,请手工进行数据补充工作,手工补充数据方法:http://www.weistock.com/download/receivedata.jpg
========================================= 为何输出的字符串是100000等数字的 金字塔下,字符串是以地址形式保存的,如果直接按照数字方式显示,则直接显示出地址;因此字符串的输出必须是使用字符串显示函数进行,DRAWTEXT或者DRAWTEXTEX都可以正常显示出字符串变量中的值。
========================================= |

加载中…