设为首页收藏本站

 找回密码
 注册
查看: 9755|回复: 18
打印 上一主题 下一主题

请教!! [复制链接]

Rank: 4

精华
0
UID
348
积分
347
帖子
83
主题
31
阅读权限
50
注册时间
2007-9-13
最后登录
2021-9-14
跳转到指定楼层
1#
发表于 2007-9-22 13:41:43 |只看该作者 |倒序浏览
我想把四周规则改成按16天最高最低价入市,按4天最高最低离市,可是写了代码显示全乱了,请老大们能帮忙看看好吗?



Params
        Numeric Length1(12);
        Numeric Length2(4);
Vars
        Bool Condition11;
        Bool Condition12;
        Bool Condition21;
        Bool Condition22;
        NumericSeries HighestValue1;
        NumericSeries LowestValue1;
        NumericSeries HighestValue2;
        NumericSeries LowestValue2;
Begin
        HighestValue1 = Highest(Close[1],Length1);
        HighestValue2 = Highest(Close[1],Length2);
        LowestValue1 = Lowest(Close[1],Length1);
        LowestValue2 = Lowest(Close[1],Length2);
       
        Condition11 = Close>HighestValue1;
        Condition12 = LowestValue1>Close;
        Condition21 = Close>HighestValue2;
        Condition22 = LowestValue2>Close;
       
        if (Condition11)
        {
                Buy(1,0);
       
        }
       
        if (Condition22)
        {
                Sell(1,0);
       
        }
       
        if (Condition12)
        {
                SellShort(1,0);
        }
                if (Condition21)
        {
                BuyToCover(1,0);
        }
End

Rank: 4

精华
0
UID
348
积分
347
帖子
83
主题
31
阅读权限
50
注册时间
2007-9-13
最后登录
2021-9-14
2#
发表于 2007-9-22 13:51:43 |只看该作者
我知道哪里错了,粗心啊

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
3#
发表于 2007-9-22 13:57:08 |只看该作者

使用道具 举报

Rank: 4

精华
0
UID
348
积分
347
帖子
83
主题
31
阅读权限
50
注册时间
2007-9-13
最后登录
2021-9-14
4#
发表于 2007-9-22 14:33:03 |只看该作者
老大,海龟系统那个程序我有个地方没看明白
长周期和短周期之间好像没有关系吧,只是有的人用长周期,有的人用短周期,是这个意思吗?
两个周期的退出的length都是取10吗?
两个周期一混我有点晕,麻烦给讲解下好吗?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
5#
发表于 2007-9-22 16:03:04 |只看该作者
原帖由 jeckforlete 于 2007-9-22 14:33 发表
老大,海龟系统那个程序我有个地方没看明白
长周期和短周期之间好像没有关系吧,只是有的人用长周期,有的人用短周期,是这个意思吗?
两个周期的退出的length都是取10吗?
两个周期一混我有点晕,麻烦给讲解下好吗? ...


然而,如果系统一的入市突破由于以前的交易已经取得赢利而被忽略,还可以在 55日突破时入市,以避免错过主要的波动。这种55日突破被视为自动保险突破点(Failsafe Breakout point)。

意思是55日是作为一个补充讯号,当20日的突破讯号因为过滤条件被忽略掉之后,可以采取55日突破讯号

使用道具 举报

Rank: 4

精华
0
UID
348
积分
347
帖子
83
主题
31
阅读权限
50
注册时间
2007-9-13
最后登录
2021-9-14
6#
发表于 2007-9-22 16:17:41 |只看该作者
老大,我写的海龟系统,怎么不能加仓啊?您帮忙看看?



Params
        Numeric Length1(15);
        Numeric Length2(10);
        Numeric RiskRatio(1);
        Numeric ATRLength(20);


