『3週學會程式交易』範例的問題-2

  •   286 
  • 最後發表   tdf  2018 一月 08
tdf 發文於   2018/01/02

請翻開第180頁的範例

選出過去四年十二月份月報酬率都超過5%的股票

實驗結果是〝近四年三年兩年〞都選沒股票(好像不太可能,把5%改為1%也是選沒股票)

---請問小幫手該如何修正?

 

所以把〝近四年三年兩年〞程式碼蓋掉

選股結果如圖

有多加condition1 來註解〝最低月報酬率〞

但註解欄都顯示1

---請問小幫手該如何修正?

 

程式碼如下

//每年12月上漲都超過5%的股票

 

if currentbar < gettotalbar 

then return;

 

value1 = getbaroffset(20171201);

value2 = getbaroffset(20171231);

value3 = getbaroffset(20161201);

value4 = getbaroffset(20161231);

value5 = getbaroffset(20151201);

value6 = getbaroffset(20151231);

value7 = getbaroffset(20141201);

value8 = getbaroffset(20141231);

 

input: r1(5,"最低月報酬率");

 

if close[value2] > close[value1] * (1 + r1 / 100)

  //and close[value4] > close[value3] * (1 + r1 / 100)

  //and close[value6] > close[value5] * (1 + r1 / 100)

  //and close[value8] > close[value7] * (1 + r1 / 100)

then ret = 1;

 

 

condition1 = false;

 

condition1 = close[value2] > close[value1] * (1 + r1 / 100);

 

//----- 註解 ----- 

SetOutputName1("最低月報酬率");

OutputField1(condition1);

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2018/01/03

你好:

   請詳見p 181 頁的說明部分,小幫手猜想是你的設定部分有問題喔,故導致沒有符合的股票被選出,以上說明。

tdf 發文於   2018/01/03

請問哪邊該設定?

XQ小幫手 發文於   2018/01/04

你好:

  請見說明網頁:如何自己撰寫選股條件,下方條件設定部分要做更動喔

tdf 發文於   2018/01/08

 

選股有設定月頻率,並讀取100筆

if close[value2] > close[value1] * (1 + r1 / 100)

  and close[value4] > close[value3] * (1 + r1 / 100)

  //and close[value6] > close[value5] * (1 + r1 / 100)

  //and close[value8] > close[value7] * (1 + r1 / 100)

then ret = 1;

 

只選去年跟前年,12月都漲超過2%的股票,一樣選沒股票,

實驗過,這程式碼只能選去年12月漲幅股票,若加計之前的年份是沒有用的。

發表回覆
Close