連四根紅K選股語法問題

  •   873 
  • 最後發表   tdf  2017 十一月 30
tdf 發文於   2017/11/29

程式碼如下,但選出來的股票有很多不精確,麻煩小編影一下該如何修改,謝謝!

//一波上漲未過高--選多股 

variable: RSI_over(true), KL(0),KH(0);

 

if closeD(4) > openD(4) and closeD(3) > openD(3) and closeD(2) > openD(2) 

and closeD(1) > openD(1) and closeD(5) < openD(5)  

then begin 

  KL = Lowest(low,4);

  KH = Highest(high,4);

  RSI_over = true;

end;

 

//----- 破低解開 -----

if lowD(0) < KL   

then begin

  RSI_over = false;   

end;

 

//----- 突破高點解開 -----

if highD(0) > KH 

then begin

  RSI_over = false;   

end;

 if RSI_over = true then ret = 1;

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2017/11/30

Hi tdf,

請問是哪裡不精確?

您的圖中,宜進(1457)商品,走一輪您撰寫的程式碼腳本,是會觸發的喔~ 

 

故請您提供您的策略邏輯,以利小幫手協助您唷~ 謝謝。

 

 

tdf 發文於   2017/11/30

邏輯條件為連四根紅K且之前第五根是黑K

 

如果突破這四根紅K的高低點就不要

選股跑出來有很多檔不是這羅輯

像1457已經突破四根紅K的高點了

選股還是有跑出來

所以突破高低點這樣的語法似乎有問題

而且有的股票是連5根紅K 也跟一開始的邏輯條件不一樣

 

麻煩小編解看看

謝謝

DinDon 發文於   2017/11/30

Hi tdf

你好,提供個人淺見,會不會是 Highest與Lowest導致KH與KL取錯

KL = Lowest(low,4);

函式說明中,以最新一筆資料為基準點,輸入要計算的期數,然後計算過去期數的極小值。

所以有可能再取的時後當天被取進去,並不是過去4天,這樣子當天才會怪怪的

KL = Lowest(low,4)[1];

我記得老師好像也有用過這樣子,你看看可不可以取,記得Highest也要改,謝謝

  • 按讚來自於
  • b24524658
tdf 發文於   2017/11/30

小編解法沒錯

原來是要多讀取一天

那一開始的邏輯條件連四根紅K  前第五根是黑K怎辦?

選股模組跑出來還是有些是五連紅六連紅的...

 

XQ小幫手 發文於   2017/11/30

Hi tdf,

謝謝您提供相關資訊,小幫手覺得下述兩點修改後,應該會比較精確,

 

1. 請您將 KL, KH 改為,

  KL = Lowest(low[1],4);
  KH = Highest(high[1],4);

上述才是代表前四根,不然原本的想法會納入今天這根K棒的高低點。

 

2. 初始化判斷式內的變數,將下述程式碼加到 if close[4] > open[4] ... ... 上方

RSI_over = false;
KL = 0;
KH = 0;

不然就算中間的判斷式都不觸發,也會直接篩選股票商品,這樣就沒有符合您的選股邏輯了

 

以上個人淺見,提供給您參考,謝謝。

 

tdf 發文於   2017/11/30

正確了

太太太...感謝小幫手

  • 按讚來自於
  • b24524658
DinDon 發文於   2017/11/30

Hi tdf,

我不是小編,我是路人甲,也有PO文再等回應,剛好看到你的問題,回答一下,

很高興幫上忙,因為自己也是開始學習不久而已,謝謝。

 

看小幫手的回文,也讓自己知道一些使用上的眉角嚕~~呵呵~~

  • 按讚來自於
  • b24524658
發表回覆
Close