以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助][求助]请老师帮我解决一下问题,谢谢! (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=182205) |
-- 作者:liuxy9966 -- 发布时间:2020/9/16 13:20:28 -- [求助][求助]请老师帮我解决一下问题,谢谢! 我写了段策略,其中开空条件如下: 开空条件:cross(UPPER,close);//开空信号,upper是boll上轨 请老师帮我看看,我想在此开空条件的基础上加一条在动后的中文意思如下: 开空条件:cross(UPPER,close) 并且开空信号出现后的15分钟内没有任何一根K线的收盘价再次大于UPPER,如果有任何一根K线收盘价再次大于UPPER那么,又重新循环此过程直到“开空条件:cross(UPPER,close) ”后的15分钟内没有任何一根K线的收盘价大于UPPER. 谢谢老师!!
|
-- 作者:FireScript -- 发布时间:2020/9/16 13:25:48 -- 你什么周期的?‘15分钟内’ 这个处理和周期关联的。 |
-- 作者:liuxy9966 -- 发布时间:2020/9/16 13:32:29 -- 我是1分钟周期的,谢谢 |
-- 作者:FireScript -- 发布时间:2020/9/16 13:33:10 -- 假设是1分钟周期吧: cd1:cross(UPPER,close);//上穿 Len:BARSLAST(cd1);//距离上次满足上穿的距离cd2:Len>=15;//判断上穿的跨度是否有15个周期(1分钟15个周期就是15分钟,其他周期则需要修改下这里的判断) if cd2 and all(UPPER>CLOSE,Len) then buy(holding=0,1,market); |
-- 作者:liuxy9966 -- 发布时间:2020/9/16 13:35:13 -- 谢谢老师,我试试 |
-- 作者:liuxy9966 -- 发布时间:2020/9/16 13:53:55 -- 老师你好,谢谢您!我才开始学习编写策略,基础很差。 可能是我的表述有些不清楚。 我试了下您帮我写的代码,好像还是有点问题。 我是开空条件:就是当K线上穿BOLL上轨且close>upper,之后某一K线的close<upper作为开空信号,此时只是一个信号并不执行开空。有了此信号后,我需要策略继续在之后的15分钟(我用的周期是1分钟)内观察有没有任意一根K线再次突破BOLL上轨。 1、如果有那么等后面某K线收回到upper下方后再侦测15分钟。 2、如果没有那么开空条件就成立了,执行指定的某价位(或许是前面几k线的高点或者中间价位为开空价) 我基础很差请谅解,我之前的策略代码如下: MID: MA(CLOSE,26);//布林中轨 UPPER: MID + 2*STD(CLOSE,26);//布林上轨 LOWER: MID - 2*STD(CLOSE,26);//布林下轨 开空条件:cross(UPPER,close) ; variable:hh=0; temp:=ref(HIGH,1); if 开空条件 and holding=0 then BEGIN
buyshort(1,1,limit,close);
hh:=temp; end |
-- 作者:yukizzc -- 发布时间:2020/9/16 14:24:43 -- cond1:cross(close,upper); a:cond1 and ref(barslast(cond1)<15,1);
当前满足条件,然后ref上一根k线时候判断满足条件距离上一根k小于15 |