以文本方式查看主题

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

--  作者:75713173
--  发布时间:2018/3/7 19:26:56
--  [求助]均线模型编写

一个短周期均线10,一个长周期均线30

开多仓条件,价格上穿长周期均线后。下一根K线开盘价开仓,

平多仓条件1,价格下穿长周期均线,下一根K线开盘价平仓

平多仓条件2,当价格在短周期上,价格下穿短周期均线后,未来的连续9根K线的开盘价和收盘价均在短周期均线下方(不考虑最高价和最低价),,在第10根K线的开盘价平仓。

平仓触发,满足条件1或者满足条件2,均触发平仓。

开空仓条件,价格下穿长周期均线后。下一根K线开盘价开仓,

平空仓条件1,价格上穿长周期均线,下一根K线开盘价平仓

平空仓条件2,当价格在短周期下,价格上穿短周期均线后,未来的连续9根K线的开盘价和收盘价均在短周期均线上方(不考虑最高价和最低价),在第10根K线的开盘价平仓。

平仓触发,满足条件1或者满足条件2,均触发平仓。

 

谢谢老师。自己写了一个,总是不连续,搞不懂,我也是从其他模板上一点一点修改的,弄得太乱,还是麻烦老师给我一个完整的吧。谢谢

 


--  作者:wenarm
--  发布时间:2018/3/8 11:22:05
--  

处理逻辑如下,细节部分你可以要自己学习调整

 

ma10:ma(c,10);
ma30:ma(c,30);

if CROSS(ma10,ma30) then  BEGIN
 SELLSHORT(holding<0,1,MARKET);
 buy(holding=0,1,MARKET);
end

if CROSS(ma30,ma10) then  BEGIN
 SELL(holding>0,1,MARKET);
 buyshort(holding=0,1,MARKET);
end
if ref( CROSS(ma10,close),9) and sum(open<ma10,9) and sum(close<ma10,9) then BEGIN
 sell(holding>0,1,MARKET);
end
if ref( CROSS(close,ma10),9) and sum(open>ma10,9) and sum(close>ma10,9) then BEGIN
 sellshort(holding<0,1,MARKET);
end