设为首页收藏本站

 找回密码
 注册
楼主: 飞鸟
打印 上一主题 下一主题

中国程序化交易的发展需要更多分享和合作。希望大家支持 [复制链接]

Rank: 1

精华
0
UID
112944
积分
36
帖子
14
主题
1
阅读权限
10
注册时间
2012-10-17
最后登录
2013-5-5
11#
发表于 2013-1-23 18:07:07 |只看该作者
强烈支持

使用道具 举报

Rank: 2

精华
0
UID
113372
积分
83
帖子
41
主题
11
阅读权限
30
注册时间
2012-11-8
最后登录
2013-5-31
12#
发表于 2013-1-25 14:03:29 |只看该作者
希望得到火花的碰撞

使用道具 举报

Rank: 4

精华
0
UID
2788
积分
451
帖子
112
主题
49
阅读权限
50
注册时间
2008-11-16
最后登录
2019-3-30
13#
发表于 2013-1-25 15:03:47 |只看该作者
不过那个搞法是机构的搞法和牛人的搞法啊。。。不然就是JAVA学习、一个算法分析就能搞一辈子啦。。
个体户不能用太复杂的工具。。
不过支持高手加入TB..

使用道具 举报

Rank: 2

精华
0
UID
113352
积分
89
帖子
56
主题
10
阅读权限
30
注册时间
2012-11-7
最后登录
2013-2-1
14#
发表于 2013-1-26 09:52:22 |只看该作者
想看到实际上的内容啊。

使用道具 举报

Rank: 2

精华
0
UID
46427
积分
66
帖子
41
主题
3
阅读权限
30
注册时间
2011-6-12
最后登录
2015-10-10
15#
发表于 2013-1-27 20:41:15 |只看该作者
家纺3362 发表于 2013-1-26 20:49
均线系统最有效,关键是执行,扯淡,没有,真的赚钱的,有几个

不能叫最有效吧,振荡时怎么办?

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
89585
积分
244
帖子
82
主题
20
阅读权限
40
注册时间
2011-12-28
最后登录
2014-11-13
16#
发表于 2013-1-27 23:59:29 |只看该作者
既然说分享,楼主先分享一个思路如何?

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
73474
积分
1249
帖子
695
主题
30
阅读权限
60
注册时间
2011-10-22
最后登录
2015-11-6
17#
发表于 2013-1-28 06:23:55 |只看该作者
强烈支持,既然说分享,楼主先分享一个思路如何?

使用道具 举报

Rank: 2

精华
0
UID
1883
积分
81
帖子
16
主题
1
阅读权限
30
注册时间
2008-7-15
最后登录
2016-5-16
18#
发表于 2013-1-28 18:57:59 |只看该作者
身先士卒

使用道具 举报

Rank: 1

精华
0
UID
115187
积分
36
帖子
32
主题
4
阅读权限
10
注册时间
2013-1-28
最后登录
2013-2-27
19#
发表于 2013-1-28 19:11:34 |只看该作者
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: 1

精华
0
UID
115217
积分
1
帖子
1
主题
0
阅读权限
10
注册时间
2013-1-29
最后登录
2013-2-1
20#
发表于 2013-1-29 04:05:56 |只看该作者
我也是在国外开发交易模型的,你提到的那些方法,如配对交易, 模式识别, 机器学习,滤波 + 平滑降噪,遗传算法,神经网络,小波分析等等,我现在都在用。

我和你有同感,国内比国外明显落后,我也想把最先进的东西引入国内,但无奈国内太多人死抱着手动交易不放,懂点量化的也是处于最初级层面, 有些人甚至迷信玄学。

如果想交流,可以在Linkedin上加我。

使用道具 举报

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

bottom

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

GMT+8, 2024-4-20 15:12

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部