使用xscript中的(大單敲進)腳本~~~ 警示紀錄無法通知~~~幫忙協助處理

  •   504 
  • 最後發表   Alumi  2023 一月 12
Alumi 發文於   2022/12/22

問題一  此腳本是從xscript的{警示}(大單敲進腳本)複制加入警示,再去啟動策略雷達~~為什麼設定的商品中,警示紀
    錄已達到單量50張以上,不會觸發通知,~~~~~~~我有試過策略雷達的(大單敲進,是設定100張),一樣達到100  
    張也不會觸發通知

問題二  input: LaTime(10,"大單筆數");    這10代表什麼意思,我一直看不懂,門檻是單量50張,10大單筆數是指,是要去
    去修改的嗎,如果修改10變動會怎樣呢?

問題三 我設定是指定頻率(日) ~~~ 觸發設定(連續觸發、k棒內單次觸發)這兩個我都試過都不行~~~  此腳本有強制要用逐 
    筆洗價~~~~請問我要怎麼設定頻率呢?是頻率設定錯誤嗎?~~~~~有附以下系統的腳本!!
    ps:我也有用設一分鐘加上強制要用逐筆洗價去跑,也是不行!


問題四  簡單來說,我要(委買單量達100張與委賣單量達100張)就觸發通知,可以直接給我腳本嗎?


特別說明:我有用急殺跟急拉的腳本,有成功觸發通知。基本的設置我都會了喔!!所以不是一般設定問題!!


-------------------------------------------------------------------------------------------------------------------

input: atVolume(50,"大單門檻");

input: LaTime(10,"大單筆數");

input: TXT("須逐筆洗價","使用限制");

 

settotalbar(3);

 

variable:  intrabarpersist Xtime(0);

//計數器

variable: intrabarpersist Volumestamp(0);

 

Volumestamp =GetField("Volume", "D");

if time < time[1] 

or Volumestamp = Volumestamp[1]

then Xtime =0; //開盤那根要歸0次數

 

if GetField("Volume", "Tick") > atVolume

//單筆tick成交量超過大單門檻

and GetField("內外盤","Tick")=1

//外盤成交

then Xtime+=1; 

//量夠大就加1次

if Xtime > LaTime then begin

ret=1; 

Xtime=0;

end;

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

Hello Alumi,

 

1.此腳本的條件為:

if GetField("Volume", "Tick") > atVolume

//單筆tick成交量超過大單門檻

and GetField("內外盤","Tick")=1

//外盤成交

then Xtime+=1; 

//量夠大就加1次

if Xtime > LaTime then begin

ret=1; 

 

並不是單筆成交量大於50就觸發,而是 單筆成交量大於50 Xtime 就增加1,要 Xtime  > LaTime 的時候才會警示。

您可以將 Xtime print出來檢視。

 

2.要 單筆成交量大於50 這條件發生大於10次才會警示。

如果您將其改成5,那就是 單筆成交量大於50 這條件發生大於5次就會警示。

 

3.這個腳本要設定為逐筆洗價才可以,但並沒有限定使用頻率。

 

4.您要使用的是委買委賣的量,還是內盤外盤的成交量?

兩者是不相同的東西,您下面的腳本檢查的是外盤成交量。

如果是要委買委賣的話,可以參考 委買 委賣 報價欄位。

舉例來說:

if GetQuote("委賣") > 100 then ret = 1;  //如果委賣張數大於100就警示

if GetQuote("委買") > 100 thne ret = 1;  //如果委買張數大於100就警示

 

小幫手建議您可以先看看教學區的文章,裡面有XS語法的基礎和應用可以閱覽。

  • 按讚來自於
  • Alumi588
Alumi 發文於   2022/12/23

謝謝你的回答我不是要委賣與委賣,sorry,我解釋的不清楚。


如果我是要每筆單,每次只要成交達到50張以上就通知我,

如果把input: LaTime(10,"大單筆數");改為input: LaTime(1,"大單筆數")

,還是直把input: LaTime(10,"大單筆數");刪除掉
~~~這樣就可以嗎?

 

alexw 發文於   2022/12/24

大單門檻50,大單筆數1,然後設K棒內單次觸發

  • 按讚來自於
  • Alumi588
XQ小幫手 發文於   2022/12/26

Hello Alumi,

 

您可以參考 alexw 的回覆,並依照其所說的設定。

另外也可以自行撰寫腳本來篩選。

舉個簡單作法,將策略設定為逐筆洗價:

if getfield("Volume", "Tick") >= 50 then ret = 1;

這樣只要該次洗價成交大於等於50就會警示。

由於快市可能不會每筆都洗到,所以若要確保每筆成交量都檢查的話,您可以參考 ReadTicks 函數。

 

感謝 alexw 的熱心回覆。

Alumi 發文於   2023/01/10

 

 

 

Alumi 發文於   2023/01/10

 

我找到這個欄位的應用
TICKS (100大單門檻),這個腳本語法也可以用嗎?~~~~~~
只要商品每次TICKS單量成交100張就通知我!

XQ小幫手 發文於   2023/01/11

Hello Alumi,

 

您貼的圖的作法基本上就跟小幫手在 12/26 時的回覆相同。

將策略設定為逐筆洗價,並使用 getfield("Volume", "Tick") 來取得 Tick 的成交量,判斷單量是否有大於指定的數值就警示。

差別只在圖上的範例還有判斷是內盤還是外盤。

  • 按讚來自於
  • Alumi588
Alumi 發文於   2023/01/12

有的,已經有測式過了。謝謝。越來越了解語法腳本,不同的應用有一樣的結果。謝謝你們的回達!!

發表回覆
Close