以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (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=173582)
|
-- 作者:*253972059
-- 发布时间:2019/12/17 11:50:19
-- 请帮忙编写开仓条件的程序,谢谢
请帮忙编写开仓条件的程序,谢谢
开仓:条件1:这根K线涨幅大于6%,
条件2:均线5.8.13.21.34的当前价格都在条件1那根K线的最低价到最高价里面时显示买入信号, 如下图、圆圈里那根K线,和均线的状态,就是开多条件。
平仓条件:用最下面的条件公式平仓
VARIABLE:kd=0,kk=0;
m:=10;
MID:=(3*CLOSE+LOW+OPEN+HIGH)/6;
DDD:=(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+
16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+
13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+
10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+
7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+
4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20))/210,COLORYELLOW{NODRAW}; //NODRAW 这个代码是不显示指标线
MADDD:=MA(DDD,M),{NODRAW}; //NODRAW 这个代码是不限是该划线;
jc:=cross(DDD,MADDD);
sc:=cross(MADDD,DDD);
if sc then
begin
sell(holding>0,holding,market),COLORYELLOW; //平多语句
end
此主题相关图片如下:0000000000.png
|
-- 作者:FireScript
-- 发布时间:2019/12/17 13:17:20
--
zf:c-ref(c,1);//涨幅。 ma5:ma(c,5); ma8:ma(c,8); //其他均线可自行补齐下
cd1:zf>0.06;//涨幅大于6% cd2:RANGE(ma5,l,h) and range(ma8,l,h);//2条均线都在L到H之间。
|
-- 作者:*253972059
-- 发布时间:2019/12/17 15:32:06
-- 我加载公式以后,看到没有过滤涨幅(超过6%),就直接开多了,
//我加载公式以后,看到没有过滤涨幅(超过6%),就直接开多了, 如下图
zf:c-ref(c,1);//涨幅。 ma5:ma(c,5); ma8:ma(c,8); ma13:ma(c,13); ma21:ma(c,21); ma34:ma(c,34); //其他均线可自行补齐下
cd1:zf>0.06;//涨幅大于6% cd2:RANGE(ma5,l,h) and range(ma8,l,h) and range(ma13,l,h) and range(ma21,l,h) and range(ma34,l,h) ;//2条均线都在L到H之间。
m:=10; MID:=(3*CLOSE+LOW+OPEN+HIGH)/6; DDD:=(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+ 16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+ 13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+ 10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+ 7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+ 4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20))/210,COLORYELLOW{NODRAW}; //NODRAW 这个代码是不限是该划线
MADDD:=MA(DDD,M),{NODRAW}; //NODRAW 这个代码是不限是该划线; jc:=cross(DDD,MADDD); sc:=cross(MADDD,DDD);
if cd1 and cd2 then begin buy(holding=0,1,market) ,COLORYELLOW; //开多语句 end
if sc then begin sell(holding>0,holding,market) ,COLORYELLOW; //平多语句 end
此主题相关图片如下:111111111.png
|
-- 作者:FireScript
-- 发布时间:2019/12/17 15:41:01
--
你是要涨幅大于6%开仓还是小于。上面代码就是按照大于6% 处理的。
|
-- 作者:*253972059
-- 发布时间:2019/12/17 15:49:06
-- 我要的就是大于6%,您看下附图,谢谢
我要的就是大于6% 但是你对照一下,下面图上的开多信号,开多那根K线 涨幅没有6%,股票代码是 600580 信号开多时间是 2018年11月27号, 公式在下面,您可以直接导入公式看下,谢谢
zf:c-ref(c,1);//涨幅。 ma5:ma(c,5); ma8:ma(c,8); ma13:ma(c,13); ma21:ma(c,21); ma34:ma(c,34); //其他均线可自行补齐下
cd1:zf>0.06;//涨幅大于6% cd2:RANGE(ma5,l,h) and range(ma8,l,h) and range(ma13,l,h) and range(ma21,l,h) and range(ma34,l,h) ;//2条均线都在L到H之间。
m:=10; MID:=(3*CLOSE+LOW+OPEN+HIGH)/6; DDD:=(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+ 16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+ 13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+ 10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+ 7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+ 4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20))/210,COLORYELLOW{NODRAW}; //NODRAW 这个代码是不限是该划线
MADDD:=MA(DDD,M),{NODRAW}; //NODRAW 这个代码是不限是该划线; jc:=cross(DDD,MADDD); sc:=cross(MADDD,DDD);
if cd1 and cd2 then begin buy(holding=0,1,market) ,COLORYELLOW; //开多语句 end
if sc then begin sell(holding>0,holding,market) ,COLORYELLOW; //平多语句 end
此主题相关图片如下:111111111.png
|
-- 作者:FireScript
-- 发布时间:2019/12/17 15:53:16
--
zf:(c-ref(c,1))/ref(c,1);//涨幅。抱歉,涨幅我写错了。
[此贴子已经被作者于2019/12/17 15:56:19编辑过]
|
-- 作者:*253972059
-- 发布时间:2019/12/17 16:09:21
-- 还是不对,
还是不太对, 涨幅小的过滤了,但是涨幅 下图的股票涨幅超过了6%也没开仓,股票代码是 600580 2018年11月27号,
此主题相关图片如下:22222222.png
|
-- 作者:FireScript
-- 发布时间:2019/12/17 16:22:30
--
是因为这个涨幅是按照。今天的收盘价和昨日收盘价 计算的。盘口的算法也是按照这个算的。 而你标识的那个如果是按照开盘价,收盘价的方式去计算才会是符合的。
另外你这个标识的位置3是哪个日期的,18年11月27貌似不是这个K 吧。
|
-- 作者:*253972059
-- 发布时间:2019/12/17 16:46:36
-- 2、那就请您按照开盘价,收盘价的方式去计算,写下公式谢谢
1、日期是2019.2.1 号
2、那就请您按照开盘价,收盘价的方式去计算,写下公式谢谢
|
-- 作者:yukizzc
-- 发布时间:2019/12/17 19:32:59
--
2019.2.1 号这一天涨幅没有超过6
另外你的zf是不是改成zf:(c-ref(c,1))/ref(c,1);//涨幅。
这个了,如果改的对的话那么是不会有信号的
|