大量k棒

  •   1.5K 
  • 最後發表   東尼  2022 三月 29
東尼 發文於   2022/03/17

工程師 您好:

請問要用雷達  1分頻率

1.找開盤價  上漲>=3%    開盤量>=1000張  

開盤價是  q_dailyopen 

請問 "開盤量" 怎麼用指令碼表示?

2.假設某股(3035智原 03月16日開盤量)第1分鐘開盤第一筆量是1000張  090100 量是 4600張   

   假設昨日收盤260  今日開盤 267.5  高 270.5 低 267.5元  收267.5

                                             

a. 請問要寫開高後跌破  "第一根大量k棒"  的低點  怎麼用指令碼表示?  指定開盤第一根k棒(1分k)

b. 若是不指定開盤第一根k棒(1分k), 假設大量k發生091100分   092000時 close 跌破(091100)某一根大量k棒之低價

    請問怎麼用指令碼表示?

 

謝謝您~~

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

 Hello 東尼,

 

1.您可以使用變數來記錄開盤第一根Bar的成交量。

舉例來說:

if getfielddate("Date") <> getfield("Date")[1] then value1 = volume;

如果您是要取得開盤第一筆的成交量的話,那麼就需要在開盤第一根使用 SeqNo 來找出相對位置抓取第一根Tick的成交量。

舉例來說:

if getfielddate("Date") <> getfield("Date")[1] then value1 = getfield("Volume", "Tick")[GetField("SeqNo", "Tick")-1];

 

2.小幫手不太懂您的意思,不過如果是跌破開盤第一根的話低點的話,您一樣只要使用變數紀錄就可以了。

 

舉例來說:

if getfielddate("Date") <> getfield("Date")[1] then value1 = low;   //開盤第一根的低點

condition1 = getfield("Open", "D") > getfield("Close", "D")[1];   //開高

condition2 = close cross under value1 and date = date[1];  //收盤價跌破開盤第一根的低點,且為同一天

只要符合條件1和2就是同時符合開高與收盤價跌破第一根的低點

 

如果是要大於某個成交量的低點也是一樣的方式,只不過條件的部分要作些調整,像是 if volume > 3000 then value1 = low;。

或是指定時間的話 if time = 091100 then value1 = low;。

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽,建議您可以先參考裡面的文章。

 

  • 按讚來自於
  • YEAH301000
東尼 發文於   2022/03/24

謝謝工程師細心回覆

A.

2.小幫手不太懂您的意思,不過如果是跌破開盤第一根的話低點的話,您一樣只要使用變數紀錄就可以了。

if getfielddate("Date") <> getfield("Date")[1] then value1 = low;   //開盤第一根的低點

condition1 = getfield("Open", "D") > getfield("Close", "D")[1];   //開高

condition2 = close cross under value1 and date = date[1];  //收盤價跌破開盤第一根的低點,且為同一天

如您第2點回覆所提 如果要再加上  condition3 開盤量(第一筆量>=1000張) 

也就是說: 跌破開盤第一根的低點(且第一根量>=1000張)  請問這樣寫對嗎?  

 

if getfielddate("Date") <> getfield("Date")[1] then value1 = low;   //開盤第一根的低點

if getfielddate("Date") <> getfield("Date")[1] then value2 = getfield("Volume", "Tick")[GetField("SeqNo", "Tick")-1]; ////開盤第一根的成交量

condition1 = getfield("Open", "D") > getfield("Close", "D")[1];   //開高

condition2 = close cross under value1 and date = date[1];  //收盤價跌破開盤第一根的低點,且為同一天

condition3 =  value2 >=1000; //開盤第一根的成交量>=1000

 

也就是說: 跌破開盤第一根(且第一根量>=1000張)的低點的

 

B.謝謝提醒  網站內的大量K棒文章有略讀過  但因程度不足尚難取用  還待提升能力 

若是不指定開盤第一根k棒 也就是當日個股的大量1分K棒  不知會發生在幾點幾分

也許大量k發生在第一根開盤量  或 091100分   092000   093200    100100  時

也就是說當  close 跌破    今日個股某個時間點的那一根大量k棒之低價

例如程式去找 ""今日內 或090000-110000間 的一分大量K棒""  

就是說先記錄區間大量K棒後(筆數或分或日憑率    XS語法案例好像有提到value=99的概念 )

如果在某個區間或期間內或筆數範圍內  收盤價跌破其區間或期間內的最大量K棒的低點

麻煩您~~謝謝

XQ小幫手 發文於   2022/03/29

Hello 東尼,

 

A. 如果您的condition3是要開盤第一根Tick的成交量大於1000的話,那麼這樣寫沒有錯。

但是如果是開盤第一根Bar的話,那麼就要改成:

if getfielddate("Date") <> getfield("Date")[1] then value2 = volume;

 

B. 您可以用變數來記錄從開盤開始到現在最大的成交量。

舉例來說:

if getfielddate("Date") <> getfield("Date")[1] then value3 = 0;

if value3 < volume then begin    //如果Value3的記錄的成交量小於當根Bar的成交量

    value3 = volume;  

    value4 = low;

    end;

value3 就會是最大成交量,value4 則是當根Bar的低點。

類似的功能您可以參考 lowest, lowestbar

東尼 發文於   2022/03/29

感謝您的回覆與指導~~

發表回覆
Close