以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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
--  
谢谢!