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

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


由 tycoon868 在 2013-04-22 22:20 發表:

根據不同條件而自動調整參數

請教總版主

M1:EMA(C,N),linethick2,colorgreen;
MQ:=EMA(C,3),precision2;
MT:=EMA(C,40),precision2;
MTB:=((MQ-MT)/MT)*1000;

賣出:=Cross(M1,C);

當中的M1參數N希望依照以下條件自動跑出

MTB>100,則 N=15
MTB>60 and MTB<100,則 N=10
MTB>30 and MTB<60,則 N=8
MTB>0 and MTB<30,則 N=5

請教正確的寫法為何?

謝謝您


由 cgjj 在 2013-04-23 09:02 發表:

回覆: 根據不同條件而自動調整參數

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

M1:EMA(C,N),linethick2,colorgreen;
MQ:=EMA(C,3),precision2;
MT:=EMA(C,40),precision2;
MTB:=((MQ-MT)/MT)*1000;

賣出:=Cross(M1,C);

當中的M1參數N希望依照以下條件自動跑出

MTB>100,則 N=15
MTB>60 and MTB<100,則 N=10
MTB>30 and MTB<60,則 N=8
MTB>0 and MTB<30,則 N=5

請教正確的寫法為何?

謝謝您



MTB 是個數列, 每根的數值皆可能不同
然而您的 M1, 是採用 EMA 做計算

請思考一個問題 EMA( C,N )
EMA 的計算原理, 其是需要累算的
不是僅算最近的N根, 就可得到正確數值
必須自歷史首根累算到當前位置

EMA( C,N ) 當您的 N值希望隨著 MTB 變化時
N值亦會隨著改變(每根的數值可能不同)
也就是說
每一根K棒的 M1 值
都要自歷史首根重新開始累算

若N值為常數, 自頭到尾值不不變
EMA( C,N ) 這行僅需被計算一次

而您現在的要求
是每一根K棒都得要重算, 就像
EMA( C, N[i] )

程式撰寫上並非不可行
但請您想清楚
這樣所造成的計算量
可不是原來的十倍百倍這麼少而已
電腦算的動嗎?
EMA 不像 MA 只用近期幾根就可算出
請慎重思考


由 tycoon868 在 2013-04-23 09:49 發表:

謝謝總版主:

我想考慮將EMA全部改成單純的MA,麻煩您教我如何寫出這部分的公式,希望學會參數變換的寫法,後續上還有可能套入其他的作法

謝謝


由 cgjj 在 2013-04-24 11:24 發表:

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

我想考慮將EMA全部改成單純的MA,麻煩您教我如何寫出這部分的公式,希望學會參數變換的寫法,後續上還有可能套入其他的作法

謝謝



您未定義 MTB<=0 時的 N值
請先補足定義


由 tycoon868 在 2013-04-24 11:37 發表:

謝謝
若MTB<=0,則 N=3


由 cgjj 在 2013-04-25 09:24 發表:

引用:
最初由 tycoon868 發表
謝謝
若MTB<=0,則 N=3



原碼:

MQ
:=EMA(C,3),precision2
MT:=EMA(C,40),precision2
MTB:=((MQ-MT)/MT)*1000;
M1:C*0CC:=C
NN:if(MTB>100,15,if(MTB>60,10,if(MTB>30,8,if(MTB>0,5,3)))) linethick;
//計算 MA(CC,NN[i])
LBSET:=lbound(NN)+15;
for 
i=LBSET to datacount do begin
  
for j=i-NN[i]+1 to i do begin
    M1
[i]:=M1[i]+CC[j];
  
end;
  
M1[i]:=M1[i]/NN[i];
end;
x:=SETLBOUND(M1,LBSET)


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


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

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