金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2885|回复: 5

当收盘价<开仓条件的前3天的最低点平仓

[复制链接]

20

主题

57

帖子

57

积分

等级: 免费版

注册:
2021-7-15
曾用名:
发表于 2021-9-17 11:48 | 显示全部楼层 |阅读模式

开多条件1:=cond1;
平多1:    //当收盘价<开仓条件的前3天的最低点平仓;


开空条件1:=cond2;
平空1:    //当收盘价>开仓条件的前3天的最高点平仓;

回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-9-17 13:16 | 显示全部楼层
本帖最后由 技术009 于 2021-9-17 13:23 编辑

//不包含开仓K位置
//取值位置请放在开仓代码前
cd1:c<ref(llv(l,3),ENTERBARS+1);//ENTERBARS+1 还是ENTERBARS+2 是有区分的。看使用场景,用的什么指令类型以及代码位置。
cd2:c>ref(hhv(h,3),ENTERBARS+1);
最直接有效的方式是在使用的地方先输出ENTERBARS 看下。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

20

主题

57

帖子

57

积分

等级: 免费版

注册:
2021-7-15
曾用名:
 楼主| 发表于 2021-9-17 13:42 | 显示全部楼层
9.17止损.png
为什么这个条件开仓之后就马上被平仓了? 是哪里出错了?
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-9-17 13:43 | 显示全部楼层
不要只贴图。代码一并放上来。

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

20

主题

57

帖子

57

积分

等级: 免费版

注册:
2021-7-15
曾用名:
 楼主| 发表于 2021-9-17 14:03 | 显示全部楼层
//双均线策略
INPUT:N1(20,1,100,5);
INPUT:N2(60,1,100,5);
ma1:MA(CLOSE,N1);
ma2:MA(CLOSE,N2);
//
买:=cross(ma1,ma2);
卖:=cross(ma2,ma1);

//
开多条件:=cross(ma1,ma2) and ma1>ref(ma1,2) ;
开空条件:=cross(ma2,ma1) and ma1<ref(ma1,2) ;

平空条件:=cross(ma1,ma2) and ma1>ref(ma1,2);
平多条件:=cross(ma2,ma1) and ma1<ref(ma1,2) ;

//止损:


H5:=ref(HHV(H,3),enterbars+1);    //5天前最高价止损空单
空止损5:=C>H5;                    // 输出H1:ENTERBARS+1日前的5日内最高价的最高值
L5:=Ref(LLV(L,3),enterbars+1);
多止损5:=C<L5 ;


//平仓组合
手数:=1;
平空:SELLSHORT(平空条件, holding,MARKET);
开多:BUY(开多条件 and HOLDING=0 ,手数,MARKET);
平多:SELL(平多条件, holding,MARKET);
开空:BUYSHORT(开空条件  and holding=0 ,手数,MARKET);
//止损独立
空止损:SELLSHORT(空止损5, holding,MARKET);
多止损:SELL(多止损5, holding,MARKET);

************************
你可以吧代码放进软件看一下,现在的300IF合约5分钟周期,就是马上被平仓.还有7.22日5分钟周期

回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-9-17 14:19 | 显示全部楼层
代码顺序调整下:

[PEL] 复制代码
//止损独立
空止损:SELLSHORT(空止损5, holding,MARKET);
多止损:SELL(多止损5, holding,MARKET);

//平仓组合
手数:=1;
平空:SELLSHORT(平空条件, holding,MARKET);
开多:BUY(开多条件 and HOLDING=0 ,手数,MARKET);
平多:SELL(平多条件, holding,MARKET);
开空:BUYSHORT(开空条件  and holding=0 ,手数,MARKET);


你这里就是代码顺序造成的影响。你原先代码里 的“空止损5”这个条件 获取的是前面某个位置某个开仓k的判断结果。但是因为你平仓语句在后面,开仓在前面,导致把这个判断结果又应用到了最新的这个开仓的止损上了,也就是其实是一个错位。

截图202109171419299747..png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 10:10 , Processed in 0.179624 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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