Vars
        Numeric ATR;
        Bool Condition11;
        Bool Condition12;
        Bool Condition21;
        Bool Condition22;
        NumericSeries HighestValue1;
        NumericSeries LowestValue1;
        NumericSeries HighestValue2;
        NumericSeries LowestValue2;
        Numeric TotalEquity;
        Numeric Position;  
            Numeric preEntryPrice;
        Numeric preBreakoutType(0);
            Numeric preBreakOutPrice;  
            Numeric prePosition;
        Numeric myEntryPrice;






Begin
        HighestValue1 = Highest(Close[1],Length1);
        HighestValue2 = Highest(Close[1],Length2);
        LowestValue1 = Lowest(Close[1],Length1);
        LowestValue2 = Lowest(Close[1],Length2);
       


        ATR = AverageFC(TrueRange,ATRLength);
        TotalEquity = CurrentCapital()+ Abs(CurrentContracts()*Close*ContractUnit()*BigPointValue()*MarginRatio());
            Position = (TotalEquity*RiskRatio/100) /(ATR * ContractUnit()*BigPointValue());
            Position = IntPart(position);
        Condition11 = Close>HighestValue1;
        Condition12 = LowestValue1>Close;
        Condition21 = Close>HighestValue2;
        Condition22 = LowestValue2>Close;

        If(BarStatus == 0)
        {
                SetGlobalVar(0,InvalidNumeric);
                SetGlobalVar(1,0);
                SetGlobalVar(2,InvalidNumeric);               
        }Else
        {
                preBreakoutType = GetGlobalVar(1);
                preBreakOutPrice = GetGlobalVar(2);
                myEntryPrice=GetGlobalVar(0);

        }



       
        if (MarketPosition == 0)
        {
                if (Condition11)
                   {Buy(Position,0);SetGlobalVar(0,close);}

                if (Condition12)
                   {SellShort(Position,0);SetGlobalVar(0,close); }

        }
       
        if (MarketPosition == 1)
        {
                if (Condition22||(Close <= MyEntryPrice - 2 * ATR))              {Sell(0,0);}
                  else
                        if (Close >= myEntryPrice + 0.5 * ATR && Position>= 1&& CurrentContracts<4*Position)
                                {buy(Position,0);myEntryPrice = close;}


                }
       

        if (MarketPosition ==-1)
        {       
                if (Condition21||(Close >= MyEntryPrice + 2 * ATR))              {BuyToCover(0,0);}
                  else
                        if (Close <= myEntryPrice - 0.5 * ATR && Position>= 1&& CurrentContracts<4*Position)
                                {SellShort(Position,0);myEntryPrice = close;}


                }




End

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
7#
发表于 2007-9-22 16:25:29 |只看该作者
看看是不是交易设置里面不能连续加仓,或者说是最大持仓的限制。

另外,请使用FileAppend函数输出信息进行调试。

使用道具 举报

Rank: 4

精华
0
UID
348
积分
347
帖子
83
主题
31
阅读权限
50
注册时间
2007-9-13
最后登录
2021-9-14
8#
发表于 2007-9-22 16:31:59 |只看该作者
我把交易属性里的持仓限制去掉,可是又自己出现了,不知道怎么回事?

老大,您能不能帮忙看看在您的机器上能不能加仓啊?

使用道具 举报

Rank: 4

精华
0
UID
348
积分
347
帖子
83
主题
31
阅读权限
50
注册时间
2007-9-13
最后登录
2021-9-14
9#
发表于 2007-9-22 16:41:21 |只看该作者
我没法去掉交易属性里的持仓限制,怎么办啊?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
10#
发表于 2007-9-22 16:45:37 |只看该作者
原帖由 jeckforlete 于 2007-9-22 16:31 发表
我把交易属性里的持仓限制去掉,可是又自己出现了,不知道怎么回事?

老大,您能不能帮忙看看在您的机器上能不能加仓啊?


我这里可以加仓的。下图是我这里的界面,另外,您不需要在程序里面制定4次加仓。通过交易设置就可以控制了
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

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

bottom

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

GMT+8, 2024-5-1 04:58

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部