請問單條件多敘述begin+end的範例問題

  •   526 
  • 最後發表   JACKEY  2018 五月 07
JACKEY 發文於   2018/05/06

你好:

請問我用下面範例自訂一個選股腳本,在第8行有修改成value1=(close[1]/close[N]-1)*100//計算n日前漲幅,參數使用N=3,X=6,_Y=2 資料讀取10筆,跑出來的結果共40檔股票,其中出現近日大跌的股票如(大山1615,台蠟1742,新光鋼2031,潤泰材8463)明顯不符腳本的設計

問題1:腳本哪裡有問題?

問題2:這個腳本如果有問題跟體驗版有關嗎?

問題3:如果有問題,請問怎麼改?感謝回答

===============以下為begin end 範例==============

例如若要找出前N日漲幅超過X%且今天跳空開高超過Y%的股票,我們可以寫一個腳本如下:

 

input:N(3);//前N日

input:X(10);//前n日漲幅%

input:_Y(4);//缺口大小%

if open>high[1] then //跳空開高

//用begin來呈現if 之後要執行的不只一件的事情

begin

value1=(close[1]/close[N]-1)*100;//計算前N天的漲幅

value2=(open-high[1])/close*100;//計算跳空缺口的大小

   

end;

//最後用end來宣告if之後要執行程式的結束

  

if value1>=X and value2>=_Y

then ret=1;

XQ小幫手 發文於   2018/05/07

你好:

選股中心是每根K棒去執行,因此在這中間如果條件有達成,則會產生條件觸發,因此會顯示出之前條件有達成的股票。

將你的程式碼調整為:

input:N(3);//前N日

input:X(10);//前n日漲幅%

input:_Y(4);//缺口大小%

value1 = 0;
value2 = 0;


if open>high[1] then //跳空開高

//用begin來呈現if 之後要執行的不只一件的事情

begin

value1=(close[1]/close[N]-1)*100;//計算前N天的漲幅

value2=(open-high[1])/close*100;//計算跳空缺口的大小



end;

//最後用end來宣告if之後要執行程式的結束



if value1>=X and value2>=_Y

then ret=1;

 

這樣應該就會對了,以上說明。

發表回覆
Close