GetField("收盤價")
或者 GetField("收盤價")[0]
日期選擇今天1月7號 抓到的收盤價都是 去年12/23
是資料庫目前有問題嗎?
還是??
GetField("收盤價")
或者 GetField("收盤價")[0]
日期選擇今天1月7號 抓到的收盤價都是 去年12/23
是資料庫目前有問題嗎?
還是??
你需要提供更詳細的資訊,例如使用哪一類型的腳本、使用什麼頻率、是執行策略還是用策略進行回測、在什麼情況下出現問題。
variable: avg1(0);
variable: count(0);
variable: bias10_count(0);
variable: bias15_count(0);
variable: bias20_count(0);
variable: biasminus10_count(0);
variable: biasminus15_count(0);
variable: biasminus20_count(0);
variable: bias_loop1(0);
variable: show(0);
variable: show_test(0);
variable: show_test1(0);
variable: show_test2(0);
show_test=GetField("收盤價")[count];
show_test1=average(GetField("收盤價")[count],10);
show_test2=GetField("收盤價")[count+1];
print("1:",show_test);
print("2:",show_test1);
print("3:",show_test2);
bias_loop1 = ((show_test/show_test1) -1) *100;
print(bias_loop1);
if (bias_loop1 >10) then bias10_count+=1;
if (bias_loop1 >15) then bias15_count+=1;
if (bias_loop1 >20) then bias20_count+=1;
if (bias_loop1 <=-10) then biasminus10_count+=1;
if (bias_loop1 <=-15) then biasminus15_count+=1;
if (bias_loop1 <=-20) then biasminus20_count+=1;
variable: bias10(0);
bias10 = Bias(10);
if bias10<100 then ret=1; //ret=1 篩選條件成立
OutputField1(bias10,1,"bias10");
OutputField2(bias10_count,1,"bias10次數");
OutputField3(bias15_count,1,"bias15次數");
OutputField4(bias20_count,1,"bias20次數");
OutputField5(biasminus10_count,1,"bias-10次數");
OutputField6(biasminus15_count,1,"bias-15次數");
OutputField7(biasminus20_count,1,"bias-20次數");
OutputField8(show,3,"test_人工算bias值正確性確認");
OutputField9(show_test1,3,"avg");
OutputField10(show_test,3,"close");
OutputField11(show_test2,3,"close");
目前測試的code長這樣 我想把getfield的值 拿來作判別
但是我print出來後發現 getfield拿到的非scalar ,是 一個list有十個數字 ,
我原本是想用for loop去紀錄每天的狀態, 但目前狀況是不用for loop 但是只能選10個數字
正常狀況getfield應該是要一個數字後續操作才方便阿 , 用了for loop 行為更詭異
if (bias_loop1 >10) then bias10_count+=1;
if (bias_loop1 >15) then bias15_count+=1;
if (bias_loop1 >20) then bias20_count+=1;
都沒有正常累加
另外
if (bias_loop1 <=-10) then biasminus10_count+=1;
if (bias_loop1 <=-15) then biasminus15_count+=1;
if (bias_loop1 <=-20) then biasminus20_count+=1;
執行後的表格都沒有顯示出來很奇怪
許教授有哪些解方?
print出來的結果 用3006 晶豪科為例子
1: 87.700000
2: 82.100000
3: 84.100000
6.820950
1: 96.400000
2: 83.550000
3: 87.700000
15.380012
1: 105.000000
2: 85.940000
3: 96.400000
22.178264
1: 98.100000
2: 87.490000
3: 105.000000
12.127100
1: 107.500000
2: 90.090000
3: 98.100000
19.325119
1: 118.000000
2: 94.060000
3: 107.500000
25.451839
1: 129.500000
2: 98.840000
3: 118.000000
31.019830
1: 139.000000
2: 104.590000
3: 129.500000
32.899895
1: 144.500000
2: 110.980000
3: 139.000000
30.203640
1: 146.500000
2: 117.220000
3: 144.500000
24.978673
選股策略預設讀取資料筆數10筆,程式會在每筆資料執行,因此會有10組數值。
bias10_count、bias10_count、bias10_count在程式執行10次過程中會累加,但前提是bias_loop1要大於一定數值。同樣地,biasminus10_count、biasminus15_count、biasminus20_count也是在bias_loop1小於等於一定數值才會累加。
感謝回覆
因為用免費版本 要等明天才能再測試了
但我發現bias10_count、bias15_count、bias20_count 有正常運作, 有看到非0的值
biasminus10_count、biasminus15_count、biasminus20_count 表格都是空白的

另外我有嘗試 用for loop 每次count +10 , 所以for loop每次拿10個日期的值, 理論上可以實現 我原本想做的事情
但結果很奇怪
Hello mb1990412,
小編補充,bias-10次數 等欄位空白的原因應該是中間的 - 所導致,您可以先改成 bias_10次數 的話就可以正常執行。
會請相關人員確認。
小編不確定您for迴圈是怎麼使用,但如果資料讀取筆數一樣設為10筆的話,這樣每根K棒運算時都會loop 一次,假設每次loop近10根的話,則總共會計算100次,其中運算到的K棒大部分都在重複。
建議您可以先觀看 SetTotalBar資料讀取範圍與腳本執行的關係,了解資料讀取筆數的概念後,再判斷是否會需要for迴圈。
5 評論