![]() |
在這個頁面顯示本主題全部的 112 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- SAR轉向問題 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=21837)
SAR轉向問題
版主你好,
目前內建的SAR, 是當K線交叉到SAR時,下一根K就開始進行多空轉向,想增加一個條件
規則如下:
(向上)
1)原趨勢向下走時,當有K棒最高價交叉到SAR,且交叉的當根K棒收盤價要大於SAR才轉向,否則SAR維持原向下趨勢
(向下)
1)原趨勢向上走時,當有K棒最低價交叉到SAR,且交叉的當根K棒收盤價要小於SAR才轉向,否則SAR維持原向上趨勢
以上需求,麻煩版主協助!
__________________
chiu
更正規則:
規則如下:
(向上)
原趨勢向下走時,當有K棒最高價交叉到SAR,且交叉的當根K棒收盤價要大於SAR(下一根K棒)才轉向,否則SAR維持原向下趨勢
(向下)
原趨勢向上走時,當有K棒最低價交叉到SAR,且交叉的當根K棒收盤價要小於SAR(下一根K棒)才轉向,否則SAR維持原向上趨勢
以上需求,麻煩版主協助!
__________________
chiu
引用:
最初由 a9681054 發表
更正規則:
規則如下:
(向上)
原趨勢向下走時,當有K棒最高價交叉到SAR,且交叉的當根K棒收盤價要大於SAR(下一根K棒)才轉向,否則SAR維持原向下趨勢
(向下)
原趨勢向上走時,當有K棒最低價交叉到SAR,且交叉的當根K棒收盤價要小於SAR(下一根K棒)才轉向,否則SAR維持原向上趨勢
以上需求,麻煩版主協助!
了解,謝謝版主說明
__________________
chiu
版主你好,
SAR(10,2,20)當極值走到20上限時,只想在每次第1個20畫上記號,公式要如何表達?謝謝
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
SAR(10,2,20)當極值走到20上限時,只想在每次第1個20畫上記號,公式要如何表達?謝謝
了解,謝謝
__________________
chiu
版主你好,
我有試著去了解sar原理,擬了上下翻轉新規則(為與原sar做區分, 名稱叫yar)如下,程式方面麻煩版主幫忙,謝謝~
**以最近台指期為例
//往上拋物線規則定義(轉折翻轉採用收盤價)
1)例如1/8確認收盤價>當日yar後,隔天1/9才開始轉為向上翻轉.
2)上翻轉第1天…取前次往下翻轉的1/4最低點9305當初始的yar.
3)上翻轉第1天…取1/8收盤價>當日yar那一天的最高點9611當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
4)上翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天高點做比較,假如昨高>前高,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新高,其af值還是以0.2代入計算.
5)上翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
//往下拋物線規則定義(轉折翻採用收盤價)
1)例如3/5確認收盤價<當日yar後,隔天3/6才開始轉為向下翻轉.
2)下翻轉第1天…取前次往上翻轉的3/4最高點10400當初始的yar.
3)下翻轉第1天…取3/5收盤價<當日yar那一天的最低點10248當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的下跌最低點.
4)下翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天低點做比較,假如昨低<前低,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新低,其af值還是以0.2代入計算.
5)下翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
我有試著去了解sar原理,擬了上下翻轉新規則(為與原sar做區分, 名稱叫yar)如下,程式方面麻煩版主幫忙,謝謝~
**以最近台指期為例
//往上拋物線規則定義(轉折翻轉採用收盤價)
1)例如1/8確認收盤價>當日yar後,隔天1/9才開始轉為向上翻轉.
2)上翻轉第1天…取前次往下翻轉的1/4最低點9305當初始的yar.
3)上翻轉第1天…取1/8收盤價>當日yar那一天的最高點9611當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
4)上翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天高點做比較,假如昨高>前高,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新高,其af值還是以0.2代入計算.
5)上翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
//往下拋物線規則定義(轉折翻採用收盤價)
1)例如3/5確認收盤價<當日yar後,隔天3/6才開始轉為向下翻轉.
2)下翻轉第1天…取前次往上翻轉的3/4最高點10400當初始的yar.
3)下翻轉第1天…取3/5收盤價<當日yar那一天的最低點10248當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的下跌最低點.
4)下翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天低點做比較,假如昨低<前低,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新低,其af值還是以0.2代入計算.
5)下翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
版主你好,
1.我有嚐試寫過但沒辦法完成.....
2.如何判定?我有做以下圖片統計推算.....
__________________
chiu
下翻轉
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
1.我有嚐試寫過但沒辦法完成.....
2.如何判定?我有做以下圖片統計推算.....
版主好,
就採上翻,謝謝∼
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
就採上翻,謝謝∼
版主你好,
上翻...首個yar,取4天前的最低點
下翻...首個yar,取4天前的最高點
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
上翻...首個yar,取4天前的最低點
下翻...首個yar,取4天前的最高點
版主你好,
了解,我再想一下.....謝謝
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
了解,我再想一下.....謝謝
版主你好,
針對版主所提問題,我驗算後重新擬規則如下,再麻煩確認是否可行?謝謝~
第2版….2019/4/25
//往上拋物線規則定義
1)以(歷史)前二根收盤價做比較,假如c>ref(c,1),則在第4根k棒開始起畫上翻yar.
2)(歷史)上翻轉第1天…取前三天最低點當初始的yar.
3)(歷史)上翻轉第1天…取前三天最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
4)(之後)上翻轉第1天…取前次往下翻轉的最低點當初始的yar.
5)(之後)上翻轉第1天…取收盤價>當日yar那一天的最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
6)上翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天高點做比較,假如昨高>前高,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新高,其af值還是以0.2代入計算.
7)上翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
8)上翻轉後直到當日收盤價<當日上翻轉的yar, 上翻才結束.
//往下拋物線規則定義
1)以(歷史)前二根收盤價做比較,假如c<ref(c,1),則在第4根k棒開始起畫下翻yar.
2) (歷史)下翻轉第1天…取前三天最高點當初始的yar.
3) (歷史)下翻轉第1天…取前三天最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
4)(之後)下翻轉第1天…取前次往上翻轉的最高點當初始的yar.
5)(之後)下翻轉第1天…取收盤價<當日yar那一天的最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
6)下翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天低點做比較,假如昨低<前低,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新低,其af值還是以0.2代入計算.
7)下翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
8)下翻轉後直到當日收盤價>當日下翻轉的yar, 下翻才結束.
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
針對版主所提問題,我驗算後重新擬規則如下,再麻煩確認是否可行?謝謝~
第2版….2019/4/25
//往上拋物線規則定義
1)以(歷史)前二根收盤價做比較,假如c>ref(c,1),則在第4根k棒開始起畫上翻yar.
2)(歷史)上翻轉第1天…取前三天最低點當初始的yar.
3)(歷史)上翻轉第1天…取前三天最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
4)(之後)上翻轉第1天…取前次往下翻轉的最低點當初始的yar.
5)(之後)上翻轉第1天…取收盤價>當日yar那一天的最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
6)上翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天高點做比較,假如昨高>前高,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新高,其af值還是以0.2代入計算.
7)上翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
8)上翻轉後直到當日收盤價<當日上翻轉的yar, 上翻才結束.
//往下拋物線規則定義
1)以(歷史)前二根收盤價做比較,假如c<ref(c,1),則在第4根k棒開始起畫下翻yar.
2) (歷史)下翻轉第1天…取前三天最高點當初始的yar.
3) (歷史)下翻轉第1天…取前三天最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
4)(之後)下翻轉第1天…取前次往上翻轉的最高點當初始的yar.
5)(之後)下翻轉第1天…取收盤價<當日yar那一天的最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
6)下翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天低點做比較,假如昨低<前低,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新低,其af值還是以0.2代入計算.
7)下翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
8)下翻轉後直到當日收盤價>當日下翻轉的yar, 下翻才結束.
引用:
最初由 cgjj 發表
少考慮一種情況!
(歷史)前二根收盤價做比較,若 c=ref(c,1) 您要怎樣處理?
__________________
chiu
版主你好,
yar規則重新整理如下,麻煩版主再幫忙確認是否可行?謝謝~
第3版….2019/4/28
//往上拋物線規則定義
1)以(歷史)前三根收盤價做比較,假如c>=ref(c,2),則在第4根k棒開始起畫上翻yar.
2)(歷史)上翻轉第1天…取前三天最低點當初始的yar.
3)(歷史)上翻轉第1天…取前三天最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
4)(之後)上翻轉第1天…取從前次收盤價<當日yar那一天開始到往下翻轉的區間最低點當初始的yar.
5)(之後)上翻轉第1天…取收盤價>當日yar那一天的最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
6)上翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天高點做比較,假如昨高>前高,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新高,其af值還是以0.2代入計算.
7)上翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
8)上翻轉後直到當日收盤價<當日yar, 上翻才結束,並由隔天開始往下翻轉.
//往下拋物線規則定義
1)以(歷史)前三根收盤價做比較,假如c<ref(c,2),則在第4根k棒開始起畫下翻yar.
2) (歷史)下翻轉第1天…取前三天最高點當初始的yar.
3) (歷史)下翻轉第1天…取前三天最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
4)(之後)下翻轉第1天…取從前次收盤價>當日yar那一天開始到往上翻轉的區間最高點當初始的yar.
5)(之後)下翻轉第1天…取收盤價<當日yar那一天的最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
6)下翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天低點做比較,假如昨低<前低,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新低,其af值還是以0.2代入計算.
7)下翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
8)下翻轉後直到當日收盤價>當日yar, 下翻才結束, 並由隔天開始往上翻轉.
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
yar規則重新整理如下,麻煩版主再幫忙確認是否可行?謝謝~
第3版….2019/4/28
//往上拋物線規則定義
1)以(歷史)前三根收盤價做比較,假如c>=ref(c,2),則在第4根k棒開始起畫上翻yar.
2)(歷史)上翻轉第1天…取前三天最低點當初始的yar.
3)(歷史)上翻轉第1天…取前三天最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
4)(之後)上翻轉第1天…取從前次收盤價<當日yar那一天開始到往下翻轉的區間最低點當初始的yar.
5)(之後)上翻轉第1天…取收盤價>當日yar那一天的最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
6)上翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天高點做比較,假如昨高>前高,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新高,其af值還是以0.2代入計算.
7)上翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
8)上翻轉後直到當日收盤價<當日yar, 上翻才結束,並由隔天開始往下翻轉.
//往下拋物線規則定義
1)以(歷史)前三根收盤價做比較,假如c<ref(c,2),則在第4根k棒開始起畫下翻yar.
2) (歷史)下翻轉第1天…取前三天最高點當初始的yar.
3) (歷史)下翻轉第1天…取前三天最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
4)(之後)下翻轉第1天…取從前次收盤價>當日yar那一天開始到往上翻轉的區間最高點當初始的yar.
5)(之後)下翻轉第1天…取收盤價<當日yar那一天的最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
6)下翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天低點做比較,假如昨低<前低,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新低,其af值還是以0.2代入計算.
7)下翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
8)下翻轉後直到當日收盤價>當日yar, 下翻才結束, 並由隔天開始往上翻轉.
原碼:
if datacount<3 then exit; //K棒不足 CC:=C; HH:=H; LL:=L; HH3:=HHV(H,3); LL3:=LLV(L,3); RHCK:=ref(H>ref(H,1),1); RLCK:=ref(L<ref(L,1),1); DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2; YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,3); if DIR=1 then begin yar[3]:=LL3[3]; ep:=HH3[3]; end else begin yar[3]:=HH3[3]; ep:=LL3[3]; end; af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0; for i=3+1 to datacount do begin if SwapF=1 then begin yar[i]:=NewYar; SwapF:=0; end else begin yar[i]:=yar[i-1]+af*(ep-yar[i-1]); end; if NowDir=1 then begin if RHCK[i] then af:=af+0.02; if CC[i]<yar[i] then begin SwapF:=1; NewYar:=ep; ep:=LL[i]; end else begin if HH[i]>ep then ep:=HH[i]; end; end else begin if RLCK[i] then af:=af+0.02; if CC[i]>yar[i] then begin SwapF:=1; NewYar:=ep; ep:=HH[i]; end else begin if LL[i]<ep then ep:=LL[i]; end; end; if af>0.2 then af:=0.2; if SwapF=1 then begin af:=0.02; NowDir:=-NowDir; end; end;
版主你好,
謝謝,辛苦了!
大致符合想法,但還有點小差異,我再確認一下問題,之後再向版主提出.....
__________________
chiu
版主好,
目前有發現不管是往上或往下翻轉,yar都是從第3根k棒起畫, 原規則定義是希望從第4根起畫,麻煩版主再幫忙看一下.......謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
目前有發現不管是往上或往下翻轉,yar都是從第3根k棒起畫, 原規則定義是希望從第4根起畫,麻煩版主再幫忙看一下.......謝謝~
原碼:
if datacount<4 then exit; //K棒不足 CC:=C; HH:=H; LL:=L; HH3:=HHV(H,3); LL3:=LLV(L,3); RHCK:=ref(H>ref(H,1),1); RLCK:=ref(L<ref(L,1),1); DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2; YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4); if DIR=1 then begin yar[4]:=LL3[3]; ep:=HH3[3]; end else begin yar[4]:=HH3[3]; ep:=LL3[3]; end; af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0; for i=4+1 to datacount do begin if SwapF=1 then begin yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir; end else begin yar[i]:=yar[i-1]+af*(ep-yar[i-1]); end; if NowDir=1 then begin if RHCK[i] then af:=af+0.02; if CC[i]<yar[i] then begin SwapF:=1; NewYar:=ep; ep:=LL[i]; end else begin if HH[i]>ep then ep:=HH[i]; end; end else begin if RLCK[i] then af:=af+0.02; if CC[i]>yar[i] then begin SwapF:=1; NewYar:=ep; ep:=HH[i]; end else begin if LL[i]<ep then ep:=LL[i]; end; end; if af>0.2 then af:=0.2; end;
引用:
最初由 a9681054 發表
版主好,
目前有發現不管是往上或往下翻轉,yar都是從第3根k棒起畫, 原規則定義是希望從第4根起畫,麻煩版主再幫忙看一下.......謝謝~
__________________
chiu
版主你好,
剛驗算之後每日yar計算,發現我原定義的ep取法有誤.
往上轉ep....是取到"前日"為止的上漲最高點(不是昨日).
往下轉ep....是取到"前日"為止的下跌最低點(不是昨日).
以上,再次麻煩版主幫忙修正,謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
剛驗算之後每日yar計算,發現我原定義的ep取法有誤.
往上轉ep....是取到"前日"為止的上漲最高點(不是昨日).
往下轉ep....是取到"前日"為止的下跌最低點(不是昨日).
以上,再次麻煩版主幫忙修正,謝謝~
原碼:
if datacount<4 then exit; //K棒不足 CC:=C; HH:=H; LL:=L; HH3:=HHV(H,3); LL3:=LLV(L,3); RHCK:=ref(H>ref(H,1),1); RLCK:=ref(L<ref(L,1),1); DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2; YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4); if DIR=1 then begin yar[4]:=LL3[3]; ep:=HH3[3]; end else begin yar[4]:=HH3[3]; ep:=LL3[3]; end; af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0; for i=4+1 to datacount do begin if SwapF=1 then begin yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir; end else begin yar[i]:=yar[i-1]+af*(ep-yar[i-1]); end; if NowDir=1 then begin if RHCK[i] then af:=af+0.02; if CC[i]<yar[i] then begin SwapF:=1; NewYar:=ep; ep:=LL[i]; end else begin if HH[i-1]>ep then ep:=HH[i-1]; end; end else begin if RLCK[i] then af:=af+0.02; if CC[i]>yar[i] then begin SwapF:=1; NewYar:=ep; ep:=HH[i]; end else begin if LL[i-1]<ep then ep:=LL[i-1]; end; end; if af>0.2 then af:=0.2; end;
版主好,
yar還有一些其它發現到的問題,我重新統一整理如下,麻煩版主再幫我看一下......謝謝~
第3版….2019/4/28
//往上拋物線規則定義
1)以(歷史)前三根收盤價做比較,假如c>=ref(c,2),則在第4根k棒開始起畫上翻yar.
說明:ok
2)(歷史)上翻轉第1天…取前三天最低點當初始的yar.
說明:ok
3)(歷史)上翻轉第1天…取前三天最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
說明:規則定義有誤……2019/5/2版主已幫忙修正
4)(之後)上翻轉第1天…取從前次收盤價<當日yar那一天開始到往下翻轉的區間最低點當初始的yar.
說明:ok
5)(之後)上翻轉第1天…取收盤價>當日yar那一天的最高點當初始區間極值(ep),之後上漲後的ep為每日到昨天為止的上漲最高點.
說明1:上翻初始ep程式取到上翻第1天的最高點…需求為收盤價>當日yar那一天的最高點
說明2: 之後上漲後的ep規則定義有誤……2019/5/2版主已幫忙修正.
6)上翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天高點做比較,假如昨高>前高,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新高,其af值還是以0.2代入計算.
說明1:上翻開始前1天收盤價>yar,當日af一律給0,即af=0
說明2:第1天…af固定給0.02,即af=0.02
說明3:第2天…af取決於前二天高點做比較,假如昨高>前高,則af+0.02否則不變…需求更正為第2天af取決於”今天與昨天”高點做比較,假如”今高>昨高”,則af+0.02否則不變
7)上翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
說明:ok
8)上翻轉後直到當日收盤價<當日yar, 上翻才結束,並由隔天開始往下翻轉.
說明:ok
//往下拋物線規則定義
1)以(歷史)前三根收盤價做比較,假如c<ref(c,2),則在第4根k棒開始起畫下翻yar.
說明:ok
2) (歷史)下翻轉第1天…取前三天最高點當初始的yar.
說明:ok
3) (歷史)下翻轉第1天…取前三天最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
說明:規則定義有誤……2019/5/2版主已幫忙修正
4)(之後)下翻轉第1天…取從前次收盤價>當日yar那一天開始到往上翻轉的區間最高點當初始的yar.
說明:ok
5)(之後)下翻轉第1天…取收盤價<當日yar那一天的最低點當初始區間極值(ep),之後下跌後的ep為每日到昨天為止的下跌最低點.
說明1:下翻初始ep程式取到下翻第1天的最低點…需求為收盤價<當日yar那一天的最低點
說明2: 之後下跌後的ep規則定義有誤……2019/5/2版主已幫忙修正
6)下翻轉第1天…加速因子(af)值從0.02開始,第2天af取決於前二天低點做比較,假如昨低<前低,則af+0.02否則不變,唯其af最高累加上限值為0.2,當af值到0.2時,爾後即使股價再創新低,其af值還是以0.2代入計算.
說明1:下翻開始前1天收盤價<yar,當日af一律給0,即af=0
說明2:第1天…af固定給0.02,即af=0.02
說明3:第2天…af取決於前二天低點做比較,假如昨低<前低,則af+0.02否則不變…需求更正為第2天af取決於”今天與昨天”低點做比較,假如”今低<昨低”,則af+0.02否則不變
7)下翻轉第1個yar計算…今yar=昨yar+af*(昨ep-昨yar)
說明:ok
8)下翻轉後直到當日收盤價>當日yar, 下翻才結束, 並由隔天開始往上翻轉.
說明:ok
__________________
chiu
版主你好,
剛我提的問題先等一下....我先驗算剛版主給的新程式.......謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
剛我提的問題先等一下....我先驗算剛版主給的新程式.......謝謝~
版主你好,
剛驗算還是有一些差異,可能是一些問題連動 性關係,麻煩版主依我早上所提的問題說明...再幫我整個問題看一下,謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
剛驗算還是有一些差異,可能是一些問題連動 性關係,麻煩版主依我早上所提的問題說明...再幫我整個問題看一下,謝謝~
版主你好,
文字上我可能表達不是很清楚....,我另傳以下圖片,裡面的數據是我要的結果,給版主修改程式參考,謝謝~
__________________
chiu
剛傳圖片有誤...以目前這張為準
__________________
chiu
引用:
最初由 a9681054 發表
剛傳圖片有誤...以目前這張為準
版主好,
了解
說明1:上翻開始前1天收盤價>yar,當日af一律給0,即af=0
說明1:下翻開始前1天收盤價<yar,當日af一律給0,即af=0
以上問題需求取消,其它的再麻煩版主....謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
了解
說明1:上翻開始前1天收盤價>yar,當日af一律給0,即af=0
說明1:下翻開始前1天收盤價<yar,當日af一律給0,即af=0
以上問題需求取消,其它的再麻煩版主....謝謝~
版主好,
第6點我已依版主資料修正,另下圖圖片上我增加箭頭及下面文字說明,看能不能加速問題的釐清.....謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
第6點我已依版主資料修正,另下圖圖片上我增加箭頭及下面文字說明,看能不能加速問題的釐清.....謝謝~
版主好,
sorry, 我日期key錯了,應該是3/7開始計算第1個yar值才對....
__________________
chiu
另3/14也弄錯了日期,應該是3/15開始計算第1個yar值.....
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
sorry, 我日期key錯了,應該是3/7開始計算第1個yar值才對....
另3/14也弄錯了日期,應該是3/15開始計算第1個yar值..
版主好,
(3008大立光月線)問題如圖片說明....
__________________
chiu
問題如圖片
__________________
chiu
引用:
最初由 a9681054 發表
(3008大立光月線)問題如圖片說明....
問題如圖片
版主好,
以下圖片,是我比較出的差異點,麻煩版主再看一下.....謝謝~
__________________
chiu
更正...程式是顯示156.12
__________________
chiu
引用:
最初由 a9681054 發表
更正...程式是顯示156.12
版主好,
不曉得是我的yar規則公式表達有誤,我再用以下圖片說明,看能不能讓問題清楚一點.....
__________________
chiu
版主你好,
剛以3008取了上翻轉各3段做首af驗算,我是以以每段第2天計算yar反推每段第1個af值,發現有不樣的問題,如以下圖片說明....
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
不曉得是我的yar規則公式表達有誤,我再用以下圖片說明,看能不能讓問題清楚一點.....
引用:
最初由 a9681054 發表
版主你好,
剛以3008取了上翻轉各3段做首af驗算,我是以以每段第2天計算yar反推每段第1個af值,發現有不樣的問題,如以下圖片說明....
版主好,
謝謝版主的說明與指正,也辛苦你了,問題應該如版主所說是我原定義yar計算規則有誤造成,那針對第7點規則重新定義如下:
算式換為 今yar=昨yar+昨af*(昨ep-昨yar)
以上,再煩請版主幫忙處理,謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
謝謝版主的說明與指正,也辛苦你了,問題應該如版主所說是我原定義yar計算規則有誤造成,那針對第7點規則重新定義如下:
算式換為 今yar=昨yar+昨af*(昨ep-昨yar)
以上,再煩請版主幫忙處理,謝謝~
原碼:
if datacount<4 then exit; //K棒不足 CC:=C; HH:=H; LL:=L; HH3:=HHV(H,3); LL3:=LLV(L,3); RHCK:=H>ref(H,1); RLCK:=L<ref(L,1); DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2; YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4); if DIR=1 then begin yar[4]:=LL3[3]; ep:=HH3[3]; end else begin yar[4]:=HH3[3]; ep:=LL3[3]; end; af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0; for i=4+1 to datacount do begin if SwapF=1 then begin yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir; end else begin yar[i]:=yar[i-1]+af*(ep-yar[i-1]); if NowDir=1 then begin if RHCK[i] then af:=af+0.02; end else begin if RLCK[i] then af:=af+0.02; end; if af>0.2 then af:=0.2; end; if NowDir=1 then begin if CC[i]<yar[i] then begin SwapF:=1; NewYar:=ep; ep:=LL[i]; end else begin if HH[i-1]>ep then ep:=HH[i-1]; end; end else begin if CC[i]>yar[i] then begin SwapF:=1; NewYar:=ep; ep:=HH[i]; end else begin if LL[i-1]<ep then ep:=LL[i-1]; end; end; end;
版主你好,
剛驗算了一下今天新程式,發現上下反轉時都有發生,有的線段初始yar無法取到上漲最高點及下跌最低點?不曉得是不是我的規則哪裡還有問題?如以下圖片,煩請版主再幫忙看一下.......謝謝~
__________________
chiu
補圖片
__________________
chiu
版主好,
我自己有重新先看一下ep規則定義,發現是我表達有誤....
5/2早上要求修正規則...
之後上漲後的ep為每日到前天為止的上漲最高點....版主有幫忙修正.
5/3重新定義ep規則如下
之後上漲後的ep為到"昨天"為止的上漲"區間極值"最高點.
之後下跌後的ep為到"昨天"為止的下跌"區間極值"最低點.
以上,再請版主幫忙修正,謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
我自己有重新先看一下ep規則定義,發現是我表達有誤....
5/2早上要求修正規則...
之後上漲後的ep為每日到前天為止的上漲最高點....版主有幫忙修正.
5/3重新定義ep規則如下
之後上漲後的ep為到"昨天"為止的上漲"區間極值"最高點.
之後下跌後的ep為到"昨天"為止的下跌"區間極值"最低點.
以上,再請版主幫忙修正,謝謝~
版主你好,
上下翻初始yar已正常.
我再看看有沒有其它問題,再向版主提出幫忙.....謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
上下翻初始yar已正常.
我再看看有沒有其它問題,再向版主提出幫忙.....謝謝~
版主你好,
還是有問題但還辦法想通問題出在哪裡?我先以今天5/3 10:03版主給的最後原碼來提出看到的問題,目前這一版程式,yar上下計算式都正常,只有發現每當要上下翻轉時,隔天要取的初始yar值,並沒有每段依規則都能取到最高點或最低點.......(有的有,有的沒有)
12:24我提出之後ep取昨天
13:20版主提供修改資料,套入程式後雖然解決了初始yar問題,但yar計算式又出現錯誤,感覺有點衝突.....
以上說明,麻煩版主再幫我確認一下問題是出在哪裡?謝謝~
__________________
chiu
以今天5/3 10:03版主給的最後原碼比對,以下圖片說明供版主參考....
__________________
chiu
補圖片
__________________
chiu
引用:
最初由 a9681054 發表
版主好,
謝謝版主的說明與指正,也辛苦你了,問題應該如版主所說是我原定義yar計算規則有誤造成,那針對第7點規則重新定義如下:
算式換為 今yar=昨yar+昨af*(昨ep-昨yar)
以上,再煩請版主幫忙處理,謝謝~
__________________
chiu
版主你好,
部份初始yar無法取到最高點及最低點,我用推算與程式比較發現問題如下:
if NowDir=1 then begin
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
end else begin
if HH[i-1]>ep then ep:=HH[i-1];
end;
end else begin
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
end else begin
if LL[i-1]<ep then ep:=LL[i-1];
end;
上下翻轉時第一天要取的ep,
newyar:=ep...這裡程式newyar都會取到前天為止的ep, 我目前newyar需求是要取到昨天為止的ep, 麻煩版王再幫我確認 一下....謝謝~
__________________
chiu
補照片
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
部份初始yar無法取到最高點及最低點,我用推算與程式比較發現問題如下:
if NowDir=1 then begin
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
end else begin
if HH[i-1]>ep then ep:=HH[i-1];
end;
end else begin
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
end else begin
if LL[i-1]<ep then ep:=LL[i-1];
end;
上下翻轉時第一天要取的ep,
newyar:=ep...這裡程式newyar都會取到前天為止的ep, 我目前newyar需求是要取到昨天為止的ep, 麻煩版王再幫我確認 一下....謝謝~
版主你好,
抱歉,造成版主多日困擾,以下是我們最後討論的原碼....
if datacount<4 then exit; //K棒不足
CC:=C; HH:=H; LL:=L;
HH3:=HHV(H,3); LL3:=LLV(L,3);
RHCK:=H>ref(H,1);
RLCK:=L<ref(L,1);
DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2;
YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4);
if DIR=1 then begin
yar[4]:=LL3[3]; ep:=HH3[3];
end else begin
yar[4]:=HH3[3]; ep:=LL3[3];
end;
af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0;
for i=4+1 to datacount do begin
if SwapF=1 then begin
yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir;
end else begin
yar[i]:=yar[i-1]+af*(ep-yar[i-1]);
if NowDir=1 then begin
if RHCK[i] then af:=af+0.02;
end else begin
if RLCK[i] then af:=af+0.02;
end;
if af>0.2 then af:=0.2;
end;
if NowDir=1 then begin
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
end else begin
if HH[i]>ep then ep:=HH[i];
end;
end else begin
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
end else begin
if LL[i]<ep then ep:=LL[i];
end;
end;
end;
目前程式上下翻初始yar都能正常,只有計算式出來的數值跟自己推算的有不一樣,想請教5/3 01:06版主有提到我的計算式規則有誤,5/3 07:56我依版主說明重新定義計算式
....今yar=昨yar+昨af*(昨ep-昨yar),這個新的yar計算式不知我們最後原碼是否有修正到?
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
抱歉,造成版主多日困擾,以下是我們最後討論的原碼....
if datacount<4 then exit; //K棒不足
CC:=C; HH:=H; LL:=L;
HH3:=HHV(H,3); LL3:=LLV(L,3);
RHCK:=H>ref(H,1);
RLCK:=L<ref(L,1);
DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2;
YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4);
if DIR=1 then begin
yar[4]:=LL3[3]; ep:=HH3[3];
end else begin
yar[4]:=HH3[3]; ep:=LL3[3];
end;
af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0;
for i=4+1 to datacount do begin
if SwapF=1 then begin
yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir;
end else begin
yar[i]:=yar[i-1]+af*(ep-yar[i-1]);
if NowDir=1 then begin
if RHCK[i] then af:=af+0.02;
end else begin
if RLCK[i] then af:=af+0.02;
end;
if af>0.2 then af:=0.2;
end;
if NowDir=1 then begin
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
end else begin
if HH[i]>ep then ep:=HH[i];
end;
end else begin
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
end else begin
if LL[i]<ep then ep:=LL[i];
end;
end;
end;
目前程式上下翻初始yar都能正常,只有計算式出來的數值跟自己推算的有不一樣,想請教5/3 01:06版主有提到我的計算式規則有誤,5/3 07:56我依版主說明重新定義計算式
....今yar=昨yar+昨af*(昨ep-昨yar),這個新的yar計算式不知我們最後原碼是否有修正到?
RE:請把不符的 哪個商品哪個週期哪個日期
舉例列出!
版主好,之前較早的問題就暫時不用幫我處理,我提以下3個新需求....
1)今天要取昨天的ep,要如何表述.
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
以上新需求,再次麻煩版主,謝謝~
__________________
chiu
EXPLAIN(1,'STP弧線:'),COLORYELLOW;//
EXPLAINEX(1 and C>YAR,'收: ',c,2,0),Colorred;
EXPLAIN(1 AND C>YAR,'YAR :→'+NUMTOSTR(YAR,2)),COLORRED;
EXPLAIN(1 AND C<YAR,'YAR :→'+NUMTOSTR(YAR,2)),COLORGREEN;
EXPLAINEX(1 and C<YAR,'收: ',c,2,0),ColorWHITE;
3)當日的yar值,顯示在解盤區.
引用:
最初由 a9681054 發表
RE:請把不符的 哪個商品哪個週期哪個日期
舉例列出!
版主好,之前較早的問題就暫時不用幫我處理,我提以下3個新需求....
1)今天要取昨天的ep,要如何表述.
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
以上新需求,再次麻煩版主,謝謝~
原碼:
if datacount<4 then exit; //K棒不足 CC:=C; HH:=H; LL:=L; HH3:=HHV(H,3); LL3:=LLV(L,3); RHCK:=H>ref(H,1); RLCK:=L<ref(L,1); DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2; YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4); if DIR=1 then begin yar[4]:=LL3[3]; ep:=HH3[3]; end else begin yar[4]:=HH3[3]; ep:=LL3[3]; end; af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0; PrAF:YAR*0 linethick; //顯示當根 YAR 計算採用之AF值 for i=4+1 to datacount do begin if SwapF=1 then begin yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir; end else begin PrAF[i]:=AF; yar[i]:=yar[i-1]+af*(ep-yar[i-1]); if NowDir=1 then begin if RHCK[i] then af:=af+0.02; end else begin if RLCK[i] then af:=af+0.02; end; if af>0.2 then af:=0.2; end; if NowDir=1 then begin if CC[i]<yar[i] then begin SwapF:=1; NewYar:=ep; ep:=LL[i]; end else begin if HH[i]>ep then ep:=HH[i]; end; end else begin if CC[i]>yar[i] then begin SwapF:=1; NewYar:=ep; ep:=HH[i]; end else begin if LL[i]<ep then ep:=LL[i]; end; end; end; AFCK:=PRAF=0.02; VERTLINE(AFCK=1 and ref(AFCK=0,1)) linedot; //YAR 計算首根採用AF=0.02 畫垂直線 EXPLAINEX(1,'YAR: ',YAR,2,0);
版主你好,
謝謝B.S及版主的說明.
1)今天要取昨天的ep,要如何表述
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
Re1....了解版主的意思.
Re2.....我想表達是af達到0.2上限做記號,目前好像是回覆到0.02做記號?
Re3.....ok
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
謝謝B.S及版主的說明.
1)今天要取昨天的ep,要如何表述
2)想在af=0.2時,只在當日顯示符號,之後同段的af=0.2都不再顯示.
3)當日的yar值,顯示在解盤區.
Re1....了解版主的意思.
Re2.....我想表達是af達到0.2上限做記號,目前好像是回覆到0.02做記號?
Re3.....ok
引用:
最初由 cgjj 發表
把 AFCK:=PRAF=0.02;
改為 AFCK:=PRAF=0.2;
就可以了
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
第2個新問題...已ok,謝謝~
但我另發現一個新問題,為什麼在上下翻轉第1天af值是給0?我原始規則需求是要0.02
//2019/4/28第3版規則提到
6)上翻轉第1天…加速因子(af)值從0.02開始...
af問題回覆,我有確認ok, 謝謝版主~
唯上下翻轉時,第1天取ep有點狀況,我整理如下....
5)(之後)上翻轉第1天…取收盤價>當日yar那一天的最高點當初始區間極值(ep),
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
上面程式ep:=HH[i],取到的值不一定是規則講的那一天?
5)(之後)下翻轉第1天…取收盤價<當日yar那一天的最低點當初始區間極值(ep),
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
上面程式ep:=LL[i],取到的值不一定是規則講的那一天?
例如1/8上翻第1天 ep應取1/7最高點當ep...結果取到當日3/8的最高點
例如3/14上翻 第1天ep應取3/13最高點當ep...結果取到當日3/14的最高點
以上問題,麻煩版主再幫我看一下....感謝~
__________________
chiu
版主你好,
sorry, 剛才再檢查一下,好像是我訂的規則有誤....
5)(之後)上翻轉第1天…取收盤價>當日yar那一天的最高點當初始區間極值(ep),
規則更正為:
5)(之後)上翻轉第1天…取"昨天"收盤價>當日yar那一天的最高點當初始區間極值(ep),
5)(之後)下翻轉第1天…取收盤價<當日yar那一天的最低點當初始區間極值(ep),
規則更正為:
5)(之後)下翻轉第1天…取"昨天"收盤價<當日yar那一天的最低點當初始區間極值(ep),
以上新規則,再麻煩版主幫忙修正,謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
af問題回覆,我有確認ok, 謝謝版主~
唯上下翻轉時,第1天取ep有點狀況,我整理如下....
5)(之後)上翻轉第1天…取收盤價>當日yar那一天的最高點當初始區間極值(ep),
if CC[i]>yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=HH[i];
上面程式ep:=HH[i],取到的值不一定是規則講的那一天?
5)(之後)下翻轉第1天…取收盤價<當日yar那一天的最低點當初始區間極值(ep),
if CC[i]<yar[i] then begin
SwapF:=1; NewYar:=ep; ep:=LL[i];
上面程式ep:=LL[i],取到的值不一定是規則講的那一天?
例如1/8上翻第1天 ep應取1/7最高點當ep...結果取到當日3/8的最高點
例如3/14上翻 第1天ep應取3/13最高點當ep...結果取到當日3/14的最高點
以上問題,麻煩版主再幫我看一下....感謝~
引用:
最初由 a9681054 發表
版主你好,
sorry, 剛才再檢查一下,好像是我訂的規則有誤....
5)(之後)上翻轉第1天…取收盤價>當日yar那一天的最高點當初始區間極值(ep),
規則更正為:
5)(之後)上翻轉第1天…取"昨天"收盤價>當日yar那一天的最高點當初始區間極值(ep),
5)(之後)下翻轉第1天…取收盤價<當日yar那一天的最低點當初始區間極值(ep),
規則更正為:
5)(之後)下翻轉第1天…取"昨天"收盤價<當日yar那一天的最低點當初始區間極值(ep),
以上新規則,再麻煩版主幫忙修正,謝謝~
引用:
最初由 cgjj 發表
規則 不能有所謂的 "好像",恕不協助所謂的 "好像" !!!
請自行先確認檢驗方式是否無誤
__________________
chiu
引用:
最初由 a9681054 發表
了解!
那麼請版主依我昨天最後更正的需求規則修正,謝謝~
引用:
最初由 cgjj 發表
你是採用什麼方式檢驗的?
我這邊驗證過沒有問題唷!!!
台當月日線
1/8 的 EP 是 9588 (9588為1/7的最高點)
1/9 的 EP 是 9611 (9611為1/8的最高點)
3/14 的 EP 是 10365 (10365為3/13的最高點)
3/15 的 EP 是 10392 (10392為3/14的最高點)
這四行說的 EP,是指用來算當根 YAR 使用的 EP 值
註:翻轉首根,並未用到EP值算YAR
__________________
chiu
補照片說明
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
上面說的日期ep.......是沒錯
翻轉首根,並未用到EP值算YAR.....也是沒錯
但3/15我算的
yar=10162+0.02*(10365-10162)=10166.06
目前程式卻是顯示10166.60?
yar=10162+0.02*(10392-10162)=10166.60
我的疑問是在這裡......
引用:
最初由 cgjj 發表
你 3/15 計算YAR的 EP 值帶入錯誤,導致結果錯誤
3/15 是上翻的第二天,不是第一天,根據規則
第一天之後上漲後的ep為每日到昨天為止的上漲最高點
3/15 計算YAR的 EP 是 10392 (10392為3/14的最高點)
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
抱歉,剛再次檢查一下ep取法,應該是我的規則定義錯誤造成....
我重新定義如下:
(上翻)...第二天之後上漲後的ep為每日到昨天為止的上漲最高點
(下翻)...第二天之後下跌後的ep為每日到昨天為止的下跌最低點
以上新規則,再次麻煩版主了,感謝~
原碼:
if datacount<4 then exit; //K棒不足 CC:=C; HH:=H; LL:=L; HH3:=HHV(H,3); LL3:=LLV(L,3); RHCK:=H>ref(H,1); RLCK:=L<ref(L,1); DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2; YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4); if DIR=1 then begin yar[4]:=LL3[3]; ep:=HH3[3]; end else begin yar[4]:=HH3[3]; ep:=LL3[3]; end; af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0; PrAF:YAR*0 linethick; //顯示當根 YAR 計算採用之AF值 for i=4+1 to datacount do begin if SwapF=1 then begin yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir; end else begin PrAF[i]:=AF; yar[i]:=yar[i-1]+af*(ep-yar[i-1]); if NowDir=1 then begin if RHCK[i] then af:=af+0.02; if HH[i]>ep then ep:=HH[i]; end else begin if RLCK[i] then af:=af+0.02; if LL[i]<ep then ep:=LL[i]; end; if af>0.2 then af:=0.2; end; if NowDir=1 then begin if CC[i]<yar[i] then begin SwapF:=1; NewYar:=ep; ep:=LL[i]; end; end else begin if CC[i]>yar[i] then begin SwapF:=1; NewYar:=ep; ep:=HH[i]; end; end; end; AFCK:=PRAF=0.2; VERTLINE(AFCK=1 and ref(AFCK=0,1)) linedot; //首根AF=0.2畫垂直線 EXPLAINEX(1,'YAR: ',YAR,2,0);
版主你好,
最新版程式我再仔細驗算一下...如還有狀況再向版主反應,在此先感謝您的幫忙與指正∼
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
最新版程式我再仔細驗算一下...如還有狀況再向版主反應,在此先感謝您的幫忙與指正∼
版主你好,
程式確認OK了,非常感謝你幫忙~
另需求今日收完盤後顯示"明日的yar值在解盤區要如何表達?.........謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
程式確認OK了,非常感謝你幫忙~
另需求今日收完盤後顯示"明日的yar值在解盤區要如何表達?.........謝謝~
原碼:
if datacount<4 then exit; //K棒不足 CC:=C; HH:=H; LL:=L; HH3:=HHV(H,3); LL3:=LLV(L,3); RHCK:=H>ref(H,1); RLCK:=L<ref(L,1); DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2; YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4); 明YAR:YAR linethick0; if DIR=1 then begin yar[4]:=LL3[3]; ep:=HH3[3]; end else begin yar[4]:=HH3[3]; ep:=LL3[3]; end; af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0; PrAF:YAR*0 linethick; //顯示當根 YAR 計算採用之AF值 for i=4+1 to datacount do begin if SwapF=1 then begin yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir; end else begin PrAF[i]:=AF; yar[i]:=yar[i-1]+af*(ep-yar[i-1]); if NowDir=1 then begin if RHCK[i] then af:=af+0.02; if HH[i]>ep then ep:=HH[i]; end else begin if RLCK[i] then af:=af+0.02; if LL[i]<ep then ep:=LL[i]; end; if af>0.2 then af:=0.2; end; if NowDir=1 then begin if CC[i]<yar[i] then begin SwapF:=1; NewYar:=ep; ep:=LL[i]; end; end else begin if CC[i]>yar[i] then begin SwapF:=1; NewYar:=ep; ep:=HH[i]; end; end; if SwapF=1 then 明yar[i]:=NewYar; if SwapF=0 then 明yar[i]:=yar[i]+af*(ep-yar[i]); end; AFCK:=PRAF=0.2; VERTLINE(AFCK=1 and ref(AFCK=0,1)) linedot; //首根AF=0.2畫垂直線 EXPLAINEX(1,'今YAR: ',YAR,2,0); EXPLAINEX(1,'明YAR: ',明YAR,2,0);
版主你好,
明yar需求顯示....已ok, 謝謝~
__________________
chiu
版主你好,
另需求像sar拋物線轉向點用在副圖,要如何達成?
sar拋物線轉向點...A:SARTURN(10,2,20);
yar拋物線轉向點...A:SARTURN(??? );
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
另需求像sar拋物線轉向點用在副圖,要如何達成?
sar拋物線轉向點...A:SARTURN(10,2,20);
yar拋物線轉向點...A:SARTURN(??? );
原碼:
if datacount<4 then exit; //K棒不足 CC:=C; HH:=H; LL:=L; HH3:=HHV(H,3); LL3:=LLV(L,3); RHCK:=H>ref(H,1); RLCK:=L<ref(L,1); DIR:=CC[3]>=CC[1]; DIR:=1-(DIR=0)*2; YAR:CC*0 CIRCLEDOT; x:=setlbound(YAR,4); 明YAR:YAR linethick0; if DIR=1 then begin yar[4]:=LL3[3]; ep:=HH3[3]; end else begin yar[4]:=HH3[3]; ep:=LL3[3]; end; af:=0.02; NowDir:=DIR; SwapF:=0; NewYar:=0; PrAF:YAR*0 linethick; //顯示當根 YAR 計算採用之AF值 Swap:YAR*0 linethick; //轉向位置紀錄 Swap[4]:=NowDir; for i=4+1 to datacount do begin if SwapF=1 then begin yar[i]:=NewYar; SwapF:=0; af:=0.02; NowDir:=-NowDir; Swap[i]:=NowDir; end else begin PrAF[i]:=AF; yar[i]:=yar[i-1]+af*(ep-yar[i-1]); if NowDir=1 then begin if RHCK[i] then af:=af+0.02; if HH[i]>ep then ep:=HH[i]; end else begin if RLCK[i] then af:=af+0.02; if LL[i]<ep then ep:=LL[i]; end; if af>0.2 then af:=0.2; end; if NowDir=1 then begin if CC[i]<yar[i] then begin SwapF:=1; NewYar:=ep; ep:=LL[i]; end; end else begin if CC[i]>yar[i] then begin SwapF:=1; NewYar:=ep; ep:=HH[i]; end; end; if SwapF=1 then 明yar[i]:=NewYar; if SwapF=0 then 明yar[i]:=yar[i]+af*(ep-yar[i]); end; AFCK:=PRAF=0.2; VERTLINE(AFCK=1 and ref(AFCK=0,1)) linedot; //首根AF=0.2畫垂直線 EXPLAINEX(1,'今YAR: ',YAR,2,0); EXPLAINEX(1,'明YAR: ',明YAR,2,0);
版主你好,
主圖最上面有呈現出來....謝謝~
另請教2個應用問題:
1)如何將這個swap上下轉呈現在副圖?如附件圖片範例
2)如何利用
當收盤價>yar的第1天做選股
當收盤價<yar的第1天做選股
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
主圖最上面有呈現出來....謝謝~
另請教2個應用問題:
1)如何將這個swap上下轉呈現在副圖?如附件圖片範例
2)如何利用
當收盤價>yar的第1天做選股
當收盤價<yar的第1天做選股
版主你好,
好的,謝謝你多日指導與幫忙~
__________________
chiu
引用:
最初由 cgjj 發表
Re1:
你只輸出 swap,其它不要輸出,就是這效果了
Re2: 條件成立的第一天,範例如下:
條件 and ref(條件,1)=0;
程式就讓您自己去練習寫作了!
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
Re1:
swap副圖我已依版主指導完成了,請教如要讓swap=1及swap=-1出來的圖形改成相反顯示,要如何處理?謝謝~
版主你好,
SWAP前加了"-"號後...
行16:出現未定義的標識符
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
SWAP前加了"-"號後...
行16:出現未定義的標識符
引用:
最初由 cgjj 發表
不是在下面這行加 !!!
Swap:YAR*0 linethick; //轉向位置紀錄
是你後面應用時加上,例如
-Swap;
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
謝謝,可以了~
請問總版主:有關這個公式加速因子(AF)與極值(EP)能否像內建函數SAR一樣設成参數而自行調整嗎?謝謝!
引用:
最初由 Markchu7 發表
請問總版主:有關這個公式加速因子(AF)與極值(EP)能否像內建函數SAR一樣設成参數而自行調整嗎?謝謝!
ok,我試試!謝謝!
版主,你好:
我使用Chiefox v5.2.210602版本,依照此貼您於「2019-05-08 09:17」所分享的「SAR程式碼」學習。
但我有一個疑問
===================================================================================
AFCK:=PRAF=0.2;
VERTLINE(AFCK=1 and ref(AFCK=0,1)) linedot; //首根AF=0.2畫垂直線
===================================================================================
我採用「加權指數」商品對照,但我發現:
2021/06/16,第一次af=2.0 ==> 垂直標記線畫於2021/06/17
2021/04/19,第一次af=2.0 ==> 垂直標記線畫於2021/04/20
2021/01/13,第一次af=2.0 ==> 垂直標記線畫於2021/04/14
2020/12/01,第一次af=2.0 ==> 垂直標記線畫於2020/12/03
PS:在往更前的時間,一樣有相似情況,就不一一類舉。
請問如何修正程式碼,才能於第一次af=2.0即畫出垂直線?(或是我對程式的理解有誤,亦請前輩指導)
引用:
最初由 m3energy 發表
版主,你好:
我使用Chiefox v5.2.210602版本,依照此貼您於「2019-05-08 09:17」所分享的「SAR程式碼」學習。
但我有一個疑問
===================================================================================
AFCK:=PRAF=0.2;
VERTLINE(AFCK=1 and ref(AFCK=0,1)) linedot; //首根AF=0.2畫垂直線
===================================================================================
我採用「加權指數」商品對照,但我發現:
2021/06/16,第一次af=2.0 ==> 垂直標記線畫於2021/06/17
2021/04/19,第一次af=2.0 ==> 垂直標記線畫於2021/04/20
2021/01/13,第一次af=2.0 ==> 垂直標記線畫於2021/04/14
2020/12/01,第一次af=2.0 ==> 垂直標記線畫於2020/12/03
PS:在往更前的時間,一樣有相似情況,就不一一類舉。
請問如何修正程式碼,才能於第一次af=2.0即畫出垂直線?(或是我對程式的理解有誤,亦請前輩指導)
感謝版主的回覆。
抱歉,『「SAR程式碼」學習』,這詞彙用的有所不妥
我了解該範例程式是算 a9681054 所要的 YAR,並非算 SAR
感謝您對於程式碼的疑問解惑,謝謝。
引用:
最初由 m3energy 發表
感謝版主的回覆。
抱歉,『「SAR程式碼」學習』,這詞彙用的有所不妥
我了解該範例程式是算 a9681054 所要的 YAR,並非算 SAR
感謝您對於程式碼的疑問解惑,謝謝。
全部時間均為台灣時間, 現在時間為20:18 | 在這個頁面顯示本主題全部的 112 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.