想請教一下,以下ema語法,為何會與xq內建的ema語法有落差呢
// EMA
input:parameter_ema(450,"EMA");
settotalbar(parameter_ema * 6); //讀取筆數6倍,應是夠?
var : myema(0);
myema= EMA(Close,parameter_ema);
plot1(myema,"ema450");
plot1(myema,"ema450");
好像是跑 FIMTXN*1.TF 且是5分K才會有這麼大的落差?
想請教一下,以下ema語法,為何會與xq內建的ema語法有落差呢
// EMA
input:parameter_ema(450,"EMA");
settotalbar(parameter_ema * 6); //讀取筆數6倍,應是夠?
var : myema(0);
myema= EMA(Close,parameter_ema);
plot1(myema,"ema450");
plot1(myema,"ema450");
好像是跑 FIMTXN*1.TF 且是5分K才會有這麼大的落差?
Hello 無情卻慈悲,
系統內建的指標會依據畫面K棒的數量及設定的長度做變動。
所以像EMA這種依前期值的指標在設定的長度很大時就容易發生筆數不足的狀況。
建議您使用XS指標才能確保固定計算起點。
您好,
我用指標給您看主要是測試,但我實際運用是用在自動交易,請問那麼沒有解法了嗎?
有辦法讓自動交易時的EMA可以是與XQ內建的EMA是一樣的值的嗎
PS : 我是跑小台期貨
就算我把EMA期數設小了,在5分K中去抓30分K的75ema,得到的值也是有誤。
// EMA
input:parameter_ema(75,"EMA");
settotalbar(parameter_ema * 4);
var : myema(0);
var : _close(0) ;
_close = getField("close", "30");
myema= EMA(_close,parameter_ema);
plot1(myema,"_Ema");
補發問 ,若我自己寫一個450ema公式在自動交易跑1分K中,是否就會正常與XQ內建的ema得到一樣的值呢?
value3 = ( close - average( close,450)[1] ) * ( 2 / (450 + 1))+ average( close,450)[1];
Hello 無情卻慈悲,
有辦法讓自動交易時的EMA可以是與XQ內建的EMA是一樣的值的嗎
=> 如果兩者都從相同的筆數開始計算的話,就可以得到相同的數值。
但實際上很難達成,因為會隨著畫面K棒數量改變。
(XQ內建的EMA會隨著畫面顯示的K棒數量改變預讀筆數,大約為畫面上的K棒數量加上EMA設定參數的兩倍。)
兩者會有不同的原因是開始運算K棒的位置不同所導致,所以您自行撰寫XS語法計算EMA應該也不會和內建EMA相同。
就小幫手所知,設定足夠長度資料預讀筆數運算出的XS腳本得到的數值比較正確。
那我做一下整理,
1.在XQ自動交易時針對期貨商品,EMA不就無法拿來當作腳本判斷的方式嗎?
2.在XQ自動交易時針對期貨商品,跨頻率的EMA不就無法拿來當作腳本判斷的方式嗎?
3.EMA這種很常見的指標,在XQ的自動交易中卻無法很自由的使用嗎?
以下這段您澴沒回我,以下這段也是寫一個指標並在頁面匯入而已,值也不一樣。
PS : 我是跑小台期貨
就算我把EMA期數設小了,在5分K中去抓30分K的75ema,得到的值也是有誤。
// EMA
input:parameter_ema(75,"EMA");
settotalbar(parameter_ema * 4);
var : myema(0);
var : _close(0) ;
_close = getField("close", "30");
myema= EMA(_close,parameter_ema);
plot1(myema,"_Ema");
Hello 無情卻慈悲,
1. 小幫手不理解為什麼您覺得不可以?
EMA指標的計算公式導致其指標會隨著起始點不同而有不同的值,但在經過一定長度後兩者間的差距可以忽略。
您可以參考指數移動平均的wiki介紹。
只要經過的筆數夠長,就可以包含到99.9%的權重。
XS腳本因為可以指定計算開始的起點,所以只要指定的夠長就可以算出極為接近的數值。
反而是XQ內建的指標因為系統效能的考量,所以計算的筆數無法包含到 99.9%權重的長度,計算出來的偏差值是大於XS腳本的。
2. 要跨頻率計算EMA的話您可以參考 xfMin_EMA 和 xf_EMA 函數。
但需注意此函數只能用在股票或日盤期貨上。
3. 可以,只要您的腳本/策略中設定了足夠的資料讀取筆數,就能夠計算出正確的數值。
4. 請參考 2. 裡面的回覆,要跨頻率計算可以參考 xfMin_EMA 和 xf_EMA 函數。
但需注意此函數只能用在股票或日盤期貨上。
如果您需要在日夜盤期貨上跨頻率計算EMA的話,要自行另外撰寫函數。
12 評論