奇狐社區論壇 總頁數 (3): « 1 2 [3]
在這個頁面顯示本主題全部的 42 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 如何顯示K棒的正中間 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=23795)


由 ivancclai 在 2023-11-15 03:24 發表:

版主大大你好

修改後的
改用 ReFX(H,1)-(H-L) 之值與未來的H做比較
改用 refx(L,1)+((H-L) 之值與未來的L做比我還是不會陣列 謝謝你 謝謝你


Rexf(H,1)-(H-L) 應該是 Refx(H,1)-(H-L) 我打字的問題

請在幫我看看 謝謝


由 ivancclai 在 2023-11-15 03:32 發表:

版主大大你好


這是我 還不會修改


//=================================k棒 高低點============================================

HH:=H; LL:=L;
k1:=mod(HH,100000);
k2:=mod(LL,100000);

DH:=C*0; DL:=DH;
for i=1 to datacount do begin
for j=i+1 to datacount do begin
if HH[j]>HH[i] then begin
DH[i]:=j; break;
end;
end;
for j=i+1 to datacount do begin
if LL[j]<LL[i] then begin
DL[i]:=j; break;
end;
end;
end;
DRAWNUMBER(DH=0,HH,k1,0) ALIGN0 pxup25,colorWHITE;
DRAWNUMBER(DL=0,LL,k2,0) ALIGN0 pxdn25 colorWHITE;
DRAWNUMBER(DH>0,HH,k1,0) ALIGN0 pxup25,colorRED;
DRAWNUMBER(DL>0,LL,k2,0) ALIGN0 pxdn25 colorGREEN;
DRAWNUMBER(1,LL,HH-LL,0) ALIGN0 pxDN100 colorWHITE;//H-L 點數

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

//==================== 堆K ===========================================
HH:=H; LL:=L;
DH:=C*0; DL:=DH; 差:=HH-LL;
for i=2 to datacount-1 do begin
for j=i+1 to datacount do begin
if HH[j]>HH[i+1]-差[i] then begin
DH[i]:=j; break;
end;
end;
for j=i+1 to datacount do begin
if LL[j]<LL[i+1]+差[i] then begin
DL[i]:=j; break;
end;
end;
end;

REFXH:=mod(REFx(HIGH,1),100000);
REFXL:=mod(REFx(LOW,1),100000);
DRAWNUMBER(DH=0,HH,REFXL+(HIGH-LOW),0) ALIGN1 pxup75,colorWHITE;
DRAWNUMBER(DL=0,LL,REFXH-(HIGH-LOW),0) ALIGN1 pxdn75 colorWHITE;
DRAWTEXT(DH=0, HH, '+S=') align2,colorWHITE,PXUP75;
DRAWTEXT(DL=0, LL, '-s=') align2,colorWHITE,PXDN75;


DRAWNUMBER(DH>0,HH, REFXL+(HIGH-LOW),0) ALIGN1 pxup75,colorRED;
DRAWTEXT(DH>0, HH, '+S=') align2,colorRED,PXUP75;
DRAWNUMBER(DL>0,LL,REFXH-(HIGH-LOW),0) ALIGN1 pxdn75 colorGREEN;
DRAWTEXT(DL>0, LL,'-s=') align2,colorGREEN,PXDN75;
//=============================================================================

SH:=SYSPARAM(4); SL:=SYSPARAM(5); SS:=SH-SL;
STICKLINE(1,SH+SS*0.1,SL-SS*0.1,0,0) COLORTRANSPARENT;

目前數字是對的

K棒高低點位 顏色變化是正確的
+S and -S 數字正確 顏色變化還是不正確 我不會修改 可以幫我看看 謝謝


由 cgjj 在 2023-11-15 10:38 發表:

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


這是我 還不會修改


//=================================k棒 高低點============================================

HH:=H; LL:=L;
k1:=mod(HH,100000);
k2:=mod(LL,100000);

DH:=C*0; DL:=DH;
for i=1 to datacount do begin
for j=i+1 to datacount do begin
if HH[j]>HH[i] then begin
DH[i]:=j; break;
end;
end;
for j=i+1 to datacount do begin
if LL[j]<LL[i] then begin
DL[i]:=j; break;
end;
end;
end;
DRAWNUMBER(DH=0,HH,k1,0) ALIGN0 pxup25,colorWHITE;
DRAWNUMBER(DL=0,LL,k2,0) ALIGN0 pxdn25 colorWHITE;
DRAWNUMBER(DH>0,HH,k1,0) ALIGN0 pxup25,colorRED;
DRAWNUMBER(DL>0,LL,k2,0) ALIGN0 pxdn25 colorGREEN;
DRAWNUMBER(1,LL,HH-LL,0) ALIGN0 pxDN100 colorWHITE;//H-L 點數

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

//==================== 堆K ===========================================
HH:=H; LL:=L;
DH:=C*0; DL:=DH; 差:=HH-LL;
for i=2 to datacount-1 do begin
for j=i+1 to datacount do begin
if HH[j]>HH[i+1]-差[i] then begin
DH[i]:=j; break;
end;
end;
for j=i+1 to datacount do begin
if LL[j]<LL[i+1]+差[i] then begin
DL[i]:=j; break;
end;
end;
end;

REFXH:=mod(REFx(HIGH,1),100000);
REFXL:=mod(REFx(LOW,1),100000);
DRAWNUMBER(DH=0,HH,REFXL+(HIGH-LOW),0) ALIGN1 pxup75,colorWHITE;
DRAWNUMBER(DL=0,LL,REFXH-(HIGH-LOW),0) ALIGN1 pxdn75 colorWHITE;
DRAWTEXT(DH=0, HH, '+S=') align2,colorWHITE,PXUP75;
DRAWTEXT(DL=0, LL, '-s=') align2,colorWHITE,PXDN75;


DRAWNUMBER(DH>0,HH, REFXL+(HIGH-LOW),0) ALIGN1 pxup75,colorRED;
DRAWTEXT(DH>0, HH, '+S=') align2,colorRED,PXUP75;
DRAWNUMBER(DL>0,LL,REFXH-(HIGH-LOW),0) ALIGN1 pxdn75 colorGREEN;
DRAWTEXT(DL>0, LL,'-s=') align2,colorGREEN,PXDN75;
//=============================================================================

SH:=SYSPARAM(4); SL:=SYSPARAM(5); SS:=SH-SL;
STICKLINE(1,SH+SS*0.1,SL-SS*0.1,0,0) COLORTRANSPARENT;

目前數字是對的

K棒高低點位 顏色變化是正確的
+S and -S 數字正確 顏色變化還是不正確 我不會修改 可以幫我看看 謝謝



您確定數字沒錯嗎?

前面說的
Refx(H,1)-(H-L)
Refx(L,1)+(H-L)

與您這兩行(紅字部分)
DRAWNUMBER(DH=0,HH,REFXL+(HIGH-LOW),0) ALIGN1 pxup75,colorWHITE;
DRAWNUMBER(DL=0,LL,REFXH-(HIGH-LOW),0) ALIGN1 pxdn75 colorWHITE;

兩者的邏輯不一致!!!


由 ivancclai 在 2023-11-15 10:43 發表:

版主大大你好


我要的是我寫 謝謝你 可以幫我改成此邏輯

Refx(H,1)-(H-L)
Refx(L,1)+(H-L)

DRAWNUMBER(DH=0,HH,REFXL+(HIGH-LOW),0) ALIGN1 pxup75,colorWHITE;
DRAWNUMBER(DL=0,LL,REFXH-(HIGH-LOW),0) ALIGN1 pxdn75 colorWHITE;

寫程式的部分才正確 謝謝

謝謝


由 cgjj 在 2023-11-15 10:54 發表:

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


我要的是我寫 謝謝你 可以幫我改成此邏輯

Refx(H,1)-(H-L)
Refx(L,1)+(H-L)

DRAWNUMBER(DH=0,HH,REFXL+(HIGH-LOW),0) ALIGN1 pxup75,colorWHITE;
DRAWNUMBER(DL=0,LL,REFXH-(HIGH-LOW),0) ALIGN1 pxdn75 colorWHITE;

寫程式的部分才正確 謝謝

謝謝



"寫程式的部分" 所指為何??? @@
您還是沒有講清楚,那一個才是正確的!!!


由 ivancclai 在 2023-11-15 10:54 發表:

我不知道這兩者有何差異


由 ivancclai 在 2023-11-15 10:55 發表:

DRAWNUMBER(DH=0,HH,REFXL+(HIGH-LOW),0) ALIGN1 pxup75,colorWHITE;
DRAWNUMBER(DL=0,LL,REFXH-(HIGH-LOW),0) ALIGN1 pxdn75 colorWHITE;
這一個正確 我debug 過


由 cgjj 在 2023-11-15 11:41 發表:

引用:
最初由 ivancclai 發表
我不知道這兩者有何差異


抱歉,前面我貼錯段落了
要貼 DH>0 和 DL>0 段落
卻誤貼為 DH=0 和 DL=0 段落

重新描述如下:

按先前的定義是:
改用 refx(H,1)-(H-L) 之值與未來的H做比較,若未來的H大過該值,則 DH>0 顯示紅
改用 refx(L,1)+(H-L) 之值與未來的L做比較,若未來的L小過該值,則 DL>0 顯示綠

而您現在撰寫的卻是:
DRAWNUMBER(DH>0,HH, REFXL+(HIGH-LOW),0) ALIGN1 pxup75,colorRED;
DRAWTEXT(DH>0, HH, '+S=') align2,colorRED,PXUP75;
DRAWNUMBER(DL>0,LL,REFXH-(HIGH-LOW),0) ALIGN1 pxdn75 colorGREEN;
式子中
當 DH>0 成立時,採 REFXL+(HIGH-LOW) 這個數畫紅,也就是 refx(L,1)+(H-L)
當 DL>0 成立時,採 REFXH-(HIGH-LOW) 這個數畫綠,也就是 refx(H,1)-(H-L)

DRAWNUMBER標示的數,與計算紅綠比較用的數,兩者不一致(相反了)!!!


由 ivancclai 在 2023-11-15 13:56 發表:

版主大大你好

謝謝你的解釋 要如何修正計算值跟 DRAWNUMBER 一致呢

按定義是:
改用 refx(L,1)+(H-L) 之值與未來的H做比較,若未來的H大過該值,則 DH>0 顯示紅
改用 refx(H,1)-(H-L) 之值與未來的L做比較,若未來的L小過該值,則 DL>0 顯示綠

謝謝版ˋ主大大


由 cgjj 在 2023-11-15 14:54 發表:

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

謝謝你的解釋 要如何修正計算值跟 DRAWNUMBER 一致呢

按定義是:
改用 refx(L,1)+(H-L) 之值與未來的H做比較,若未來的H大過該值,則 DH>0 顯示紅
改用 refx(H,1)-(H-L) 之值與未來的L做比較,若未來的L小過該值,則 DL>0 顯示綠

謝謝版ˋ主大大



原碼:
HH:=H; LL:=L; k1:=mod(HH,1000); k2:=mod(LL,1000); DH:=C*0; DL:=DH; 差:=HH-LL; for i=2 to datacount-1 do begin for j=i+1 to datacount do begin if HH[j]>LL[i+1]+差[i] then begin DH[i]:=j; break; end; end; for j=i+1 to datacount do begin if LL[j]<HH[i+1]-差[i] then begin DL[i]:=j; break; end; end; end;


由 ivancclai 在 2023-11-18 06:01 發表:

謝謝版主大大

我測試過是我需要的


由 ivancclai 在 2023-11-18 06:06 發表:

如圖例


全部時間均為台灣時間, 現在時間為04:30 總頁數 (3): « 1 2 [3]
在這個頁面顯示本主題全部的 42 個文章


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

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