奇狐社區論壇 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 23 個文章

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


由 Digol 在 2016-11-16 09:47 發表:

[問題]請問記錄指標數值並比較的語法?

1、從第一次記錄指標數值開始,之後同向不與比較也不記錄,反向才要比較。
2、反向減少則與最近一次記錄之指標數值比較,低於則記錄指標數值,並顯示為空方,高於則忽略(但之後出現的反向減少必須持續比較)。
3、同理,反向增加則與最近一次記錄之指標數值比較,高於則記錄指標數值,並顯示為多方,低於則忽略(但之後出現的反向增加必須持續比較)。
4、指標差值為前後指標數值之差值,即指標差值:指標數值-REF(指標數值,1);
5、煩請板主以五彩K線為例指導,謝謝。

__________________
大家發財^^


由 cgjj 在 2016-11-16 10:29 發表:

回覆: [問題]請問記錄指標數值並比較的語法?

引用:
最初由 Digol 發表
1、從第一次記錄指標數值開始,之後同向不與比較也不記錄,反向才要比較。
2、反向減少則與最近一次記錄之指標數值比較,低於則記錄指標數值,並顯示為空方,高於則忽略(但之後出現的反向減少必須持續比較)。
3、同理,反向增加則與最近一次記錄之指標數值比較,高於則記錄指標數值,並顯示為多方,低於則忽略(但之後出現的反向增加必須持續比較)。
4、指標差值為前後指標數值之差值,即指標差值:指標數值-REF(指標數值,1);
5、煩請板主以五彩K線為例指導,謝謝。



參考範例:
UD:=V-ref(v,1);
BB:=UD>0 or barpos=0;
SS:=UD<0 or barpos=0;
CK:=BB-SS;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
UD:=UD*ABS(CK);
UD>0 colorred;
UD<0 colorgreen;
UD=0 color777777;


由 cgjj 在 2016-11-16 10:48 發表:

細看了一下~~
我原先回應的,跟您要的想法應該不太一樣(需要重新撰寫答覆)

您要做的指標,起算點為歷史首根嗎?
(起點對後期影響很大....)


由 Digol 在 2016-11-16 11:03 發表:

引用:
最初由 cgjj 發表
細看了一下~~
我原先回應的,跟您要的想法應該不太一樣(需要重新撰寫答覆)

您要做的指標,起算點為歷史首根嗎?
(起點對後期影響很大....)



回板主,起算點為每日第1根K棒開始,因為有運用分筆資料,所以每天都是從開盤開始重新計算。

__________________
大家發財^^


由 cgjj 在 2016-11-16 11:42 發表:

引用:
最初由 Digol 發表
回板主,起算點為每日第1根K棒開始,因為有運用分筆資料,所以每天都是從開盤開始重新計算。


看看是否為您要的
原碼:
差值:={請自行帶入指標差值}; DE:=date; StNo:=lbound(BARSSINCE(DE=DE[datacount])); if lbound(差值)>StNo then StNo:=lbound(差值); Last差:=差值[StNo]; UD差:=C*0; UD差[StNo]:=Last差; for i=StNo+1 to datacount do begin if 差值[i]<>0 then begin if ABS(差值[i])<ABS(Last差) and SGN(差值[i])=-SGN(Last差) then begin UD差[i]:=差值[i]; Last差:=差值[i]; end; end; end; UD差>0 colorred; UD差<0 colorgreen; UD差=0 color777777;


由 Digol 在 2016-11-16 14:56 發表:

引用:
最初由 cgjj 發表
看看是否為您要的
原碼:
差值:={請自行帶入指標差值}; DE:=date; StNo:=lbound(BARSSINCE(DE=DE[datacount])); if lbound(差值)>StNo then StNo:=lbound(差值); Last差:=差值[StNo]; UD差:=C*0; UD差[StNo]:=Last差; for i=StNo+1 to datacount do begin if 差值[i]<>0 then begin if ABS(差值[i])<ABS(Last差) and SGN(差值[i])=-SGN(Last差) then begin UD差[i]:=差值[i]; Last差:=差值[i]; end; end; end; UD差>0 colorred; UD差<0 colorgreen; UD差=0 color777777;



謝謝板主,但經測試K棒均顯示color777777這個顏色,並沒有依需求改變。

另外,我想要的是當差為多方時,當根K棒與之後K棒一直顯示為紅色,直到符合比較原則轉為空方時則一直顯示成綠色,也就是只有開盤到第一次出現差值前才會顯示UD差=0的顏色。

__________________
大家發財^^


由 cgjj 在 2016-11-16 15:47 發表:

引用:
最初由 Digol 發表
謝謝板主,但經測試K棒均顯示color777777這個顏色,並沒有依需求改變。

另外,我想要的是當差為多方時,當根K棒與之後K棒一直顯示為紅色,直到符合比較原則轉為空方時則一直顯示成綠色,也就是只有開盤到第一次出現差值前才會顯示UD差=0的顏色。



您用哪個週期跑? 分線嗎?
請觀察今日之分線K棒,它僅算最新一日,之前的都會是灰色的
若在分線沒結果,請確認您帶入的差值數列無誤

