奇狐社區論壇
在這個頁面顯示本主題全部的 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=17327)


由 tycoon868 在 2012-12-10 09:37 發表:

如何消除雜訊

請教總版主:

茲以 Ma10 作為紅綠K棒的基準
Red:=C>Ma10
Green:=C<Ma10

希望做到以下的結果:

情況一. 如果原來是C>MA10,且已經持續或超過(>=)3個週期,則第四周期如果C<Ma10 則Green可成立

情況二. 如果原來是C>MA10,但只持續了2個週期,則第三周期如果C<Ma10 則Green不成立,繼續保持 Red=1,直到下一個情況一發生為止

反之亦然

麻煩您教我如何修改 Red、Green 的表達方式

謝謝


由 cgjj 在 2012-12-10 11:35 發表:

回覆: 如何消除雜訊

引用:
最初由 tycoon868 發表
請教總版主:

茲以 Ma10 作為紅綠K棒的基準
Red:=C>Ma10
Green:=C<Ma10

希望做到以下的結果:

情況一. 如果原來是C>MA10,且已經持續或超過(>=)3個週期,則第四周期如果C<Ma10 則Green可成立

情況二. 如果原來是C>MA10,但只持續了2個週期,則第三周期如果C<Ma10 則Green不成立,繼續保持 Red=1,直到下一個情況一發生為止

反之亦然

麻煩您教我如何修改 Red、Green 的表達方式

謝謝



情況一判斷式寫法
ref(sum(C>MA10,3)=3,1) and C<Ma10;

情況二於整合訊號時延伸前訊就可, 例如:
訊號:=紅-綠;
訊號:=ref(訊號, barslast(訊號<>0));
新紅:訊號=1;
新綠:訊號=-1;


由 tycoon868 在 2012-12-10 16:22 發表:

已經過測試
覺得不太OK
謝謝您


由 founders008 在 2013-01-07 21:28 發表:

考虑的情形大概如此

mm:=ma(c,10);
hx:=sum(c>ref(mm,1),3)=3;
lx:=sum(c<ref(mm,1),3)=3;
ck:=hx-lx;
ck:=ref(ck,barslast(ck<>0));
qz:=if(ck=1,2,-2);
sz:=setval(ck<>ref(ck,1),0,-3+1,qz);
訊號:=ck+sz;
新紅:訊號=1;
新綠:訊號=-1;

办法较笨,请教版大可否用回圈作出


由 cgjj 在 2013-01-08 09:35 發表:

引用:
最初由 founders008 發表
考虑的情形大概如此

mm:=ma(c,10);
hx:=sum(c>ref(mm,1),3)=3;
lx:=sum(c<ref(mm,1),3)=3;
ck:=hx-lx;
ck:=ref(ck,barslast(ck<>0));
qz:=if(ck=1,2,-2);
sz:=setval(ck<>ref(ck,1),0,-3+1,qz);
訊號:=ck+sz;
新紅:訊號=1;
新綠:訊號=-1;

办法较笨,请教版大可否用回圈作出



這段程式 "情況二" 未符合


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


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

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