Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共24 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

标题:手数增加怎样写

1楼
风中 发表于:2015/12/29 10:26:16
 如果亏损,下次出现信号时候:亏损手数*2
2楼
jinzhe 发表于:2015/12/29 10:28:12

这个需要做全局变量来记录

首先定义初始手数为1手:

variable:ss=1;

然后在平仓语句内判断盈亏,然后亏损之后就加倍手数:

if 平多条件 and holding>0 then begin

   sell(1,0,market);

   if numprofit(1)<0 then ss:=ss*2;

end

 

if 平空条件 and holding<0 then begin

   sellshort(1,0,market);

   if numprofit(1)<0 then ss:=ss*2;

end

 

开仓语句里面的下单手数写ss即可

3楼
风中 发表于:2016/1/4 14:36:19
 图片点击可在新窗口打开查看
4楼
jinzhe 发表于:2016/1/4 14:47:07
是不是其他也有定义为ss的变量,那么改上面所有的ss即可,比如sss之类的,
5楼
风中 发表于:2016/1/4 16:16:09
 可以了,但是没有在亏损后下次加仓
6楼
风中 发表于:2016/1/4 16:16:31
图片点击可在新窗口打开查看
7楼
jinzhe 发表于:2016/1/4 16:23:48
不会这样的,请贴代码
8楼
风中 发表于:2016/1/5 13:36:26
 DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);

手数:=ss;
//交易条件

开多平空条件:=CROSS(MACD,0);//开多平空条件
开空平多条件:=CROSS(0,MACD);//开空平多条件

//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
variable:ss=1;


if CROSS(0,MACD) and holding>0 then begin

   sell(1,0,market);

   if numprofit(1)<0 then sss:=s*2;

end

 

if CROSS(MACD,0) and holding<0 then begin

   sellshort(1,0,market);

   if numprofit(1)<0 then sss:=s*2;

end
9楼
jinzhe 发表于:2016/1/5 13:44:14

variable:sss=1;

DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);

手数:=ss;
//交易条件

开多平空条件:=CROSS(MACD,0);//开多平空条件
开空平多条件:=CROSS(0,MACD);//开空平多条件

//交易系统
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);


if CROSS(0,MACD) and holding>0 then begin

   sell(1,0,market);

   if numprofit(1)<0 then sss:=s*2;

end

 

if CROSS(MACD,0) and holding<0 then begin

   sellshort(1,0,market);

   if numprofit(1)<0 then sss:=s*2;

end

10楼
风中 发表于:2016/1/5 13:58:21
老师,我整理一下思路,
我的思路是,当MACD死叉的时候开多,金叉的时候开空,
开始自动化后,第一次出现信号后,开一手,盈利的话下次出现信号继续一手,亏损的话,在原来的手数基础上再加开上次手数的2倍,


 DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);

手数:=ss;
//交易条件

开多平空条件:=CROSS(MACD,0);//开多平空条件
开空平多条件:=CROSS(0,MACD);//开空平多条件

//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);

共24 条记录, 每页显示 10 条, 页签: [1] [2][3]


Powered By Dvbbs Version 8.3.0
Processed in 0.01367 s, 3 queries.