input: FastLength(12), SlowLength(26), MACDLength(9),ALLFN(6000,"今估計量"), angle_period(3, "計算弧度期數"), angle_limit(15, "弧度限制");
variable: difValue(0), macdValue(0), oscValue(0);
variable:rsv_d(0),KK(0),dd(0);//宣告3個變數
stochastic(9,3,3,rsv_d,kK,dd);//XQ?建寫好的KD函數==>呼叫他
SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 3 + 8);
SetInputName(1, "DIF短期期數");
SetInputName(2, "DIF長期期數");
SetInputName(3, "MACD期數");
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
var: intrabarpersist ma20(0), intrabarpersist ma20_1(0), intrabarpersist ma20_2(0), ma20_angle(0), ma10(0), ma5(0), ma60(0);
ma20_2 = ma20_1; //上上次腳本運算的ma5值
ma20_1 = ma20; //上次腳本運算的ma5值
ma5 = average(close, 5);
ma10 = average(close, 10);
ma20 = average(close, 20);
ma60 = average(close, 60);
ma20_angle = LinearRegAngle(ma20, angle_period);
condition1 = GetField("估計量") > ALLFN ;
condition2 = ma20_2 < ma20_1 and ma20_1 < ma20 and ma20_angle > (-1 * angle_limit);
condition3 = ma5 > ma10 and ma10 > ma20 ;
condition4 = difValue>difValue[1] and difValue[1]>difValue[2] and macdValue>macdValue[1] and macdValue[1]> macdValue[2] ;
condition5 = difValue > macdValue ;
condition6 = kK>kK[1] and kK[1]>kK[2] and dd>dd[1] and dd[1]> dd[2] ;
condition7 = kK>dd;
if condition1 and condition2 and condition3 and condition4 and condition5 and condition6 and condition7 then ret = 1;
6 評論