謝謝小編的回覆~想計算就是目前這一個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"),"套牢比");
是否可以再幫我檢查~~哪邊寫錯了~~中間我自己修改的區域用//區分出來了

非常感謝~~
6 評論