奇狐社區論壇
在這個頁面顯示本主題全部的 5 個文章

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


由 Markchu7 在 2015-08-07 19:15 發表:

[問題]階階高的寫法

RSV9:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K9:=SMA(RSV9,7,1);
D9:=SMA(K9,7,1);
J9:3*K9-2*D9,LINETHICK;
H0:REF(HHV(H,BARSLAST(CROSS(J9,100))+1),BARSLAST(CROSS(100,J9)));
H1:REF(HHV(H,BARSLAST(CROSS(H,H0+0.5))+1),BARSLAST(CROSS(H0-0.5,H)));
H2:REF(HHV(H,BARSLAST(CROSS(H,H1+0.5))+1),BARSLAST(CROSS(H1-0.5,H)));
H3:REF(HHV(H,BARSLAST(CROSS(H,H3+0.5))+1),BARSLAST(CROSS(H3-0.5,H)));
H4
H5
H6
.
.
.
當CROSS(H0-0.5,H)發生後以H1取代H0,當CROSS(H1-0.5,H)發生後以H2取代H1,以此類推,直到CROSS(100,J9)發生則以H0取代,
請指導此線(稱為壓力線)寫法==
STICKLINE(1,壓力線,壓力線,8,0);
感謝!


由 cgjj 在 2015-08-09 19:47 發表:

回覆: [問題]階階高的寫法

引用:
最初由 Markchu7 發表
RSV9:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K9:=SMA(RSV9,7,1);
D9:=SMA(K9,7,1);
J9:3*K9-2*D9,LINETHICK;
H0:REF(HHV(H,BARSLAST(CROSS(J9,100))+1),BARSLAST(CROSS(100,J9)));
H1:REF(HHV(H,BARSLAST(CROSS(H,H0+0.5))+1),BARSLAST(CROSS(H0-0.5,H)));
H2:REF(HHV(H,BARSLAST(CROSS(H,H1+0.5))+1),BARSLAST(CROSS(H1-0.5,H)));
H3:REF(HHV(H,BARSLAST(CROSS(H,H3+0.5))+1),BARSLAST(CROSS(H3-0.5,H)));
H4
H5
H6
.
.
.
當CROSS(H0-0.5,H)發生後以H1取代H0,當CROSS(H1-0.5,H)發生後以H2取代H1,以此類推,直到CROSS(100,J9)發生則以H0取代,
請指導此線(稱為壓力線)寫法==
STICKLINE(1,壓力線,壓力線,8,0);
感謝!



原始之 H0 其是 CROSS(J9,100) vs CROSS(100,J9)

但到了 H1 卻是 CROSS(H,H0+0.5) vs CROSS(H0-0.5,H)
     而非 CROSS(H,H0+0.5) vs CROSS(H0+0.5,H)

有點奇怪? 請確認規則無誤


由 Markchu7 在 2015-08-09 23:55 發表:

確認規則無誤!在台指期貨商品中使用,因為CROSS是觸及即成立,所以加減0.5以確認突破或跌破!而J9是取小數位2位,要相同數據其機會微乎其微!故直接帶入設定的常數!感謝用心的總版主細心的提醒!有您真好!謝謝啦......(很感謝所以有回音)!


由 cgjj 在 2015-08-10 15:02 發表:

引用:
最初由 Markchu7 發表
確認規則無誤!在台指期貨商品中使用,因為CROSS是觸及即成立,所以加減0.5以確認突破或跌破!而J9是取小數位2位,要相同數據其機會微乎其微!故直接帶入設定的常數!感謝用心的總版主細心的提醒!有您真好!謝謝啦......(很感謝所以有回音)!



此公式的邏輯算法,真的有點奇特 @@
邏輯處理上會有回追範圍的爭議問題存在

請參考看看是否為您要的結果,再自行去做調整
原碼:
RSV9:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; K9:=SMA(RSV9,7,1); D9:=SMA(K9,7,1); J9:=3*K9-2*D9; H0:=HHV(H,BARSLAST(CROSS(J9,100))+1); SP:=CROSS(100,J9); HH:=H; MH:(BARSSINCE(SP)>=0)*0; for i=lbound(MH) to datacount do begin if SP[i] then begin MH[i]:=H0[i]; UH:=MH[i]; end else begin if UH-0.5>HH[i] and UH-0.5<=HH[i-1] then begin BH:=HH[i]; for j=i-1 downto 2 do begin if HH[j]>BH then BH:=HH[j]; if HH[j]>UH+0.5 and HH[j-1]<UH+0.5 then break; end; MH[i]:=BH; UH:=BH; end; end; end; MH:=ref(MH,barslast(MH>0));


由 Markchu7 在 2015-08-10 17:18 發表:

感謝協助!去試試!


全部時間均為台灣時間, 現在時間為23:00
在這個頁面顯示本主題全部的 5 個文章


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

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