以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=188232)

--  作者:金塔110
--  发布时间:2021/5/11 20:20:08
--  [求助]
写个简单的开平策略  单根k线  的



开仓条件   一根k线走完如果收阴线  立马以这个线的收盘价  开空单
止损  以 这根阴线的  最高价止损   
止盈  固定35跳止盈  
怎么写,谢谢,这个  这个超级 简单的如果再用软件搞不出来,软件就废了

--  作者:FireScript
--  发布时间:2021/5/12 9:26:56
--  
 buyshort(c<o and holding=0,1,limitr,c);

止损条件:c>ref(h,ENTERBARS);
止盈条件:AVGENTERPRICE-c>=35*MINDIFF;
sellshort(止损条件,holding,market);
sellshort(止盈条件,holding,market);



--  作者:FireScript
--  发布时间:2021/5/12 9:27:32
--  
 实际交易时候 需要用走完K模式才行。

--  作者:金塔110
--  发布时间:2021/5/12 12:43:54
--  
你这个止损止盈 是收盘价 不是盘中的实时价格吗?如果最高价达到止损的价格  应该止损了,但是k线走完收盘  收盘没有达到止损价格会止损吗?
--  作者:FireScript
--  发布时间:2021/5/12 13:37:12
--  
 
 1.盘中实时交易的时候,c和最新价是一致的。在最新K上c就是那个变动的最新价。
 2.你说的走完K不能实时止盈止损,这个的确是这样的。我这里说用走完K 其实是为了方便实现 “一根k线走完如果收阴线  立马以这个线的收盘价”  这个效果的,同时也照顾到了回测效果的。

其实也可以用固定轮训模式可,轮训间隔弄小点,1秒这样子。代码稍微修改下,这个可以实现即时的止盈止损,实际交易时候的下单价格和时机和前面代码一样的:
buyshort(ref(c<o,1) and holding=0,1,limitr,ref(c,1));

止损条件:c>ref(h,ENTERBARS);
止盈条件:AVGENTERPRICE-c>=35*MINDIFF;
sellshort(止损条件,holding,market);
sellshort(止盈条件,holding,market);

唯一不好的地方就是 这样操作,回测和你这个思路的一致性变差了。因为回测其实是一个默认的走完K形式。

所以我觉得你可以回测用前面那套代码,实际交易时候用这段代码。



--  作者:FireScript
--  发布时间:2021/5/12 13:42:48
--  
 
 然后就是用这段代码进行回测时候,将止盈止损计算用的价格用h和l替换了,这样会更贴近实际情况点:

 buyshort(c<o and holding=0,1,limitr,c);

止损条件:h>ref(h,ENTERBARS);
止盈条件:AVGENTERPRICE-l>=35*MINDIFF;
sellshort(止损条件,holding,market);
sellshort(止盈条件,holding,market);


总之就是一个代码模型要兼顾实际情况和回测效果 有时候是比较困难的。

--  作者:金塔110
--  发布时间:2021/5/12 14:18:33
--  
好的,谢谢,我一般不回测得,回测根实际情况差别很大,我就是要实际交易时的。
还有一个情况是 这个止损价格是  哪个根k线的的?是开仓大那根还是  开仓前面根阴线的  ,预想是那根阴线的 不是开仓的那根,以为开仓那个是未知的,

--  作者:金塔110
--  发布时间:2021/5/12 14:18:46
--  
好的,谢谢,我一般不回测得,回测根实际情况差别很大,我就是要实际交易时的。
还有一个情况是 这个止损价格是  哪个根k线的的?是开仓大那根还是  开仓前面根阴线的  ,预想是那根阴线的 不是开仓的那根,以为开仓那个是未知的,

--  作者:FireScript
--  发布时间:2021/5/12 14:23:34
--  
 
稍微再改下,ref(h,ENTERBARS+1);  这样就会取到那个阴线位置的最高价,作为止损价了。


buyshort(ref(c<o,1) and holding=0,1,limitr,ref(c,1));

止损条件:c>ref(h,ENTERBARS+1);
止盈条件:AVGENTERPRICE-c>=35*MINDIFF;
sellshort(止损条件,holding,market);
sellshort(止盈条件,holding,market);
--  作者:金塔110
--  发布时间:2021/5/12 14:28:04
--  
谢谢,