设为首页收藏本站

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

求助A函数开平仓控制方法 [复制链接]

Rank: 1

精华
0
UID
246133
积分
38
帖子
29
主题
9
阅读权限
10
注册时间
2017-1-15
最后登录
2023-6-6
跳转到指定楼层
1#
发表于 2018-5-12 00:32:14 |只看该作者 |倒序浏览
//------------------------------------------------------------------------
// 简称: CheShi_Duo
// 名称: 均价昨结价做多
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Params
    Numeric lots(1);
    Numeric StopLossSet(15);    //固定 止损设置
Vars
        Numeric JustPrice;
        Numeric YesterdayPrice;
        Numeric MinPoint;           // 一个最小变动单位,也就是一跳
    NumericSeries HighestAfterEntry;        // 开仓后出现的最高价
    NumericSeries LowestAfterEntry;         // 开仓后出现的最低价
        Numeric BuyStopLine;
        Numeric BuyPoint;//1为持多单,0为不持单
    Numeric OpenBar;//记录开仓的Bar数值
    Numeric OpenBar_Du;
        Numeric BarCha;
Begin
        If(!CallAuctionFilter()) Return;
     If(BarStatus==0)
      {
          OpenBar=0;
                  BuyPoint=0;
                  SetGlobalVar(1,BuyPoint);
          SetGlobalVar(0,OpenBar);
       } Else
          {
                     OpenBar=GetGlobalVar(0);
                         BuyPoint=GetGlobalVar(1);
                   }

    JustPrice=Q_AvgPrice;
        YesterdayPrice=Q_PreSettlePrice;
        //PlotNumeric("实时均价",JustPrice,0,Yellow);
        //PlotNumeric("昨日结算价",YesterdayPrice,0,white);
        If(JustPrice>YesterdayPrice&&A_BuyPosition==0/*&&BuyPoint==0*/)
           {
                 A_SendOrder(Enum_Buy,Enum_Entry,lots,Q_AskPrice);
                 //Buy(lots,Q_AskPrice);
                 BuyPoint=1;
                  SetGlobalVar(1,BuyPoint);
                  BuyPoint=GetGlobalVar(1);
           SetGlobalVar(0,Currentbar);
                   OpenBar=GetGlobalVar(0);
                                   SetTBProfileString2File("C:\\ "+Upper(Symbol())+"_OpenBar_Duo1.txt","OpenBar","OpenBar",Text(OpenBar));

                }

                if(A_BuyPosition!=0)
          {
                           OpenBar_Du=Value(GetTBProfileString2File("C:\\ "+Upper(Symbol())+"_OpenBar_Duo1.txt","OpenBar","OpenBar"));
              BarCha=CurrentBar-OpenBar_Du;
                                    Commentary("OpenBar_Du="+Text(OpenBar_Du));

                  HighestAfterEntry=Highest(High,BarCha);

                  Commentary("HighestAfterEntry="+Text(HighestAfterEntry));
      

         MinPoint = MinMove*PriceScale;
             BuyStopLine=HighestAfterEntry-StopLossSet*MinPoint;
                 //Commentary("多单止损线="+Text(BuyStopLine));
                 PlotNumeric("多单止损线Green",BuyStopLine,0,Green);
           }
         if(Q_Last<=BuyStopLine&&A_BuyPosition!=0&&A_GetOpenOrderCount==0)
        {
             A_SendOrder(Enum_Sell,Enum_Exit,lots,Q_BidPrice);
                        //Sell(lots,Q_BidPrice);
                        BuyPoint=0;
                         SetGlobalVar(1,BuyPoint);
                         BuyPoint=GetGlobalVar(1);
        }
               
End

-----------------------------------------------------------------------
在旗舰版上自己搞了一个A数控制的!但是实际运行时,有时候会开出两手单!平仓有时也会提示平仓不足
如果启用BuyPoint则很多时候都不开仓,重新刷新图表又正常开仓!

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2018-5-14 11:23:42 |只看该作者
A_sendorder发单 ,是需要使用全局变量来控制发单 次数,也就是你的那个buyposition是需要判断上的。
在执行a_sendorder时应该是在最后K线下方可,建议上层条件加上barstatus==2的判断

使用道具 举报

Rank: 1

精华
0
UID
246133
积分
38
帖子
29
主题
9
阅读权限
10
注册时间
2017-1-15
最后登录
2023-6-6
3#
发表于 2018-5-16 10:24:25 |只看该作者
改成2也不行

使用道具 举报

Rank: 1

精华
0
UID
246133
积分
38
帖子
29
主题
9
阅读权限
10
注册时间
2017-1-15
最后登录
2023-6-6
4#
发表于 2018-5-16 10:25:46 |只看该作者
是不是全局变量控制不了哦,还是我没做对

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2018-5-16 14:25:52 |只看该作者
zhou87li87 发表于 2018-5-16 10:25
是不是全局变量控制不了哦,还是我没做对

反正A函数的下单是一定要使用全局变量来控制下次数的。。
所以,肯定不是全局变量控制不了。。如果真控制不了的也应该是你的写法上有偏差而非全局变量本身的问题。
建议再看一下帮助文档里策略进阶中有关A函数下单那一块的例子。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-24 05:19

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部