你好小編 能幫幫我嗎 謝謝

  •   186 
  • 最後發表   Benzing  2021 七月 28
Benzing 發文於   2021/07/20

請問想把tick的資料寫成指標
但是因為K棒只有最小只有一分鐘
請問要怎麼把tick的資料放到指標這邊做紀錄呢
比方說 我要把單量 大於10口紀錄下來
假設1分鐘 有兩次超過10口 他的紀錄方式該怎麼寫呢
感謝小編

排序方式: 標準 | 最新
Benzing 發文於   2021/07/22

有小編在嗎

XQ小幫手 發文於   2021/07/23

Hello Benzing,

 

您可以使用ReadTicks函數。

詳細說明可以參考連結,此函數會用陣列儲存兩次洗價間的tick資訊。

接著您只要使用裡面成交量的資訊來做判斷即可。

另外一個方法是您可以使用while迴圈搭配getfield("Time", "Tick")來把資料撈出來。

附上小幫手寫的範例指標腳本供您參考。

附加文件

  • 按讚來自於
  • pw890088
Benzing 發文於   2021/07/24

感謝小幫手
用小幫手的方法
寫出來下面的程式碼
但是有點騎過為什麼3條數字是相同

我分成10以上 20以上 30以上 照理來說應該要不同才對不是嗎?我哪邊搞錯了呢?
感謝小幫手

value1 = 0;

value2 = 0;

while getfield("Time", "Tick")[value1] >= time and getfield("Date", "Tick")[value1] = date begin

    if getfield("Volume")[value1] > 9  then value2 +=1;

value1 += 1;

end;

 

 

plot1(value2,"10~20");

 

value3=0;

value4=0;

while getfield("time","ticK")[value3]>=time and getfield("date","tick")[value3]=date begin

    if getfield("volume")[value3]>20 then value4 +=1;

value3 += 1;

end;

 

plot2(value3,"20~30");

 

value5=0;

value6=0;

while getfield("time","ticK")[value5]>=time and getfield("date","tick")[value5]=date begin

    if getfield("volume")[value5]>31 then value6 +=1;

value5 += 1;

end;

 

plot3(value5,"30~");



XQ小幫手 發文於   2021/07/28

Hello Benzing,

 

if getfield("Volume")[value1] > 9  then value2 +=1; 的部分

getfield("Volume") 需修改為 getfield("Volume", "Tick"),小幫手上次漏了指定頻率。

 

plot2跟plot3的部分應修改為:

plot2(value4,"20~30");

plot3(value6,"30~");

 

另外 getfield("Volume")[value1] > 9

是單筆大於9張的交易,而不是介於 10~20 張的交易。

如果是要介於 10~20 的話應該為:

if getfield("Volume", "Tick")[value1] > 9 and getfield("Volume", "Tick")[value1] <= 20 then value2 +=1;

附上小幫手修改過的腳本與執行圖供您參考。

附加文件

  • 按讚來自於
  • pw890088
Benzing 發文於   2021/07/28

了解 感謝小編

發表回覆
Close