以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  盈利减仓不开仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=184800)

--  作者:岩泉自在
--  发布时间:2021/3/19 14:13:39
--  盈利减仓不开仓

M:EMA(CLOSE,99);
M2:=ref(m,2);
M3:=ref(m,3);
舵手:=M,LINETHICK2,COLORGREEN;
FF1:=REF(M,5);

STICKLINE(cross(FF1,M),LOW,HIGH,5,0),COLORGREEN;
STICKLINE(cross(M,FF1),LOW,HIGH,5,0),COLORRED;

kdd:=M>FF1 and M2>M3;

KKk:=M<FF1 and M2<M3;


KD:=kdd ;          //开多条件
PD:=KKk ;          //平多条件
KK:=KKk ;          //开空条件
PK:=kdd ;          //平空条件


平空:SELLSHORT(PK,2,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,2,THISCLOSE);          //开多信号
平多:SELL(PD,2,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,2,THISCLOSE);     //开空信号



//止盈
IF C-AVGENTERPRICE>50*MINDIFF THEN BEGIN
SELL(1,HOLDING,MARKET);//请教老师,在这里,减去一半的仓位,怎么写,平一半的仓位,它还符合进场的条件,马上又会开仓,我不想再开,只留那一半仓位,怎么写?谢谢老师
END
///////////////////////


  请教老师

--  作者:FireScript
--  发布时间:2021/3/19 14:34:56
--  
 减半仓,只要HOLDING/2就行了。
SELL(1,HOLDING/2,MARKET);
且系统会自动取整下单。

但是你逻辑要完整点。你这里平一半,剩下一半什么情况平呢。如果没有一个全平的语句,逻辑上是不完整的。

平一半的仓位,它还符合进场的条件,马上又会开仓,我不想再开”这个不会的啊。你开仓是要仓位=0,有一半仓位情况下,开仓条件也触发不了的。

--  作者:岩泉自在
--  发布时间:2021/3/19 14:42:57
--  
谢谢老师