以文本方式查看主题

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

--  作者:huo88
--  发布时间:2019/7/24 10:35:30
--  求交易结束模型
思路是:比如是多单,达到目标后平仓,交易结束,等到下次空单信号出来才交易,请问怎么实现?
--  作者:FireScript
--  发布时间:2019/7/24 10:49:19
--  
开仓时候判断下 最近一次信号类型就行了。
加个条件判断:
cd:type(1)=0 or  type(1)=3;

意思就是本次开仓需要满足:之前没开过仓或者最近一次是平多信号。



--  作者:huo88
--  发布时间:2019/7/24 11:01:48
--  
弄不了,连之前的信号都没有了,能不能说具体点,举个例子


--  作者:FireScript
--  发布时间:2019/7/24 11:29:56
--  
 前面写错了参数。参考这个例子
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6),n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;

DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  := EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA), COLORSTICK;
macdjc:=cross(diff,dea);//macd金叉
macdsc:=cross(dea,diff);
kdjjc:=cross(k,d);//kdj金叉
kdjsc:=cross(d,k);
cd1:type(1)=0 or  type(1)=2;
cd2:type(1)=0 or  type(1)=4;

if macdsc then
begin
sell(holding>0,holding,MARKET);
end

if macdjc  and cd2 then
begin
buy(holding=0,1,MARKET);
end



if kdjjc then
begin
sellshort(holding<0,holding,MARKET);   
end

if kdjsc  and cd1 then
begin
buyshort(holding=0,1,MARKET);   
end