Rss & SiteMap

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

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

标题:[求助]固定金额止盈问题

1楼
雪松fj303 发表于:2019/2/28 12:00:33
老师:
       买入后,当天盈利一个固定数额(比如2000元)止盈,为什么我写的显示出来都不正确

       开多后
       pdj:=(H-ENTERPRICE)*MULTIPLIER*手数;
       sell(pdj>=2000,0,limitr,enterprice+2000/(MULTIPLIER*手数));
       好像结果都不对。
       请教老师正确的写法。
2楼
FireScript 发表于:2019/2/28 13:17:35
 如果你止盈之后不再开仓 可以用资金变化来处理。
当前资金-当天开始的资金

star:ref(asset,TODAYBAR);//当天初始资金

cond:asset-star>=2000 and holding>0;
sell(cond,0,limitr,enterprice+2000/(MULTIPLIER*手数));

如果后面还要继续开仓的话:
可以考虑直接使用这个函数OPENPROFIT
3楼
雪松fj303 发表于:2019/2/28 13:36:22
asset是专业版函数吗?显示的数字不对啊
用标准版怎么写,后面可以继续开仓的
4楼
雪松fj303 发表于:2019/2/28 13:48:57
照理,我用以下写法表示也没错啊

开多浮盈:if(holding>0,(H-ENTERPRICE)*MULTIPLIER*手数,DRAWNULL);
开空浮盈:if(holding<0,(ENTERPRICE-L)*MULTIPLIER*手数,DRAWNULL);
5楼
FireScript 发表于:2019/2/28 13:49:38
 1.asset这个返回值不是实际账号的盈亏,是图表上的模拟资金,和实际账号盈亏不一致的。你是和实际账号栏的盈亏进行对比的吗?
2.函数是不分软件版本的。不同版本限制的是软件部分功能。
3.图表上无法根据实际账号盈亏来执行开平操作的,因为图表上无法获取实际账号的盈亏情况。

按照图表逻辑你这个代码应该是对的,不过你这里用H-ENTERPRICE 可以考虑换成C-ENTERPRICE  H表示的是在当个K最高盈利。


6楼
雪松fj303 发表于:2019/2/28 13:55:53
进行回测这样写行吗?
7楼
雪松fj303 发表于:2019/2/28 13:59:52
这样的话有两个问题:就是回测和实际交易(图表程序化)分别应该怎么写?
8楼
雪松fj303 发表于:2019/2/28 14:13:43
请求老师指点
9楼
FireScript 发表于:2019/2/28 14:14:36
 可以的啊,你怎样写对回测都是不影响的。 H-ENTERPRICE和C-ENTERPRICE 主要区别是前者稳定,后者在实际交易时候能返回实时的情况,是可能不断变动的,从而导致信号变动。
10楼
雪松fj303 发表于:2019/2/28 14:38:35
开多浮盈:=if(holding>0,(H-ENTERPRICE)*MULTIPLIER*手数,DRAWNULL);
开空浮盈:=if(holding<0,(ENTERPRICE-L)*MULTIPLIER*手数,DRAWNULL);

sell(开多浮盈>n,0,limitr,(ENTERPRICE+N/MULTIPLIER*手数)-滑点);
sellshort(开空浮盈>n,0,limitr,(ENTERPRICE-N/MULTIPLIER*手数)+滑点);

这个可以用于回测?

那实盘交易就必须用asset是吗
共14 条记录, 每页显示 10 条, 页签: [1] [2]


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