金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3000|回复: 4

如何取得开仓那根K线的最低价

[复制链接]

58

主题

187

帖子

187

积分

等级: 免费版

注册:
2021-7-30
曾用名:
发表于 2021-8-20 06:23 | 显示全部楼层 |阅读模式
1分钟级别逐模式
我的意图是以开仓那根K线的最低价止损,自编代码如下:
开仓条件:=a10;    //定义开仓条件

a17:=barslast(a10);    //取得开仓到现在的周期数
a18:=llv(l,a18);    //求得开仓到现在的最低价
A19:=l<a18-MINDIFF*1;    //现价小于开仓以来最低价一跳时,止损

if a10 then
begin
buy(A10 and holding=0 ,1,market);
end


if a19 then begin
sell(1,holding,market);
end






图表显示与我意图不符,请教如何取得开仓那根K的最低价
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-8-20 08:21 | 显示全部楼层

“a17:=barslast(a10);    //取得开仓到现在的周期数”
你的完整开仓条件其实是 a10 and holding=0.  

直接用ENTERBARS 函数获取开仓以来的位置,然后注意这个函数在开仓语句前 和 后 返回值会有些差异,注意下就行了。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

58

主题

187

帖子

187

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2021-8-20 10:13 | 显示全部楼层
老师,无法实现在开仓K的最低价止损,完整代码如下


jxjd:=ATAN((MA(C,20)/REF(MA(C,20),1)-1)*100)*180/3.1416;

A1:=jxjd>1;

a10:=jxjd<0;

buy(a1 and holding=0 ,1,market);

a18:=l<llv(l,enterbars)-mindiff*1;

if a18 then begin
sell(a18,holding,market);
end

sell(a10,holding,market);


图表显示如下:

2021-08-20_100730.png
回复

使用道具 举报

58

主题

187

帖子

187

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2021-8-20 10:14 | 显示全部楼层
好像A18以下代码不起作用,请帮忙测试一下
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2021-8-20 10:28 | 显示全部楼层
这个肯定满足不了啊。

a18:=l<llv(l,enterbars)-mindiff*1;

当前最低价,比包含当前周期在内的一段时间最低价还低。 这逻辑上就是一个矛盾的地方。
另外 llv(l,enterbars+1)  这里加一个1.
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 21:11 , Processed in 0.218734 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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