Rss & SiteMap

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

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

标题:第一次平仓的判断

1楼
marks 发表于:2020/4/14 11:42:54
IF HOLDING>0 AND NUMPROFIT(1)<0   AND  OPENPROFIT<=-止损金额 THEN //上一次交易亏损、小于止损金额,平仓    
       SELL(1,0,THISCLOSE);

上一次交易如果亏损,则浮亏小于止损金额就平仓,有个问题是图表的话刚加载没有上一次交易,如何解决
2楼
FireScript 发表于:2020/4/14 13:19:35
 用这个EXITBARS  判断下上次平仓历时。如果返回-1说明模型在此之前没有过平仓信号。
3楼
marks 发表于:2020/4/14 14:43:55
想统计一下总盈利,比如上一次交易盈利500,这次盈利1000,总盈利统计一下,如果下次还是盈利就一直统计。如果下一次交易亏损则从之后的盈利再开始统计,即盈利的时候统计盈利,
亏损不统计,怎么写
4楼
gxx978 发表于:2020/4/14 15:14:53

可以使用variable全局变量来记录这个盈利,例如:

 

VARIABLE:PROFIT=0;


BIAS :=(CLOSE-MA(CLOSE,M))/MA(CLOSE,M)*100;
手数:=1;

开多平空条件:=CROSS(LL,BIAS*100);//开多平空条件
开空平多条件:=CROSS(BIAS*100,LH);//开空平多条件


平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);


IF NUMPROFIT(1)>0 AND (平空 OR 平多)THEN
   PROFIT:=PROFIT+NUMPROFIT(1);
   
  
IF NUMPROFIT(1)<0 AND (平空 OR 平多)THEN
   PROFIT:=0;

A:PROFIT;   //这个就是累计的盈利

5楼
marks 发表于:2020/4/14 15:22:48
IF NUMPROFIT(1)>0 THEN 
SUMM:=SUMM+NUMPROFIT(1);
IF NUMPROFIT(1)<0 THEN 
SUMM:=0;

这样不可以吗
6楼
gxx978 发表于:2020/4/14 15:26:34
因为平仓后,每根K线上都有上一次盈利的值。若不加平仓条件,在没有信号的K线上,也会累加盈利的值的,就会造成统计错误。你可以去掉条件输出看下的。
[此贴子已经被作者于2020/4/14 15:26:55编辑过]
7楼
marks 发表于:2020/4/14 15:28:38
我在正常的平仓条件里面再加入你上面写的平仓条件?
8楼
gxx978 发表于:2020/4/14 15:36:04

VARIABLE:PROFIT=0;

 

IF NUMPROFIT(1)>0 AND (平空 OR 平多)THEN
   PROFIT:=PROFIT+NUMPROFIT(1);
    
IF NUMPROFIT(1)<0 AND (平空 OR 平多)THEN
   PROFIT:=0;

 

平空、平多换成你策略的平仓条件就可以了。

共8 条记录, 每页显示 10 条, 页签: [1]


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