我有一個當沖交易,想要設定以漲幅大於昨收價3%以上,且成交量是昨量的20%以上,這樣寫對不對?

  •   613 
  • 最後發表   鄭揪  2024 十月 24
鄭揪 發文於   2024/10/19

HIHI 小編及各位大師們

var:_YVolume(0), _CurrentVolume(0), _PercentageChange(0);

_YVolume = GetField("成交量", "D")[1];  //昨日成交量

_CurrentVolume = Volume;  // 當前成交量

_PercentageChange = ((close - GetField("參考價", "D")) / GetField("參考價", "D")) * 100;  // 取得當前漲幅,轉換為百分比

condition11 = _PercentageChange > 3;             //當下漲幅大於3%

condition12 = _CurrentVolume > _YVolume * 0.2;   //當下成交量大於20%

if Time > 090300 and Time < 094500 and condition11 and condition12 then begin

MKP = -1;

plot1(Close,"進場點");

end;

 

請問這樣寫,沒辦法顯示plot的位置

是我哪裡出了問題嗎?

麻煩請給我解惑

 

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

問題出在當下成交量大於20%。你用的是1分K,要1分K的量超過昨天量的20%,不容易找到。你若將20%改成2%,應該就會看到指標顯示。

鄭揪 發文於   2024/10/20

感謝教授的說明,如果是這樣的話,那我是不是應該就要累計每分鐘的成交量,直到在時間內達到昨量的 20%,想請教教授,這樣的邏輯是對的嗎?我應該怎麼去呈現比較好?請教授解惑,謝謝教授

虎科大許教授 發文於   2024/10/20

若要用今天的累積量與昨量比較,程式要修改如下:

condition12 = GetField("成交量", "D")>GetField("成交量", "D")[1]* 0.2;   //自開盤累積的成交量大於昨量的20%

鄭揪 發文於   2024/10/20

謝謝教授的解惑,我一直以要先做累計,然後再去用累計的值讓程式自己去算到 20%,看起來我是多想了,再次感謝教授

XS小編 發文於   2024/10/24

Hello 鄭揪,

 

GetField("成交量", "D") 是取得日頻率的成交量,在盤中使用的話,就會取得當日開盤到當下的成交量。

相當於您用1分鐘Bar的成交量累積起來的數值。

 

網站上有教學區教學影片,裡面有XS語法的基礎和應用可以閱覽。

 

感謝 虎科大許教授 的熱心回覆。

發表回覆
Close