![]() |
在這個頁面顯示本主題全部的 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=24068)
求助 點位變色
版主大你你好
這程式是你幫我寫的 每根k棒開盤及收盤 間距太小時 顯示會看會擠在一起 看不到 是否 給我範例或修正 每根K棒 開收間距 <100 就不顯示開盤 收盤價位 只顯示 高低價位ˋ就好
謝謝
//================ 點位變色 =======================
HH:=HIGH*100;
LL:=LOW*100;
k1A:=MOD(HH,100000);
k2A:=MOD(LL,100000);
K1:=K1A/100;
K2:=K2A/100;
LB:=DATACOUNT-40+1; IF LB<1 then exit;
x:=SETLBOUND(CC,LB); x:=SETLBOUND(HH,LB); x:=SETLBOUND(LL,LB);
DH:=CC*0; DL:=DH;
for i=LB to DATACOUNT do begin
for j=i+1 to DATACOUNT do begin
IF CC[j]>HH[i] then begin
DH[i]:=j; break;
end;
end;
for j=i+1 to DATACOUNT do begin
IF CC[j]<LL[i] then begin
DL[i]:=j; break;
end;
end;
end;
//KLINE(OPEN,HIGH,LOW,CLOSE,0);
綠K:=CLOSE<OPEN ;//or CLOSE=OPEN and CLOSE<=REF(CLOSE,1);
x:=SETLBOUND(綠K,LB);
紅K:=NOT(綠K);
K3:=MAX(CLOSE,OPEN);//上緣
K4:=MIN(CLOSE,OPEN);//下緣
CC:=CLOSE*100;
OO:=OPEN*100;
CCA:=MOD(CC,100000);
OOA:=MOD(OO,100000);
CCB:=CCA/100;
OOB:=OOA/100;
//AAA:=ABS (CCB-OOB);
//KK:=IF(AAA>80,1,0);
//IF KK =1 THEN BEGIN
DRAWNUMBER(紅K>0,K3,CCB,PPN) ALIGN0 pxdn20 color00FFFF;
DRAWNUMBER(紅K>0,k4,OOB,PPN) ALIGN0 pxup50 colorFFFFFF;
DRAWNUMBER(綠K>0,K3,OOB,PPN) ALIGN0 pxdn20 colOrFFFFFF;
DRAWNUMBER(綠K>0,k4,CCB,PPN) ALIGN0 pxup50 color00FFFF;
//END;
DRAWNUMBER(DH=0,HIGH,k1,PPN) ALIGN0 pxup60,colorFFFFFF;
DRAWNUMBER(DL=0,LOW,k2,PPN) ALIGN0 pxdn60 colorFFFFFF;
DRAWNUMBER(DH>0,HIGH,k1,PPN) ALIGN0 pxup60,color0000FF;
DRAWNUMBER(DL>0,LOW,k2,PPN) ALIGN0 pxdn60 color00FF00;
//DRAWNUMBER(1,LL,差,0) ALIGN0 pxDN150˙ colorWHITE;//HIGH-LOW 點數
//==================================================================================
回覆: 求助 點位變色
引用:
最初由 ivancclai 發表
版主大你你好
這程式是你幫我寫的 每根k棒開盤及收盤 間距太小時 顯示會看會擠在一起 看不到 是否 給我範例或修正 每根K棒 開收間距 <100 就不顯示開盤 收盤價位 只顯示 高低價位ˋ就好
謝謝
//================ 點位變色 =======================
HH:=HIGH*100;
LL:=LOW*100;
k1A:=MOD(HH,100000);
k2A:=MOD(LL,100000);
K1:=K1A/100;
K2:=K2A/100;
LB:=DATACOUNT-40+1; IF LB<1 then exit;
x:=SETLBOUND(CC,LB); x:=SETLBOUND(HH,LB); x:=SETLBOUND(LL,LB);
DH:=CC*0; DL:=DH;
for i=LB to DATACOUNT do begin
for j=i+1 to DATACOUNT do begin
IF CC[j]>HH[i] then begin
DH[i]:=j; break;
end;
end;
for j=i+1 to DATACOUNT do begin
IF CC[j]<LL[i] then begin
DL[i]:=j; break;
end;
end;
end;
//KLINE(OPEN,HIGH,LOW,CLOSE,0);
綠K:=CLOSE<OPEN ;//or CLOSE=OPEN and CLOSE<=REF(CLOSE,1);
x:=SETLBOUND(綠K,LB);
紅K:=NOT(綠K);
K3:=MAX(CLOSE,OPEN);//上緣
K4:=MIN(CLOSE,OPEN);//下緣
CC:=CLOSE*100;
OO:=OPEN*100;
CCA:=MOD(CC,100000);
OOA:=MOD(OO,100000);
CCB:=CCA/100;
OOB:=OOA/100;
//AAA:=ABS (CCB-OOB);
//KK:=IF(AAA>80,1,0);
//IF KK =1 THEN BEGIN
DRAWNUMBER(紅K>0,K3,CCB,PPN) ALIGN0 pxdn20 color00FFFF;
DRAWNUMBER(紅K>0,k4,OOB,PPN) ALIGN0 pxup50 colorFFFFFF;
DRAWNUMBER(綠K>0,K3,OOB,PPN) ALIGN0 pxdn20 colOrFFFFFF;
DRAWNUMBER(綠K>0,k4,CCB,PPN) ALIGN0 pxup50 color00FFFF;
//END;
DRAWNUMBER(DH=0,HIGH,k1,PPN) ALIGN0 pxup60,colorFFFFFF;
DRAWNUMBER(DL=0,LOW,k2,PPN) ALIGN0 pxdn60 colorFFFFFF;
DRAWNUMBER(DH>0,HIGH,k1,PPN) ALIGN0 pxup60,color0000FF;
DRAWNUMBER(DL>0,LOW,k2,PPN) ALIGN0 pxdn60 color00FF00;
//DRAWNUMBER(1,LL,差,0) ALIGN0 pxDN150˙ colorWHITE;//HIGH-LOW 點數
//==================================================================================
謝謝版主大大
可以了
全部時間均為台灣時間, 現在時間為13:39 | 在這個頁面顯示本主題全部的 3 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.