请老师指点编程 [文华财经]
- 咨询内容:
请教老师;我能否在文华8.2版本上实现这样的要求;在一个模型中的多个相同的指令信号上实现不同的委托执行方式?
就是我想把模型中的一个指令的执行条件细化为两个,如;SPK指令出现在阳线上时就按收盘价执行,出现在阴线上时就按指令价执行,如;
AAA&&ISDOWN,SPK;(收盘价委托)
AAA&&ISUP,SPK;(指令价委托)
麦语言函数里有信号执行函数,研究了半天,也没有办法,只好请教老师了,谢谢 - 文华技术人员:
CHECKSIG_SEC和CHECKSIG_MIN和CHECKSIG函数可以实现将某信号单独设置为指令价委托的。
以其中一个为例:
CHECKSIG_SEC(SIG,MODE1,TIME1,MODE2,TIME2);SIG为信号,MODE1为信号确认方式,TIME1信号确认时间,MODE2信号复核方式,TIME2信号复核时间。
注:
1、写了这个函数以后,模型会按照指令价方式运行。
2、该函数使用Tick逐笔函数做计算,回测精准,但是计算量大,每一天就要计算几万笔,速度会慢很多。
3、SIG位置为交易指令,包括BK\SK\BP\SP\BPK\SPK\CLOSEOUT所有指令。
4、MODE1位置为信号确认方式,有A和B两种:
A:出信号N秒确认信号下单。N在TIME1位置设置,N>0为出信号N秒确认信号下单,N=0为出信号立即下单。
B:K线走完前N秒确认信号下单。N在TIME1位置设置,N>0为K线走完前N秒确认信号下单,N=0为K线走完确认信号下单
5、MODE2位置为信号复核方式,有C,D,E和F四种:
C:下单后N秒进行信号复核。N在TIME2位置设置,N>0为下单后N秒进行信号复核,N=0为不复核。
D:K线走完前N秒进行信号复核。N在TIME2位置设置,N>0为K线走完前N秒进行信号复核,N=0为K线走完复核。
E:每一个小节(包括:商品合约10:15-10:30休盘、11:30-13:30休市;股指合约11:30-13:00休市)最后一根K线提前N秒复核。N在TIME2位置设置,N>0为每一个小节最后一根K线提前N秒进行信号复核,N=0为不复核。其他非小节最后一根K线是K线走完复核。
F:每天收盘前最后一根K线提前N秒复核。N在TIME2位置设置,N>0为每天收盘前最后一根K线提前N秒进行信号复核,N=0为不复核。其他非收盘前最后一根K线是K线走完复核。
6、模型中写入该函数,一根K线只能有一个信号。
7、CHECKSIG、MULTSIG、MULTSIG_SEC、MULTSIG_MIN、CHECKSIG_MIN和CHECKSIG_SEC函数不能同时出现在一个模型中
8、该函数只允许在模组中使用,不支持加载到盒子。
9、未使用该函数的指令,默认的信号执行方式为K线走完确认信号下单。
10、参数N非0时,该函数不支持加载到量能周期和日线以上的周期中使用。
11、如果用该函数设置了信号复核,复核时产生了信号消失,会进行信号消失处理。信号消失的处理方式:
还没有成交时的信号消失处理-撤单
BK、SK信号消失处理-平仓
BPK、SPK信号消失处理-平仓+恢复建仓
BP、SP信号消失处理-恢复建仓几种典型的信号复核确认方式对应的写法举例:
CHECKSIG_SEC(SIG,'A',0,'D',0);//出信号立即下单,K线走完复核
CHECKSIG_SEC(SIG,'A',N,'D',0);//出信号N秒确认信号下单,K线走完复核
CHECKSIG_SEC(SIG,'A',N,'C',0);//出信号N秒确认信号下单,不进行复核
CHECKSIG_SEC(SIG,'B',N,'D',0);//K线走完前N秒确认信号下单,K线走完复核
CHECKSIG_SEC(SIG,'B',N,'C',0);//K线走完前N秒确认信号下单,不复核
CHECKSIG_SEC(SIG,'B',0,'C',N);//K线走完确认信号下单
CHECKSIG_SEC(SIG,'B',0,'D',0);//K线走完确认信号下单
CHECKSIG_SEC(SIG,'A',0,'C',0);//出信号立即下单,不复核
CHECKSIG_SEC(SIG,'A',0,'F',10);//出信号立即下单,收盘前最后一根K线提前10秒进行复核。例:
C>O,BK;
C<O,SP;
CHECKSIG_SEC(BK,'A',5,'D',0);//设置BK信号,出信号5秒后确认下单,K线走完复核。
CHECKSIG_SEC(SP,'A',0,'C',10);//设置SP信号,出信号立即下单,下单后10秒复核。
AUTOFILTER; - 文华客服:
老师您可能没弄清楚我的问题,我的意思是在模型中把相同的指令用不同的委托方式,比如模型中有2个SPK指令,我要把其中的一个用;CHECKSIG_SEC(SIG,'B',0,'C',N);//K线走完确认信号下单。另一个用;CHECKSIG_SEC(SIG,'A',0,'D',0);//出信号立即下单,K线走完复核。如何实现?
- 网友回复: 同一指令只能同一执行方式的。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容