請教問題

  •   129 
  • 最後發表   pon404  2022 二月 24
pon404 發文於   2022/02/21

Hello 小幫手

附件檔為SwingLow(Low,Count,11,11,1)的回測,數據如下:

(1)代碼3128,轉折低點在0900,警報在0912 → 正確

(2)代碼3083,轉折低點在0902,警報在0914 → 正確

(3)代碼1414,轉折低點在0904,警報在0916 → 正確

(4)代碼4906,轉折低點在0909,警報在0921 → 正確

(5)代碼3694,轉折低點在0910,警報在0922 → 正確

(6)代碼2482,轉折低點在0901,警報在0928 → 警報應該在0913

(7)代碼3035,轉折低點在0907,警報在0939 → 警報應該在0919

(8)代碼8034,轉折低點在0903,警報在0948 → 警報應該在0915

(9)代碼8040,轉折低點在0910,警報在0951 → 警報應該在0922

轉折低點在0911以後的回測都正確,有問題的是0911以前的。

請問:

一、為什麼都是在0911以前,(1)~(5)警報正確,(6)~(9)的SwingLow回傳值卻是-1?

二、有沒有方法可以讓(6)~(9)的警報時間也在12分鐘後?

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/02/23

Hello pon404,

 

由於您沒有提供腳本,所以小幫手就已您上面寫的來分析。

SwingLow(Low,Count,11,11,1)

會找出最近的轉折低點,且其左肩右肩都要有11根Bar。

2482 09:01 的左肩不足,所以不符合,找出最近的應該是 09:16 的那根。

3035 09:07 的左肩不足,所以不符合,找出最近的應該是 09:27 的那根。

8034 09:03 的左肩不足,所以不符合,找出最近的應該是 09:35 的那根。

8040 09:10 的左肩不足,所以不符合,找出最近的應該是 09:39 的那根。

建議您可以實際print出來觀察,或是看技術線圖比對。

 

就上面列出的資訊,您可以調整左肩的長度,讓其可以找到想要的時間點。

pon404 發文於   2022/02/23

Hello 小幫手

腳本就在附加文件的回測報告中,我在這也再貼一次。

我當然知道可以縮短左肩長度,但縮短之後還是會有左肩不足時,有些可以警報有些無法警報的問題。

我這邊已做過很多調整與回測,就是無法解決這個問題,

這個問題會造成部分標的遺漏或延遲警報,就如同附加文件的回測報告,還請提供協助,謝謝。

 

腳本如下:

if barfreq <>"Min" or  barinterval<> 1 then raiseruntimeerror("本腳本只適用於1分鐘線");  

variable:count(0);  

if date<>date[1] then count=0;  

count=count+1;  

 if  count >= 1 and count <= 60  

 and Swinglow(low,count,11,11,1) > GetField("跌停價","D") 

 then ret=1;

 

附加文件

XQ小幫手 發文於   2022/02/24

Hello pon404,

 

首先先告知您,回測報告裡面雖然有腳本資料,但只有持有腳本的人才看的到內容。

如果沒有腳本的人打開該頁面的話會顯示沒有權限開啟此腳本。

 

感覺上您想要找的是當天的轉折點,左肩會需要隨著檢查的Bar的位置而有變化,所以內建的 SwingLow 應該無法達成您的需求。

您可以設一個變數記錄當天到當根Bar最低的價格,然後使用變數紀錄距離該根Bar過了多久,超過右肩的所需的長度即符合。

附上警示腳本供您參考。

附加文件

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