奇狐社區論壇 總頁數 (6): [1] 2 3 » ... 最末頁 »
在這個頁面顯示本主題全部的 78 個文章

奇狐社區論壇 (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=23494)


由 a9681054 在 2022-11-07 22:08 發表:

畫箱問題

版主你好

//
x:=H>ref(H,1) and H>refx(H,1);
近1高:ref(H,barslast(X)) linethick1 COLORYELLOW;
近2高:ref(H,sumbars(X,2)-1) linethick;
近3高:ref(H,sumbars(X,3)-1) linethick;

//
Y:LOW<REF(LOW,1) and LOW<REFX(LOW,1);
近1低:REF(LOW,BARSLAST(y)) linethick1 COLORGREEN;
近2低:REF(LOW,SUMBARS(y,2)-1) linethick COLORGREEN;
近3低:REF(LOW,SUMBARS(y,3)-1) linethick COLORYELLOW;

//
M1:IF(近1低<近2低 OR LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY;
VERTLINE(M1)LINEDOT COLORWHITE;

//
RCk:=M1;//當M1破近1低時,往前取這區間的高點與低點範圍K棒,畫一個方框
SP:=REF(BARSLAST(REF(Y,1)=0 AND Y=1),1)COLORWHITE LINETHICK;
BHH:=HHV(H,SP+1); BHH:=SETVAL(RCK,BHH,-SP,BHH);
BLL:=LLV(L,SP+1); BLL:=SETVAL(RCK,BLL,-SP,BLL);
LCk:=SETVAL(RCK,0,-SP,1);
LCk:=SETVAL(RCK and SP>0,LCK,-SP+1,0);

//畫框-M1
DRAWSL(RCk,BHH,0,SP,1) COLORMAGENTA LINEDOT;
DRAWSL(RCk,BLL,0,SP,1) COLORMAGENTA LINEDOT;;
STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORMAGENTA LINEDOT;
畫箱規則說明:
1)垂直虛線--為當根最低價跌破前一個低點位置
2)當符合此情況時,往前找前一個低點及前一個高點畫箱子(範圍包含跌破那一根K棒)
3)以前一個低點當起始點,往右畫至跌破的那一根K棒為止
4)目前箱子只能找到高點及跌破的那一根畫箱,低點無法納進來,想了好久還是無法解決?麻煩版主指導一下......謝謝

註:問題如圖片

__________________
chiu


由 cgjj 在 2022-11-08 09:01 發表:

回覆: 畫箱問題

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

//
x:=H>ref(H,1) and H>refx(H,1);
近1高:ref(H,barslast(X)) linethick1 COLORYELLOW;
近2高:ref(H,sumbars(X,2)-1) linethick;
近3高:ref(H,sumbars(X,3)-1) linethick;

//
Y:LOW<REF(LOW,1) and LOW<REFX(LOW,1);
近1低:REF(LOW,BARSLAST(y)) linethick1 COLORGREEN;
近2低:REF(LOW,SUMBARS(y,2)-1) linethick COLORGREEN;
近3低:REF(LOW,SUMBARS(y,3)-1) linethick COLORYELLOW;

//
M1:IF(近1低<近2低 OR LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY;
VERTLINE(M1)LINEDOT COLORWHITE;

//
RCk:=M1;//當M1破近1低時,往前取這區間的高點與低點範圍K棒,畫一個方框
SP:=REF(BARSLAST(REF(Y,1)=0 AND Y=1),1)COLORWHITE LINETHICK;
BHH:=HHV(H,SP+1); BHH:=SETVAL(RCK,BHH,-SP,BHH);
BLL:=LLV(L,SP+1); BLL:=SETVAL(RCK,BLL,-SP,BLL);
LCk:=SETVAL(RCK,0,-SP,1);
LCk:=SETVAL(RCK and SP>0,LCK,-SP+1,0);

//畫框-M1
DRAWSL(RCk,BHH,0,SP,1) COLORMAGENTA LINEDOT;
DRAWSL(RCk,BLL,0,SP,1) COLORMAGENTA LINEDOT;;
STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORMAGENTA LINEDOT;
畫箱規則說明:
1)垂直虛線--為當根最低價跌破前一個低點位置
2)當符合此情況時,往前找前一個低點及前一個高點畫箱子(範圍包含跌破那一根K棒)
3)以前一個低點當起始點,往右畫至跌破的那一根K棒為止
4)目前箱子只能找到高點及跌破的那一根畫箱,低點無法納進來,想了好久還是無法解決?麻煩版主指導一下......謝謝

