共67 条记录, 每页显示 10 条, 页签:
[1]
[2][3][4][5][6][7]
1楼
xiao 发表于:2017/11/23 10:37:51
一,当 均线MA5与MA10金叉时;1,若KDJ金叉(多头)时,开仓做多单。
2,若KDJ死叉(空头)时,平仓不多单。
二,当 均线MA5与MA10死叉时;1,若KDJ死叉(空头)时,开仓做空单。
2,若KDJ金叉(多头)时,平仓不多单。
2楼
FireScript 发表于:2017/11/23 10:52:01
ma5:ma(c,5);
ma10:ma(c,10);
majc:cross(ma5,ma10);//ma金叉
masc:cross(ma10,ma5);
//KDJ引用系统自带的一个指标里面现成的交易模板下的金叉死叉
kdjjc:STKINDI('','KDJ金死叉价格预测.开多平空条件',0,6,0);//KDJ这里引用的是日线周期下的,可调整第四个参数来修改周期
kdjsc:STKINDI('','KDJ金死叉价格预测.开空平多条件',0,6,0);
if majc then
begin
if kdjjc then buy(holding=0,1,market);
if kdjsc then sell(holding>0,holding,MARKET);
end
if masc then
begin
if kdjjc then buyshort(holding=0,1,market);
if kdjsc then sellshort(holding<0,holding,MARKET);
end
[此贴子已经被作者于2017/11/23 10:52:24编辑过]
3楼
xiao 发表于:2017/11/23 20:40:34
kdjjc:STKINDI('','KDJ金死叉价格预测.开多平空条件',0,6,0);//KDJ这里引用的是日线周期下的,可调整第四个参数来修改周期
kdjsc:STKINDI('','KDJ金死叉价格预测.开空平多条件',0,6,0);
搞不懂,是否直接陈述。
一,当 均线MA5与MA10金叉时;1,若KDJ也金叉(多头)时,开仓做多单。 2,若KDJ死叉(空头)时,平仓不做单。
二,当 均线MA5与MA10死叉时;1,若KDJ也死叉(空头)时,开仓做空单。 2,若KDJ金叉(多头)时,平仓不做单。 实际是两者共振时做单,望回复! |
4楼
wenarm 发表于:2017/11/23 22:01:53
FireScript 的意思用引用是为了引用'KDJ金死叉价格预测公式结果的 ,本地就不用再写kdj的公式了。默认是用的是日线周期
这个是根据你表述的情况,按我的理解写的代码,你可以看一下是不是你要的、
N:=55;
P1:=23;
P2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;
ma10:ma(close,20),COLORWHITE;
ma5:ma(close,5),COLORYELLOW;
kdjc_bar:barslast(cross(d,k));//kd金叉时到当前周期的k线数量
kdsc_bar:barslast(cross(k,d));//kd死叉时到当前周期的k线数量
majc_bar:barslast(cross(ma5,ma10));//ma金叉时到当前周期的k线数量
masc_bar:barslast(cross(ma10,ma5));//ma死叉时到当前周期的k线数量
开多条件:((MA5>MA10 and kdjc_bar=1) or (d>k and majc_bar=1 )) and holding=0;
开空条件:((MA5<MA10 and kdsc_bar=1) or (d<k and masc_bar=1 )) and holding=0;
平多条件:(cross(ma10,ma5) and k<d) or (cross(k,d) and ma5>ma10);
平空条件:(cross(ma5,ma10) and k>d) or (cross(d,k) and ma5<ma10);
sell(平多条件,2,MARKET);
SELLSHORT(平空条件,2,MARKET);
buy(开多条件,2,MARKET);
BUYSHORT(开空条件,2,MARKET);
仓位:holding;
[此贴子已经被作者于2017/11/23 22:02:20编辑过]
5楼
xiao 发表于:2017/11/24 10:03:50
老师好!辛苦了!今天下午有培训课,我来你公司当面再找你请教!谢谢!
6楼
wenarm 发表于:2017/11/25 15:33:00
N:=55;
P1:=23;
P2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;
ma10:ma(close,20),COLORWHITE;
ma5:ma(close,5),COLORYELLOW;
MA金叉:cross(ma5,ma10);
MA死叉:cross(ma10,ma5);
KDJ金叉:cross(J,k);
KDJ死叉:cross(k,J);
kdjc_bar:=barslast(cross(J,k));//kd金叉时到当前周期的k线数量
kdsc_bar:=barslast(cross(k,J));//kd死叉时到当前周期的k线数量
majc_bar:=barslast(cross(ma5,ma10));//ma金叉时到当前周期的k线数量
masc_bar:=barslast(cross(ma10,ma5));//ma死叉时到当前周期的k线数量
开多条件:((MA5>MA10 and kdjc_bar=1) or (J>k and majc_bar=1 ) OR (kdjc_bar=1 AND majc_bar=1 ) ) and holding=0;
开空条件:((MA5<MA10 and kdsc_bar=1) or (J<k and masc_bar=1 ) OR (kdsc_bar=1 AND masc_bar=1 ) ) and holding=0;
//平多条件:(cross(ma10,ma5) and k<J) or (cross(k,J) and ma5>ma10) OR ((ma10>ma5) AND (k>J));
//平空条件:(cross(ma5,ma10) and k>J) or (cross(J,k) and ma5<ma10) OR ((ma5>ma10) AND (J>k));
平多条件:((ma10>ma5) and k<J) or ((k>J) and ma5>ma10) OR ((ma10>ma5) AND (k>J));
平空条件:((ma5>ma10) and k>J) or ((J>k) and ma5<ma10) OR ((ma5>ma10) AND (J>k));
sell(平多条件,2,MARKET);
SELLSHORT(平空条件,2,MARKET);
buy(开多条件,2,MARKET);
BUYSHORT(开空条件,2,MARKET);
仓位:holding;
7楼
xiao 发表于:2017/11/29 14:21:14
老师好!辛苦了!如果上述模型其它不变,把 KDJ 换成MACD,又怎么编写?谢谢! |
8楼
FireScript 发表于:2017/11/29 14:52:23
系统自带的里面有macd源码,可以抽取出macd源码:
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);
DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
把kdj金叉 死叉替换成macd的。这个你可以自己改下。
9楼
xiao 发表于:2017/11/30 12:43:40
10楼
xiao 发表于:2017/12/4 10:22:00
老师好!请问模型做好测试时,如果以3分钟为框架,一般用多少根K线为测试对象?而且,那些是重要参数,参数值达到多少为模型优良。谢谢! |
共67 条记录, 每页显示 10 条, 页签:
[1]
[2][3][4][5][6][7]