设为首页收藏本站

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

我也发个最好的原码来炫一下 [复制链接]

Rank: 1

精华
0
UID
115187
积分
36
帖子
32
主题
4
阅读权限
10
注册时间
2013-1-28
最后登录
2013-2-27
跳转到指定楼层
1#
发表于 2013-1-28 19:06:14 |只看该作者 |倒序浏览
Params

Numeric K1(1.22);

Numeric K2(2.21);//
Numeric Mday(6);

Numeric Nday(1);//
Numeric lots(1);

Numeric offset(25);//




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;


Numeric MinPoint;           // 一
    Numeric MyEntryPrice;       //
    Numeric TakeProfitSet(92);  // 置
    Numeric StopLossSet(16);    //     Numeric MyExitPrice;        




Begin



  ...
    MinPoint = MinMove*PriceScale;
    MyEntryPrice = AvgEntryPrice;
    If(MarketPosition==1) // 有多仓的情况
    {
        If(High >= MyEntryPrice + TakeProfitSet*MinPoint)   // 止赢条件表达式
        {
            MyExitPrice = MyEntryPrice + TakeProfitSet*MinPoint;
            If(Open > MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
            Sell(0,MyExitPrice);
        }else if(Low <= MyEntryPrice - StopLossSet*MinPoint)// 止损条件表达式
        {
            MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;
            If(Open < MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
            Sell(0,MyExitPrice);
        }
    }else if(MarketPosition==-1) // 有空仓的情况
    {
        If(Low <= MyEntryPrice - TakeProfitSet*MinPoint)    // 止赢条件表达式
        {
            MyExitPrice = MyEntryPrice - TakeProfitSet*MinPoint;
            If(Open < MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
            BuyToCover(0,MyExitPrice);
        }else if(High >= MyEntryPrice + StopLossSet*MinPoint)// 止损条件表达式
        {
            MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;
            If(Open > MyExitPrice) MyExitPrice = Open;      // 如果该Bar开盘价有跳空触发,则用开盘价代替
            BuyToCover(0,MyExitPrice);
        }
    }
    ...


  



        if ((close==Q_LowerLimit) or (close==Q_UpperLimit))
          
           {
             return;
           }
//当最新价等于涨停或者跌停价时,不往下执行公式。       

  







               
                  
If(CurrentBar > 45*Max(Mday,Nday)&&(date!=date[1]))//使用的是5分钟周期,其它的周期自己做相应修改
//当前公式应用商品在当前Bar的时间乘以100》=9点或者小于14.55分
{

        i_offset = offset*MinMove*PriceScale;//MinMove当前公式应用商品的最小变动量
                                             //PriceScale当前公式应用商品的计数单位。
        HH = Highest(HighD(1),Mday);//Highest求最高值.  HighD求N天前的最高价  Mday统计的时间,单位,天

        HC = Highest(CloseD(1),Mday);

        LL =Lowest(LowD(1),Mday);//Lowest求最低值.  LowD求N天前的最低价

        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;//突破幅度乘以BuyRange

        SellTrig = K2*SellRange;

        

        BuyPosition = OpenD(0)+BuyTrig;//OpenD求N天前的开盘价 [daysAgo 最近N天,0为当天,1为昨天,依次类推。]

        SellPosition = OpenD(0)-SellTrig;

        
        

                If(MarketPosition == 0)//1 当前位置为持空仓
                               //0 当前位置为持平
                                                           //1 当前位置为持多仓

        {
                  
                If(High>=BuyPosition)//如果当前k线最高价》=当前k线的开盘价

                {

                        buy(lots,Max(Open,BuyPosition)-i_offset);//Max求最大值

                        Return;

                }

               

                If(Low<=SellPosition)

                {

                        SellShort(lots,Min(Open,SellPosition)+i_offset);//Min求最小值, -i_offset滑点

                        Return;//返回

                }

        }
}




End

Rank: 2

精华
0
UID
113955
积分
63
帖子
16
主题
2
阅读权限
30
注册时间
2012-12-8
最后登录
2013-5-7
2#
发表于 2013-1-28 22:23:25 |只看该作者
好牛的策略

使用道具 举报

Rank: 2

精华
0
UID
113955
积分
63
帖子
16
主题
2
阅读权限
30
注册时间
2012-12-8
最后登录
2013-5-7
3#
发表于 2013-1-28 22:26:20 |只看该作者
靠赚滑点来蒙人,哈哈

使用道具 举报

Rank: 1

精华
0
UID
114377
积分
19
帖子
18
主题
1
阅读权限
10
注册时间
2012-12-25
最后登录
2014-1-16
4#
发表于 2013-1-30 20:19:53 |只看该作者
故意的吧,滑点弄反了,改回来效果就难看了

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
113242
积分
3506
帖子
97
主题
11
阅读权限
80
注册时间
2012-10-31
最后登录
2013-6-4
5#
发表于 2013-1-30 20:58:13 |只看该作者
除了滑点不算,,这个策略明显是美国的10大著名期货策略之一,

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
73474
积分
1249
帖子
695
主题
30
阅读权限
60
注册时间
2011-10-22
最后登录
2015-11-6
6#
发表于 2013-1-30 21:22:24 |只看该作者
好牛的策略靠赚滑点来蒙人,哈哈

使用道具 举报

Rank: 1

精华
0
UID
115161
积分
2
帖子
2
主题
0
阅读权限
10
注册时间
2013-1-26
最后登录
2013-1-31
7#
发表于 2013-1-30 21:24:28 |只看该作者
当最新价等于涨停或者跌停价时,不往下执行公式。 这一块里面被提示return语句返回值类型与公式定义的返回值类型不符。咋办

使用道具 举报

Rank: 4

精华
0
UID
6221
积分
274
帖子
103
主题
42
阅读权限
50
注册时间
2009-12-20
最后登录
2015-3-15
8#
发表于 2013-1-31 11:09:57 |只看该作者
代码不重要,关键是交易思想,逻辑关系看不懂,还望LZ 明示。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-12 09:31

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部