以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 如何实现止盈后当天不开仓 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=169335) |
-- 作者:STREAM -- 发布时间:2019/4/15 9:26:12 -- 如何实现止盈后当天不开仓 老师,早上好! 请问如何实现止盈后当天不开 同方向仓 ? 比如 :BUY仓SELL止盈后,当天不再 BUY开仓。 谢谢!
|
-- 作者:FireScript -- 发布时间:2019/4/15 9:44:38 -- 可以这样做,做一个判断count(止盈条件,TODAYBAR)=0 放在开仓条件里面,不过这个止盈条件必须写完整,保证触发了就止盈,这样上面代码才能符合需求的。
|
-- 作者:STREAM -- 发布时间:2019/4/15 10:02:46 -- 谢谢! 我在想是否买下思路也可以: 设个变量 :止盈 ,如果是 止盈操作就让 止盈=1, 只有止盈=0 才能开仓 。 |
-- 作者:FireScript -- 发布时间:2019/4/15 10:04:56 -- 是的也可以的。但是有一点,你这个如果是昨日止盈的话就无法区分了呢。 |
-- 作者:STREAM -- 发布时间:2019/4/15 10:26:47 -- 是有点麻烦,下面是我的开平仓语句, 我设置的是无持仓时,开仓价、止损价、止盈价都是0,只是想当天止盈后当天不开同向仓 ,平常再开同向仓都是止损的。15分钟周期。能帮我修改一下吗?谢谢! //建立多头进场条件
LONG := KL AND JX>0 ;
//多头进场
IF LONG THEN BEGIN
BUY( _DEBUG,POSNUM,MARKET);
KCJ:=ENTERPRICE; //开仓价
SLJ:=MIN(LLV3, CHB); //止损价
TPJ:=KCJ+(KCJ-SLJ)*3 ;
//止盈价
POSITION := 1 ;
TURTLEUNITS := 1 ;
BUYORDERTHISBAR := 1;
END //IF END //IF //如果当前持有多头仓位的状态 IF POSITION = 1 THEN BEGIN
//建立多头离场条件
LONGX1 := C < SLJ OR TPJ ;
IF LONGX1 AND BUYORDERTHISBAR=0 THEN BEGIN
SELL( _DEBUG ,0,MARKET);
KCJ:=0;
SLJ:=0;
TPJ:=0 ;
POSITION := 0 ;
TURTLEUNITS := 0 ;
END END //IF
|
-- 作者:STREAM -- 发布时间:2019/4/15 10:31:47 -- 另外,请问老师,在15分钟周期内如何 实现 当日跳空开盘超过1% ,当日不开仓?谢谢! |
-- 作者:FireScript -- 发布时间:2019/4/15 13:26:48 -- 如果你是用变量去标记的话,其实也可以。但是需要在当日第一个K重置这个变量。另外多空的止盈建议可以分开设置2个变量。 if TODAYBAR=1 then begin 止盈:=0; end 这段代码务必放在最前面。 你这个跳空是向下还是向上呢?
|
-- 作者:STREAM -- 发布时间:2019/4/15 14:44:42 -- 向上跳空不做多,向下跳空不做空, 今天模型就做多止损了 |
-- 作者:FireScript -- 发布时间:2019/4/15 15:37:22 -- last_c:CALLSTOCK(\'\',vtCLOSE,6,-1);//昨日收盘价 today_o:CALLSTOCK(\'\',vtOPEN,6,0);//今日开盘价 up_tk:(o-last_c)/LAST_C>0.01;//这里的跳空设置的是按照1%幅度,这个可以自行修改的。 down_tk:(last_c-o)/LAST_C>0.01; 把not(up_tk) 加入到开多条件里面去。同理not(down_tk)加入到开空条件里面去。
|
-- 作者:STREAM -- 发布时间:2019/4/15 16:23:39 -- 谢谢! |