註:問題如圖片



看看是否為您要的
原碼:
// x:=H>ref(H,1) and H>refx(H,1); 近1高:ref(H,barslast(X)) linethick1 COLORYELLOW; 近2高:ref(H,sumbars(X,2)-1) linethick; 近3高:ref(H,sumbars(X,3)-1) linethick; // Y:=LOW<REF(LOW,1) and LOW<REFX(LOW,1); 近1低:REF(LOW,BARSLAST(y)) linethick1 COLORGREEN; 近2低:REF(LOW,SUMBARS(y,2)-1) linethick COLORGREEN; 近3低:REF(LOW,SUMBARS(y,3)-1) linethick COLORYELLOW; // M1:=IF(近1低<近2低 OR LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY; VERTLINE(M1)LINEDOT COLORWHITE; // RCk:=M1;//當M1破近1低時,往前取這區間的高點與低點範圍K棒,畫一個方框 SP:=ref(BARSLAST(Y),1)+1 COLORWHITE LINETHICK; BHH:=HHV(H,SP+1); BHH:=SETVAL(RCK,BHH,-SP,BHH); BLL:=LLV(L,SP+1); BLL:=SETVAL(RCK,BLL,-SP,BLL); LCk:=barpos=SETVAL(RCK,0,-SP,barpos-SP); //畫框-M1 DRAWSL(RCk,BHH,0,SP,1) COLORMAGENTA LINEDOT; DRAWSL(RCk,BLL,0,SP,1) COLORMAGENTA LINEDOT;; STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORMAGENTA LINEDOT;


由 a9681054 在 2022-11-08 10:05 發表:

回覆:

目前框有點出入,可能是我的條件有問題....我自己再想一下.....謝謝

__________________
chiu


由 a9681054 在 2022-11-08 11:07 發表:

報告版主

回覆1)我重新修改了M1條件,原問題已解決


回覆2)新需求如下:
框下緣....我想取低點從左往右畫至M1,如附圖,再請版主指導一下....謝謝

__________________
chiu


由 a9681054 在 2022-11-08 11:09 發表:

