# ALLOWREPEAT 允许重复指令
表示是否允许指令在同一个周期内反复发出信号
ALLOWREPEAT
- 仅适用于后台程序化。
- 跟随主函数之后,使用[,]分隔。如示例所示。
敬告
该函数重复下单数量不可控,请慎重并谨慎应用于策略代码中
作用以下函数:
函数 | 函数说明 |
---|---|
TBUY | 开多 |
TSELL | 平多 |
TBUYSHORT | 开空 |
TSELLSHORT | 平空 |
PLAYSOUND | 播放声音 |
SPEAK | 播放文本语音 |
SENDMAIL | 发送邮件 |
SENDMSG | 发送消息 |
//表示满足条件后市价开仓,并允许在固定预警周期内反复开仓.
TBUY(COND,1,MKT),ALLOWREPEAT;
2
# FINANCING 融资标志
指示当前开多、平多交易为融资标识
FINANCING
- 该交易语句不仅适合图表交易,同样也适用于后台.
- 请不要在两融账户中同时持有同一个股票的普通股和融资股,这样会导致系统由于无法准确区分普通仓和融资仓而导致平仓失败。
# 作用于
BUY | SELL | BUYSHORT | SELLSHORT |
TBUY | TSELL | TBUYSHORT | TSELLSHORT |
//表示当COND条件成立时融资开仓100股。
例如:BUY(COND,100),FINANCING;
//表示当COND条件成立时平掉融资的100股仓位(即卖券还款操作)
SELL(COND,100),FINANCING;
2
3
4
5
# GENERAL 常规/普通交易
指示当前交易语句为常规/普通交易,不受交易面板上的 融资/保值/备兑 条件控制,若不明确交易标志,那么交易指令将根据下单交易面板上的设置进行开平仓。
GENERAL
- 该交易语句不仅适合图表交易,同样也适用于后台.
//对于期货品种表示开多投机仓,对于股票即普通股买入开仓。
BUY(COND,1,MARKET),GENERAL;
2
# HEDGE 保值标志
指示当前的交易动作是否为保值单(国内期货专有)
HEDGE
- 该交易语句不仅适合图表交易,同样也适用于后台.
- 请不要在期货账户中同时持有同一个品种的投机仓和保值仓,这样会导致系统由于无法准确区分投机仓和保值仓而导致平仓失败。
参数 | 说明 |
---|---|
X | 必需,序列变量表达式。 |
N | 必需,周期数 |
//表示当COND条件成立时开仓1手保值单。
BUY(COND,1),HEDGE;
2
# ODDLOTSMODE 零股交易方式
指定图表交易是否允许零股买卖
ODDLOTSMODE:X
参数 | 说明 |
---|---|
X | 必需,为0(默认参数)表示允许零股交易;X为1表示不允许零股交易,下单数量将根据每手交易单位自动调整。 |
# ORDERQUEUE 顺序下单指令
所有报单放入队列中,按次序委托下单,成交一个委托下一个. 该控制符适合所有下单指令
ORDERQUEUE
- 在多账户中,根据账号登陆的先后次序,依次开平。
- 该标志不仅适合图表交易,同样也适用后台交易。
- 此方式下,不要再使用追撤单功能,无法保障100%成功。
SELLSHORT(CROSS(C,MA(C,5),1,MARKET),ORDERQUEUE;
BUY(CROSS(C,MA(C,5),1,MARKET),ORDERQUEUE;
2
若没有加ORDERQUEUE,触发条件的时候会同时发出平多、开空指令。 加上ORDERQUEUE后,可简单描述为:触发条件时,软件会先发出平仓指令,待收到平仓指令回报后,再发出开多指令。
详细的运行机制为: SELLSHORT、BUY形成下单队列,SELLSHORT在前,BUY在后,当SELLSHORT单碰到有几下情况时,才会执行BUY委托单。
- 收到成交回报;
- 下单失败;
- 撤单(一旦队列下单不成交撤单后,再次委托会将委托追单排到最后)。
其次,以上规则适用于ORDERQUEUE成对出现或本身只有1条交易指令的情况。但当出现以下情况(反手)且只有一条语句添加了ORDERQUEUE时,运行机制略有不同。如下所示
SELLSHORT(CROSS(C,MA,(C5),1,MARKET);
BUY(CROSS(C,MA,(C5),1,MARKET),ORDERQUEUE;
2
条件触发时,软件会发出SELLSHORT指令,ORDERQUEUE所在的指令会隔2秒后(区别)再发出,此例即BUY
多账户时,若同时有A、B、C、3个账户触发该策略条件,软件会先对A账户平空开多,再对B账户平空开多,最后对C账户平空开多。而不是对A、B、C三个账户同时平空后再开多。
# PERTRADER 百分比交易
指示该笔交易是否实盘下单时按照实际可用资金或者仓位百分比委托交易;
PERTRADER
- 开仓时,按实际可用资金百分比委托交易,计算的最小单位为手(向下取整,股票开仓时为100股的整数倍;期货/期权为1的整数倍);
- 平仓时,按实际可用持仓百分比委托交易,计算的最小单位为手(向下取整,股票平仓时为100股的整数倍,清仓时不向下取整;期货/期权为1的整数倍);
- 该标志只能配合下单语句使用,可以用于图表和后台程序化交易.
- 对于期货和期权品种,请确认您的预设保证金和单位乘数是否正确,请点击 交易菜单->合约信息设置 中设置。
//1.图表程序化交易
//程序化下单时,按照实际帐户可用资金的50%委托下单。
BUY(CROSS(MA1,MA2),50%,MARKET),PERTRADER;
//测评/图表K线图上显示 时,按照虚拟仓位的50%平仓;程序化下单时,按照实际帐户全部可用持仓的50%委托下单。
SELL(CROSS(MA2,MA1),50%,MARKET),PERTRADER;
//2.后台程序化交易
//按照实际帐户可用资金的50%委托下单。
TBUY(CROSS(MA1,MA2),50%,MKT),PERTRADER;
//按照实际帐户全部可用持仓的50%委托下单。
TSELL(CROSS(MA2,MA1),50%,MKT),PERTRADER;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# RUNMODE 设置公式运行模式
指定公式运行模式。一般写在公式的开头。
RUNMODE : X
参数 | 说明 |
---|---|
X | 必需,金字塔提供两种运行模式。 X=0时,逐K线计算模式,可以完成复杂的交易策略模型 X=1时, 序列计算模式可以兼容飞狐公式 |
//表示该公式工作于序列计算模式。
RUNMODE:1 ;
2
# SETTRADESIGN 允许或禁止交易
指示图表程序化交易指令是否有效
SETTRADESIGN(F)
参数 | 说明 |
---|---|
F | 必需,0表示禁止交易,1为允许交易。 |
//表示2015年前不做交易.
IF DATE < 1141231 THEN
SETTRADESIGN(0);
ELSE
SETTRADESIGN(1);
2
3
4
5
# SLEEP 延时
当位于最后一个周期时,延时指定数量时间后再执行下条语句。
SLEEP(D)
- SLEEP是针对整个金字塔的,当多个策略同时运行,其中一个策略SLEEP生效时,所有策略都暂停运行1秒钟,而非SLEEP所在的策略暂停D秒钟。
参数 | 说明 |
---|---|
D | 必需,延时的设置时间,单位为毫秒(1秒钟等于1000毫秒)。 |
//表示等待1秒后再执行下行语句。
SLEEP(1000);
2
# NOATTACK 该笔指令不追单
在后台程式化交易时,在设定系统自动追单选项后,允许该笔交易指令不进行追单撤单动作
NOATTACK
- 该函数只有在后台程式化交易运行中有效
//表示该笔委托交易若不及时成交,不进行撤单追单动作,一直挂在那里.
TBUY(COND,1,LMT,C),NOATTACK;
2
# WARNING_DISABLE 禁止编译信息提示
WARNING_DISABLE:N
编译控制符,用于禁止代码在编译过程中的警告显示。
N值 | 说明 |
---|---|
1 | 禁止GOTO语句中代码隐含问题的警告 |
2 | 禁止EXIT语句代码隐含问题的警告 |
3 | 禁止循环语句代码隐含问题的警告 |
4 | 禁止全局变量数据库代码应该告知问题的警告 |
5 | 禁止全局变量申明在GOTO语句中使用的风险警告 |
6 | 禁止全局变量申明在EXIT语句中使用的风险警告 |
7 | 禁止用户函数在GOTO语句之间使用可能会带来风险警告 |
8 | 禁止使用PERTRADER标志时请注意交易合约信息设置是否正确的风险警告 |
9 | 禁止使用后台策略函数【xxxx】被用在图表交易策略中,请检查该使用是否合理的风险警告 |
10 | 禁止使用4位时间表达方式的风险警告 |
11 | 禁止函数在仅刷最后K线模式下使用可能会带来运行风险警告 |
# WORKMODE 工作模式
取公式系统运行模式
WORKMODE
返回值 | 说明 |
---|---|
1 | 表示处于后台程式化交易运行 |
2 | 处于后台预警运行; |
3 | 处于图表程式化交易中; |
0 | 其他情况 |
# TSETSTOPORDER 设置止损控制
通过在模型中修改“交易”菜单->交易设置中的止赢止损参数值来实现灵活的交易控制。
TSETSTOPORDER(D1,D2,D3,D4)
- 本函数在逐K线模式下仅有最后一个周期才有效。
参数 | 说明 |
---|---|
D1 | 必需,止损控制类型 0止损 1止赢 2移动止赢止损 |
D2 | 必需,参数开关,0关闭 1打开 |
D3 | 必需,参数类别 0最小变动价位 1百分比幅度 |
D4 | 必需,参数具体数值 |