奇狐社區論壇
在這個頁面顯示本主題全部的 3 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 求救 昨日開高低收 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=24051)


由 ivancclai 在 2024-08-26 04:12 發表:

求救 昨日開高低收

版主你好

若將每日分成 早午盤 時 要顯示昨天的開高低收 可以 幫我看看下列程式 昨低 一直有誤有誤


// ================= 隔日線 =====================================
IF DATATYPE =1 THEN BEGIN //1分K
DECK:=Tradedate<>ref(Tradedate,1) or Time = 84600;
End;
IF DATATYPE =2 THEN BEGIN //5分K
DECK:=Tradedate<>ref(Tradedate,1) or Time = 85000;
End;
IF DATATYPE =3 THEN BEGIN //15分K
DECK:=Tradedate<>ref(Tradedate,1) or Time=90000;
End;
IF DATATYPE =4 THEN BEGIN //30分K
DECK1:=Tradedate<>ref(Tradedate,1) or Time=91500;
End;
IF DATATYPE =5 THEN BEGIN //60分K
DECK:=Tradedate<>ref(Tradedate,1) or Time=94500;
End;

DESP:=BARSLAST(DECK);
IF DATAPERIOD < 7 THEN BEGIN // <60分K
VERTLINE(DECK) Color00ffff linedot; //標示換交易日(垂直分隔線)
KLINE(O,H,L,C,0);
END;
// ======================================================================
// =================================== 昨天開高低收及三關價=================================================
昨收:Ref(cLose,(DESP)+1) color8888, LINETHICK5;
DRAWSL(ISLASTBAR ,昨收,0,0,3) pxdn0 color00FFFF LINETHICK1 PXDN0 LINEDOT;
DRAWNUMBER(ISLASTBAR,昨收,昨收,0) SHIFT1,colorFFFF PXUP40;
DRAWTEXT(ISLASTBAR,昨收,'昨收/平盤線') SHIFT5,colorFFFF PXUP40;

昨開:ref(ref(O,DESP),DESP+1) colorFFFFFF LINETHICK2;
DRAWTEXT(ISLASTBAR,昨開,' 昨開 ')colorFFFFFF, LINETHICK1,SHIFT5 ;
DRAWNUMBER(ISLASTBAR,昨開,昨開,0) SHIFT1 , colorFFFFFF ;


昨高:ref(HHV(H,DESP+1),DESP+1) COLOR000088 LINETHICK1;
DRAWTEXT(ISLASTBAR,昨高,' 昨高 ')color0000FF, SHIFT5 ,LINETHICK1 ;
DRAWNUMBER(ISLASTBAR,昨高,昨高,0) SHIFT1 , color0000FF;

昨低:ref(LLV(L,DESP-1),DESP+1) COLOR008800 LINETHICK1 ;
DRAWTEXT(ISLASTBAR,昨低,' 昨低 ')color00FF00, SHIFT5 , LINETHICK1 ;
DRAWNUMBER(ISLASTBAR,昨低,昨低,0) SHIFT1 , color00FF00 ;


由 cgjj 在 2024-08-26 09:59 發表:

回覆: 求救 昨日開高低收

引用:
最初由 ivancclai 發表
版主你好

若將每日分成 早午盤 時 要顯示昨天的開高低收 可以 幫我看看下列程式 昨低 一直有誤有誤


// ================= 隔日線 =====================================
IF DATATYPE =1 THEN BEGIN //1分K
DECK:=Tradedate<>ref(Tradedate,1) or Time = 84600;
End;
IF DATATYPE =2 THEN BEGIN //5分K
DECK:=Tradedate<>ref(Tradedate,1) or Time = 85000;
End;
IF DATATYPE =3 THEN BEGIN //15分K
DECK:=Tradedate<>ref(Tradedate,1) or Time=90000;
End;
IF DATATYPE =4 THEN BEGIN //30分K
DECK1:=Tradedate<>ref(Tradedate,1) or Time=91500;
End;
IF DATATYPE =5 THEN BEGIN //60分K
DECK:=Tradedate<>ref(Tradedate,1) or Time=94500;
End;

DESP:=BARSLAST(DECK);
IF DATAPERIOD < 7 THEN BEGIN // <60分K
VERTLINE(DECK) Color00ffff linedot; //標示換交易日(垂直分隔線)
KLINE(O,H,L,C,0);
END;
// ======================================================================
// =================================== 昨天開高低收及三關價=================================================
昨收:Ref(cLose,(DESP)+1) color8888, LINETHICK5;
DRAWSL(ISLASTBAR ,昨收,0,0,3) pxdn0 color00FFFF LINETHICK1 PXDN0 LINEDOT;
DRAWNUMBER(ISLASTBAR,昨收,昨收,0) SHIFT1,colorFFFF PXUP40;
DRAWTEXT(ISLASTBAR,昨收,'昨收/平盤線') SHIFT5,colorFFFF PXUP40;

昨開:ref(ref(O,DESP),DESP+1) colorFFFFFF LINETHICK2;
DRAWTEXT(ISLASTBAR,昨開,' 昨開 ')colorFFFFFF, LINETHICK1,SHIFT5 ;
DRAWNUMBER(ISLASTBAR,昨開,昨開,0) SHIFT1 , colorFFFFFF ;


昨高:ref(HHV(H,DESP+1),DESP+1) COLOR000088 LINETHICK1;
DRAWTEXT(ISLASTBAR,昨高,' 昨高 ')color0000FF, SHIFT5 ,LINETHICK1 ;
DRAWNUMBER(ISLASTBAR,昨高,昨高,0) SHIFT1 , color0000FF;

昨低:ref(LLV(L,DESP-1),DESP+1) COLOR008800 LINETHICK1 ;
DRAWTEXT(ISLASTBAR,昨低,' 昨低 ')color00FF00, SHIFT5 , LINETHICK1 ;
DRAWNUMBER(ISLASTBAR,昨低,昨低,0) SHIFT1 , color00FF00 ;



不需要如此麻煩,範例如下:

SWCK:=Tradedate<>ref(Tradedate,1) or IsRegularFBar;
SWSP:=barslast(SWCK);
昨開:ref(O,SWSP+1+ref(SWSP,SWSP+1)) colorFFFFFF;
昨高:ref(HHV(H,SWSP+1),SWSP+1);
昨低:ref(LLV(L,SWSP+1),SWSP+1);
昨收:ref(C,SWSP+1);


由 ivancclai 在 2024-08-29 05:02 發表:

謝謝 可以用了


全部時間均為台灣時間, 現在時間為07:06
在這個頁面顯示本主題全部的 3 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.