设为首页收藏本站

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

请小米版主帮看一看 [复制链接]

Rank: 1

精华
0
UID
260950
积分
7
帖子
5
主题
2
阅读权限
10
注册时间
2017-12-24
最后登录
2018-1-23
跳转到指定楼层
1#
发表于 2018-1-5 15:44:23 |只看该作者 |倒序浏览
请小米版主帮看一看,   以下两个模型有没有偷价,和未来函数

模型1

// 简称: JYXT_Aberration
// 名称: Aberration
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
Numeric Length(56);
Numeric StdDevUp(2.0);                //到2011年十大策略第一名
Numeric StdDevDn(10);                 //长线   趋势   多品种
Numeric Lots(6);


Vars
NumericSeries UpperBand;
NumericSeries LowerBand;
NumericSeries AveMa;
Numeric StdValue;


Begin

AveMa=Average(Close[1],Length);
StdValue = StandardDev(Close[1],Length);

UpperBand=Avema+StdDevUp*StdValue;
LowerBand=Avema-StdDevUp*StdValue;
PlotNumeric("UpperBand",UpperBand);
PlotNumeric("LowerBand",LowerBand);

PlotNumeric("AveMa",AveMa);
If(MarketPosition!=1 &&CrossOver(Close[1],UpperBand[1]))
{
         Buy(Lots,Open);
}

If(MarketPosition!=-1 &&CrossUnder(Close[1],LowerBand[1]))
{
         SellShort(Lots,Open);
}

If(MarketPosition==1 && Close[1]<AveMa[1])
{
         Sell(Lots,Open);

}

If(MarketPosition==-1 && Close[1]>AveMa[1])
{

        BuyToCover(Lots,Open);
}

End

模型2

// 简称: BDZS_12
// 名称: 波动止损_12
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params

        Numeric Lots(6);
        Numeric nOffset(3);
        Numeric HLength(5);
        Numeric LLength(5);
        Numeric AtrLength(0.05);
        Numeric myBarsSinceEntry(9);
        
Vars
        
        NumericSeries HHH;
        NumericSeries LLL;
        NumericSeries HHH1;
        NumericSeries LLL1;        
        NumericSeries Atr;
        Numeric myPrice;
        NumericSeries StopLine;
        NumericSeries LastPrice;
        Numeric MinPoint;


Begin

        MinPoint = MinMove*PriceScale;
        HHH = Highest(High,HLength);
        LLL = Lowest(Low,LLength);
        HHH1 = Highest(High,10);
        LLL1 = Lowest(Low,10);
        
        
        
        Atr = AvgTrueRange(10);
        
        
        If(MarketPosition==1)
        {
                //LLL1 = Max(LLL1,LastPrice);
                LLL1 = Max(LLL1,LLL1[1]);
                //PlotNumeric("LLL1",LLL1);
               
                If(BarsSinceEntry>myBarsSinceEntry || High>LastPrice+Atr[1])
                {
                        StopLine = Max(StopLine,LLL1[1] + (BarsSinceEntry)*Atr[1]*AtrLength);
                }
               
                PlotNumeric("多头止损:",StopLine);
               
                If(Low<StopLine)
                {
                        myPrice = Min(Open,StopLine) - MinPoint*nOffset;
                        Sell(Lots,myPrice);
                        
                }               
        }
        If(MarketPosition==-1)
        {
                //HHH1 = Min(HHH1,LastPrice);
                HHH1 = Min(HHH1,HHH1[1]);
                //PlotNumeric("HHH1",HHH1);
               
                If(BarsSinceEntry>myBarsSinceEntry || Low<LastPrice-Atr[1])
                {
                        StopLine = Min(StopLine,HHH1[1] - (BarsSinceEntry)*Atr[1]*AtrLength);
                }
                PlotNumeric("空头止损:",StopLine);
               
                If(High>StopLine)
                {
                        myPrice = Max(Open,StopLine) + MinPoint*nOffset;
                        BuyToCover(Lots,myPrice);
                        
                }
        }        
        
        
        If(MarketPosition<>1)
        {
                If(High>HHH[1])
                {
                        myPrice = Max(Open,HHH[1]);
                        Buy(Lots,myPrice + MinPoint*nOffset);
                        LastPrice = myPrice;
                        StopLine = myPrice - Atr[1]*1.5;
                        Return;
                }
        }
        If(MarketPosition<>-1)
        {
                If(Low<LLL[1])
                {
                        myPrice = Min(Open,LLL[1]);
                        SellShort(Lots,myPrice - MinPoint*nOffset);
                        LastPrice = myPrice;
                        StopLine = myPrice + Atr[1]*1.5;
                        Return;
                }
        }        
        
        
        If(time == 0.1510)
        {
                Sell(Lots,Open - MinPoint*nOffset);
                BuyToCover(Lots,Open + MinPoint*nOffset);
        }

End

谢谢

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2018-1-9 14:04:26 |只看该作者
自己检查一下吧,这真没办法帮到你。。
需要注意的是,模型一里的crossover最好是赋值 给一个中间变量,再加变量代入判断中。。你当前的写法是可能出问题的。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-24 03:41

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部