HSP程式交易論壇 >> 程式交易 >> 論壇主區 >> 程式交易討論區 >> 如何自動將區間內最後的最高和最低顯示出來
如何自動將區間內最後的最高和最低顯示出來 wintanfa,2010-04-18 11:20:45

[SIZE=2]敬啟者您好[/SIZE]
[SIZE=2]下列的程式碼只是將符合條件的K棒作出標記[/SIZE]
[SIZE=2]請幫忙指導要如何增加判別程式 [/SIZE]
[SIZE=2]才會將區間內最後的最高和最低顯示出來[/SIZE]
[SIZE=2]其餘之前的最高和最低會自動隱藏不顯示[/SIZE]
[SIZE=2][/SIZE]
[SIZE=2]30 Vh = 1分_區間最高價( 60 ) 
  40 Vl = 1分_區間最低價( 60 ) 
  50 
  60 If 1分_最高價 = Vh Then 
  70  Vd = 1分_最高價 + 4 
  80  S1$ = 'H' + Cstr( Vh ) 
  90  顯示文字[ S1$ , 主畫面 , ( -1 , Vd ) , 字型: 新細明體 , 大小: 009 , 顏色: 16777215 ] 
 100 End If 
 110 If 1分_最低價 = Vl Then 
 120  Vd = 1分_最低價 - 4 
 130  S1$ = 'L' + Cstr( Vl ) 
 140  顯示文字[ S1$ , 主畫面 , ( -1 , Vd ) , 字型: 新細明體 , 大小: 009 , 顏色: 16777215 ] 
 150 End If [/SIZE]

Hunta,2010-04-18 12:50:01

以下為以80根K線為區間範例:
 
  10 If 最後K線 = 是 Then 
  20  Vc = 80 
  30  
  40  Vh = 5分_區間最高價( Vc ) 
  50  For  Va  =  0  To  Vc  Step  1 
  60   If 前Va_5分_最高價 = Vh Then 
  70    Vb = 前Va_5分_最高價 + 5 
  80    Vd = Va * -1 
  90    顯示文字[ Vh , 主畫面 , ( Vd , Vb ) , 字型: 新細明體 , 大小: 009 , 顏色: 16777215 ] 
 100    Exit For 
 110   End If 
 120  Next 
 130  
 140  Vl = 5分_區間最低價( Vc ) 
 150  For  Va  =  0  To  Vc  Step  1 
 160   If 前Va_5分_最低價 = Vl Then 
 170    Vb = 前Va_5分_最低價 - 5 
 180    Vd = Va * -1 
 190    顯示文字[ Vl , 主畫面 , ( Vd , Vb ) , 字型: 新細明體 , 大小: 009 , 顏色: 16777215 ] 
 200    Exit For 
 210   End If 
 220  Next 
 230 End If 
 
