您好,我想請您幫我編寫指數振幅的語法,我寫完後他一直說date未知……
我想讓語法幫我自動計算台指當日8:45~13:45的最大振幅(當日最高價-當日最低價),也請幫我把日期部份獨立出來,我後續可以另外指定計算的區間
麻煩您,謝謝
您好,我想請您幫我編寫指數振幅的語法,我寫完後他一直說date未知……
我想讓語法幫我自動計算台指當日8:45~13:45的最大振幅(當日最高價-當日最低價),也請幫我把日期部份獨立出來,我後續可以另外指定計算的區間
麻煩您,謝謝
把你寫的貼上來。犯錯至少也要知道錯在哪裡。
// 指定日期區間
d_start = DATE(20241023) // 設定開始日期 YYYYMMDD
d_end = DATE(20241023) // 設定結束日期 YYYYMMDD
// 指定時間區間
t_start = TIME(084500) // 設定開始時間 08:45
t_end = TIME(134500) // 設定結束時間 13:45
// 判斷是否在指定日期和時間區間內
if (DATE >= d_start and DATE <= d_end and TIME >= t_start and TIME <= t_end) {
// 計算區間內的最高價和最低價
session_high = HHV(H, t_start, t_end) // 在該時段內的最高價
session_low = LLV(L, t_start, t_end) // 在該時段內的最低價
// 計算振幅
amplitude = session_high - session_low
}
// 將振幅輸出
PLOT(amplitude, "指定日期特定時段振幅")
編譯失敗 請大家協助 謝謝
(1)編譯失敗,會不會是因為HHV與LLV這兩個自訂函數不存在?
(2)你可以使用getBarOffset賦予日期與時間,抓到開始的時間及結束的時間,再從期間用highest及lowest抓取期間的最高價及最低價。
我用GetBarOffset將日期用currentDate,時間則直接指定084500 134500
highest及lowest就不知道怎麼寫?他一直說要兩個參數
不然就是一直叫我每行都加;號
可否請大家給予多一點協助,是初次寫指標語法
謝謝
以下的程式碼用手機打字,沒有經過驗證,你寫成交易腳本測試看看邏輯對不對。
input: d_start(20241014);
input: d_end(20241018);
input: t_start(084500);
input: t_end(134500);
value1=getBarOffset(d_start,t_start);
value2=getBarOffset(d_end,t_end);
value3=simplehighest(h[value2],value1-value2+1); //期間最高價
value4=simplelowest(L[value2],value1-value2+1); //期間最低價
value5=value3-value4; // 計算振盪區間
if isLastBar then
print(date,time,value1,value2,value3,value4,value5);
由於交易腳本預設的讀取資料筆數為100筆,筆數太少,可能會讓getBarOffset無法正確抓到該根K棒。假設你允許使用者抓過去10天的台指期日盤高低價,且使用1分鐘頻率,則1天300筆,10天就要3000筆,因此程式第一行要加setTotalBar(3000);
許教授您好,我將您的語法帶入,它跑不出來
我再將setTotalBar(3000);加進去,並且測試不同的資料筆數,它都顯示要''增加或縮短資料長度''
我是想有一個指標可以幫我算當天的高低點差距
再請教授幫忙指點一下,謝謝
我用上述程式測試
台積電10/14-10/18最高價1100,最低價1030,振盪70。
聯發科10/14-10/18最高價1330,最低價1260,振盪70。
數據都是正確的,代表這個程式可以使用。
Hello moneyhere,
由於您是使用在指標上,可能是設定的 XS指標計算範圍/資料讀取筆數/資料引用筆數 不足導致出現如此錯誤。
小編會建議您可以在腳本中input之後加上 setFirstBarDate(d_start);,讓腳本從開始日期計算,應該就可以處理上述的狀況。
舉例來說:
input: d_start(20241014);
input: d_end(20241018);
input: t_start(090000);
input: t_end(133000);
setFirstBarDate(d_start);
value1=getBarOffset(d_start,t_start);
value2=getBarOffset(d_end,t_end);
value3=simplehighest(h[value2],value1-value2+1); //期間最高價
value4=simplelowest(L[value2],value1-value2+1); //期間最低價
value5=value3-value4; // 計算振盪區間
plot1(value3);
plot2(value4);
plot3(value5);
若還是有問題的話,麻煩提供 頁面匯出檔勾選(包含)指標腳本 以及 XQ Log 讓相關人員確認。
Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。
您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小編才能盡早處理)。
網站上有教學區和教學影片,裡面有XS語法的基礎和應用可以閱覽。
感謝 虎科大許教授 的熱心回覆。
您好
如果我只想計算''當天''的振幅
語法要如何修改?
謝謝您
12 評論