腳本問題

  •   369 
  • 最後發表   qwer0203  2024 十一月 21
qwer0203 發文於   2024/11/16

{@type:sensor}

// 腳本類型: 警示腳本

// 腳本名稱: 盤中符合條件策略

// 顯示名稱: 盤中符合條件策略

// 執行頻率: 1分(非逐筆洗價)

// 

// 策略條件:

// 1. 執行時段:9:30 至 12:00

// 2. 最新價 < 當日均價

// 3. 成交量 >= 2000 張

// 4. 上影線幅度超過 2%

// 5. 連續 3 分鐘大戶持續賣超

 

// 設定執行時段

Input: StartTime(930000), EndTime(120000); // 執行時段

Var: TimeValid(False);

TimeValid = (Time >= StartTime AND Time <= EndTime);

 

// 條件1:最新價 < 當日均價

Var: PriceCondition(False);

Var: LastPrice(0), AveragePrice(0);

LastPrice = C; // 使用內建變數 C 表示收盤價(最新價)

AveragePrice = AvgPrice; // 內建變數 AvgPrice 表示當日均價

PriceCondition = (LastPrice < AveragePrice); // 最新價低於當日均價

 

// 條件2:成交量 >= 2000 張

Var: VolumeCondition(False);

Var: TotalVolume(0);

TotalVolume = V; // 使用內建變數 V 表示累計成交量

VolumeCondition = (TotalVolume >= 200000); // 成交量 >= 200000 股(即 2000 張)

 

// 條件3:上影線幅度超過 2%

Var: ShadowCondition(False);

Var: ShadowBase(0);

ShadowBase = MaxList(O, C); // 取開盤價和收盤價的較大值

ShadowCondition = ((H - ShadowBase) > ShadowBase * 0.02); // 上影線幅度超過 2%

 

// 條件4:連續 3 分鐘大戶持續賣超

SetTotalBar(3); // 設置回溯範圍為最近 3 分鐘

Var: LargeTraderCondition(False);

Var: CurrentSellVolume(0), CurrentBuyVolume(0), CurrentNetVolume(0); // 當前分鐘

Var: Prev1SellVolume(0), Prev1BuyVolume(0), Prev1NetVolume(0); // 1 分鐘前

Var: Prev2SellVolume(0), Prev2BuyVolume(0), Prev2NetVolume(0); // 2 分鐘前

 

// 當前分鐘

CurrentSellVolume = GetField("賣出特大單量") + GetField("賣出大單量");

CurrentBuyVolume = GetField("買進特大單量") + GetField("買進大單量");

CurrentNetVolume = (CurrentBuyVolume - CurrentSellVolume);

 

// 使用 SetTotalBar 配合歷史索引

Prev1SellVolume = GetField("賣出特大單量")[1] + GetField("賣出大單量")[1];

Prev1BuyVolume = GetField("買進特大單量")[1] + GetField("買進大單量")[1];

Prev1NetVolume = (Prev1BuyVolume - Prev1SellVolume);

 

Prev2SellVolume = GetField("賣出特大單量")[2] + GetField("賣出大單量")[2];

Prev2BuyVolume = GetField("買進特大單量")[2] + GetField("買進大單量")[2];

Prev2NetVolume = (Prev2BuyVolume - Prev2SellVolume);

 

// 判斷連續 3 分鐘賣超

LargeTraderCondition = (CurrentNetVolume < 0) AND (Prev1NetVolume < 0) AND (Prev2NetVolume < 0);

 

// 綜合條件:所有條件同時滿足

Var: AllConditionsMet(False);

AllConditionsMet = TimeValid AND PriceCondition AND VolumeCondition AND ShadowCondition AND LargeTraderCondition;

 

// 策略執行

IF AllConditionsMet THEN BEGIN

    ret = 1; // 條件成立,返回警示

END ELSE BEGIN

    ret = 0; // 條件不成立

END;

這個腳本是希望與量化積木4個條件一樣所編寫的

盤中符合全部條件

執行時段為9點30分到12點整

最新價<當日均價線0%以上

成交量>= 2000張

長上影線,上影線幅度超過2%

連續3分鐘大戶持續賣超

腳本編譯完成

回測不出結果

求教學

 

 

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

StartTime(930000)

改成

StartTime(93000)

XS小編 發文於   2024/11/21

Hello qwer0203,

 

小編補充,AvgPrice均價 是不太一樣的,可以確認看您需要的是哪個。

V代表的是當根成交量,而且台股的話單位是張不是股。

連續三根Bar條件成立,可以參考 TrueAll 函數。

ret 的值預設為0,故不需要另外讓其等於0。

 

發表回覆
Close