 |
Markchu7
資深會員
註冊日期: Nov 2007
來 自:
文章數量: 1496 |
[問題]自訂K線
請教總版主:我想畫一種K線(姑且稱之為'X'K線),
XC:=(O+H+L+C)/4;//'X'K線的'收'
XO:=(前一根'X'K線開盤價+REF(C,1))/2;//'X'K線的'開'
請問XO要如何寫?謝謝!
|
|
向版主報告此篇 |  |
|
2011-03-23 13:27 |
|
|
|  |
 |
Markchu7
資深會員
註冊日期: Nov 2007
來 自:
文章數量: 1496 |
XH:=MAX(MAX(H,XO),XC);
XL:=MIN(MIN(L,XO),XC);
首根 並無 [前一根'X'K線]則取當根K線之開盤價,謝謝總版主!
|
|
向版主報告此篇 |  |
|
2011-03-24 13:19 |
|
|
|  |
 |
Markchu7
資深會員
註冊日期: Nov 2007
來 自:
文章數量: 1496 |
請問總版主:
如果我要在一分鐘週期中劃五分週期及十五分週期的'X'K線,則需引用8次子公式,請問如何在一分週期中去推算五分週期及十五分週期'X'K線的XO,XH,XL,XC?如此是否會比引用8次子公式來得節省資源?感謝解答!
|
|
向版主報告此篇 |  |
|
2011-09-23 15:30 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
引用: 最初由 Markchu7 發表
請問總版主:
如果我要在一分鐘週期中劃五分週期及十五分週期的'X'K線,則需引用8次子公式,請問如何在一分週期中去推算五分週期及十五分週期'X'K線的XO,XH,XL,XC?如此是否會比引用8次子公式來得節省資源?感謝解答!
為何不在五分和十五分週期內, 先把需運用 XO,XH,XL,XC 的值, 算好再傳回呢?
這樣就不需八次, 只需二次
|
|
向版主報告此篇 |  |
|
2011-09-23 16:01 |
|
|
|  |
 |
Markchu7
資深會員
註冊日期: Nov 2007
來 自:
文章數量: 1496 |
報告總版主:不太懂您所說的方法!
以我的了解==>例如我要在一分鐘週期劃一根五分鐘週期的'X'K線,它會橫跨五根一分鐘K棒,就像指標通論書上所寫的:我就必須在一分週期'各'引用五分週期的XO,XH,XL,XC,然後在一分鐘週期的主圖上去劃一根會橫跨五根一分鐘K棒的空心K棒,所以您說的方法要如何做我就不會了!請總版主指導!
|
|
向版主報告此篇 |  |
|
2011-09-23 17:21 |
|
|
|  |
 |
Markchu7
資深會員
註冊日期: Nov 2007
來 自:
文章數量: 1496 |
報告總版主找到一個源碼請問我要如何將'XK線'的XO,XH,XL,XC套上去?
請問總版主:這個源碼會很吃資源嗎?如有較節省資源的寫法還請指導!(指標是用於1分線週期,我的考量是跑得快最重要!)
input:N1(15,1,1000);
if datacount<N1 then exit;
m1:=mod(barpos,N1);
m:=if(m1=0,N1-1,m1-1);
mz:=backset(m=N1-1 or islastbar,intpart(m/2)+1);
//vertline(m=0),colorred,pointdot;
//vertline(m=N1-1),colorgreen,pointdot;
bx:=barslast(m=0);
by:=barslast(m=N1-1);
OO:ref(o,bx),linethick0;
Cy:=ref(C*(by=0),barslast(C*(by=0)));hhx:=hhv(h,bx+1)*(by=0);
llx:=llv(if(L=0,100000,L),bx+1)*(by=0);
cab:=IF(bx=0,CLOSE,0);
cba:=IF(by=0,CLOSE,0);
CC1:=c*0;
cba1:=IF(by=0,HHX,0);
HH1:=c*0;
cba2:=IF(by=0,LLX,0);
LL1:=c*0;
for n=lbound(cab) to ubound(cab) do begin
if cab[n]>0 then begin
for z=n+N1-1 to ubound(cab) do begin
if cba[z]>0 then begin
for s=n to z-1 do begin
CC1[s]:=cba[z];
HH1[s]:=cba1[z];
LL1[s]:=cba2[z];
end;
break;
end;
end;
end;
end;
c1:=C;h3:=hhv(h,m[datacount]+1);L3:=LLV(if(L=0,1000000,L),m[datacount]+1);
CC:if(barpos>datacount-m[datacount]-1,c1[datacount],if(m=N1-1,C,CC1)),linethick0;
HH:if(barpos>datacount-m[datacount]-1,h3[datacount],if(m=N1-1,ref(HH1,1),HH1)),linethick0;
LL:if(barpos>datacount-m[datacount]-1,L3[datacount],if(m=N1-1,ref(LL1,1),LL1)),linethick0;
partline(m>0 and CC>=OO,CC),colorred;
partline(m>0 and CC<OO,CC),colorcyan;
partline(m>0 and CC>=OO,OO),colorred;
partline(m>0 and CC<OO,OO),colorcyan;
stickline((m=N1-1 or islastbar) and CC>=OO,OO,CC,1,0),colorred;
stickline((m=N1-1 or islastbar) and CC<OO,OO,CC,1,0),colorcyan;
stickline(m=0 and CC>=OO,OO,CC,1,0),colorred;
stickline(m=0 and CC<OO,OO,CC,1,0),colorcyan;
stickline(mz=1 and ref(mz=1,1)=0 and CC>=OO,HH,CC,1,0),colorred;
stickline(mz=1 and ref(mz=1,1)=0 and CC<OO,HH,OO,1,0),colorcyan;
stickline(mz=1 and ref(mz=1,1)=0 and CC>=OO,OO,LL,1,0),colorred;
stickline(mz=1 and ref(mz=1,1)=0 and CC<OO,CC,LL,1,0),colorcyan;
Markchu7 附帶上了此圖片:
|
最後由 Markchu7 在 2011-09-27 17:50 編輯 |
向版主報告此篇 |  |
|
2011-09-27 17:44 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
引用: 最初由 Markchu7 發表
了解!請總版主指導!
在1分內推算, 去取得五分的XK, 範例:
原碼:
KN:=5;
BR:=mod(MINUTE,KN)=0 or islastbar;
BL:=ref(BR,1) or barpos=1;
BLSP:barslast(BL) linethick0;
MO:=ref(O,BLSP);
MH:=HHV(H,BLSP+1);
ML:=LLV(L,BLSP+1);
MC:=C;
XO:C*0;
XH:XO;
XL:XO;
XC:(MO+MH+ML+MC)/4;
StNo:=lbound(BARSSINCE(BR));
XO[StNo]:=MO[StNo];
for i=StNo+KN to datacount do begin
if BR[i] then begin
j:=i-BLSP[i]-1; XO[i]:=(XO[j]+MC[j])/2;
end;
end;
XH:=MAX(MH,XO);
XL:=MIN(ML,XO);
XO:=SETVAL(BR,XO,-BLSP,XO);
XH:=SETVAL(BR,XH,-BLSP,XH);
XL:=SETVAL(BR,XL,-BLSP,XL);
XC:=SETVAL(BR,XC,-BLSP,XC);
值已經求出
後續繪製K線的部份就讓您自己處理了
|
|
向版主報告此篇 |  |
|
2011-09-28 12:48 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|