//補一下M1新條件
M1:=IF(LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY

__________________
chiu


由 cgjj 在 2022-11-08 11:51 發表:

引用:
最初由 a9681054 發表
//補一下M1新條件
M1:=IF(LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY



請重新給完整的程式!
不然無法確認您目前修改的狀態


由 a9681054 在 2022-11-08 11:58 發表:

報告版主,新修改M1條件如下:

//
x:=H>ref(H,1) and H>refx(H,1);
近1高:ref(H,barslast(X)) linethick1 COLORYELLOW;
近2高:ref(H,sumbars(X,2)-1) linethick;
近3高:ref(H,sumbars(X,3)-1) linethick;

//
Y:=LOW<REF(LOW,1) and LOW<REFX(LOW,1);
近1低:REF(LOW,BARSLAST(y)) linethick1 COLORGREEN;
近2低:REF(LOW,SUMBARS(y,2)-1) linethick COLORGREEN;
近3低:REF(LOW,SUMBARS(y,3)-1) linethick COLORYELLOW;

//
M1:=IF(LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY;

//
RCk:=M1;//當M1破近1低時,往前取這區間的高點與低點範圍K棒,畫一個方框
SP:ref(BARSLAST(Y),1)+1 COLORWHITE LINETHICK;

BHH:=HHV(H,SP+1); BHH:=SETVAL(RCK,BHH,-SP,BHH);
BLL:=LLV(L,SP+1); BLL:=SETVAL(RCK,BLL,-SP,BLL);
LCk:=barpos=SETVAL(RCK,0,-SP,barpos-SP);

//
DRAWSL(RCk,BHH,0,SP,1) COLORMAGENTA LINEDOT;
DRAWSL(RCk,BLL,0,SP,1) COLORMAGENTA LINEDOT;;
STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORMAGENTA LINEDOT;

__________________
chiu


由 cgjj 在 2022-11-08 13:55 發表:

引用:
最初由 a9681054 發表
報告版主,新修改M1條件如下:

//
x:=H>ref(H,1) and H>refx(H,1);
近1高:ref(H,barslast(X)) linethick1 COLORYELLOW;
近2高:ref(H,sumbars(X,2)-1) linethick;
近3高:ref(H,sumbars(X,3)-1) linethick;

//
Y:=LOW<REF(LOW,1) and LOW<REFX(LOW,1);
近1低:REF(LOW,BARSLAST(y)) linethick1 COLORGREEN;
近2低:REF(LOW,SUMBARS(y,2)-1) linethick COLORGREEN;
近3低:REF(LOW,SUMBARS(y,3)-1) linethick COLORYELLOW;

//
M1:=IF(LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY;

//
RCk:=M1;//當M1破近1低時,往前取這區間的高點與低點範圍K棒,畫一個方框
SP:ref(BARSLAST(Y),1)+1 COLORWHITE LINETHICK;

BHH:=HHV(H,SP+1); BHH:=SETVAL(RCK,BHH,-SP,BHH);
BLL:=LLV(L,SP+1); BLL:=SETVAL(RCK,BLL,-SP,BLL);
LCk:=barpos=SETVAL(RCK,0,-SP,barpos-SP);

//
DRAWSL(RCk,BHH,0,SP,1) COLORMAGENTA LINEDOT;
DRAWSL(RCk,BLL,0,SP,1) COLORMAGENTA LINEDOT;;
STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORMAGENTA LINEDOT;



追加這行就可
DRAWSL(RCk,ref(L,SP),0,SP,1) COLORMAGENTA LINEDOT;


由 a9681054 在 2022-11-08 15:22 發表:

報告版主

回覆:
1)測試後,下緣邊線變成有二個,我需求只要留上面那一個即可(打勾那一個),打叉處是不要的, 煩請版主再指導一下...謝謝

__________________
chiu


由 cgjj 在 2022-11-08 15:59 發表:

引用:
最初由 a9681054 發表
報告版主

回覆:
1)測試後,下緣邊線變成有二個,我需求只要留上面那一個即可(打勾那一個),打叉處是不要的, 煩請版主再指導一下...謝謝




DRAWSL(RCk,BHH,0,SP,1) COLORMAGENTA LINEDOT;
DRAWSL(RCk,BLL,0,SP,1) COLORMAGENTA LINEDOT;;
STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORMAGENTA LINEDOT;
DRAWSL(RCk,ref(L,SP),0,SP,1) COLORMAGENTA LINEDOT;


DRAWSL(RCk,BHH,0,SP,1) COLORMAGENTA LINEDOT;
DRAWSL(RCk,ref(L,SP),0,SP,1) COLORMAGENTA LINEDOT;
STICKLINE(LCK,L,BHH,0,0) COLORMAGENTA LINEDOT;
STICKLINE(RCk,ref(L,SP),BHH,0,0) COLORMAGENTA LINEDOT;


由 a9681054 在 2022-11-08 16:23 發表:

回覆;
目前這個問題已解決了,感謝版主協助指導~

__________________
chiu


由 a9681054 在 2022-11-08 20:07 發表:

報告版主

新的需求條件如下:

M4:=IF(近1低<近2低 and 近2低>近3低 ,CROSS(近3低,LOW),0)COLORGRAY;
VERTLINE(M4)LINEDOT COLORRED;

//M4
RCk:=M4;//右
SP4:ref(BARSLAST(ref(Y,1)),3)+1 COLORWHITE LINETHICK;//+1
BHH:=HHV(H,REF(SP4+1,1)); BHH:=SETVAL(RCK,BHH,-SP2,BHH);//上
BLL:=LLV(L,SP4+1); BLL:=SETVAL(RCK,BLL,-SP4,BLL);//下
LCk:=barpos=SETVAL(RCK,0,-SP4,barpos-SP4);//左
DRAWSL(RCk,BHH,0,SP4,1) COLORGRAY LINETHICK2;
DRAWSL(RCk,ref(L,SP4),0,SP4,1) COLORGRAY LINETHICK2;
STICKLINE(LCK,L,BHH,0,0) COLORGRAY LINETHICK2;
STICKLINE(RCk,ref(L,SP4),BHH,0,0) COLORGRAY LINETHICK2;

當條件符合M4時,想輸出如附圖的綠色箱子,目前無法達成? 請版主再指導一下..謝謝

__________________
chiu


由 cgjj 在 2022-11-09 09:57 發表:

引用:
最初由 a9681054 發表
報告版主

新的需求條件如下:

M4:=IF(近1低<近2低 and 近2低>近3低 ,CROSS(近3低,LOW),0)COLORGRAY;
VERTLINE(M4)LINEDOT COLORRED;

//M4
RCk:=M4;//右
SP4:ref(BARSLAST(ref(Y,1)),3)+1 COLORWHITE LINETHICK;//+1
BHH:=HHV(H,REF(SP4+1,1)); BHH:=SETVAL(RCK,BHH,-SP2,BHH);//上
BLL:=LLV(L,SP4+1); BLL:=SETVAL(RCK,BLL,-SP4,BLL);//下
LCk:=barpos=SETVAL(RCK,0,-SP4,barpos-SP4);//左
DRAWSL(RCk,BHH,0,SP4,1) COLORGRAY LINETHICK2;
DRAWSL(RCk,ref(L,SP4),0,SP4,1) COLORGRAY LINETHICK2;
STICKLINE(LCK,L,BHH,0,0) COLORGRAY LINETHICK2;
STICKLINE(RCk,ref(L,SP4),BHH,0,0) COLORGRAY LINETHICK2;

當條件符合M4時,想輸出如附圖的綠色箱子,目前無法達成? 請版主再指導一下..謝謝



麻煩請給完整的程式,不然難以協助測試


由 a9681054 在 2022-11-09 12:14 發表:

目前源碼如下:

//
x:=H>ref(H,1) and H>refx(H,1);
近1高:ref(H,barslast(X)) linethick1 COLORYELLOW;
近2高:ref(H,sumbars(X,2)-1) linethick;
近3高:ref(H,sumbars(X,3)-1) linethick;

//
Y:=LOW<REF(LOW,1) and LOW<REFX(LOW,1);
近1低:REF(LOW,BARSLAST(y)) linethick1 COLORwhite;
近2低:REF(LOW,SUMBARS(y,2)-1) linethick COLORGREEN;
近3低:REF(LOW,SUMBARS(y,3)-1) linethick COLORYELLOW;

//
M1:=IF(LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY;
//VERTLINE(M1)LINEDOT COLORWHITE;
M4:=IF(近1低<近2低 and 近2低>近3低 ,CROSS(近3低,LOW),0)COLORGRAY;
VERTLINE(M4)LINEDOT COLORRED;

//M1
RCk:=M1;//當M1破近1低時,往前取這區間的高點與低點範圍K棒,畫一個方框
SP:=ref(BARSLAST(Y),1)+1 COLORWHITE LINETHICK;
BHH:=HHV(H,SP+1); BHH:=SETVAL(RCK,BHH,-SP,BHH);
BLL:=LLV(L,SP+1); BLL:=SETVAL(RCK,BLL,-SP,BLL);
LCk:=barpos=SETVAL(RCK,0,-SP,barpos-SP);
DRAWSL(RCk,BHH,0,SP,1) COLORMAGENTA LINEDOT;
DRAWSL(RCk,ref(L,SP),0,SP,1) COLORMAGENTA LINEDOT;
STICKLINE(LCK,L,BHH,0,0) COLORMAGENTA LINEDOT;
STICKLINE(RCk,ref(L,SP),BHH,0,0) COLORMAGENTA LINEDOT;

//M4
RCk:=M4;//右
SP4:ref(BARSLAST(ref(Y,1)),3)+1 COLORWHITE LINETHICK;//+1
BHH:=HHV(H,REF(SP4+1,1)); BHH:=SETVAL(RCK,BHH,-SP4,BHH);//上
BLL:=LLV(L,SP4+1); BLL:=SETVAL(RCK,BLL,-SP4,BLL);//下
LCk:=barpos=SETVAL(RCK,0,-SP4,barpos-SP4);//左
DRAWSL(RCk,BHH,0,SP4,1) COLORGRAY LINETHICK2;
DRAWSL(RCk,ref(L,SP4),0,SP4,1) COLORGRAY LINETHICK2;
STICKLINE(LCK,L,BHH,0,0) COLORGRAY LINETHICK2;
STICKLINE(RCk,ref(L,SP4),BHH,0,0) COLORGRAY LINETHICK2;

__________________
chiu


由 cgjj 在 2022-11-09 13:46 發表:

引用:
最初由 a9681054 發表
目前源碼如下:

//
x:=H>ref(H,1) and H>refx(H,1);
近1高:ref(H,barslast(X)) linethick1 COLORYELLOW;
近2高:ref(H,sumbars(X,2)-1) linethick;
近3高:ref(H,sumbars(X,3)-1) linethick;

//
Y:=LOW<REF(LOW,1) and LOW<REFX(LOW,1);
近1低:REF(LOW,BARSLAST(y)) linethick1 COLORwhite;
近2低:REF(LOW,SUMBARS(y,2)-1) linethick COLORGREEN;
近3低:REF(LOW,SUMBARS(y,3)-1) linethick COLORYELLOW;

//
M1:=IF(LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY;
//VERTLINE(M1)LINEDOT COLORWHITE;
M4:=IF(近1低<近2低 and 近2低>近3低 ,CROSS(近3低,LOW),0)COLORGRAY;
VERTLINE(M4)LINEDOT COLORRED;

//M1
RCk:=M1;//當M1破近1低時,往前取這區間的高點與低點範圍K棒,畫一個方框
SP:=ref(BARSLAST(Y),1)+1 COLORWHITE LINETHICK;
BHH:=HHV(H,SP+1); BHH:=SETVAL(RCK,BHH,-SP,BHH);
BLL:=LLV(L,SP+1); BLL:=SETVAL(RCK,BLL,-SP,BLL);
LCk:=barpos=SETVAL(RCK,0,-SP,barpos-SP);
DRAWSL(RCk,BHH,0,SP,1) COLORMAGENTA LINEDOT;
DRAWSL(RCk,ref(L,SP),0,SP,1) COLORMAGENTA LINEDOT;
STICKLINE(LCK,L,BHH,0,0) COLORMAGENTA LINEDOT;
STICKLINE(RCk,ref(L,SP),BHH,0,0) COLORMAGENTA LINEDOT;

//M4
RCk:=M4;//右
SP4:ref(BARSLAST(ref(Y,1)),3)+1 COLORWHITE LINETHICK;//+1
BHH:=HHV(H,REF(SP4+1,1)); BHH:=SETVAL(RCK,BHH,-SP4,BHH);//上
BLL:=LLV(L,SP4+1); BLL:=SETVAL(RCK,BLL,-SP4,BLL);//下
LCk:=barpos=SETVAL(RCK,0,-SP4,barpos-SP4);//左
DRAWSL(RCk,BHH,0,SP4,1) COLORGRAY LINETHICK2;
DRAWSL(RCk,ref(L,SP4),0,SP4,1) COLORGRAY LINETHICK2;
STICKLINE(LCK,L,BHH,0,0) COLORGRAY LINETHICK2;
STICKLINE(RCk,ref(L,SP4),BHH,0,0) COLORGRAY LINETHICK2;



請描述綠色箱,是基於什麼規則,決定要畫那個範圍! (需含起點、高、低)


全部時間均為台灣時間, 現在時間為05:37 總頁數 (6): [1] 2 3 » ... 最末頁 »
在這個頁面顯示本主題全部的 78 個文章


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

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