以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请问我错在哪里  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=183651)

--  作者:haizxj
--  发布时间:2020/12/28 12:26:29
--  请问我错在哪里
 VARIABLE:  ss:=1;

if NUMSEQLOSS=1 then ss=2;
if NUMSEQLOSS=2 then ss=4;
if NUMSEQLOSS>=2 then ss=8;

KD:=c>o;          //开多条件
PD:=c<o;          //平多条件
KK:=pd;          //开空条件
PK:=kd;          //平空条件


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

if  NUMSEQLOSS=0 then ss=1;
}

--  作者:FireScript
--  发布时间:2020/12/28 13:40:04
--  
 简单描述下你的问题。 不能只帖一段代码。文字说明下吧。

--  作者:haizxj
--  发布时间:2020/12/28 13:42:40
--  
就是用连亏NUMSEQLOSS来编,正常是一手,如果亏损一手则用二手加仓,再赔钱用四手,这样下去
--  作者:FireScript
--  发布时间:2020/12/28 13:51:18
--  
 这段最好写在平仓语句后面。




平空:SELLSHORT(PK,ss,LIMITr,c);                  //平空信号

if NUMSEQLOSS=1 then ss=2;
if NUMSEQLOSS=2 then ss=4;
if NUMSEQLOSS>=2 then ss=8;

开多:BUY(KD AND HOLDING=0,ss,LIMITr,c);          //开多信号
平多:SELL(PD,ss,LIMITr,c);                       //平多信号

if NUMSEQLOSS=1 then ss=2;
if NUMSEQLOSS=2 then ss=4;
if NUMSEQLOSS>=2 then ss=8;

开空:BUYSHORT(KK AND HOLDING=0,ss,LIMITr,c);     //开空信号

这样更合理,否则中间的平仓要到下一个K才反应过来。

--  作者:haizxj
--  发布时间:2020/12/29 15:56:01
--  
 VARIABLE:  ss:=1;
KD:=c>o;
PD:=c<o;
KK: =PD;
PK:=kd;

if  NUMSEQLOSS=0 then ss=1;
平空:SELLSHORT(PK,ss,LIMITr,c);                  //平空信号

if NUMSEQLOSS=1 then ss=2;
if NUMSEQLOSS=2 then ss=4;
if NUMSEQLOSS>=2 then ss=8;

开多:BUY(KD AND HOLDING=0,ss,LIMITr,c);          //开多信号
平多:SELL(PD,ss,LIMITr,c);                       //平多信号

if NUMSEQLOSS=1 then ss=2;
if NUMSEQLOSS=2 then ss=4;
if NUMSEQLOSS>=2 then ss=8;

开空:BUYSHORT(KK AND HOLDING=0,ss,LIMITr,c);     //开空信号

怎么出现编译错误,变量名SS重复

--  作者:FireScript
--  发布时间:2020/12/29 16:18:03
--  
 你是不是参数里面还有个ss啊?
--  作者:haizxj
--  发布时间:2020/12/29 16:25:36
--  
就是上面的代码呀,就是代表手数
--  作者:FireScript
--  发布时间:2020/12/29 16:28:29
--  
 
图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

这里看下。你给的代码看不出问题。

--  作者:haizxj
--  发布时间:2020/12/29 17:21:04
--  
可以了,谢谢,就是里面的手数不会自动变大,还是一直为1
--  作者:FireScript
--  发布时间:2020/12/30 9:03:03
--  
 
if NUMSEQLOSS=1 then ss:=2;
if NUMSEQLOSS=2 then ss:=4;
if NUMSEQLOSS>=2 then ss:=8;

这个这样改下。