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

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 求助 如何取 最後60 分K高低點在不同時區顯示 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=24043)


由 ivancclai 在 2024-08-22 04:18 發表:

求助 如何取 最後60 分K高低點在不同時區顯示

版主大大你好

求助 需要顯示行進k棒 (60分K 最後一根的 開高低點顯示不同時區(30/15/5/1 分鐘圖上) 我只會顯示在60 分k上 如下



//===================================行進60 分K=================================================================================
if datatype=5 then begin

//EXPLAIN(1>0,'================'),colorFFFFFF;
DRAWSL(ISLASTBAR ,OPEN,0,0,3) pxdn0 coloRFFFFFF LINETHICK2 LINEDOT;
EXPLAINEX(ISLASTBAR,'行進60K開=',OPEN,0,0), colorFFFFF;
DRAWNUMBER(ISLASTBAR,OPEN,OPEN,0) SHIFT1,colorFFFFFF PXUP40;
DRAWTEXT(ISLASTBAR,OPEN,'行進60k開') SHIFT7,colorFFFFFF PXUP40;


DRAWSL(ISLASTBAR ,HIGH,0,0,3) pxdn0 color0000FF LINETHICK2 LINEDOT;
EXPLAINEX(ISLASTBAR,'行進60K高=',HIGH,0,0), color00F00FF;
DRAWNUMBER(ISLASTBAR,HIGH,HIGH,0) SHIFT1,color0000FF PXUP40;
DRAWTEXT(ISLASTBAR,HIGH,'行進60k高') SHIFT7,color0000FF PXUP40;


DRAWSL(ISLASTBAR ,LOW,0,0,3) pxdn0 coloR00FF00 LINETHICK2 LINEDOT;
EXPLAINEX(ISLASTBAR,'行進60k低=',LOW,0,0), color00FF00;
DRAWNUMBER(ISLASTBAR,LOW,LOW,0) SHIFT1,color00FF00 PXUP40;
DRAWTEXT(ISLASTBAR,LOW,'行進60k低') SHIFT7,color00FF00 PXUP40;

EXPLAIN(1>0,'================'),colorFFFFFF;

end;
//================================================================================================================


由 cgjj 在 2024-08-22 08:46 發表:

回覆: 求助 如何取 最後60 分K高低點在不同時區顯示

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

求助 需要顯示行進k棒 (60分K 最後一根的 開高低點顯示不同時區(30/15/5/1 分鐘圖上) 我只會顯示在60 分k上 如下



//===================================行進60 分K=================================================================================
if datatype=5 then begin

//EXPLAIN(1>0,'================'),colorFFFFFF;
DRAWSL(ISLASTBAR ,OPEN,0,0,3) pxdn0 coloRFFFFFF LINETHICK2 LINEDOT;
EXPLAINEX(ISLASTBAR,'行進60K開=',OPEN,0,0), colorFFFFF;
DRAWNUMBER(ISLASTBAR,OPEN,OPEN,0) SHIFT1,colorFFFFFF PXUP40;
DRAWTEXT(ISLASTBAR,OPEN,'行進60k開') SHIFT7,colorFFFFFF PXUP40;


DRAWSL(ISLASTBAR ,HIGH,0,0,3) pxdn0 color0000FF LINETHICK2 LINEDOT;
EXPLAINEX(ISLASTBAR,'行進60K高=',HIGH,0,0), color00F00FF;
DRAWNUMBER(ISLASTBAR,HIGH,HIGH,0) SHIFT1,color0000FF PXUP40;
DRAWTEXT(ISLASTBAR,HIGH,'行進60k高') SHIFT7,color0000FF PXUP40;


DRAWSL(ISLASTBAR ,LOW,0,0,3) pxdn0 coloR00FF00 LINETHICK2 LINEDOT;
EXPLAINEX(ISLASTBAR,'行進60k低=',LOW,0,0), color00FF00;
DRAWNUMBER(ISLASTBAR,LOW,LOW,0) SHIFT1,color00FF00 PXUP40;
DRAWTEXT(ISLASTBAR,LOW,'行進60k低') SHIFT7,color00FF00 PXUP40;

EXPLAIN(1>0,'================'),colorFFFFFF;

end;
//================================================================================================================



範例如下:僅適用分線,需<=60分鐘,且60/N能整除

CK:=ref(MOD(OPENMINUTES,60)=0,1);
CKSP:=barslast(CK);
MH:HHV(H,CKSP+1);
ML:LLV(L,CKSP+1);
MO:REF(O,CKSP);

PN:=0; //小數位數
DRAWSL(ISLASTBAR ,MO,0,0,3) pxdn2 coloRFFFFFF LINEDOT;
EXPLAINEX(ISLASTBAR,'行進60K開=',MO,PN,0), colorFFFFF;
DRAWNUMBER(ISLASTBAR,MO,MO,PN) SHIFT1,colorFFFFFF PXUP40;
DRAWTEXT(ISLASTBAR,MO,'行進60k開') SHIFT7,colorFFFFFF PXUP40;
DRAWSL(ISLASTBAR ,MH,0,0,3) pxdn2 color0000FF LINEDOT;
EXPLAINEX(ISLASTBAR,'行進60K高=',MH,PN,0), color00F00FF;
DRAWNUMBER(ISLASTBAR,MH,MH,2) SHIFT1,color0000FF PXUP40;
DRAWTEXT(ISLASTBAR,MH,'行進60k高') SHIFT7,color0000FF PXUP40;
DRAWSL(ISLASTBAR ,ML,0,0,3) pxdn2 coloR00FF00 LINEDOT;
EXPLAINEX(ISLASTBAR,'行進60k低=',ML,PN,0), color00FF00;
DRAWNUMBER(ISLASTBAR,ML,ML,PN) SHIFT1,color00FF00 PXUP40;
DRAWTEXT(ISLASTBAR,ML,'行進60k低') SHIFT7,color00FF00 PXUP40;


由 ivancclai 在 2024-08-23 14:17 發表:

可以了 謝謝你 版主大大


由 ivancclai 在 2024-09-24 05:32 發表:

版主大大你好

求助 美股開盤時間是21:30 收盤時間是05:00
我想 只在 這段時間顯示

IF TIME> 213000 AND TIME <050000 THEN BEGIN
主程式

END;

翻譯時都有錯誤 要如何修正 謝謝


由 cgjj 在 2024-09-24 09:03 發表:

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

求助 美股開盤時間是21:30 收盤時間是05:00
我想 只在 這段時間顯示

IF TIME> 213000 AND TIME <050000 THEN BEGIN
主程式

END;

翻譯時都有錯誤 要如何修正 謝謝



TIME 是K棒被編列的時間,其為數列,並非單值
故不能直接帶入 if ... then 的判斷式中

另一種 if(cond, A,B) 才可直接支持數列

TIME> 213000 AND TIME <050000
這判斷式是永遠也不會成立的
必須修正為 TIME> 213000 or TIME <=050000

以下為在該時段標示垂直線的例子:
SS:=TIME> 213000 or TIME <=050000;
VERTLINE(SS);

無論是 DRAWSL、DRAWNUMBER、DRAWTEXT 或其他的繪圖函數...
第一個參數皆為條件,條件成立才做顯示
將 SS 帶入第一個參數,就可以決定要不要顯示


由 ivancclai 在 2024-09-24 17:11 發表:

版主大大 可以了 謝謝


//=============================================台指期 M60==============================
// ======================================== 隔日線 =====================================
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
DECK:=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 DATATYPE <6 and DATATYPE >0 THEN BEGIN //若為1,5,15,30,60分K
CK:=REF(MOD(OPENMINUTES,60)=0,1);
CKSP:=BARSLAST(CK);
UU:=HHV(HIGH,CKSP+1);
DD:=LLV(LOW,CKSP+1);
End;

EXPLAIN(1>0,'================'),colorFFFFFF;
//=====================================================================
DECK:=TRADEDATE<>REF(TRADEDATE,1);

TTCK:=TIME=213000; //冬夏令可能不同,請自行調整
TTSP:=barslast(TTCK);
if datatype=1 then TN:=60; //1分
if datatype=2 then TN:=12; //5分
if datatype=3 then TN:=4; //15分
if datatype=4 then TN:=2; //30分
UU:=HHV(HIGH,TN);
DD:=LLV(LOW,TN);
RUU:=ref(UU,TTSP);
RDD:=ref(DD,TTSP);

//PARTLINE(EDSP>0,RUU+1) COLORFFFF00 LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RUU,0,0,3) pxdn0 color0066FF LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'20:31高 =',RUU,PN,0), color0066FF;
DRAWNUMBER(ISLASTBAR,RUU,RUU,PN) SHIFT3,color0066FF PXUP60;
//DRAWTEXT(ISLASTBAR,RUU,'日60高') SHIFT5,colorFFFF00 PXUP60;

//PARTLINE(EDSP>0,RDD) COLORFFFF00 LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RDD,0,0,3) pxdn0 coloR0066FF LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'21:30低 =',RDD,PN,0), color0066FF;
DRAWNUMBER(ISLASTBAR,RDD,RDD,PN) SHIFT3,color0066FF PXUP60;
//DRAWTEXT(ISLASTBAR,RDD,'日60低') SHIFT5,colorFFFF00 PXUP60;


FILLRGN(DESP>0 AND (TIME >=213000 OR TIME <=50000) , RUU,RDD) color002255;


//===========================================================================================

DECK:=TRADEDATE<>REF(TRADEDATE,1);
TMode:=DECK+ISREGULARFBAR*2;
TMode:=REF(TMode,BARSLAST(TMode<>0)); //交易時段:{1.盤後 2.一般 3.僅一般}
//日尾(黃線)5
EDCK:=TMode>1 and REFX(DECK,1)=1;
EDSP:=BARSLAST(EDCK);
RUU:=REF(UU,EDSP); RDD:=REF(DD,EDSP);

//PARTLINE(EDSP>0 AND (TIME >=150000 OR TIME <213000) ,RUU) COLORFFFF00 LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RUU,0,0,3) pxdn0 colorFFFF00 LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'12:46高 =',RUU,PN,0), colorFFFF00;
DRAWNUMBER(ISLASTBAR,RUU,RUU,PN) SHIFT3,colorFFFF00 PXUP60;
//DRAWTEXT(ISLASTBAR,RUU,'日60高') SHIFT5,colorFFFF00 PXUP60;

//PARTLINE(EDSP>0 AND (TIME >=150000 OR TIME <213000) ,RDD) COLORFFFF00 LINETHICK1 LINEDOT;
//PARTLINE(EDSP>0,RDD) COLORFFFF00 LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RDD,0,0,3) pxdn0 coloRFFFF00 LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'13:45低 =',RDD,PN,0), colorFFFF00;
DRAWNUMBER(ISLASTBAR,RDD,RDD,PN) SHIFT3,colorFFFF00 PXUP60;
//DRAWTEXT(ISLASTBAR,RDD,'日60低') SHIFT5,colorFFFF00 PXUP60;

//STICKLINE(EDCK,UU,DD,0.1,0) COLORFFFF00 LINETHICK1 ;
//STICKLINE(REFX(EDCK,1),RUU,RDD,0.1,0) COLORFFFF00 LINETHICK1;


FILLRGN(DESP>0 AND (TIME >=140000 AND TIME <213000), RUU,RDD) color666600;

//=================================================================
//夜尾(青線)

ENCK:=TMode=1 and REFX(TMode,1)>1;
ENSP:=BARSLAST(ENCK);
RUU:=REF(UU,ENSP); RDD:=REF(DD,ENSP);

//PARTLINE(ENSP>0,RUU+1) COLOR00FFFF LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RUU,0,0,3) pxdn0 coloRFFFF LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'04:01高 =',RUU,PN,0), color00FFFF;
DRAWNUMBER(ISLASTBAR,RUU,RUU,PN) SHIFT3,color00FFFF PXUP60;
//DRAWTEXT(ISLASTBAR,RUU,'夜60高') SHIFT5,color00FFFF PXUP60;

//PARTLINE(ENSP>0,RDD) COLOR00FFFF LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RDD,0,0,3) pxdn0 coloRFFFF LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'05:00低 =',RDD,PN,0), color00FFFF;
//EXPLAIN(1>0,'================'),colorFFFFFF;
DRAWNUMBER(ISLASTBAR,RDD,RDD,PN) SHIFT3,color00FFFF PXUP60;
//DRAWTEXT(ISLASTBAR,RDD,'夜60低') SHIFT5,color00FFFF PXUP60;

//STICKLINE(ENCK,UU,DD,0.1,0) COLOR00FFFF LINETHICK2;
//STICKLINE(REFX(ENCK,1),RUU,RDD,0.1,0) COLOR00FFFF LINETHICK2;
FILLRGN(DESP>0 AND TIME >080000 AND TIME< 140000, RUU,RDD) color006666;
//=============================================================

KLINE(OPEN,HIGH,LOW,CLOSE,0);


由 cgjj 在 2024-09-25 08:27 發表:

引用:
最初由 ivancclai 發表
版主大大 可以了 謝謝


//=============================================台指期 M60==============================
// ======================================== 隔日線 =====================================
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
DECK:=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 DATATYPE <6 and DATATYPE >0 THEN BEGIN //若為1,5,15,30,60分K
CK:=REF(MOD(OPENMINUTES,60)=0,1);
CKSP:=BARSLAST(CK);
UU:=HHV(HIGH,CKSP+1);
DD:=LLV(LOW,CKSP+1);
End;

EXPLAIN(1>0,'================'),colorFFFFFF;
//=====================================================================
DECK:=TRADEDATE<>REF(TRADEDATE,1);

TTCK:=TIME=213000; //冬夏令可能不同,請自行調整
TTSP:=barslast(TTCK);
if datatype=1 then TN:=60; //1分
if datatype=2 then TN:=12; //5分
if datatype=3 then TN:=4; //15分
if datatype=4 then TN:=2; //30分
UU:=HHV(HIGH,TN);
DD:=LLV(LOW,TN);
RUU:=ref(UU,TTSP);
RDD:=ref(DD,TTSP);

//PARTLINE(EDSP>0,RUU+1) COLORFFFF00 LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RUU,0,0,3) pxdn0 color0066FF LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'20:31高 =',RUU,PN,0), color0066FF;
DRAWNUMBER(ISLASTBAR,RUU,RUU,PN) SHIFT3,color0066FF PXUP60;
//DRAWTEXT(ISLASTBAR,RUU,'日60高') SHIFT5,colorFFFF00 PXUP60;

//PARTLINE(EDSP>0,RDD) COLORFFFF00 LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RDD,0,0,3) pxdn0 coloR0066FF LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'21:30低 =',RDD,PN,0), color0066FF;
DRAWNUMBER(ISLASTBAR,RDD,RDD,PN) SHIFT3,color0066FF PXUP60;
//DRAWTEXT(ISLASTBAR,RDD,'日60低') SHIFT5,colorFFFF00 PXUP60;


FILLRGN(DESP>0 AND (TIME >=213000 OR TIME <=50000) , RUU,RDD) color002255;


//===========================================================================================

DECK:=TRADEDATE<>REF(TRADEDATE,1);
TMode:=DECK+ISREGULARFBAR*2;
TMode:=REF(TMode,BARSLAST(TMode<>0)); //交易時段:{1.盤後 2.一般 3.僅一般}
//日尾(黃線)5
EDCK:=TMode>1 and REFX(DECK,1)=1;
EDSP:=BARSLAST(EDCK);
RUU:=REF(UU,EDSP); RDD:=REF(DD,EDSP);

//PARTLINE(EDSP>0 AND (TIME >=150000 OR TIME <213000) ,RUU) COLORFFFF00 LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RUU,0,0,3) pxdn0 colorFFFF00 LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'12:46高 =',RUU,PN,0), colorFFFF00;
DRAWNUMBER(ISLASTBAR,RUU,RUU,PN) SHIFT3,colorFFFF00 PXUP60;
//DRAWTEXT(ISLASTBAR,RUU,'日60高') SHIFT5,colorFFFF00 PXUP60;

//PARTLINE(EDSP>0 AND (TIME >=150000 OR TIME <213000) ,RDD) COLORFFFF00 LINETHICK1 LINEDOT;
//PARTLINE(EDSP>0,RDD) COLORFFFF00 LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RDD,0,0,3) pxdn0 coloRFFFF00 LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'13:45低 =',RDD,PN,0), colorFFFF00;
DRAWNUMBER(ISLASTBAR,RDD,RDD,PN) SHIFT3,colorFFFF00 PXUP60;
//DRAWTEXT(ISLASTBAR,RDD,'日60低') SHIFT5,colorFFFF00 PXUP60;

//STICKLINE(EDCK,UU,DD,0.1,0) COLORFFFF00 LINETHICK1 ;
//STICKLINE(REFX(EDCK,1),RUU,RDD,0.1,0) COLORFFFF00 LINETHICK1;


FILLRGN(DESP>0 AND (TIME >=140000 AND TIME <213000), RUU,RDD) color666600;

//=================================================================
//夜尾(青線)

ENCK:=TMode=1 and REFX(TMode,1)>1;
ENSP:=BARSLAST(ENCK);
RUU:=REF(UU,ENSP); RDD:=REF(DD,ENSP);

//PARTLINE(ENSP>0,RUU+1) COLOR00FFFF LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RUU,0,0,3) pxdn0 coloRFFFF LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'04:01高 =',RUU,PN,0), color00FFFF;
DRAWNUMBER(ISLASTBAR,RUU,RUU,PN) SHIFT3,color00FFFF PXUP60;
//DRAWTEXT(ISLASTBAR,RUU,'夜60高') SHIFT5,color00FFFF PXUP60;

//PARTLINE(ENSP>0,RDD) COLOR00FFFF LINETHICK1 LINEDOT;
DRAWSL(ISLASTBAR ,RDD,0,0,3) pxdn0 coloRFFFF LINETHICK1 LINEDOT;
EXPLAINEX(1>0,'05:00低 =',RDD,PN,0), color00FFFF;
//EXPLAIN(1>0,'================'),colorFFFFFF;
DRAWNUMBER(ISLASTBAR,RDD,RDD,PN) SHIFT3,color00FFFF PXUP60;
//DRAWTEXT(ISLASTBAR,RDD,'夜60低') SHIFT5,color00FFFF PXUP60;

//STICKLINE(ENCK,UU,DD,0.1,0) COLOR00FFFF LINETHICK2;
//STICKLINE(REFX(ENCK,1),RUU,RDD,0.1,0) COLOR00FFFF LINETHICK2;
FILLRGN(DESP>0 AND TIME >080000 AND TIME< 140000, RUU,RDD) color006666;
//=============================================================

KLINE(OPEN,HIGH,LOW,CLOSE,0);



其中這段程式碼

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
DECK:=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);

可直接簡化為

DECK:Tradedate<>ref(Tradedate,1) or IsRegularFBar;
DESP:=BARSLAST(DECK);


由 ivancclai 在 2024-11-03 09:10 發表:

版主你好


我 要顯示最後一根ˊ60 分k 開高低值 在不同時區(1/5/15/30 分K時區上前面小時k 不顯示
要如何修改 我不會需要求助版主 




//======================= 行進60 分K  開高低 ===========
IF DATATYPE <6 or datatype=12 then begin
CK60:=REF(MOD(OPENMINUTES,60)=0,1);
CKSP60:=BARSLAST(CK60);
MH60:HHV(HIGH,CKSP60+1) color0000FF LINETHICK1 LINEDASH;
ML60:LLV(LOW,CKSP60+1) color00FF00 LINETHICK1 LINEDASH;
MO60:REF(OPEN,CKSP60) colorFFFFFF LINETHICK1 LINEDASH;

//PN:=0; //小數位數
DRAWSL(ISLASTBAR ,MO60,0,0,3) coloRFFFFFF LINEDASH linethick1;
//DRAWSL(ISLASTBAR ,MO60,0,0,1) coloRFFFFFF linethick1 LINEDOT;
DRAWNUMBER(ISLASTBAR,MO60,MO60,PN) SHIFT3,coLorFFFFFF PXUP60;
DRAWTEXT(ISLASTBAR,MO60,'60k開') SHIFT7,colorFFFFFF PXUP60;

DRAWSL(ISLASTBAR ,MH60,0,0,3) color0000FF LINETHICK1 LINEDASH;
//DRAWSL(ISLASTBAR ,MH60,0,0,1) colorFF LINETHICK1 LINEDOT ;
DRAWNUMBER(ISLASTBAR,MH60,MH60,PN) SHIFT3,color0000FF PXUP60;
DRAWTEXT(ISLASTBAR,MH60,'60k高') SHIFT7,color0000FF PXUP60;

DRAWSL(ISLASTBAR ,ML60,0,0,3) coloR00FF00 LINETHICK1 LINEDASH;
//DRAWSL(ISLASTBAR ,ML60,0,0,1), coloRFF00 LINETHICK1 LINEDOT;
DRAWNUMBER(ISLASTBAR,ML60,ML60,PN) SHIFT3,color00FF00 PXUP60;
DRAWTEXT(ISLASTBAR,ML60,'60低') SHIFT7,color00FF00 PXUP60;
K60:= MH60-ML60;

EXPLAIN(1,'================'),colorFFFFFF;
EXPLAINEX(ISLASTBAR,'行進60K高=',MH60,PN,0), color0000FF;
EXPLAINEX(ISLASTBAR,'行進60K開=',MO60,PN,0), colorFFFFFF;
EXPLAINEX(ISLASTBAR,'行進60k低=',ML60,PN,0), color00FF00;
EXPLAINEX(ISLASTBAR,'行進60k差=',K60,PN,0), colorFFFFFF;
EXPLAIN(1,'================'),colorFFFFFF;
end;
//==================================================================


由 cgjj 在 2024-11-03 16:00 發表:

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


我 要顯示最後一根ˊ60 分k 開高低值 在不同時區(1/5/15/30 分K時區上前面小時k 不顯示
要如何修改 我不會需要求助版主 




//======================= 行進60 分K  開高低 ===========
IF DATATYPE <6 or datatype=12 then begin
CK60:=REF(MOD(OPENMINUTES,60)=0,1);
CKSP60:=BARSLAST(CK60);
MH60:HHV(HIGH,CKSP60+1) color0000FF LINETHICK1 LINEDASH;
ML60:LLV(LOW,CKSP60+1) color00FF00 LINETHICK1 LINEDASH;
MO60:REF(OPEN,CKSP60) colorFFFFFF LINETHICK1 LINEDASH;

//PN:=0; //小數位數
DRAWSL(ISLASTBAR ,MO60,0,0,3) coloRFFFFFF LINEDASH linethick1;
//DRAWSL(ISLASTBAR ,MO60,0,0,1) coloRFFFFFF linethick1 LINEDOT;
DRAWNUMBER(ISLASTBAR,MO60,MO60,PN) SHIFT3,coLorFFFFFF PXUP60;
DRAWTEXT(ISLASTBAR,MO60,'60k開') SHIFT7,colorFFFFFF PXUP60;

DRAWSL(ISLASTBAR ,MH60,0,0,3) color0000FF LINETHICK1 LINEDASH;
//DRAWSL(ISLASTBAR ,MH60,0,0,1) colorFF LINETHICK1 LINEDOT ;
DRAWNUMBER(ISLASTBAR,MH60,MH60,PN) SHIFT3,color0000FF PXUP60;
DRAWTEXT(ISLASTBAR,MH60,'60k高') SHIFT7,color0000FF PXUP60;

DRAWSL(ISLASTBAR ,ML60,0,0,3) coloR00FF00 LINETHICK1 LINEDASH;
//DRAWSL(ISLASTBAR ,ML60,0,0,1), coloRFF00 LINETHICK1 LINEDOT;
DRAWNUMBER(ISLASTBAR,ML60,ML60,PN) SHIFT3,color00FF00 PXUP60;
DRAWTEXT(ISLASTBAR,ML60,'60低') SHIFT7,color00FF00 PXUP60;
K60:= MH60-ML60;

EXPLAIN(1,'================'),colorFFFFFF;
EXPLAINEX(ISLASTBAR,'行進60K高=',MH60,PN,0), color0000FF;
EXPLAINEX(ISLASTBAR,'行進60K開=',MO60,PN,0), colorFFFFFF;
EXPLAINEX(ISLASTBAR,'行進60k低=',ML60,PN,0), color00FF00;
EXPLAINEX(ISLASTBAR,'行進60k差=',K60,PN,0), colorFFFFFF;
EXPLAIN(1,'================'),colorFFFFFF;
end;
//==================================================================



原碼:
//======================= 行進60 分K  開高低 =========== IF DATATYPE <6 or datatype=12 then begin CK60:=REF(MOD(OPENMINUTES,60)=0,1); CKSP60:=BARSLAST(CK60); if lbound(CKSP60)=0 then exit; //K棒不足 StK:=datacount-CKSP60[datacount]; x:=SETLBOUND(CKSP60,Stk); MH60:HHV(HIGH,CKSP60+1) color0000FF LINETHICK0; ML60:LLV(LOW,CKSP60+1) color00FF00 LINETHICK0; MO60:REF(OPEN,CKSP60) colorFFFFFF LINETHICK0; //PN:=0; //小數位數 DRAWSL(ISLASTBAR ,MO60,0,0,3) coloRFFFFFF LINEDASH linethick1; //DRAWSL(ISLASTBAR ,MO60,0,0,1) coloRFFFFFF linethick1 LINEDOT; DRAWNUMBER(ISLASTBAR,MO60,MO60,PN) SHIFT3,coLorFFFFFF PXUP60; DRAWTEXT(ISLASTBAR,MO60,'60k開') SHIFT7,colorFFFFFF PXUP60; DRAWSL(ISLASTBAR ,MH60,0,0,3) color0000FF LINETHICK1 LINEDASH; //DRAWSL(ISLASTBAR ,MH60,0,0,1) colorFF LINETHICK1 LINEDOT ; DRAWNUMBER(ISLASTBAR,MH60,MH60,PN) SHIFT3,color0000FF PXUP60; DRAWTEXT(ISLASTBAR,MH60,'60k高') SHIFT7,color0000FF PXUP60; DRAWSL(ISLASTBAR ,ML60,0,0,3) coloR00FF00 LINETHICK1 LINEDASH; //DRAWSL(ISLASTBAR ,ML60,0,0,1), coloRFF00 LINETHICK1 LINEDOT; DRAWNUMBER(ISLASTBAR,ML60,ML60,PN) SHIFT3,color00FF00 PXUP60; DRAWTEXT(ISLASTBAR,ML60,'60低') SHIFT7,color00FF00 PXUP60; K60:= MH60-ML60; EXPLAIN(1,'================'),colorFFFFFF; EXPLAINEX(ISLASTBAR,'行進60K高=',MH60,PN,0), color0000FF; EXPLAINEX(ISLASTBAR,'行進60K開=',MO60,PN,0), colorFFFFFF; EXPLAINEX(ISLASTBAR,'行進60k低=',ML60,PN,0), color00FF00; EXPLAINEX(ISLASTBAR,'行進60k差=',K60,PN,0), colorFFFFFF; EXPLAIN(1,'================'),colorFFFFFF; end; //==================================================================


由 ivancclai 在 2024-11-05 14:59 發表:

版主你好


謝謝你 可以了


由 ivancclai 在 2024-11-07 09:49 發表:

版主你好

我要加一新功能畫線

在最後這60分鐘在不同更小時區畫線
取最高點 從這一小時開始至 LAST BAST 在更小時區中 我怎麼寫就是畫錯 需要版主的協助 謝謝


CK60:=REF(MOD(OPENMINUTES,60)=0,1);
CKSP60:=BARSLAST(CK60);
IF LBOUND(CKSP60)=0 then exit; //K棒不足
StK:=DATACOUNT-CKSP60[DATACOUNT];
x:=SETLBOUND(CKSP60,Stk);
MH60:HHV(HIGH,CKSP60+1) colorFF33FF LINETHICK5 LINEDASH ;
ML60:LLV(LOW,CKSP60+1) colorFFFF00 LINETHICK2 LINEDASH;
MO60:REF(OPEN,CKSP60) colorFFFFFF LINETHICK5 LINEDASH;

//MH60A:=HHV(HIGH,CKSP60+1) COLOR0000FF LINEthick5 LINEDASH;
//ML60A:=LLV(LOW,CKSP60+1) COLOR00FF00 LINETHICK3 LINEDASH;
//DRAWLINE(CK60,MH60A,ISLASTBAR,MH60A,0) COLOR0000FF LINETHICK5;
//DRAWLINE(CK60,ML60A,ISLASTBAR,ML60A,0) COLOR00FF00 LINETHICK5;


由 cgjj 在 2024-11-07 11:50 發表:

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

我要加一新功能畫線

在最後這60分鐘在不同更小時區畫線
取最高點 從這一小時開始至 LAST BAST 在更小時區中 我怎麼寫就是畫錯 需要版主的協助 謝謝


CK60:=REF(MOD(OPENMINUTES,60)=0,1);
CKSP60:=BARSLAST(CK60);
IF LBOUND(CKSP60)=0 then exit; //K棒不足
StK:=DATACOUNT-CKSP60[DATACOUNT];
x:=SETLBOUND(CKSP60,Stk);
MH60:HHV(HIGH,CKSP60+1) colorFF33FF LINETHICK5 LINEDASH ;
ML60:LLV(LOW,CKSP60+1) colorFFFF00 LINETHICK2 LINEDASH;
MO60:REF(OPEN,CKSP60) colorFFFFFF LINETHICK5 LINEDASH;

//MH60A:=HHV(HIGH,CKSP60+1) COLOR0000FF LINEthick5 LINEDASH;
//ML60A:=LLV(LOW,CKSP60+1) COLOR00FF00 LINETHICK3 LINEDASH;
//DRAWLINE(CK60,MH60A,ISLASTBAR,MH60A,0) COLOR0000FF LINETHICK5;
//DRAWLINE(CK60,ML60A,ISLASTBAR,ML60A,0) COLOR00FF00 LINETHICK5;



無法精確了解您意思,可否畫個圖例呢?


由 ivancclai 在 2024-11-07 16:34 發表:

版主你好

假設目前畫法 會整個畫面都看到ˊ60 分k 高低
我要從這一小時起點
開始向畫面右邊畫 左邊不要出現 如圖例


由 cgjj 在 2024-11-07 16:45 發表:

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

假設目前畫法 會整個畫面都看到ˊ60 分k 高低
我要從這一小時起點
開始向畫面右邊畫 左邊不要出現 如圖例



原碼:
IF DATATYPE <6 or datatype=12 then begin CK60:=REF(MOD(OPENMINUTES,60)=0,1); CKSP60:=BARSLAST(CK60); if lbound(CKSP60)=0 then exit; //K棒不足 StK:=datacount-CKSP60[datacount]; x:=SETLBOUND(CKSP60,Stk); MH60:HHV(HIGH,CKSP60+1) color0000FF LINETHICK0; ML60:LLV(LOW,CKSP60+1) color00FF00 LINETHICK0; MO60:REF(OPEN,CKSP60) colorFFFFFF LINETHICK0; DWL:=CKSP60[datacount]; DWCK:=ISLASTBAR and DWL>0; //PN:=0; //小數位數 DRAWSL(ISLASTBAR ,MO60,0,0,3) coloRFFFFFF LINEDASH pxdn2; DRAWSL(DWCK,MO60,0,-DWL,1) coloRFFFFFF pxdn2; DRAWNUMBER(ISLASTBAR,MO60,MO60,PN) SHIFT3,coLorFFFFFF PXUP60; DRAWTEXT(ISLASTBAR,MO60,'60k開') SHIFT7,colorFFFFFF PXUP60; DRAWSL(ISLASTBAR ,MH60,0,0,3) color0000FF LINEDASH pxdn2; DRAWSL(DWCK,MH60,0,-DWL,1) color0000FF pxdn2; DRAWNUMBER(ISLASTBAR,MH60,MH60,PN) SHIFT3,color0000FF PXUP60; DRAWTEXT(ISLASTBAR,MH60,'60k高') SHIFT7,color0000FF PXUP60; DRAWSL(ISLASTBAR ,ML60,0,0,3) coloR00FF00 LINEDASH pxdn2; DRAWSL(DWCK,ML60,0,-DWL,1) coloR00FF00 pxdn2; DRAWNUMBER(ISLASTBAR,ML60,ML60,PN) SHIFT3,color00FF00 PXUP60; DRAWTEXT(ISLASTBAR,ML60,'60低') SHIFT7,color00FF00 PXUP60; K60:= MH60-ML60; EXPLAIN(1,'================'),colorFFFFFF; EXPLAINEX(ISLASTBAR,'行進60K高=',MH60,PN,0), color0000FF; EXPLAINEX(ISLASTBAR,'行進60K開=',MO60,PN,0), colorFFFFFF; EXPLAINEX(ISLASTBAR,'行進60k低=',ML60,PN,0), color00FF00; EXPLAINEX(ISLASTBAR,'行進60k差=',K60,PN,0), colorFFFFFF; EXPLAIN(1,'================'),colorFFFFFF; end;


由 ivancclai 在 2024-11-07 17:12 發表:

版主你好

可以了 謝謝你


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


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

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