1分K警示腳本
if barfreq<>"Min" or barinterval<> 1 then raiseruntimeerror("腳本只適用於1分鐘線");
if currentdate <> date then return;
settotalbar(3);
value1 = Round(average(c,5),4);
value2 = Round(average(c,10),4);
value3 = Round(average(c,20),4);
value4 = Round(average(c,50),4);
value5 = Round(average(c,100),4);
value6 = Round(average(c,200),4);
//1分K_MACD(18 32 12)
SetTotalBar((maxlist(18,32,6) + 12) * 3 + 8);
variable:_dif(0),_macd(0),_osc(0);
macd(weightedClose(),18,32,12,_dif,_macd,_osc);
//1分K_5分K_MACD(15,19,10)
SetTotalBar(((maxlist(15,19,6) + 10) * 3 + 8)*5);
variable:_dif5(0),_macd5(0),_osc5(0);
xfmin_MACD("5",xfMin_weightedclose("5"),15,19,10,_dif5,_macd5,_osc5);
//1分K_10分K_MACD(8 20 12)
SetTotalBar(((maxlist(8,20,6) + 12) * 3 + 8)*10);
variable:_dif10(0),_macd10(0),_osc10(0);
xfmin_MACD("10",xfMin_weightedclose("10"),8,20,12,_dif10,_macd10,_osc10);
//1分K_15分K_MACD(15,19,10)
SetTotalBar(((maxlist(15,19,6) + 10) * 3 + 8)*15);
variable:_dif15(0),_macd15(0),_osc15(0);
xfmin_MACD("15",xfMin_weightedclose("15"),15,19,10,_dif15,_macd15,_osc15);
//1分K_30分K_MACD(18,32,12)
SetTotalBar(((maxlist(18,32,6) + 12) * 3 + 8)*30); //
variable:_dif30(0),_macd30(0),_osc30(0);
xfmin_MACD("30",xfMin_weightedclose("30"),18,32,12,_dif30,_macd30,_osc30);
//1分K_60分K_MACD(12,26,9)
SetTotalBar(18000);
variable:_dif60(0),_macd60(0),_osc60(0);
xfmin_MACD("60",xfMin_weightedclose("60"),12,26,9,_dif60,_macd60,_osc60);
var:intrabarpersist bcostA(0);
if ( (_dif cross over 0)
and (_dif5 cross over 0)
and (_dif10 cross over 0)
and (_dif15 cross over 0)
and (_osc30 >0)
and (_osc60 >0) )
then ret= 1 ;
想在1分K頻率寫一個多週期MACD技術指標其DIF同時上0軸出現警示的程式,
1分K及跨頻率5分K的dif macd osc數值正確以外,跨頻率10分K 15分K 30分K 60分K的數值錯誤.以台積電為例.

正確數值如下
跨頻率10分K dif 2.2197 macd 0.0781 osc 2.1416
跨頻率15分K dif 0.0385 macd -0.2500 osc 0.2885
跨頻率30分K dif 4.4476 macd 5.6688 osc -1.2212
跨頻率60分K dif 8.2323 macd 8.8741 osc -0.6419
請問如何修正.




10 評論