JimmyHK 發表於 17-6-9 14:25

每日高低價格線的程式碼寫法

如果要在分鐘圖標示昨天最高和最低價,價格線延伸至今天收市為止並且一直保留價格線,求程式碼範例,謝謝!

jinace 發表於 17-6-9 14:48

試試看
plott1(highs(1));
plott2(lows(1));

easytrader788 發表於 17-6-9 15:58

plot1(HighD(1)) ;
plot2(LowD(1)) ;

JimmyHK 發表於 17-6-9 19:32

謝謝大家!{:4_113:}

JimmyHK 發表於 17-6-14 14:27

遇到新的難題,如果商品是24小時操作市場好像標普期指和黃金期貨,官方收市價是美國時間16:00,第二天開市價是當天17:00,但用HighD(1)和LowD(1)語法收市價是23.59,開市價是00:00,因此造成昨天最高/最低價定義出錯,請問有沒有方法可跟隨官方收市價定義昨天最高/最低價?

santien 發表於 17-6-14 16:25

我也未了盤後盤傷腦經?用了2年基礎平台又要修改

easytrader788 發表於 17-6-14 20:39

可以參考阿政大的這篇文章
http://www.yctseng.net/2016/04/n_22.html?m=1

JimmyHK 發表於 17-6-16 14:02

easytrader788 發表於 17-6-14 20:39
可以參考阿政大的這篇文章
http://www.yctseng.net/2016/04/n_22.html?m=1

嘗試如上文建立一個函數: _highSession(N), 回傳值類型:數值, 函數存儲:自動, 但按確認時失敗, 出現 : 請輸入一個有效的名稱, 請問是什麼原因?

JimmyHK 發表於 17-6-16 14:25

如更改名稱為 : _highSession 則可以確認,但編譯時出現錯誤 :

input: daysAgo(Numeric);
array: record[](0);
var: temp(0);

array_setmaxindex(record, daysAgo+1);

temp= highest(High,_NthBarInSession);

if _NthBarInSession=1 then begin
_arrayShift(record);
record= temp;
end;


if daysAgo=0 then
_highSession= temp
else
_highSession= record;

其中 : arrayShift 顯示為Unknown Function


JimmyHK 發表於 17-6-16 14:44

JimmyHK 發表於 17-6-16 14:25
如更改名稱為 : _highSession 則可以確認,但編譯時出現錯誤 :

input: daysAgo(Numeric);

在網上爬文找到阿政大的這篇文章 :

http://www.yctseng.net/2014/08/fuction.html

函數_陣列偏移 :

函數名稱 _arrayShift(A), 如法泡製除去最末的(A), 回傳值類型 : 選 字符串 對嗎? 函數存儲 : 選 自動 還是 數列 才對?

ChiliWong 發表於 19-6-12 14:43

香港期指15分K圖如下:
Variables:
        DayChange                (False),
        DayUp                        (0),
        DayDown                (99999999);

If time = 0930 then
begin
        //print (date,"        ", time, "        ", DayUp ,"        ", DayDown );
        Value1 = TL_New(Date-1, 0930, DayUp , Date+1, 0100, DayUp );
        Value2 = TL_New(Date-1, 0930, DayDown , Date+1, 0100, DayDown );
        DayUp                =0;
        DayDown        =9999999999;
end;

if time > 0900 then
begin
        if High > DayUp then DayUp = High;
        if Low < DayDown then DayDown = Low;
end;

if DayChange = True and time <=0100 then
begin
        if High > DayUp then DayUp = High;
        if Low < DayDown then DayDown = Low;
        if time = 0100 then
        begin
                DayChange = False;
                //Print (Date,"        ",Time,"        ",DayUp,"        ", DayDown);
        end;
end;

if date <> date then
begin
        DayChange = True;
end;

frostcarter 發表於 20-4-22 22:42

新手上路 受益良多
頁: [1]
查看完整版本: 每日高低價格線的程式碼寫法