开拓者期货期权程序化系统交易论坛
标题:
如何理解下列语句
[打印本页]
作者:
文韦
时间:
2010-10-17 20:09:58
标题:
如何理解下列语句
If(day!=day)
if(day!=Day[1])
if (date<>date[1])
If(Date!=Date[1]
if(day != today)
请教如何理解上面5句?有哪些区别?
作者:
lh948
时间:
2010-10-18 09:09:26
Day[1]是上一个bar的day数据
date[1]是上一个bar的date数据
<>和!=都是不等于的意思
if(day!=Day[1])和if(date<>date[1])是用当前bar的数据和上一根bar的数据进行比较,作用是区分是否是新的一天的bar
If(day!=day)这个是没有意义的
if(day != today)today不是系统函数,应该是用户自定义的变量或者其他
作者:
文韦
时间:
2010-10-18 09:59:53
2#
lh948
谢谢!
1、那么如何理解 (date<>date[1])和(day<>Day[1])的区别呢?
2、在分钟图上有时要判断当前bar是否为今天,如果我在日线上操作,是否还需要用到(day<>Day[1])呢?
3、另外编写了个交易指令,今天同一时间不停发单直至满仓,提示资金不足,能否帮忙看看哪里有问题?(在日线图上操作的)
代码如下:
Vars
Numeric N; // 波幅
Numeric myentryprice; // 开仓价格
NumericSeries Line1;
NumericSeries Line2;
Begin
N=High[1]-Low[1];
Line1 = Open+N*0.2;
Line2 = Open-N*0.2;
if( date!=date[1] || barstatus==0)
{GetGlobalVar(0)==0;}
If(CurrentTime < 0.144500) // 时间在14:45之前
{
If(MarketPosition == 0 )
{
if(CrossOver(High,Line1))
{
myentryprice=Line1+1;
A_SendOrder (Enum_Buy,Enum_Entry,1, myentryprice);
}
setglobalvar(0,1);
Return;
if(CrossUnder(Low,Line2))
{
myentryprice=Line2-1;
A_SendOrder (Enum_Sell,Enum_Entry,1, myentryprice);
setglobalvar(0,1);
Return;
}
}
}
If(MarketPosition == 1 And Close < Low) // 多仓的止损
{
A_SendOrder (Enum_Sell,Enum_Exit,0, Low);
}
If(MarketPosition == -1 And Close > High) // 空仓的止损
{
A_SendOrder (Enum_Buy,Enum_Exit,0, High);
}
If(CurrentTime > 0.145500) // 时间在14:55之后
{
If(MarketPosition == 1)
{
A_SendOrder (Enum_Sell,Enum_Exit,0, Low);
}
Else
{
If(MarketPosition == -1)
{
A_SendOrder (Enum_Buy,Enum_Exit,0, High);
}
}
}
End
[attach]3985[/attach]
今天棕榈油开盘上涨超过8210点,满足条件后就不停发单,只好手动平掉,取消自动了。
作者:
zhou87li87
时间:
2018-5-28 15:57:35
A函数是不受MarketPosition控制的
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2