开拓者期货期权程序化系统交易论坛
标题:
如何控制BAR交易次数
[打印本页]
作者:
jsz123
时间:
2010-7-28 22:29:40
标题:
如何控制BAR交易次数
本帖最后由 jsz123 于 2010-7-28 23:13 编辑
2.A_SendOrder
使用全局变量计数,并且在判断条件中加入这个全局变量和限制交易次数做比较
if( date!=date[1] )
{
SetGlobalVar(0,0);
}
if( con1 && GetGlobalVar(0)<=3 )
{
A_SendOrder(省略);
SetGlobalVar(0,GetGlobalVar(0)+1);
}
这个if( date!=date[1] )是控制日线周期的BAR,假如我想控制5分钟或者15分钟交易次数怎么办
换句话说,15分钟K线图上,
用A函数
!
开仓,平仓,再开仓,再平仓都必须在不同的BAR上(每根BAR只能发出一次交易指令!)
作者:
lh948
时间:
2010-7-29 08:40:05
修改了例子,请看6楼
作者:
jsz123
时间:
2010-7-29 09:53:20
本帖最后由 jsz123 于 2010-7-29 09:57 编辑
谢谢提供了思路,但是用时间控制,不是太准确吧?
比如说,我9点56分开的仓 SetGlobalVar(0)=0.0956*10000=956
956+15(分钟)=971 下一个15分钟已经过去了15-4=11分钟了 等于说 15分钟 下根BAR已经过去了11分钟才能开仓
!
另一个,必须要计算机的时间非常准确吧?[/
color]font]
作者:
hjl
时间:
2010-7-29 10:27:12
你的周期是15分钟呀!所以就不存在0.0956的bar了,我这么理解的,不知道对否
作者:
jsz123
时间:
2010-7-29 10:33:30
if( con1 && time*10000==GetGlobalVar(0)+n )
{
A_SendOrder(省略);
SetGlobalVar(0,time*10000);
}
这个 SetGlobalVar(0,time*10000);里的time是指开仓时候的时间吗?还是BAR一开始的的时间?
作者:
lh948
时间:
2010-7-29 10:43:19
3#
jsz123
修改一下例子
n是周期数
if( date!=date[1] )
{
SetGlobalVar(0,0);
}
if( con1 && time*10000-GetGlobalVar(0)>=n )
{
A_SendOrder(省略);
SetGlobalVar(0,time*10000);
}
作者:
lanshan
时间:
2011-6-30 17:52:34
6楼的例子似乎有问题,time是60进制的,变成数字计算会按100进制计算,这个会导致严重计算错误!
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2