sorakiraa 发表于 2012-11-5 11:44:27

【源码】鳄鱼交易法-日内交易系统


    Params
        Numeric slowLength(13);
        Numeric midLength(8);
        Numeric fastLength(5);
        Numeric ultraLength(3);
        Numeric atrLength(14);
        Numeric ratio(1);
Vars
        NumericSeries atrValue;//ATR
        NumericSeries Croco;//鳄
        NumericSeries Teeth;//齿
        NumericSeries Lips;//唇
        NumericSeries Y;//中线
        BoolSeries Con1;
        BoolSeries Con2;
        NumericSeries lots;
Begin
        atrValue=Average(Max(Max(High-Low,Abs(Close-High)),Abs(Close-Low)),atrLength);
        If(CurrentBar<atrLength)
        {
                lots=1;
        }Else
        {
                If(Weekday<>(Weekday+1)%7)
                {
                        lots=IntPart(((Portfolio_CurrentCapital+Portfolio_UsedMargin)*ratio/100)/(atrValue*ContractUnit*BigPointValue));
                }Else
                {
                        lots=lots;
                }
        }
        Commentary("lots="+Text(lots));
        Y=(High+Low+Close)/3;
        Croco=SMA(Y,slowLength,1);
        Teeth=SMA(Y,midLength,1);
        Lips=SMA(Y,slowLength,1);
        Con1=Croco>Teeth&&Teeth>Lips&&Close<Open&&Low<Low;//空单
        Con2=Croco<Teeth&&Teeth<Lips&&Close>Open&&High>High;//多单
       
        PlotNumeric("鳄",Croco,0,White);
        PlotNumeric("齿",Teeth,0,Red);
        PlotNumeric("唇",Lips,0,Yellow);
       
        If(Con1)
                SellShort(lots,Open);
        If(Con2)
                Buy(lots,Open);
        If(MarketPosition==-1)
        {
                If(CountIf(Con1,BarsSinceEntry)==1)
                {
                        If(Open>Teeth)
                                BuyToCover(lots,Open);
                }Else
                {
                        If(Open>High)
                                BuyToCover(lots,Open);
                }
        }
        If(MarketPosition==1)
        {
                If(CountIf(Con2,BarsSinceEntry)==1)
                {
                        If(Open<Teeth)
                                Sell(lots,Open);
                }Else
                {
                        If(Open<Low)
                                Sell(lots,Open);
                }
        }
End
简单地说就是一个三均线系统
慢中快均线依次排列,结合K线进行开仓条件判断;
初始止损为开仓时的快速均线值
当单边出现多次开仓信号时将止损位设置为上一根K线的高(低)点;
此系统无强制离场措施;
另外我用ATR进行了开仓手数设置;

商品设置:
http://i587.photobucket.com/albums/ss315/sorakiraa/item.jpg

交易设置:
http://i587.photobucket.com/albums/ss315/sorakiraa/all-2.jpg

曲线:
http://i587.photobucket.com/albums/ss315/sorakiraa/detail.jpg

flyfish 发表于 2012-11-5 11:51:44

光看图,对于日内系统来说,这个回撤太大了。况且回测时间仅仅1年不到,要是多回测几年,可能会更大。我是不敢用的。

sorakiraa 发表于 2012-11-5 11:57:34

我只是提供一种思路
至于到了实战怎么进行策略优化,仓位控制,止损止盈则见仁见智
有人喜欢做波段,趋势,有人喜欢日内,隔夜不持仓
其实不管你用MA,EMA,SMA还是AMA,ADX,ZIGZAG,要想获得更高的收益率就要做好承受更高回撤的心理准备:lol

tcx 发表于 2012-11-5 15:33:52

太感谢了,这几天正在研究这个系统楼主就发上来了。真是及时雨啊

tcx 发表于 2012-11-5 15:54:31

还差个分形

sorakiraa 发表于 2012-11-5 16:01:32

书上只写了三条线的代码
至于开平仓代码是以我的理解写的:(

趋势跟踪 发表于 2012-11-5 16:01:51

谢谢楼主分享!
请问这个系统是用于几分钟周期的图表?
我的浏览器看不到你贴的“商品设置”、“交易设置”图。

sorakiraa 发表于 2012-11-5 16:04:37

我喜欢用5分钟图:)

青春年华 发表于 2012-11-5 18:53:55

只适用日线,其他无信号

东方浩泽 发表于 2012-11-26 22:21:27

我的报错,什么情况  if语句的地方有语法错误??
页: [1] 2
查看完整版本: 【源码】鳄鱼交易法-日内交易系统