以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp)
-- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4)
---- [求助]请老师帮编个简单的均线交易系统 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=154765)
|
-- 作者:zb310716747
-- 发布时间:2017/6/5 23:53:48
-- [求助]请老师帮编个简单的均线交易系统
如题:请老师帮忙
买多条件:收盘价向上突破10日均线后,涨幅累计达2%后,收盘价买入
平多:收盘价向下突破10日均线后平仓(有多单的前提下)
卖空:收盘价向下突破10日均线后,跌幅累计达2%后,收盘价开仓卖出
平空:收盘价向上突破10日均线后平仓(有空单的前提下)
|
-- 作者:wenarm
-- 发布时间:2017/6/6 8:31:33
--
ma10:ma(close,10); if close>ma10 and (c-ma10)/ma10>0.02 then buy(); if cross(ma10,close) and holding>0 then sell();
空头部分可以参考上面的方式修改完成。
|
-- 作者:zb310716747
-- 发布时间:2017/6/6 12:43:26
--
多谢多谢
|
-- 作者:zb310716747
-- 发布时间:2017/6/6 12:54:43
--
if close>ma10 and (c-ma10)/ma10>0.02 then buy(); 我的意思不是收盘价向上突破10日均线的同时上涨2%买入,而是突破后以突破时的收盘价为基点,上涨了2%才买入。
|
-- 作者:pyd
-- 发布时间:2017/6/6 13:16:09
--
VARIABLE:n=0,m=0; ma10:ma(close,10); if cross(c,ma10) then begin sellshort(holding<0,1,marketr); n:=c; end if (c-n)/n>=0.02 and holding=0 then buy(1,1,limitr,c); if cross(ma10,c) then begin sell(holding>0,1,marketr); m:=c; end if (m-c)/m>=0.02 and holding=0 then buyshort(1,1,limitr,c);
|
-- 作者:zb310716747
-- 发布时间:2017/6/7 19:18:08
--
谢谢
|
-- 作者:zb310716747
-- 发布时间:2017/6/8 13:12:25
--
这两天测试了这个程序,发现一个问题,第一次买多的确是按给的条件买了 ,但在平掉再买得时候,没达到条件也能买,如图:
|
-- 作者:zb310716747
-- 发布时间:2017/6/8 13:14:22
--
图好像有问题,我再上个附件
此主题相关图片如下:qq图片20170608125638.png

|
-- 作者:pyd
-- 发布时间:2017/6/8 13:36:41
--
正在处理请稍等
[此贴子已经被作者于2017/6/8 13:39:36编辑过]
|
-- 作者:pyd
-- 发布时间:2017/6/8 13:46:11
--
VARIABLE:n=1000000,m=0; //n是金叉时的收盘价,初始值要比行情价大,否则(c-n)/n>=0.02在第一根k成立,造成第一根k就会满足开仓条件。 //m是死叉时的收盘价,初始值要比行情价小,否则(m-c)/m>=0.02在第一根k成立,造成第一根k就会满足开仓条件。 ma10:ma(close,10); jc:cross(c,ma10); sc: cross(ma10,c);
if jc then begin sellshort(holding<0,1,marketr); n:=c; end
if (c-n)/n>=0.02 and holding=0 then begin buy(1,1,limitr,c); n:=1000000; end if sc then begin sell(holding>0,1,marketr); m:=c; end if (m-c)/m>=0.02 and holding=0 then begin buyshort(1,1,limitr,c); m:=0; end
[此贴子已经被作者于2017/6/8 13:50:53编辑过]
|