我想要將Input:(String) 傳遞進去函數,結果發現這個奇怪的問題。
我寫了一個測試指標腳本,與兩個測試函數。
兩個測試函數做一樣的事情,就是抓出2330台積電 _nDs 天前的收盤價。
關鍵問題是,在函數裡面宣告 2個 Input 如下,我發現這兩個宣告的順序,會導致指標發生錯誤。
兩個測試函數如下:
{測試函式 fn_nDs_Symbol_Close}
{Input 的 String 放在 NumericSimple 的後面,指標會印不出東西}
Input:_nDs(NumericSimple); {NumericSimple放後面}
Input:_Symbol(String);
fn_nDs_Symbol_Close = GetSymbolField(_Symbol, "收盤價", "D")[_nDs];
{測試函式 fn_Symbol_nDs_Close}
{Input 的 String 放在 NumericSimple 的前面,指標才能印出東西}
Input:_Symbol(String); {String 放前面}
Input:_nDs(NumericSimple);
fn_Symbol_nDs_Close = GetSymbolField(_Symbol, "收盤價", "D")[_nDs];
把Input 的 String 放在 NumericSimple 的後面,指標會印不出東西。
{測試指標_GetSymbolFile_String}
{函式裡面 Input 的變數型態放置的順序,會導致函式引用錯誤?}
Input:_Symbol("2330.TW"); {String}
Input:_nDs(5); {NumericSimple}
{Input 的 String 放在 NumericSimple 的後面,指標會印不出東西}
Plot1(fn_nDs_Symbol_Close(5, _Symbol), "_nDs_Symbol_Close");
{Input 的 String 放在 NumericSimple 的前面,指標才能印出東西}
//Plot2(fn_Symbol_nDs_Close(_Symbol, 5), "_Symbol_nDs_Close");

把Input 的 String 放在 NumericSimple 的前面,指標才能印出東西
{測試指標_GetSymbolFile_String}
{函式裡面 Input 的變數型態放置的順序,會導致函式引用錯誤?}
Input:_Symbol("2330.TW"); {String}
Input:_nDs(5); {NumericSimple}
{Input 的 String 放在 NumericSimple 的後面,指標會印不出東西}
//Plot1(fn_nDs_Symbol_Close(5, _Symbol), "_nDs_Symbol_Close");
{Input 的 String 放在 NumericSimple 的前面,指標才能印出東西}
Plot2(fn_Symbol_nDs_Close(_Symbol, 5), "_Symbol_nDs_Close");

請問這個是甚麼原因,是我腳本的哪個邏輯寫錯了,導致這個錯誤嗎?
5 評論