如圖,想請問如何寫出以下的疊圖,資訊應該就是當天開盤、漲跌幅+-5%,XS新手沒寫過XS,麻煩小幫手幫忙解惑了謝謝

完成 :-)
另,你提供的數據有問題哦 ! 3/22 收盤價是 171,所以 3/23 的漲跌數據應該是 179.55 和 162.45,但你的擷圖數據 -5% 是 162.86。
input: DayUpLimit(5); setinputname(1,"漲幅 +%");
input: DayDownLimit(5); setinputname(2,"跌幅 -%");
variable: RefOpen(0),RefPrice(0);
if barfreq <> "Min" then raiseruntimeerror(Text(barfreq,"頻率設定錯誤,請改為Min"));
if Date <> Date[1] then //當日第一根時
Begin
RefOpen = Open;
RefPrice = Close[1];
End;
plot1(RefPrice*(1+DayUpLimit/100),"+5%");
SetPlotLabel(1, Text("+",NumToStr(DayUpLimit, 0), "%"));
plot2(RefOpen,"開盤價");
plot3(RefPrice*(1-DayDownLimit/100),"-5%");
SetPlotLabel(3, Text("-",NumToStr(DayDownLimit, 0), "%"));

上頭寫法,是未來修改漲跌幅參數時,可以由「設定」去參改不用改程式碼和重新編譯。
若要簡單些,把參數改成固定數字,則以下
variable: RefOpen(0),RefPrice(0);
if barfreq <> "Min" then raiseruntimeerror(Text(barfreq,"頻率設定錯誤,請改為Min"));
if Date <> Date[1] then //當日第一根時
Begin
RefOpen = Open;
RefPrice = Close[1];
End;
plot1(RefPrice*1.05,"+5%");
plot2(RefOpen,"開盤價");
plot3(RefPrice*0.95,"-5%");
客氣了,大家一起努力 :-)
4 評論