以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 锌早盘10点前的高低点 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=148852) |
-- 作者:惊弓之鸟 -- 发布时间:2017/3/8 16:24:16 -- 锌早盘10点前的高低点 老师好, 1.锌早盘10点前的高低点如何表达? 我用下面的公式表达 发现他是按凌晨1点为起点 来计算10点前的高低点的(因为锌夜盘时间长 延续到凌晨2点) n:VALUEWHEN(time=100000,TODAYBAR);hh:ref(hhv(h,n),todaybar-n); ll:ref(llv(l,n),todaybar-n); 我实际只需要早盘9点开盘到10点这段时间的高低点。 该如何正确表达? 2.我是图标程序化(标准版),能实现在1根5分钟K线内完成 开仓 ,止盈or止损 动作吗? 谢谢! |
-- 作者:惊弓之鸟 -- 发布时间:2017/3/8 16:28:43 -- sorry!重新写下: 老师好, 1.锌早盘10点前的高低点如何表达? 我用下面的公式表达 发现他是按0(半夜12点)点为起点 来计算10点前的高低点的(因为锌夜盘时间长 延续到凌晨1点) n:VALUEWHEN(time=100000,TODAYBAR);hh:ref(hhv(h,n),todaybar-n); ll:ref(llv(l,n),todaybar-n); 我实际只需要早盘9点开盘到10点这段时间的高低点。 该如何正确表达? 2.我是图标程序化(标准版),能实现在1根5分钟K线内完成 开仓 ,止盈or止损 动作吗? 谢谢! |
-- 作者:shq -- 发布时间:2017/3/8 16:51:46 -- 1、 //以金字塔时间编写,1h以内周期,沪锌品种 n:BARSLAST(time=050000);//夜盘收盘到现在的周期数 m:BARSLAST(time=140000);//10:00到现在的周期数 mn:n-m; hh:ref(hhv(h,mn),m); ll:ref(llv(l,mn),m); 2、可以的。条件分开写就可以。 [此贴子已经被作者于2017-3-8 17:05:39编辑过]
|
-- 作者:惊弓之鸟 -- 发布时间:2017/3/8 17:08:02 -- 谢谢! 我习惯用北京时间来表达 //以北京时间编写,9:30以前的高点是这样吗 n:BARSLAST(time=010000);//夜盘到现在的周期数 m:BARSLAST(time=093000);//09:30 mn:n-m; hh:ref(hhv(h,mn),m); ll:ref(llv(l,mn),m);
|
-- 作者:shq -- 发布时间:2017/3/8 17:10:53 -- 是的,针对于沪锌品种没有问题。同时time返回的是周期函数,需注意在1h等大周期上需要重新编写。 |
-- 作者:惊弓之鸟 -- 发布时间:2017/3/8 17:48:01 -- 好的 非常感谢
|
-- 作者:惊弓之鸟 -- 发布时间:2017/3/8 20:07:34 -- 老师好 我又遇到了难题,还是以锌为例 开多条件:= H>=9点开盘至今的最高价 AND REF(MA5,1)>=REF(MA10,1) AND HOLDING<=0 AND A=0 AND 开仓时间(930以后); “9点开盘至今的最高价” 如何表达? 没有夜盘的品种是这样表达的 H>=REF(HHV(H,N),1) |
-- 作者:qq代人发帖 -- 发布时间:2017/3/9 9:13:22 -- n:BARSLAST(time=CLOSETIME(1)); |
-- 作者:惊弓之鸟 -- 发布时间:2017/3/9 12:00:58 -- 非常感谢 ![]() |
-- 作者:惊弓之鸟 -- 发布时间:2017/3/13 11:37:55 -- 老师好, 我想在一根K线上完成开平仓动作,代码编写后却没有讯号 ,请老师帮忙检测看下问题出在哪里?谢谢。 VARIABLE:A=0; VARIABLE:B=0; VARIABLE:CC=0; //开仓次数限制 输出H:=(H-O)/O>0.006,COLORWHITE,LINETHICK0; 输出L:=(O-L)/O>0.006,COLORWHITE,LINETHICK0; 开仓时间:=TIME>=093000 AND TIME<=143000; //交易条件 开多条件:=L<=(O-L)/O>0.006 AND HOLDING<=0 AND A=0 AND CC<1 AND 开仓时间; 开空条件:=H>=(H-O)/O>0.006 AND HOLDING>=0 AND B=0 AND CC<1 AND 开仓时间; 止损平多条件1:=ENTERPRICE-L>=ENTERPRICE/200 AND HOLDING>0; //百分比止损 止损平空条件1:=H-ENTERPRICE>=ENTERPRICE/200 AND HOLDING<0; 止盈平多条件2:=H-ENTERPRICE>=ENTERPRICE/200*2.5 AND HOLDING>0; 止盈平空条件2:=ENTERPRICE-L>=ENTERPRICE/200*2.5 AND HOLDING<0; 收盘平多条件:=TIME>=145800 AND HOLDING>0; 收盘平空条件:=TIME>=145800 AND HOLDING<0; 成本:ENTERPRICE,COLORWHITE,LINETHICK0; 多方止损:ENTERPRICE-ENTERPRICE/200,COLORRED,LINETHICK0; 多方止盈:ENTERPRICE+ENTERPRICE/200*2.5,COLORRED,LINETHICK0; 空方止损:ENTERPRICE+ENTERPRICE/200,COLORGREEN,LINETHICK0; 空方止盈:ENTERPRICE-ENTERPRICE/200*2.5,COLORGREEN,LINETHICK0; //交易系统 SOS平空:SELLSHORT(止损平空条件1,1,LIMITR,空方止损); IF 收盘平空条件 THEN BEGIN 收盘平空:SELLSHORT(1,1,MARKET); END IF 止盈平空条件2 THEN BEGIN LF平空:SELLSHORT(1,1,LIMITR,空方止盈); B:=1; END 输出B:=B,COLORWHITE,LINETHICK0; IF 开多条件 THEN BEGIN 开多:BUY(1,1,LIMITR,输出H); CC:=CC+1; END SOS平多:SELL(止损平多条件1,1,LIMITR,多方止损); IF 收盘平多条件 THEN BEGIN 收盘平多:SELL(1,1,MARKET); END IF 止盈平多条件2 THEN BEGIN LF平多:SELL(1,1,LIMITR,多方止盈); A:=1; END 输出A:=A,COLORWHITE,LINETHICK0; IF 开空条件 THEN BEGIN 开空:BUYSHORT(1,1,LIMITR,输出L); CC:=CC+1; END 输出CC:=CC,COLORWHITE,LINETHICK0; IF TIME>=145800 THEN A:=0; IF TIME>=145800 THEN B:=0; IF TIME>=145800 THEN CC:=0; |