只畫出部分K棒範圍的水平線

  •   518 
  • 最後發表   無情卻慈悲  2022 八月 02
無情卻慈悲 發文於   2022/07/15

你好,

XS的plot畫線有辦法只畫出部分K棒範圍的水平線嗎?

例如我想近20期最高點,然後在以此最高點為線段的超始,一直往後延伸的水平線,

請問這應怎麼畫呢?謝

排序方式: 標準 | 最新
musashi 發文於   2022/07/16

    //以下看有兩種畫線方式,試試看
    if value1=0 then value1=fastHighest(H,20);
    plot1(fastHighest(H,20));   //每根K棒持續更新近20期最高價
    plot2(value1);  //第一次出現的20期最高價(畫線到最後)

XQ小幫手 發文於   2022/07/20

Hello 無情卻慈悲,

 

這個問題主要是發生在plot函數只能在運算當下的那根Bar畫線。

所以當在最新一根Bar的時候算出的20期高點,只能在最新那根Bar畫下去,沒辦法往前畫。

如果要限定腳本在最新一根Bar運算的話,可以參考 IsLastBar 函數。

 

感謝 musashi 的熱心回覆。

無情卻慈悲 發文於   2022/07/22

非常謝謝回覆,我再試一下!

無情卻慈悲 發文於   2022/07/23

你好,我想補問一下,

問題1

我如果對於「小台(全)」的「同一日」(含日夜盤)的最高點劃一條線,

我是只要加上「if getfield("Date") <> getfield("Date")[1] 」就可以了嗎?

問題2

我想在「當日」的60分K中,有爆最大量的那個時間對應的K棒的最高價最低畫出兩條線,

請問應怎麼寫?我試寫了四個版本都寫不出。

感謝指導!

感謝!

 

 

XQ小幫手 發文於   2022/08/02

Hello 無情卻慈悲,

 

1. 這樣看您的同一日定義是交易日還是日曆日。

如果是日曆日,您的寫法是正確的。

如果是交易日的話,夜盤開始的時候就已經換日了。

可以使用 GetFieldDate 來判斷交易日換日。

 

2.您可以用變數來保存。

舉例來說:

if date <> date[1] then begin

    value1 = volume;

    value2 = high;

    value3 = low;

    end;

 

if value1 < volume then begin

    value1 = volume;

    value2 = high;

    value3 = low;

    end;

 

這樣 value2 和 value3 就會是成交量最大那根bar的high跟low。

發表回覆
Close