金字塔决策交易系统

标题: 怎样控制出现开仓信号按照设定手数连续开仓或平仓而不加仓 [打印本页]

作者: 佰昌阳投    时间: 2022-7-5 09:23
标题: 怎样控制出现开仓信号按照设定手数连续开仓或平仓而不加仓
if VAR19 and ref(CLOSE>MMM,1) then
begin
sellshort(1,HOLDING,thisclose);
buy(holding=0,ss,thisclose);   
end


if VAR1A AND ref(CLOSE<MMM,1) then
begin
sell(1,holding,thisclose);
buyshort(holding=0,ss,thisclose);  
end


作者: 技术009    时间: 2022-7-5 09:31
没太明白你的意思。你这里不是已经限制了开仓要holding=0了吗。这种是不会加仓的呀。
作者: 佰昌阳投    时间: 2022-7-5 10:00
我想修改成加仓也按照设定手数该如何调整呢
作者: 技术009    时间: 2022-7-5 10:10
你加仓的代码 手数参数 你也用ss变量不就行了。
作者: 佰昌阳投    时间: 2022-7-5 10:10
佰昌阳投 发表于 2022-7-5 10:00
我想修改成加仓也按照设定手数该如何调整呢

我的意思是只要出现开仓条件后就按照设定手数连续平仓开仓
作者: 技术009    时间: 2022-7-5 10:13
贴你的完整代码。你的描述和你贴的代码 对不上,没法理解你的需求的细节。
作者: 佰昌阳投    时间: 2022-7-5 10:18
就是说在满足VAR19=1 and ref(CLOSE>MMM,1) 的条件下平空开多,VAR1A =1 AND ref(CLOSE<MMM,1) 的条件下平多开空,如果在持有多单情况下又出现了开多信号则继续按照设定手数开多,同理在持有空单情况下又出现平多开空信号则继续按照设定手数开空
作者: 技术009    时间: 2022-7-5 10:20
那这样你去掉原先开仓的限制就行了。这样初始开仓后,再次满足条件 会直接加仓了就。直到遇到反手条件 。

if VAR19 and ref(CLOSE>MMM,1) then
begin
sellshort(1,HOLDING,thisclose);
buy(1,ss,thisclose);   
end


if VAR1A AND ref(CLOSE<MMM,1) then
begin
sell(1,holding,thisclose);
buyshort(1,ss,thisclose);  
end
作者: 佰昌阳投    时间: 2022-7-5 10:32
那这样加仓的手数是按照之前开仓的限定手数来的吗
作者: 技术009    时间: 2022-7-5 10:33
都是按照ss下单的。
作者: 佰昌阳投    时间: 2022-7-5 10:51
技术009 发表于 2022-7-5 10:33
都是按照ss下单的。

那如果加仓资金不够加仓手数还会加仓吗
作者: 技术009    时间: 2022-7-5 11:06
这种会出不了信号的。直到后面平仓信号出来释放了资金。
作者: 佰昌阳投    时间: 2022-7-5 11:10
这是出了信号吧?
作者: 技术009    时间: 2022-7-5 11:16
对。
作者: 佰昌阳投    时间: 2022-7-5 14:29
我设定开仓手数是88手为何后续加仓了有两手的一手呢,不是按88手加吗?
作者: 技术009    时间: 2022-7-5 14:30
不知道,要看更具体的代码。
作者: 佰昌阳投    时间: 2022-7-5 14:36
input:ss(88,88,10000,1);
MMM:=MA(CLOSE,20);   
DRAWTEXT((CLOSE<MMM),MMM,'*'),COLOR00FF00,LINETHICK5;   
DRAWTEXT((CLOSE>MMM),MMM,'*'),COLOR0000FF,LINETHICK5;   
VAR1:=CLOSE>REF(CLOSE,1) AND CLOSE>REF(CLOSE,2);   
VAR2:=REF(VAR1,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VAR3:=REF(VAR2,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VAR4:=REF(VAR3,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VAR5:=REF(VAR4,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VAR6:=REF(VAR5,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VAR7:=REF(VAR6,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VAR8:=REF(VAR7,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VAR9:=REF(VAR8,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VARA:=REF(VAR9,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VARB:=REF(VARA,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VARC:=REF(VARB,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VARD:=CLOSE<REF(CLOSE,1) AND CLOSE<REF(CLOSE,2);   
VARE:=REF(VARD,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VARF:=REF(VARE,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VAR10:=REF(VARF,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VAR11:=REF(VAR10,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VAR12:=REF(VAR11,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VAR13:=REF(VAR12,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VAR14:=REF(VAR13,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VAR15:=REF(VAR14,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VAR16:=REF(VAR15,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VAR17:=REF(VAR16,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2);   
VAR18:=REF(VAR17,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);   
VAR19:=REF(VARD OR VARE OR VARF OR VAR10 OR VAR11 OR VAR12 OR VAR13 OR   
VAR14 OR VAR15 OR VAR16 OR VAR17 OR VAR18,1) AND VAR1;   
VAR1A:=REF(VAR1 OR VAR2 OR VAR3 OR VAR4 OR VAR5 OR VAR6 OR VAR7 OR   
VAR8 OR VAR9 OR VARA OR VARB OR VARC,1) AND VARD;   
STICKLINE(VAR1A,REF(CLOSE,1),REF(CLOSE,2),3.2,0),COLORFF3300;   
STICKLINE(VAR1A,REF(CLOSE,1),REF(CLOSE,2),2.7,0),COLORFF5500;   
STICKLINE(VAR1A,REF(CLOSE,1),REF(CLOSE,2),2.1,0),COLORFF7700;   
STICKLINE(VAR1A,REF(CLOSE,1),REF(CLOSE,2),1.5,0),COLORFF9900;   
STICKLINE(VAR1A,REF(CLOSE,1),REF(CLOSE,2),0.9,0),COLORFFBB00;   
STICKLINE(VAR1A,REF(CLOSE,1),REF(CLOSE,2),0.3,0),COLORFFDD00;   

DRAWICON(FILTER(VAR1A=1,1),HIGH,9); VAR19 and ref(CLOSE>MMM,1)

if VAR19 and ref(CLOSE>MMM,1) then
begin
sellshort(1,HOLDING,thisclose);
buy(1,ss,thisclose);   
end


if VAR1A AND ref(CLOSE<MMM,1) then
begin
sell(1,holding,thisclose);
buyshort(1,ss,thisclose);  
end
这是全部的,该怎么修改呢
作者: 技术009    时间: 2022-7-5 14:38
这个地方截图看下
(, 下载次数: 561)