Re:另外,我想要的是當差為多方時,當根K棒與之後K棒一直顯示為紅色....
這部分要等前面的部分確立無誤後
再進行處理,否則先處理不利比對


由 Digol 在 2016-11-16 16:04 發表:

引用:
最初由 cgjj 發表
您用哪個週期跑? 分線嗎?
請觀察今日之分線K棒,它僅算最新一日,之前的都會是灰色的
若在分線沒結果,請確認您帶入的差值數列無誤

Re:另外,我想要的是當差為多方時,當根K棒與之後K棒一直顯示為紅色....
這部分要等前面的部分確立無誤後
再進行處理,否則先處理不利比對



我用1分鐘週期跑,如圖都是灰色的。
另外差值請看附圖指標,只有出現差值時才會有紅、綠,其他時間差值為0。

__________________
大家發財^^


由 Digol 在 2016-11-16 16:05 發表:

引用:
最初由 Digol 發表
我用1分鐘週期跑,如圖都是灰色的。
另外差值請看附圖指標,只有出現差值時才會有紅、綠,其他時間差值為0。

__________________
大家發財^^


由 cgjj 在 2016-11-16 16:48 發表:

引用:
最初由 Digol 發表
我用1分鐘週期跑,如圖都是灰色的。
另外差值請看附圖指標,只有出現差值時才會有紅、綠,其他時間差值為0。



是起點差值為零引起的,請改為這樣
原碼:
差值:={請自行帶入指標差值}; DE:=date; StNo:=lbound(BARSSINCE(DE=DE[datacount])); if lbound(差值)>StNo then StNo:=lbound(差值); Last差:=差值[StNo]; UD差:=C*0; UD差[StNo]:=Last差; for i=StNo+1 to datacount do begin if 差值[i]<>0 then begin if Last差=0 or (ABS(差值[i])<ABS(Last差) and SGN(差值[i])=-SGN(Last差)) then begin UD差[i]:=差值[i]; Last差:=差值[i]; end; end; end; UD差>0 colorred; UD差<0 colorgreen; UD差=0 color777777;


由 cgjj 在 2016-11-16 17:14 發表:

確認無誤後,只需


UD差>0 colorred;
UD差<0 colorgreen;
UD差=0 color777777;

改為
UD差:=ref(UD差,barslast(UD差<>0));
UD差>0 colorred;
UD差<0 colorgreen;
UD差=0 color777777;

就可達到您要的:
當差為多方時,當根K棒與之後K棒一直顯示為紅色,直到符合比較原則轉為空方時則一直顯示成綠色


由 Digol 在 2016-11-17 08:27 發表:

引用:
最初由 cgjj 發表
是起點差值為零引起的,請改為這樣
原碼:
差值:={請自行帶入指標差值}; DE:=date; StNo:=lbound(BARSSINCE(DE=DE[datacount])); if lbound(差值)>StNo then StNo:=lbound(差值); Last差:=差值[StNo]; UD差:=C*0; UD差[StNo]:=Last差; for i=StNo+1 to datacount do begin if 差值[i]<>0 then begin if Last差=0 or (ABS(差值[i])<ABS(Last差) and SGN(差值[i])=-SGN(Last差)) then begin UD差[i]:=差值[i]; Last差:=差值[i]; end; end; end; UD差>0 colorred; UD差<0 colorgreen; UD差=0 color777777;



經測試仍有問題,如圖。

另外好像無法歷史回憶?希望能歷史回憶,往後才能正確的測試指標。

__________________
大家發財^^


由 cgjj 在 2016-11-17 08:57 發表:

引用:
最初由 Digol 發表
經測試仍有問題,如圖。

另外好像無法歷史回憶?希望能歷史回憶,往後才能正確的測試指標。



@@ 抱歉,被圖誤導

這邊的
差值:={請自行帶入指標差值};

應該是要帶入您所謂的[指標數值]
差值:={指標數值};

以您的公式特性而言
要做歷史回憶需要具備:
1.開啟該天的歷史回應
2.訓練模式調到該天收盤後的時間(例如:15:00)
兩者同時配合,才能正常看


由 Digol 在 2016-11-17 09:18 發表:

引用:
最初由 cgjj 發表
@@ 抱歉,被圖誤導

這邊的
差值:={請自行帶入指標差值};

應該是要帶入您所謂的[指標數值]
差值:={指標數值};

以您的公式特性而言
要做歷史回憶需要具備:
1.開啟該天的歷史回應
2.訓練模式調到該天收盤後的時間(例如:15:00)
兩者同時配合,才能正常看



報告板主,帶入指標數值,紅K變成開盤第一根了。如圖。

__________________
大家發財^^


由 cgjj 在 2016-11-17 09:25 發表:

引用:
最初由 Digol 發表
報告板主,帶入指標數值,紅K變成開盤第一根了。如圖。


那是起算點呀

起算點若[指標數值]不為零
就會被標上紅綠K,當第一成立之紅綠K
找第二紅綠K時,會跟它去比較


全部時間均為台灣時間, 現在時間為13:16 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 23 個文章


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

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