江波圖累計量計算

  •   683 
  • 最後發表   fangchih  2022 六月 01
fangchih 發文於   2022/05/21

你好小編:

請教如何在江波圖寫出來今日最高點到目前價格~~今天買進套牢成交量累計~~~

嘗試幾種寫法~我本來是用今日均價去改~

但股價是浮動的~沒有辦法用累積的寫法~

應該是每一TICK就要重新計算一次~~

圖片箭頭指的位子~~如何計算出來~~

if BarFreq <> "Min" then raiseruntimeerror("請跑分鐘bar");

var: _last_date(0);

if Date<>_last_date and GetField("最高價", "D")>GetField("Close","Tick") then value1 += volume;

plot1(value1);

是否可以幫我檢查程式碼謝謝~非常感謝

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

Hello fangchih,

 

小幫手不太確定您要算的是什麼。

如果是要當天最高價之後小於等於該最高價的成交量的話,其實並不需要使用到tick資訊,只要將該最高價之後的成交量累加起來即可。

雖然不能精確到每一筆都算到,但也會是逼近的數值。

舉例來說,使用在分鐘頻率上的話:

if issessionFirstBar then begin

    value1 = high;

value2 = 0;

end

else if high > value1 then begin

    value1 = high;

value2 = 0;

end

else begin

    value2 += volume;

end;

 

plot1(value1);

plot2(value2);

value1就會是最高價,value2是最高價後的成交量。

在每天開始時跟最高價更新時,value2會歸0重新累加。

 

需注意若您需要算到每筆的精確度的話,請參考 ReadTicks 把洗價間的所有Tick資訊抓出後作處理。

fangchih 發文於   2022/05/25

謝謝小編的回覆~想計算就是目前這一個TICK價格~~去比較今天所有的成交價格高於這個TICK成交量的累積計算~

假如目前這個TICK價格是50~~那只今天前面有出現過超過價格50的成交的成交量都計算加總~

假如今天成交量500~~~有50張成交高於50~~~那成交量就是50

假如今天成交量500~~~有450張成交高於50~~那成交量就是450

一開始是使用當天均價線去修改~~沒有使用TICK對成交量還是怪怪~~所以我想要請教TICK檔的寫法

{當日均價線 = 開盤迄今的平均成本(每日統計, Tick的成交金額/Tick的成交量)}
// 目前只支援分鐘頻率
if BarFreq<>"Min" then raiseruntimeerror("請跑分鐘bar");
var:intrabarpersist _last_seq(0);
var:_cur_seq(0),_curbar_date(0),_last_date(0),_i(0); 

if Date<>_last_date then // 每一天算一次
  begin
    _last_date=Date;
    _last_seq=0;      //K棒編號(當日序號)最後一筆  
  end;  

// 抓洗價當時最新一筆Tick的位置跟日期
    _cur_seq=GetField("SeqNo","Tick");//K棒編號(當日序號)
_curbar_date=GetField("Date","Tick");

if _curbar_date<>Date then 
  begin 
    _cur_seq=0;//如果開盤到有某些分鐘沒有成交,此時會對到昨日之前的Tick=>這些分鐘不要計算
  end else 
if _cur_seq>0 and _cur_seq>_last_seq then//_last_seq是上一次畫圖時最後一筆Tick的位置
  begin 
    _i=_last_seq+1;//所以就統計_cur_seq~_last_seq之間的Tick的成交資料

//=================從這邊開始====修改成計算成交量==============================
    var: intrabarpersist readtick_cookie(0);// ReadTicks內部使用, 每次呼叫時請照實傳入
    array: tick_array[100,11](0);       // 需要宣告一個2維陣列來儲存Tick資料
    var: row_count(0), idx(0);
    row_count = ReadTicks(tick_array, readtick_cookie);
    for idx= 1 to row_count 
       begin
         if issessionFirstBar then 
           begin
             value1=high;
             value2=0;
           end else 
         if high>value1 then 
           begin
             value1=high;
             value2=0;
           end else 
           begin
             value2+=tick_array[idx,4];
           end;
       end;
//=================從這邊結束====修改成計算成交量===============================

  end;
_last_seq=_cur_seq;   

plot1(GetField("成交量","D"),"成交量");
plot2(value2,"壓力量");
if GetField("成交量","D")<>0 then plot3(value2/GetField("成交量","D"),"套牢比");

是否可以再幫我檢查~~哪邊寫錯了~~中間我自己修改的區域用//區分出來了

 

非常感謝~~

XQ小幫手 發文於   2022/05/27

Hello fangchih,

 

您的value1和value2的部分需要使用intrabarpersist的變數。

另外,所要設定的最高價也應該用 tick 資訊而不是該根Bar的High。

附上修改後的指標腳本供您參考。

可以在input輸入想要看的日期。

附加文件

fangchih 發文於   2022/05/28

謝謝小幫手的回覆,副圖只計算當天的江波圖成交量

模擬禮拜五的江波圖好像還是怪怪,是否可以再請教如何修改

(1)3002在開盤沒多久套牢張數比成交量還要大。

(2)4116今日沒有套牢的張數應該在585張,套牢成交量應該在31958,但顯示是14254

 第一次寫TICK檔問題很多非常抱歉~是否可以請教如何修改~非常感謝

XQ小幫手 發文於   2022/05/31

31958Hello fangchih,

 

1.這應該是因為readtick有讀到昨日的資訊。

您只需要將加總時的條件補上日期要等於input日期即可。

附上指標匯出檔供您參考。

 

2.小幫手不確定您為什麼回覺得套牢成交量會是31958。

當日高點是在 09:29 ,所以套牢成交量應該會是該點以後的成交量加總。

就算您用1分鐘頻率的成交量來看,該日到 09:29 的累積成交量為15832,收盤時的成交量為 32507。

兩者相減不會是31958。

附加文件

fangchih 發文於   2022/06/01

謝謝小幫手回覆~~今天測試沒有問題了~~我再多測試幾天~~

非常感謝小幫手大力幫忙~我自己寫了好久都改不出來~~

 

對於套牢量的想法~我的想法是只要今天買的價格高過於目前的Tick都算是套牢~~

今天買進是賺錢~~才沒有套牢的壓力~~舉例這一檔4116...

67.5是最高價~~如果以小幫手當初的算法最高價過後才是套牢~~~

最大量2576張這一筆是不會被計算到套牢裡面~~

那往後只要價格跌破成交量最大量2576的TCIK價格~~

這兩千多張不管是哪個阿貓阿狗買的或是大戶投信~~

以今天來說都是套牢~~我的想法是這樣~~非常感謝這一次幫忙~~

發表回覆
Close