设为首页收藏本站

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

rb原型收藏 [复制链接]

Rank: 1

精华
0
UID
189955
积分
3
帖子
2
主题
1
阅读权限
10
注册时间
2014-7-4
最后登录
2022-1-26
跳转到指定楼层
1#
发表于 2016-7-26 14:57:08 |只看该作者 |倒序浏览
dual thrust系统原形
Inputs: K1(.5),K2(.5),Mday(1),Nday(1);
Vars: BuyRange(0), SellRange(0);
Vars: BuyTrig(0),SellTrig(0);
Vars: HH(0),LL(0),HC(0),LC(0);

If CurrentBar > 1 Then Begin
HH = Highest(High,Mday);
HC = Highest(Close,Mday);
LL = Lowest(Low,Mday);
LC = Lowest(Close,Mday);

If (HH - LC) >= (HC - LL) Then Begin
SellRange = HH - LC;
End Else Begin
SellRange = HC - LL;
End;

HH = Highest(High,Nday);
HC = Highest(Close,Nday);
LL = Lowest(Low,Nday);
LC = Lowest(Close,Nday);

If (HH - LC) >= (HC - LL) Then Begin
BuyRange = HH - LC;
End Else Begin
BuyRange = HC - LL;
End;

BuyTrig = K1*BuyRange;
SellTrig = K2*SellRange;

If MarketPosition = 0 Then Begin
Buy at Open of next bar + BuyTrig Stop;
Sell at Open of next bar - SellTrig Stop;
End;

If MarketPosition = -1 Then Begin
Buy at Open of next bar + Buytrig Stop;
End;

If MarketPosition = 1 Then Begin
Sell at Open of next bar - SellTrig Stop;
End;

End;

Rank: 1

精华
0
UID
189955
积分
3
帖子
2
主题
1
阅读权限
10
注册时间
2014-7-4
最后登录
2022-1-26
2#
发表于 2016-7-26 14:57:39 |只看该作者
//------------------------------------------------------------------------
// 简称: dual_thrust
// 名称:
// 类别: 公式应用
// 类型: 用户应用
// 输出: 穿堂风
//------------------------------------------------------------------------


Params
Numeric K1(0.5);
Numeric K2(0.5);
Numeric Mday(1);
Numeric Nday(1);
Numeric lots(1);
Numeric offset(0);

Vars
Numeric BuyRange(0);
Numeric SellRange(0);
Numeric BuyTrig(0);
Numeric SellTrig(0);
Numeric HH;
Numeric LL;
Numeric HC;
Numeric LC;
Numeric i_offset;
Numeric BuyPosition;
Numeric SellPosition;

Begin
If(CurrentBar > 44*Max(Mday,Nday))//使用的是5分钟周期,其它的周期自己做相应修改
{
        i_offset = offset*MinMove*PriceScale;
        HH = Highest(HighD(1),Mday);
        HC = Highest(CloseD(1),Mday);
        LL = Lowest(LowD(1),Mday);
        LC = Lowest(CloseD(1),Mday);

        If((HH - LC) >= (HC - LL))
        {
                SellRange = HH - LC;
        }
        Else
        {
                SellRange = HC - LL;
        }

        HH = Highest(HighD(1),Nday);
        HC = Highest(CloseD(1),Nday);
        LL = Lowest(LowD(1),Nday);
        LC = Lowest(CloseD(1),Nday);

        If((HH - LC) >= (HC - LL))
        {
                BuyRange = HH - LC;
        }
        Else
        {
                BuyRange = HC - LL;
        }

        BuyTrig = K1*BuyRange;
        SellTrig = K2*SellRange;
        
        BuyPosition = OpenD(0)+BuyTrig;
        SellPosition = OpenD(0)-SellTrig;
        
        PlotNumeric("BuyPosition",BuyPosition);
        PlotNumeric("SellPosition",SellPosition);

        If(MarketPosition == 0)
        {
                If(High>=BuyPosition)
                {
                        Buy(lots,Max(Open,BuyPosition)+i_offset);
                        Return;
                }
               
                If(Low<=SellPosition)
                {
                        SellShort(lots,Min(Open,SellPosition)-i_offset);
                        Return;
                }
        }

        If(MarketPosition == -1)
        {
                If(High>=BuyPosition)
                {
                        Buy(lots,Max(Open,BuyPosition)+i_offset);
                        Return;
                }
        }

        If(MarketPosition == 1)
        {
                If(Low<=SellPosition)
                {
                        SellShort(lots,Min(Open,SellPosition)-i_offset);
                        Return;
                }
        }
}
End

//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 用户版本        2011/07/24 02:14
// 版权所有        穿堂风
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------

使用道具 举报

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

bottom

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

GMT+8, 2024-4-26 22:58

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部