程式碼下載(請儲存於huntap資料匣內) [URL=http://www.huntasoft.com/hsp/0109.rda]http://www.huntasoft.com/hsp/0109.rda[/URL]
 
執行結果如下:
[IMGA=0,absMiddle]http://www.huntasoft.com/hsp/pic/0418-1.jpg[/IMGA]
 

wintanfa,2010-04-18 16:09:58

敬啟者您好:
 
在區間內已經自動將最後的最高和最低顯示出來 感恩!
 
但是如果向左移動K棒時最高和最低沒有跟著改變
 
請問要如何修改才會自動隨著移動將最後的最高和最低顯示出來?

Hunta,2010-04-18 17:40:55

此方法沒有辦法顯示之前的高低價,沒錯。
能否說一下顯示高低點的用意,方便幫你想一下是否有其他方法可用。

wintanfa,2010-04-18 19:44:19

敬啟者您好:
 
隨著K棒的移動能自動將區間內的最高和最低顯示出來
 
下一步最實際有效率的運用就是轉變K棒顏色
 
[COLOR=#064f06]高點的右方轉綠K作空 [/COLOR][COLOR=#ee113d]低點的右方轉紅K作多[/COLOR]
[COLOR=#ee113d][/COLOR]
[COLOR=#100104]雖然現在的程式碼在即時版應該可以改裝運用[/COLOR]
[COLOR=#100104][/COLOR]
[COLOR=#100104]但是感覺有點怪怪判讀上像缺少什麼?[/COLOR]

Hunta,2010-04-18 20:02:53

其實程式交易重點應該擺在「目前最後一根K線的狀況」,至於更早之前的K線,其實應該不是最重要的問題,因為在更早之前,當K線正停留在該處時,當時同樣已執行過此策略。
你可以用回測的方式來運算績效,則沒有此限制。

wintanfa,2010-04-18 22:31:42

[SIZE=2]敬啟者您好:[/SIZE]
[SIZE=2][/SIZE]
[SIZE=2][COLOR=#100104]雖然已經將程式碼加以改裝運用[/SIZE][/COLOR]
[SIZE=2][COLOR=#100104][/SIZE][/COLOR]
[SIZE=2][COLOR=#100104]但是最後一根K棒都會出現[/SIZE][COLOR=#2248dd]多單建倉價位有誤[/COLOR][COLOR=#050a1d]的信息[/COLOR][/COLOR]
[COLOR=#050a1d][SIZE=2][/COLOR][/SIZE]
[COLOR=#050a1d][SIZE=2]必須移動一根K棒才會消除訊息 [/COLOR][/SIZE][COLOR=#050a1d][SIZE=2]請指導應該如何修正錯誤?[/COLOR][/SIZE]
[COLOR=#050a1d][SIZE=2][/COLOR][/SIZE]
260 // 多單進場 
 270 If 目前部位( 倉位多空 ) <= 0 Then 
 280  If 前Va_1分_最低價 <= Vl Then 
 290   操作訊號( 空單平倉 , 1口 , Va ) 
 300   操作訊號( 多單建倉 , 1口 , Va ) 
 310   Show [ K線下方 , ▲ ] 
 320   Vb = 前Va_1分_最低價 - 2 
 330   Vd = Va * -1 
 340   顯示文字[ Vl , 主畫面 , ( Vd , Vb ) , 字型: 新細明體 , 大小: 009 , 顏色: 16777215 ] 
 350   播放聲音( DOORBEL2.WAV ) 
 360  End If 
 370 End If 
[SIZE=2][COLOR=#2248dd][/SIZE][/COLOR]
[SIZE=2][COLOR=#2248dd][/SIZE]
[/COLOR]

Hunta,2010-04-18 22:48:11

你操作訊號內的Va有問題。
wintanfa,2010-04-18 22:48:58

敬啟者您好:
 
[SIZE=2][COLOR=#100104]可能是最後一根K棒都會出現[/SIZE][COLOR=#2248dd]多單建倉價位有誤[/COLOR][COLOR=#050a1d]的信息[/COLOR][/COLOR]
[COLOR=#050a1d][SIZE=2][/SIZE][/COLOR]
[COLOR=#050a1d][SIZE=2]作績效回測時多單的結果皆為零 [/SIZE][/COLOR][COLOR=#050a1d][SIZE=2]請指導修正錯誤感恩![/SIZE][/COLOR]

Hunta,2010-04-18 22:55:11

請用Debug函數將Va顯示出來。
wintanfa,2010-04-18 23:26:10

敬啟者您好:
 
290   操作訊號( 空單平倉 , 1口 , Va ) 
 300   操作訊號( 多單建倉 , 1口 , Va ) 
 310   Debug( 空單平倉 , Va ) 
 320   Debug( 多單建倉 , Va ) 
 
23:14:40   => 20"
"23:19:13  空單平倉 => 20"
"23:19:13  多單建倉 => 20"
 
請指導錯誤要如何修正?感恩!

Hunta,2010-04-19 00:19:58

價格20很明顯錯誤,所以請修正Va值。
操作訊號( 空單平倉 , 1口 , Va )裡面的Va值是要放「出場價格」。

 97 1 2 3 8: 此主題共有29帖 此頁12帖 每頁12帖 

[查看完整模式]

LeadBBS 5.0 耗時62.5毫秒 請求2次