投资者咨询:请老师帮忙实现一思路 (文华财经wh9)
来源:文华财经 日期:2018-8-11 11:37
技术人员回复
日期:2018-8-11 17:10
投资者咨询:请老师帮忙实现一思路 (文华财经wh9)
来源:文华财经 日期:2018-8-11 11:37
Setting
SetBigVol:50; //定义大单为50
SetTickData:1,10; //定义最近10笔TICK的数据区
Vars
Numeric Win(4); //定义止盈参数
Numeric Lost(4); //定义止损参数
NumericSeries Sum_AskBigCount; //定义主动卖大单次数的和
NumericSeries Sum_BidBigCount; //定义主动买大单次数的和
Begin
Sum_AskBigCount = AskBigCount;
Sum_BidBigCount = BidBigCount;
//--------------------------------定义开仓条件-----------------------------------------
If(Sum_BidBigCount >= 4 && Rising(10) == 0) // 定义的数据区内的主动买大单次数>=4并且当前为下跌趋势,则进行多头建仓
Buy;
Else If(Sum_AskBigCount >= 4 && Rising(10) == 1) // 定义的数据区内的主动卖大单次数>=4并且当前为上升趋势,则进行空头建仓
SellShort;
//--------------------------------定义平仓条件-----------------------------------------
If(MarketPosition == 1)
{
If(New > BKPrice + Win * MinPrice) //多头止盈
Sell;
Else If(New < BKPrice - Lost * MinPrice) // 多头止损
Sell;
}
Else If(MarketPosition == -1)
{
If(New < BKPrice - Win * MinPrice) //空头止盈
BuyToCover;
Else If(New > SKPrice + Lost * MinPrice) // 空头止损
BuyToCover;
}
End
投资者咨询:请老师帮忙实现一思路 (文华财经wh9)
来源:文华财经 日期:2018-8-11 11:37
我把开仓的条件稍作修改以后,可以开仓了
If(Sum_BidBigCount >= 4&&BidBigCount>AskBigCount);// Rising(10) == 1) // 定义的数据区内的主动买大单次数>=4并且当前为下跌趋势,则进行多头建仓
Buy;
If(Sum_AskBigCount >= 4&&BidBigCount<AskBigCount);// Rising(10) == 0) // 定义的数据区内的主动卖大单次数>=4并且当前为上升趋势,则进行空头建仓
投资者咨询:请老师帮忙实现一思路 (文华财经wh9)
来源:文华财经 日期:2018-8-11 11:37
另外,请教二个问题:
2、在TICK模型中,如果发出了开平仓指令,但没有成交或者只有一部分成交(包括开仓和平仓),我想等待它10个线或者5秒钟;如果交易成功了,然后按程序再执行下一个指令;如果5秒钟后,还没有成交,那么取消上一次(开或平)的指令;然后,后续执行下一步的指令。请问这个思路如何实现?就以3楼的案例,请老师帮助写一个例子。谢谢!
技术人员回复
日期:2018-8-12 12:09
投资者咨询:请老师帮忙实现一思路 (文华财经wh9)
来源:文华财经 日期:2018-8-11 11:37
技术人员回复
日期:2018-8-12 20:12
问题较为复杂 ,相关老师周一工作时间给您回复,请您耐心等待一下 |
技术人员回复
日期:2018-8-13 10:11
1、Rising函数,需要有五档行情授权才能取到有效值,否则返回空值。
模拟没有五档授权,所以加入该语句开仓条件都不满足
2、SetBigVol为定义大单的标准
如AskBigCount,取得主动卖大单次数的和,那么在使用该函数前,必须使用SetBigVol函数定义大单阈值,即确定多少为大单,否则该函数返回0。
3、滑点,建议回测中考虑进去,因为实盘的每笔交易都是有滑点的
具体设置为多少需要根据经验来填写,因为不同合约,活跃程度成交量都不同,对应滑点也不同的
您可以手动下单的方式来确定下交易合约滑点的大小,之后在应用到程序化中
技术人员回复
日期:2018-8-14 10:33
后续编写,需要专业的编写同事给您编写,目前需求较多,编写需要排队
1、在TICK模型中,如果发出了开平仓指令,但没有成交或者只有一部分成交(包括开仓和平仓),我想等待它10个线或者5秒钟;如果交易成功了,然后按程序再执行下一个指令;如果5秒钟后,还没有成交,那么取消上一次(开或平)的指令;然后,后续执行下一步的指令。
2、如果开盘价高于上一个的收盘价的0.5%(或低于上一个收盘价的0.5%),即大幅高开或低开,暂停操作2分钟,这样的思路如何实现?
3、同理,如果遇到涨停板或者跌停板,隔天开盘休息5分钟后再操作,即使是盘中打开了板也是一样休息5分钟后再操作;这样的思路如何实现?(涨、跌停板幅度暂时按+-5%设计好了)