如題,想要寫一個程式尋找20天內線性回歸和布林通道LB1, LB2的低點
但在XQ疊圖執行時每次都要跑非常久
請問有方式加速嗎,或是語法哪裡有問題
再請麻煩幫忙解惑感謝
var:val1(0), pred(0), ax(0), b(0), rad(0), cnt(0), num0(0);
input: Day(20);
val1 = linearreg(close,Day,-1,ax,rad,b,num0);
var: sum(0), diff(0), std(0);
Array: closeArr[60](0);
sum = 0;
diff = 0;
std = 0;
for cnt = 1 to Day
begin
pred = cnt * ax + b;
closeArr[Day + 1 - cnt] = GetField("Close", "D")[Day-cnt];
diff = pred - closeArr[Day + 1 - cnt];
sum = diff * diff + sum;
end;
std = SquareRoot(sum/Day);
var: LB1(0), LB2(0), LR1(0), LR2(0), val3(0), val2(0);
for cnt = 1 to Day
begin
LB1 = bollingerBand(closeArr[Day - cnt + 1],Day,-1);
LB2 = bollingerBand(closeArr[Day - cnt + 1],Day,-2);
LR1 = cnt * ax + b - std;
LR2 = cnt * ax + b - std * 2;
val3 = MaxList(LB1, LR1);
val2 = MinList(LB1, LR1);
val1 = MinList(LB2, LR2);
PlotLine(3, CurrentBar - Day + cnt, val3, CurrentBar - Day + cnt, val3, "line3", add:=1);
PlotLine(4, CurrentBar - Day + cnt, val2, CurrentBar - Day + cnt, val2, "line2", add:=1);
PlotLine(5, CurrentBar - Day + cnt, val1, CurrentBar - Day + cnt, val1, "line1", add:=1);
end;
1 評論