XQ小幫手您好,
剛從版本2.46.06升到2.48.05,
但是自訂指標卻常常出現"計算出現執行錯誤,錯誤代碼0010",
而且是有時候出現,有時候不出現;
不然就是出現錯誤,但是隔一陣子重刷頁面又好了,
有時候又會有計算結果,但其結果的數值會是錯誤的,
2.46.06版本不會出現此問題,2.48.05本來也不會,
但把該策略的XS碼在2.48.05版本編譯之後,就發生了此問題,
請問該如何解決呢? XS程式碼如下,謝謝。

XS程式碼
variable: Pa(0); input: OPBar(120,"OPBar"); if currentbar<gettotalbar-OPBar then return; //顯示出最後OPBar筆 KP(open,high,low,close,volume,60,20,Pa); plot1(Pa,"Pa");
KP函數
input: open0(numeric);
input: high0(numeric);
input: low0(numeric);
input: close0(numeric);
input: volume0(numeric);
input: KBar(numeric);
input: KHBar(numeric);
input: Pa(numericref);
var: Gain(0);
variable: i(0);
variable: Part(0);
Gain=1;
array: Team[](0);
variable: arrT_size(0);
variable: sky(0),base(0);
sky=ceiling(highest(high0, kbar)/Gain)*Gain + Gain;
base=floor(lowest(low0, kbar)/Gain)*Gain - Gain;
Part = (sky - base) / Gain;
array_setmaxindex(Team, Part+1);
arrT_size=Array_GetMaxIndex(Team);
variable: B(0);
variable: H1(0);
for i = 0 to arrT_size-1
for B = 0 to KBar-1
begin
if close0[B] >= base + Gain * (i - 1) and close0[B] <= base + Gain * (i + 1) then
Team[i + 1] = Team[i + 1] + 1;
end;
nthextremesarray(Team, arrT_size, 1, 1, H1, i);
Pa= base + Gain * (i - 1);
Array_SetValRange(Team, 1, arrT_size, 0);


13 評論