设为首页收藏本站

 找回密码
 注册
查看: 1286|回复: 3

如何设置止损后停止交易,麻烦指导一下我的这段代码 [复制链接]

Rank: 2

精华
0
UID
275910
积分
54
帖子
34
主题
16
阅读权限
30
注册时间
2019-2-22
最后登录
2020-4-7
发表于 2019-5-20 11:17:23 |显示全部楼层
Vars
      Numeric PercentOfRange(0.3);
      Numeric UpperLine;
      Numeric LowerLine;
      Numeric preAvgRange;
          Numeric stopLine1;
          Numeric stopLine2;
          Numeric stopPrice;
          Numeric myPrice;
          Numeric CloseTime(0.1450);//平仓时间
          Bool timerange;
          Bool THISbar(False);//当天交易和止损不能在同一个K线上的布尔变量标记 初始值为false
          Bool XBar(False);//当天止损后停止交易的布尔变量标记 初始值为flase
          Numeric avgClose5;//求五天以来收盘价的平均值
          
          Numeric Diff1;//前1个K线的最高价和最低价之差
          Numeric Diff2;
          Numeric Diff3;
          Numeric Diff4;
          Numeric Diff5;
          
          
Begin
      Diff1 = High[1]-Low[1];
      Diff2 = High[2]-Low[2];
      Diff3 = High[3]-Low[3];
      Diff4 = High[4]-Low[4];
      Diff5 = High[5]-Low[5];
      
      avgClose5 = AverageD(1,5);//求五天以来收盘价的平均值
      
      timeRange = time>0.0900 && time<0.1400;
      preAvgRange = (diff1+diff2+diff3+diff4+diff5)/5;
      
          UpperLine = avgClose5+preAvgRange*PercentOfRange;//上轨
          LowerLine = AvgClose5-preAvgRange*PercentOfRange;//下轨
          
          stopPrice = AvgEntryPrice;//平均建仓价格
          stopLine1 = stopPrice*1.005;
      stopLine2 = stopPrice*0.995;
      

      
      If(marketposition==1&&THISbar==false&&timerange){
         If(low<=stopLine2){
            Sell(0,Min(Low,stopLine2));//多头止损
            XBar=True;//止损后xbar的布尔值变为true
         }
          }
          
          If(marketposition==-1&&THISbar==false&&timerange){
         If(High>=stopLine1){
            BuyToCover(0,Max(High,stopLine1));//空头止损
            XBar=True;//止损后xbar的布尔值变为true
         }
          }
          
      If(MarketPosition==0 &&timeRange&& High>UpperLine&&XBar==False){
          
             myPrice=UpperLine;
                 If(open>myprice){myprice = open;}
                 
             Buy(1,myprice);
             THISbar=True;//交易后thisbar的布尔值变为true
          }
          
          If(MarketPosition==0 && timeRange&&  Low<LowerLine&&XBar==False){
          
             myprice=lowerLine;
                 If(open<myprice){myprice = open;}
                 
             SellShort(1,myprice);
              THISbar=True;//交易后thisbar的布尔值变为true
          }
          
          
          
          
          If(time>=closeTime&&MarketPosition==1){
         Sell(0,0);//多头平仓
      }
          
          If(time>=closeTime&&MarketPosition==-1){
         BuyToCover(0,0);//空头平仓
          }
End

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2019-5-20 14:58:00 |显示全部楼层
标题这句话怎么理解?
止损后停止交易,是指止损后,就再也不做任何的交易动作了吗?永远?

使用道具 举报

Rank: 2

精华
0
UID
275910
积分
54
帖子
34
主题
16
阅读权限
30
注册时间
2019-2-22
最后登录
2020-4-7
发表于 2019-5-20 15:27:04 |显示全部楼层
小米 发表于 2019-5-20 14:58
标题这句话怎么理解?
止损后停止交易,是指止损后,就再也不做任何的交易动作了吗?永远? ...

当天止损一次后就停止交易,这个怎么写

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2019-5-20 16:04:10 |显示全部楼层
visions111 发表于 2019-5-20 15:27
当天止损一次后就停止交易,这个怎么写
  1. vars
  2.     numericseries flag;
  3. begin
  4.     if(truedate(0)!=truedate(1))
  5.     {
  6.           flag =0;
  7.     }
  8.     if(flag ==0 && buycon)
  9.     {
  10.               buy(lots,price);
  11.     }
  12.     if(sellcon && marketposition==1)
  13.     {
  14.              if(sellprice-entrpyrice<=0)
  15.              {
  16.                      flag =1;
  17.              }
  18.              sell(lots,price);
  19.      }
复制代码

使用道具 举报

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

bottom

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

GMT+8, 2024-3-29 09:21

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部