设为首页收藏本站

 找回密码
 注册
查看: 2294|回复: 10

限制开仓 [复制链接]

Rank: 1

精华
0
UID
177070
积分
17
帖子
13
主题
4
阅读权限
10
注册时间
2013-12-7
最后登录
2018-10-27
发表于 2018-10-16 21:30:58 |显示全部楼层
我只用了夜盘K线,限制开仓,每晚只开一次,代码如下,测试下来结果没用,求指教一下
If(TrueDate!=TRUEDATE[1])
        {
        TT==0;
        }
        If(buycon&&TT<1)//12,2,1
        {
        BUY(1,OPEN);
        TT=TT+1;
        }

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2018-10-17 15:43:32 |显示全部楼层
  1. if(truedate(0)!= truedate(1))
  2. {
  3.       tt =0;
  4. }
  5. if(buycon && tt<1)
  6. {
  7.       buy();
  8.       tt = tt +1;
  9. }
复制代码

使用道具 举报

Rank: 1

精华
0
UID
177070
积分
17
帖子
13
主题
4
阅读权限
10
注册时间
2013-12-7
最后登录
2018-10-27
发表于 2018-10-17 21:38:12 |显示全部楼层
小米 发表于 2018-10-17 15:43

我测试了一下 还是不行。 小括号,方括号都不行
if(truedate(0)!= truedate(1))
if(truedate[0]!= truedate[1[)

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2018-10-18 09:20:05 |显示全部楼层
woaitbtfx 发表于 2018-10-17 21:38
我测试了一下 还是不行。 小括号,方括号都不行
if(truedate(0)!= truedate(1))
if(truedate[0]!= trueda ...

方括号是不对的。
tt要声明为序列数值型变量 的。。
有关这个问题在论坛上已经有多次答复了,您可以先搜索一下之前的答案 。

使用道具 举报

Rank: 1

精华
0
UID
177070
积分
17
帖子
13
主题
4
阅读权限
10
注册时间
2013-12-7
最后登录
2018-10-27
发表于 2018-10-18 20:23:27 |显示全部楼层
我是设为序列变量,但是就只开一次仓了

使用道具 举报

Rank: 1

精华
0
UID
177070
积分
17
帖子
13
主题
4
阅读权限
10
注册时间
2013-12-7
最后登录
2018-10-27
发表于 2018-10-19 22:08:35 |显示全部楼层
小米 发表于 2018-10-18 09:20
方括号是不对的。
tt要声明为序列数值型变量 的。。
有关这个问题在论坛上已经有多次答复了,您可以先搜 ...

设置为序列变量后 TT的一直是1,所以只开了一次仓,请教老师们指导一下,

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2018-10-22 09:20:25 |显示全部楼层
woaitbtfx 发表于 2018-10-19 22:08
设置为序列变量后 TT的一直是1,所以只开了一次仓,请教老师们指导一下, ...

if(truedate(0)!=truedate(1)) tt = 0;
这句话是将tt每天开盘时重置为0,为当天的交易做准备的。

使用道具 举报

Rank: 1

精华
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变量到第二天应该初始值为零。

使用道具 举报

Rank: 1

精华
0
UID
177070
积分
17
帖子
13
主题
4
阅读权限
10
注册时间
2013-12-7
最后登录
2018-10-27
发表于 2018-10-22 22:38:47 |显示全部楼层
小米 发表于 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变量到第二天应该初始值为零。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2018-10-23 08:45:11 |显示全部楼层
woaitbtfx 发表于 2018-10-22 22:38
老师你看看 这是我部分测试源码,请老师指导下 怎么只有一次交易,谢谢
Params//只用夜盘数据 3分钟周期
...

应该是 ii = 0;

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-18 15:04

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部