台指期價格指標問題

  •   123 
  • 最後發表   Henryguoguo  2022 十月 11
Henryguoguo 發文於   2022/09/28

台指期全日盤

收盤價穿越60ma

但為什麼2021/05/28抓不到?

settotalbar(5000);

 

var:ma1(0);

ma1=average(getfield("收盤價","d"),60);

if c cross Above ma1

then

plot1(l*0.9995,"買");

 

我自己寫一個指標60ma,average(d,60);

跟你們內建的60sma比的話,我的會晚一天,如何寫才能跟內建的同步?

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/10/04

Hello Henryguoguo,

 

cross over 的條件是要前一根Bar低於,後一根Bar大於等於才符合。

5/27 的 收盤價 16533, 60ma 16522(16521.62)。

5/28 的 收盤價 16863, 60ma 16538(16537.60)。

不符合條件。

至於圖上顯示為什麼會像有跨越,小幫手認為應該是您的座標設定跑掉所導致。

如果是主圖疊圖的話,座標範圍需要設為價位座標。(參考附圖)

 

至於晚一天的部分,小幫手看上面的腳本計算的是相同的。(參考附圖, plot2, plot3 和 SMA60是相同的)

麻煩您提供頁面匯出檔勾選(包含)腳本讓小幫手確認。

附加文件

Henryguoguo 發文於   2022/10/06

還是一樣不同步,我是用個人版,不知跟企業版有關係嗎?

settotalbar(10000);

input:l_ma(60,"SMA");

var:ma1(0),ma2(0);

plot3(ma1,"60ma");

plot4(ma2,"60ma2");

ma1=average(c,l_ma);

ma2=average(getfield("收盤價","d"),60);

 

附加文件

Henryguoguo 發文於   2022/10/07

附件

附加文件

XQ小幫手 發文於   2022/10/11

 Hello Henryguoguo,

 

您上面這種寫法,會先畫出值,接著才計算當根Bar的數值。

所以畫出來的值實際上會是上一根Bar的值。

如果要相同的話,應該是這樣寫:

settotalbar(10000);

 

input:l_ma(60,"SMA");

var:ma1(0),ma2(0);

ma1=average(c,l_ma);

ma2=average(getfield("收盤價","d"),60);

plot3(ma1,"60ma");

plot4(ma2,"60ma2");

出來的數值就會是相同的。(參考附圖)

附加文件

發表回覆
Close