- 精华
- 0
- 在线时间
- 28 小时
- UID
- 177070
- 积分
- 17
- 帖子
- 13
- 阅读权限
- 10
- 注册时间
- 2013-12-7
- 最后登录
- 2018-10-27
- 精华
- 0
- UID
- 177070
- 积分
- 17
- 帖子
- 13
- 主题
- 4
- 阅读权限
- 10
- 注册时间
- 2013-12-7
- 最后登录
- 2018-10-27
|
发表于 2018-10-22 22:36:19
|显示全部楼层
小米 发表于 2018-10-22 09:20
if(truedate(0)!=truedate(1)) tt = 0;
这句话是将tt每天开盘时重置为0,为当天的交易做准备的。 ...
老师你看看 这是我部分测试源码,请老师指导下 怎么只有一次交易,谢谢
Params//只用夜盘数据 3分钟周期
Numeric Length(14); //要优化
Numeric SlowLength(3);//要优化
Numeric SmoothLength(3);//要优化
Vars
NumericSeries HighestValue;
NumericSeries LowestValue;
NumericSeries KValue;
Numeric SumHLValue;
Numeric SumCLValue;
Numeric DValue;
NumericSeries ii;
Begin
If(!CallAuctionFilter())Return;
HighestValue = HighestFC(High, Length);
LowestValue = LowestFC(Low, Length);
SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength);
SumCLValue = SummationFC(Close - LowestValue,SlowLength);
If(SumHLValue <> 0)
{
KValue = SumCLValue/SumHLValue*100;
}Else
{
KValue = 0;
}
DValue = AverageFC(KValue,SmoothLength);
If(TrueDate(0)!=TrueDate(1))
{
ii==0;
}
If(MarketPosition<>1&&KValue[1]<20&&ii<1)
{
BUY(1,OPEN);
ii=ii[1]+1;
}
If(MarketPosition==1&&PositionProfit<0&&((Date == CurrentDate&&time == 0.232700&&CurrentTime >= 0.222800)||(Date == CurrentDate&&time == 0.1457&&CurrentTime >= 0.1458)))
{
SELL(1,close);
}Else If(KValue[1]>80)
{
SELL(1,close);
}
If(MarketPosition==1&&close[1]<=(EntryPrice-10*MinMove))//要调整
{
Sell(1,close);
}
End
测试结果:只有一次交易。 按理说那个tt变量到第二天应该初始值为零。
|
|