金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2844|回复: 2

一段出场代码不知道哪里出问题了麻烦看下谢谢

[复制链接]

15

主题

37

帖子

37

积分

Rank: 2

等级: 标准版

注册:
2021-12-10
曾用名:
发表于 2022-1-17 15:26 | 显示全部楼层 |阅读模式
一段出场的代码,我本来想写一个随着时间不断上移的出场线的,但是不知道哪里逻辑错误,好像开了仓一直就出不了场,麻烦老师帮忙看看;
假设买入开仓条件D1,卖出开仓条件K1;
出场部分代码如下:
//开仓
        VARIABLE:upline:=0,dnline:=0;
       
        bl:=2;
        //atr
        TR1 : =MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
        ATR := MA(TR1,14);
        lots:=1;
       
       
        tatr:=ref(atr,1);
       
        IF d1 and HOLDING=0 THEN BEGIN
       
               
                BUY(1,LOTS,MARKET);
                 
                dnline:=low-tatr*bl;;//最低加上一个比例乘以ATR作为初始止损;
        END;
        IF k1 AND  HOLDING=0 THEN BEGIN
       
               
                BUYSHORT(1,LOTS,MARKET);
               
                upline:=high+bl*tatr;
        END;
       
       
        rc:=ref(c,1);
        IF  HOLDING>0 AND ENTERBARS >0 THEN BEGIN                                 //当有持仓的情况下,止损点向下移动。
                dnline:=if(c>rc,(c-rc)*0.5+dnline,dnline);
        END;
               
        IF  HOLDING<0 AND ENTERBARS >0 THEN BEGIN                                 
                upline:=if(c<rc,upline-(rc-c)*0.5,upline);
        END;
        AA:dnline;
        BB:upline;
       
        IF HOLDING > 0 AND ENTERBARS >0   AND L <= AA THEN BEGIN
                多损:sell(1,HOLDING,LIMITR,min(OPEN,AA));
               
        END
       
        IF HOLDING < 0 AND ENTERBARS >0  AND  H >= BB  THEN BEGIN
                空损:SellSHORT(1,HOLDING,LIMITR,max(OPEN,bb));
        END       

回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-1-17 15:52 | 显示全部楼层
问题出在一个无效值得情况下下。比如这里:
upline:=high+bl*tatr;

全局变量一旦被赋予一个无效值,后面就出问题了。
周期数不足时候 会出现一个无效值。
ATR := MA(TR1,14);

根据这里周期来得。少于14周期不行得。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

37

帖子

37

积分

Rank: 2

等级: 标准版

注册:
2021-12-10
曾用名:
 楼主| 发表于 2022-1-17 16:05 | 显示全部楼层
技术009 发表于 2022-1-17 15:52
问题出在一个无效值得情况下下。比如这里:
upline:=high+bl*tatr;

果然是这样,多谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-18 00:47 , Processed in 0.243014 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表