交易思路 开仓条件达到有持仓则先平仓再开仓,未到止盈不平仓
当cyc周期内,若是没有达到盈利,则开仓最大次数5次,要是到达止盈,在cyc周期内部开新仓
VARIABLE:stt=0,n=0;
cyc:STKINDI('','yxk.cyc',0,6,0);
今开:STKINDI('','yxk.今开',0,6,0);
上轨:STKINDI('','yxk.上轨',0,6,0);
下轨:STKINDI('','yxk.下轨',0,6,0);
kd:h>上轨 and c>上轨 and L>上轨 and ISUP;
kk:L<下轨 and C<下轨 AND H<下轨 and ISDOWN;
//止盈
ZY:h>上轨+((上轨-下轨)*4);
ZS:L<下轨-((上轨-下轨)*4);
if HOLDING<>0 and stt<=1 then BEGIN
空盈:SELLSHORT(zs,1,THISCLOSE);
多盈:SELL(zy,1,THISCLOSE);
sTT:=1;
end
if kd then
SELLSHORT(HOLDING<0,1,THISCLOSE);
if kk then
SELL(HOLDING>0,1,THISCLOSE);
if kd AND STT<1 and n<=5 and cyc>1 then BEGIN
if BUY( HOLDING=0 ,1,THISCLOSE) then
n:=n+1;
end
if kk AND STT<1 AND n<=5 and cyc>1 then BEGIN
IF BUYSHORT( HOLDING=0 ,1,THISCLOSE) THEN
n:=n+1;
end
if MONTH<>ref(MONTH,1) then BEGIN
n:=0;
stt:=0;
end
你是要在原代码上加上你描述的思路还是说你源代码就是这个思路但是没能实现?
“
开仓条件达到有持仓则先平仓再开仓,未到止盈不平仓” 这句话 有歧义。平仓条件是要同时满足止盈和开仓条件才能平仓?
在cyc周期内,若是持有多单,未达到盈利平仓条件继续持有,若是到达开空单条件,则平多单开空单!现在问题是,之有平了多单,没有开空单??
在cyc周期内开仓次数不超过五次!要是到达盈利平仓,在cyc周期内不开新仓
“开仓条件达到有持仓则先平仓再开仓,未到止盈不平仓” 这句话 有歧义。平仓条件是要同时满足止盈和开仓条件才能平仓?
不好意思,我表达不清楚,
满足止盈就平仓,要是没有满足止盈条件,要满足开仓条件也平仓的!不需要同时满足
if HOLDING<>0 and stt<=1 and (zs or zy) then BEGIN //必须保证if这里条件满足时候下面2个平仓得有一个执行,否则在止盈不满足的情况下stt照样会被赋值成1.
空盈:SELLSHORT(zs,1,THISCLOSE);
多盈:SELL(zy,1,THISCLOSE);
sTT:=1;
end
先改下这里试下。