 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18094 |
回覆: 請問如何畫方框
引用: 最初由 upin 發表
請問如何畫像圖中的黃色方框
條件: 當RSI破50時,往前取"RSI突破50到跌破50"這區間的高點與低點,畫一個方框
剛有錯, 重新回覆:
LC := REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;
RCk:=RSI<50 and ref(RSI,1)>=50;
SP:=REF(BARSLAST(RSI<50),1);
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);
DRAWSL(RCk,BHH,0,SP,1) COLORYELLOW;
DRAWSL(RCk,BLL,0,SP,1) COLORYELLOW;
STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORYELLOW;
|
|
向版主報告此篇 |  |
|
2008-07-24 09:42 |
|
|
|  |
 |
upin
資深會員
註冊日期: Oct 2004
來 自:
文章數量: 165 |
再請教您一個問題
若是 條件出現
則要往前取 前10根k 的高低點 畫方框
要如何修改之
謝謝!
|
|
向版主報告此篇 |  |
|
2008-07-24 12:50 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18094 |
回覆: 往前取 前10根k 的高低點 畫方框
引用: 最初由 jeng 發表
那如果單獨求
"往前取 前10根k 的高低點 畫方框"
不知如何寫,在此先謝謝您的辛勞
//以下為隨著十字游標移動標示的範例:
NN:=10;
RCk:=refx(barpos=SYSPARAM(1),1) and barpos<>datacount;
SP:=NN-1;
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);
DRAWSL(RCk,BHH,0,SP,1) COLORYELLOW;
DRAWSL(RCk,BLL,0,SP,1) COLORYELLOW;
STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORYELLOW;
|
|
向版主報告此篇 |  |
|
2008-07-25 09:22 |
|
|
|  |
 |
peter109
資深會員
註冊日期: Dec 2004
來 自: Taipei
文章數量: 1893 |
請問
RSI>=50 AND RSI<80的方框
應如何處理
__________________
至誠能勝天下至偽
至拙能勝天下至巧
|
|
向版主報告此篇 |  |
|
2008-08-05 00:14 |
|
|
|  |
 |
peter109
資深會員
註冊日期: Dec 2004
來 自: Taipei
文章數量: 1893 |
感恩先
晚點來學習
__________________
至誠能勝天下至偽
至拙能勝天下至巧
|
|
向版主報告此篇 |  |
|
2008-08-05 13:10 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18094 |
引用: 最初由 peter109 發表
請問
RSI>=50 AND RSI<80的方框
應如何處理
更正後的
LC := REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;
BCK:=RSI<80 and RSI>=50;
RCk:=BCK and ref(BCK,1)=1 and (refx(BCK,1)=0 or barpos=datacount);
SP:=REF(BARSLAST(BCK=0),1);
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);
DRAWSL(RCk,BHH,0,SP,1) COLORYELLOW;
DRAWSL(RCk,BLL,0,SP,1) COLORYELLOW;
STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORYELLOW;
|
|
向版主報告此篇 |  |
|
2008-08-05 14:55 |
|
|
|  |
 |
peter109
資深會員
註冊日期: Dec 2004
來 自: Taipei
文章數量: 1893 |
感恩
再次
__________________
至誠能勝天下至偽
至拙能勝天下至巧
|
|
向版主報告此篇 |  |
|
2008-08-05 15:16 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18094 |
回覆: 回覆: 請問如何畫方框
引用: 最初由 jely0210 發表
請問
1. 如果將條件改為
"KD 的黃金交叉到死亡交叉這區間的高點與低點"
畫一個方框的話,要怎麼改程式? 自己試沒成功:(
原碼:
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,M1,1);
D:=SMA(K,M2,1);
BCK:=K>D;
RCk:=sum(BCK,2)=2 and (refx(BCK,1)=0 or barpos=datacount);
SP:=REF(BARSLAST(BCK=0),1);
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);
DRAWSL(RCk,BHH,0,SP,1) COLORYELLOW PXDN2;
DRAWSL(RCk,BLL,0,SP,1) COLORYELLOW PXDN2;
STICKLINE(RCk or LCK,BLL,BHH,0,0) COLORYELLOW;
|
|
向版主報告此篇 |  |
|
2011-08-24 09:17 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18094 |
回覆: 回覆: 請問如何畫方框
引用: 最初由 jely0210 發表
請問
2. 如果在同一個指標中,
要在日線圖上顯示日線、週線、月線層級的KD值
而在分線圖上顯示當周期+往上兩周期的KD值
也是就是
分線圖不顯示日線層級以上的KD值
日線圖則不顯示日線層級以下的KD值
程式除了用"DATATYPE"+"if"函數重複去做條件限制,
有沒有比較好或是快速的改法?
ex: 1分K圖時,
只顯示1分K的KD值、5分K的KD值、15分K的KD值..
5分K圖時,
只顯示5分K的KD值、15分K的KD值、30分K的KD值..
一般的寫法, 如下:
原碼:
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
ZAry:=barslast(barpos=0);
K05:ZAry; D05:ZAry;
K15:ZAry; D15:ZAry;
K30:ZAry; D30:ZAry;
K60:ZAry; D60:ZAry;
KDD:ZAry; DDD:ZAry;
KWW:ZAry; DWW:ZAry;
KMM:ZAry; DMM:ZAry;
if datatype=1 then begin //Min1
K05:="KD.K#MIN5"; D05:="KD.D#MIN5";
K15:="KD.K#MIN15"; D15:="KD.D#MIN15";
end else if datatype=2 then begin //Min5
K15:="KD.K#MIN15"; D15:="KD.D#MIN15";
K30:="KD.K#MIN30"; D30:="KD.D#MIN30";
end else if datatype=3 then begin //Min15
K30:="KD.K#MIN30"; D30:="KD.D#MIN30";
K60:="KD.K#MIN60"; D60:="KD.D#MIN60";
end else if datatype=4 then begin //Min30
K60:="KD.K#MIN60"; D60:="KD.D#MIN60";
KDD:="KD.K#DAY"; DDD:="KD.D#DAY";
end else if datatype=5 then begin //Min60
KDD:="KD.K#DAY"; DDD:="KD.D#DAY";
KWW:="KD.K#WEEK"; DWW:="KD.D#WEEK";
end else if datatype=6 then begin //Day
KWW:="KD.K#WEEK"; DWW:="KD.D#WEEK";
KMM:="KD.K#MONTH"; DMM:="KD.D#MONTH";
end;
取巧後的寫法原碼:
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
if datatype>6 or datatype<1 then exit;
KM:STKINDI('','KD.K',0,datatype+1);
DM:STKINDI('','KD.D',0,datatype+1);
KL:STKINDI('','KD.K',0,datatype+2);
DL:STKINDI('','KD.D',0,datatype+2);
|
|
向版主報告此篇 |  |
|
2011-08-24 09:49 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|