以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=169611) |
-- 作者:2457146251 -- 发布时间:2019/4/28 0:59:47 -- 老师帮忙实现一个平仓思路 ma1(close,30) , ma2 ( close, 60 ) ma1 下穿 ma2 的时候,做空, 现在持 10 手 空仓, 当利润大于100点 的时候,, 平 5 手 出来, 剩下 5 手,需要等到 ma1 上穿 ma2 的时候再平出来! 怎么可以实现这个思路 思路2 : 进场 条件同上, 利润大于100点,平仓 5 手出来, 剩下 5 手, 增加一个按利润回撤 50 % 作为平仓的触发 信号, 也就是说,利润回撤 50 % 或 出现 ma1 上穿 ma2 的时候, 就平 最后 5 手出来 麻烦老师帮忙编写一下,谢谢
|
-- 作者:wenarm -- 发布时间:2019/4/28 9:16:25 -- ma1:ma(close,30); if CROSS(ma2,ma1) then begin IF AvGENTERPRICE-C>100*MINDIFF THEN BEGIN KTYDZS:=(CLOSE-LLV(L,ENTERBARS))/AvGENTERPRICE>=0.5; if CROSS(ma1,ma2) or KTYDZS=1 then begin
[此贴子已经被作者于2019/4/28 9:16:37编辑过]
|
-- 作者:2457146251 -- 发布时间:2019/4/28 21:24:26 -- 老师,,可以严谨一些么,这个代码,平完第一次之后,下个K接着继续平掉第二次,,,等不到 第二步了 我之前试过也是这个问题,才发帖问能不能有好的办法
|
-- 作者:wenarm -- 发布时间:2019/4/28 22:49:43 -- 用全局变量把两个条件的之间做一个互斥处理。 VARIABLE:flag=0; ma1:ma(close,30);ma2:ma(close,60); if CROSS(ma2,ma1) then begin BUYSHORT(1,10,MARKET); end IF AvGENTERPRICE-C>100*MINDIFF and flag=0 THEN BEGIN SELLSHORT(1,HOLDING/2,MARKET); flag:=1; END KTYDZS:=(CLOSE-LLV(L,ENTERBARS))/AvGENTERPRICE>=0.5 ; if (CROSS(ma1,ma2) or KTYDZS=1) and flag=1 then begin SELLSHORT(KTYDZS,HOLDING,MARKET); flag:=0; end |