设为首页收藏本站

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

求高手指点buy函数怎么样实际买入 [复制链接]

Rank: 2

精华
0
UID
230235
积分
65
帖子
40
主题
19
阅读权限
30
注册时间
2016-3-17
最后登录
2020-7-27
跳转到指定楼层
1#
发表于 2016-6-20 10:23:37 |显示全部楼层 |倒序浏览
//------------------------------------------------------------------------
// 简称: CL_Three_EMA_Crossover_L2 自己改编的
// 名称: CL_Three_EMA_Crossover_L2
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------

//------------------------------------------------------------------------
// 策略说明:
//                        1.计算三条指数移动平均线(Avg1, Avg2 , Avg3);
//                        2.通过指数移动平均线的组合来判断趋势
//                         
// 入场条件:
//                        1.当Avg1向上穿过Avg2并且Avg2大于Avg3时,在下一根k线开盘处买入
//                        2.当Avg1向下穿过Avg2并且Avg2小于Avg3时,在下一根k线开盘处卖出
//                        买入2手
// 出场条件:
//                        1.Avg1下穿Avg2多头出场
//                        2.跟踪止损
//
//                 注: 当前策略仅为做多系统, 如需做空, 请参见CL_Three_EMA_Crossover_System_S
//----------------------------------------------------------------------//

Params
        Numeric  AvgLen1(6);
        Numeric  AvgLen2(12);
        Numeric  AvgLen3(28);
        Numeric  RLength(4);
       
Vars
    NumericSeries  Avg1;        //指数移动平均1
        NumericSeries  Avg2;        //指数移动平均2
        NumericSeries  Avg3;        //指数移动平均3
        Numeric                        position;  //仓位
        BoolSeries     BuyCon1(False);        //做多条件之一
        NumericSeries  LongStopPrice;        //跟踪止损价
        NumericSeries  Range;                        //K线幅度
        NumericSeries  RangeL;
        Numeric                        yingkui;
        Numeric                        buytt;
        Numeric                 buytt2;
        Numeric                 sellprice2;
        String strKey1;
        String strKey2;
        String strKey3;

Begin

        // 集合竞价和小节休息过滤
        If(!CallAuctionFilter()) Return;
       
        //初始设置
        Avg1=XAverage(Close,AvgLen1);
        Avg2=XAverage(Close,AvgLen2);
        Avg3=XAverage(Close,AvgLen3);
        Range=High-Low;  //定义K线幅度
       
       
        //在图表上划出指数移动平均线
        PlotNumeric("Avg1",Avg1);
        PlotNumeric("Avg2",Avg2);
        PlotNumeric("Avg3",Avg3);
       
        //Avg1向上穿过Avg2为买入条件之一
        BuyCon1=CrossOver(Avg1,Avg2);     
       
        //BuyCon1满足且Avg2大于Avg3时,做多
        If(BuyCon1[1] And Avg2[1]>Avg3[1] And Vol > 0)
        Buy(1,Open);  
        buytt=open;  
        buytt2=AvgEntryPrice;
        strKey1="buytt"; strKey2="buytt2";
        SetTBProfileString(Symbol,strKey1,Text(buytt));
        SetTBProfileString(Symbol,strKey2,Text(buytt2));       
       
        //Avg1小于Avg2多头出场
        If(MarketPosition==1 And BarsSinceEntry>0 And Avg1[1]<Avg2[1] And Vol > 0)
        Sell(1,Open);
       
        //设置跟踪止损价
        RangeL= Average(Range,RLength);
        If(MarketPosition==1 And BarsSinceEntry==0)
        {
            LongStopPrice=Low-RangeL;
        }Else If(MarketPosition==1 And BarsSinceEntry>0)
        {
            LongStopPrice=LongStopPrice+(Low-LongStopPrice)*0.25;
        }
       
        //Commentary("LongStopPrice="+Text(LongStopPrice));
       
       
        //向下跌破跟踪止损价多头出场
        If(MarketPosition==1 And BarsSinceEntry>0 And Low<=LongStopPrice[1] And Vol > 0)
        {
                sellprice2=Min(Open,LongStopPrice[1]);
                Sell(1,sellprice2);
               
        }
        yingkui=PositionProfit;
        strKey3="yingkui";  
        SetTBProfileString(Symbol,strKey3,Text(yingkui));
       
End


//------------------------------------------------------------------------
// 编译版本        GS2015.12.25
// 用户版本        2016/06/06 10:56:33
// 版权所有        jsuguo
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

Rank: 2

精华
0
UID
230235
积分
65
帖子
40
主题
19
阅读权限
30
注册时间
2016-3-17
最后登录
2020-7-27
2#
发表于 2016-6-20 22:19:27 |显示全部楼层
谢楼上大侠回复!
我用它试运行了一下,在K线图上买入卖出的地方出现了“[1]”这样的标志,见附件图表。意思应该是到这些地方买入和卖出1手,但是测试账户里并没有发生交易。
不知道怎样让账户发生买入交易,另如果有几个账户,怎样指定账户操作?
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 2

精华
0
UID
230235
积分
65
帖子
40
主题
19
阅读权限
30
注册时间
2016-3-17
最后登录
2020-7-27
3#
发表于 2016-6-24 09:27:57 |显示全部楼层
谢版主!
另外在调公式的时候,有没有方便的办法看到变量的值?

使用道具 举报

Rank: 2

精华
0
UID
230235
积分
65
帖子
40
主题
19
阅读权限
30
注册时间
2016-3-17
最后登录
2020-7-27
4#
发表于 2016-6-29 10:32:38 |显示全部楼层
版主你好,感谢多次帮忙!
在超级图表上的行情图上,能不能选中某一区域时段并且放大?我试了一下好像没有类似的功能。

使用道具 举报

Rank: 2

精华
0
UID
230235
积分
65
帖子
40
主题
19
阅读权限
30
注册时间
2016-3-17
最后登录
2020-7-27
5#
发表于 2016-6-30 23:47:50 |显示全部楼层
谢版主!鼠标滚动键很好用。我这段关注原油行情比较多,原油数据里面,经常有莫名其妙的巨量出现,大到好几百万手,有时候甚至是负的量,比如cl1606中,5月16日 9:10有一个巨大的负量,好些地方跟博易大师的数据相差甚远,不知是否有什么问题?

使用道具 举报

Rank: 2

精华
0
UID
230235
积分
65
帖子
40
主题
19
阅读权限
30
注册时间
2016-3-17
最后登录
2020-7-27
6#
发表于 2016-7-1 21:55:16 |显示全部楼层
问题补充,是5分钟的K线图。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-21 01:46

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部