![]() |
總頁數 (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)
畫箱問題
版主你好
//
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
回覆: 畫箱問題
引用:
最初由 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;
回覆:
目前框有點出入,可能是我的條件有問題....我自己再想一下.....謝謝
__________________
chiu
報告版主
回覆1)我重新修改了M1條件,原問題已解決
回覆2)新需求如下:
框下緣....我想取低點從左往右畫至M1,如附圖,再請版主指導一下....謝謝
__________________
chiu
//補一下M1新條件
M1:=IF(LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY
__________________
chiu
引用:
最初由 a9681054 發表
//補一下M1新條件
M1:=IF(LOW<近1低,CROSS(近1低,LOW),0)COLORGRAY
報告版主,新修改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
引用:
最初由 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;
報告版主
回覆:
1)測試後,下緣邊線變成有二個,我需求只要留上面那一個即可(打勾那一個),打叉處是不要的, 煩請版主再指導一下...謝謝
__________________
chiu
引用:
最初由 a9681054 發表
報告版主
回覆:
1)測試後,下緣邊線變成有二個,我需求只要留上面那一個即可(打勾那一個),打叉處是不要的, 煩請版主再指導一下...謝謝
回覆;
目前這個問題已解決了,感謝版主協助指導~
__________________
chiu
報告版主
新的需求條件如下:
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
引用:
最初由 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時,想輸出如附圖的綠色箱子,目前無法達成? 請版主再指導一下..謝謝
目前源碼如下:
//
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
引用:
最初由 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.