開盤30分鐘內,有三次5分K創當日新低,且當日累積交易量達昨日總交易量的50%,跳出警示訊息:帶量下跌。

  •   645 
  • 最後發表   丁丁023  2024 十二月 24
丁丁023 發文於   2024/12/10

能不能有幫手支援一下QAQ卡很久了一直卡在5分K創當日新低這個函數找不到

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/12/10

//此交易腳本未經測試
if barFreq<>"Min" or barinterval<>5 then raiseRunTimeError("限用5分鐘");
input: Count(3,"創新低次數");
var: BarCount(0);
if date<>date[1] then BarCount=0;
if time>090000 and time<093000 then //第2根到第6根
    begin
        if low<low[1] then BarCount+=1;
        if BarCount>=Count 
            and GetField("成交量", "D")>GetField("成交量", "D")[1]*0.5 
        then Alert("帶量下跌");
    end;

丁丁023 發文於   2024/12/10

感謝教授QAQ

虎科大許教授 發文於   2024/12/11

上述程式符合條件之後會一直警示,直到9點30分。若希望只警示一次,可在if BarCount>=Count這裡新增條件控制(用變數),讓它只觸發一次。

丁丁023 發文於   2024/12/17

教授我有疑問GetField("成交量", "D")>GetField("成交量", "D")[1]*0.5  可是這個是那昨天跟前天做比較,那當日從開盤到當日09300的累積成交量要怎麼寫

虎科大許教授 發文於   2024/12/17

GetField("成交量""D")是今天開盤到目前為止的累積量。

鄭揪 發文於   2024/12/18

請教教授,剛好看到這篇,對於成交量的寫法,若是我用 1 分鐘頻率來計算成交量,開盤出現大量後,以開盤為基準,盤中再次出現大量(定義是以達到前面大量的 50%)且股價急拉(定義為 2%),以下的寫法這樣正確嗎?

// 設定 1 分鐘頻率

if barFreq <> "min" or barInterval <> 1 then raiseRunTimeError("請設定 1 分鐘頻率");

 

// 輸入參數設定

input: VolumeThreshold(0.5, "成交量比例"), PriceJump(1.02, "股價急拉比例");

 

// 宣告變數

var: MaxVolume(0), MaxVolumePrice(0), CurrentVolume(0);

 

// 初始化當日資料

if Date <> Date[1] then begin

    MaxVolume = 0;

    MaxVolumePrice = 0;

end;

 

// 累計當日成交量並找出最大值與其價格

CurrentVolume = Volume;

if CurrentVolume > MaxVolume then begin

    MaxVolume = CurrentVolume;

    MaxVolumePrice = Close;

end;

 

// 檢查條件:當成交量達到前一波最大量的 50%,且股價急拉

if CurrentVolume >= MaxVolume * VolumeThreshold and Close >= MaxVolumePrice * PriceJump then begin

Plot(1, MaxVolume, "最大成交量");// 畫圖方便檢查

Plot(2, MaxVolumePrice, "最大成交價");// 畫圖方便檢查

end;

 

 

 

 

XS小編 發文於   2024/12/18

Hello 鄭揪,

 

1分鐘頻率下的 volume 回傳的時當根Bar的成交量。

要取日頻率的成交量 (GetField("Volume", "D")) 才會是當日累積的成交量。

所以你的 CurrentVolume 會是當根Bar的成交量,MaxVolume 則會是當日1分鐘頻率下成交量最大的那根數值 (包含當根)。

這樣看起來是符合描述的。

鄭揪 發文於   2024/12/19

感謝小編的回應,謝謝 

丁丁023 發文於   2024/12/24

那我想問用q_Dailyvolume可以嗎

虎科大許教授 發文於   2024/12/24

q_Dailyvolume是報價欄位資料,會傳回盤中的日累積成交量,與GetField("成交量", "D")相同。

發表回覆
Close