以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 这是分不同买入条件,卖出的,专家帮忙看看哪里出错了,为什么卖出条件无法识别,测试都是强制平仓的 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=81382) |
-- 作者:skyboa -- 发布时间:2015/7/19 14:53:40 -- 这是分不同买入条件,卖出的,专家帮忙看看哪里出错了,为什么卖出条件无法识别,测试都是强制平仓的 这是分不同买入条件,卖出的,专家帮忙看看哪里出错了,为什么卖出条件无法识别,测试都是强制平仓的 variable:flag=0; if KDA and HOLDING=0 then begin 开多1:BUY(KDA AND HOLDING=0,4,THISCLOSE); flag:=1; end; if KDB and HOLDING=0 then begin 开多2:BUY(KDB AND HOLDING=0,4,THISCLOSE); flag:=2; end; if KDA and HOLDING=0 then begin 开多3:BUY(KDC AND HOLDING=0,4,THISCLOSE); flag:=3; end; if PD and HOLDING>0 and flag=1 then begin 平多:SELL(PD,4,THISCLOSE); end;
|
-- 作者:jinzhe -- 发布时间:2015/7/20 8:52:27 -- 你的KDA条件难以成立,都在KDB和KDC之后,flag基本上是2或者3 [此贴子已经被作者于2015/7/20 8:52:51编辑过]
|
-- 作者:skyboa -- 发布时间:2015/7/20 9:47:45 -- 哦,写错了,这样写,测试还是不行 variable:flag=0; if KDA and HOLDING=0 then begin 开多1:BUY(KDA AND HOLDING=0,4,THISCLOSE); flag:=1; end; if KDB and HOLDING=0 then begin 开多2:BUY(KDB AND HOLDING=0,4,THISCLOSE); flag:=2; end; if KDC and HOLDING=0 then begin 开多3:BUY(KDC AND HOLDING=0,4,THISCLOSE); flag:=3; end; if PD and HOLDING>0 and flag=1 then begin 平多:SELL(PD,4,THISCLOSE); end;
|
-- 作者:jinzhe -- 发布时间:2015/7/20 9:49:13 -- 那不是一样么,就是我说的意思,你的开多A条件不容易成立,开多B和开多C先成立了,导致flag的值不是1 |
-- 作者:skyboa -- 发布时间:2015/7/20 9:51:51 -- 要怎么改,才能选择开仓条件,卖出呢 |
-- 作者:jinzhe -- 发布时间:2015/7/20 9:54:21 -- 那么你是想要实现什么目的才写了这样的代码? |
-- 作者:skyboa -- 发布时间:2015/7/20 9:57:32 -- 是这样的,比方有三个买入条件,有三个卖出条件,买入条件A对应卖出条件A卖出 买入条件B对应卖出条件B卖出 买入条件C对应卖出条件C卖出 |
-- 作者:jinzhe -- 发布时间:2015/7/20 10:00:33 -- if KDA and HOLDING=0 then begin
开多1:BUY(KDA AND HOLDING=0,4,THISCLOSE);
flag:=1;
end;
if KDB and HOLDING=0 then begin
开多2:BUY(KDB AND HOLDING=0,4,THISCLOSE);
flag:=2;
end;
if KDA and HOLDING=0 then begin
开多3:BUY(KDC AND HOLDING=0,4,THISCLOSE);
flag:=3;
end;
if PDA and HOLDING>0 and flag=1 then begin
平多:SELL(PD,4,THISCLOSE);
end;
if PDB and HOLDING>0 and flag=2 then begin
平多:SELL(PD,4,THISCLOSE);
end;
if PDC and HOLDING>0 and flag=3 then begin
平多:SELL(PD,4,THISCLOSE);
end; |
-- 作者:jinzhe -- 发布时间:2015/7/20 10:01:06 -- 你怎么就写了平仓1个条件就测试对不对了?如果对应的开仓条件不成立呢? |
-- 作者:skyboa -- 发布时间:2015/7/20 13:11:08 -- 我按照这样写没信号,是不是冒号的原因 variable:flag:=0; if KDA and HOLDING=0 then begin 开多1:BUY(KDA AND HOLDING=0,4,THISCLOSE); flag:=1; end; if KDB and HOLDING=0 then begin 开多2:BUY(KDB AND HOLDING=0,4,THISCLOSE); flag:=2; end; if KDC and HOLDING=0 then begin 开多3:BUY(KDC AND HOLDING=0,4,THISCLOSE); flag:=3; end; if PD and HOLDING>0 and flag:=2 then begin 平多:SELL(PD,4,THISCLOSE); end; |