カスタムボリュームインジケーターを作成しましたが、グラフに適用した場合、組み込みのインジケーターのように自動スケーリングされず、グラフパネルの下部に自動的に貼り付けられません。側部。
これらすべてを行う方法はありますか?
元のインジケーターコードにも助けが見つかりませんでした。例えば。 format.volumeを適用しようとすると、コンパイルがまったく拒否されました。
以下は私のコードです、オリジナルはその下にあります:
//This inddicator will show volume inversely. So if you are looking at an Altcoin, it will show volume in BTC, if you are looking at for example BTC/USD it will show volume in USD and so on. Works with all altcoins and fiat pairs.
//I find this most useful when shopping for alts to quickly get an idea of their liquidity.
//title the indicator and dont use decimals. (Otherwise when viewing fiat volume you get unreadably large numbers) you can change this in the settings dialog tho if you want.
study("Vol in Base asset 20MA", precision=0)
//Make the moving average user configurable
showMA = input(true)
//Get volume for current bar and multiply with vwap
vInverse = volume * vwap
//Plot fiat volume.
plot(vInverse, color = orange, title="VolumeBTC", style=columns, transp=65)
//Plot 20 candle moving average (changable in settings)
plot(showMA ? sma(vInverse,20) : na, color = white, title="Volume MA", style=area, transp=65)
元のコード:
//@version=4
study(title="Volume", shorttitle="Vol", format=format.volume)
showMA = input(true)
barColorsOnPrevClose = input(title="Color bars based on previous close", type=input.bool, defval=false)
palette = barColorsOnPrevClose ? close[1] > close ? color.red : color.green : open > close ? color.red : color.green
plot(volume, color = palette, style=plot.style_columns, title="Volume", transp=65)
plot(showMA ? sma(volume,20) : na, style=plot.style_area, color=color.blue, title="Volume MA", transp=65)
あなたの質問への短い答えはノーです、現在あなたが望むすべてをすることは不可能です。組み込みのボリュームインディーズが行うことを行うには、次の2つの必要なものが必要です。
このコードは、Michelのscale.none
アイデアも使用しますが、上部に非表示のプロットを追加します。これにより、列自体の値をスケーリングせずに、垂直方向のスペースでの列の最大の高さを決定できるため、正しい読み取りを取得できます。 。 *設定/入力 "を使用すると、次のことができます。
//This indicator will show volume inversely. So if you are looking at an Altcoin, it will show volume in BTC, if you are looking at for example BTC/USD it will show volume in USD and so on. Works with all altcoins and fiat pairs.
//I find this most useful when shopping for alts to quickly get an idea of their liquidity.
//title the indicator and dont use decimals. (Otherwise when viewing fiat volume you get unreadably large numbers) you can change this in the settings dialog tho if you want.
//@version=4
study("Vol in Base asset 20MA", "", true, format.volume, 0, scale.none)
//Make the moving average user configurable
HIM1 = "1. Historical High"
HIM2 = "2. Highest in last..."
showMA = input(true)
scaleFactor = 100 / input(30, "% of vertical space used", step = 10, maxval = 100)
hiMethod = input(HIM2, "High point method", options = [HIM1, HIM2])
hiMethod2Len = input(400, " 2. Length", minval = 2, step = 100)
//Get volume for current bar and multiply with vwap
vInverse = volume * vwap
//Plot fiat volume.
plot(vInverse, color = color.orange, title="VolumeBTC", style=plot.style_columns, transp=0) //Originally: transp=65
//Plot 20 candle moving average (changable in settings)
plot(showMA ? sma(vInverse,20) : na, color = color.white, title="Volume MA", style=plot.style_area, transp=65)
//Plot high line to scale down the columns.
var histHi = 0.
histHi := max(histHi, nz(vInverse, histHi))
limit = hiMethod == HIM1 ? histHi : highest(vInverse, hiMethod2Len)
plot(limit * scaleFactor, "Historical High", #00000000)
列のベースをグラフの下部に移動するには2つの方法がありますが、理想的な方法はありません。
垂直スペースの下部にインジケーターを合わせる機能は、潜在的な改善としてTVによって識別されていますが、ETAはまだありません。
あなたが見逃したいくつかの追加のものがそこにあります。
まず、使用済みの松のバージョンを入れてください。そのための特別な文字列があります:_//@version=4
_文字列が設定されていない場合、コードはformat
パラメータを持たないバージョン1と見なされます。
自動スケールをオフにするには、scale
パラメータを_scale.none
_に設定する必要があります。 overlay
paramがtrue
の場合にのみ機能することに注意してください。
バージョン4を使用するには、実際の色の名前の前に_color.
_の接頭辞を付ける必要があります:_color.orange
_、プロットのスタイルの接頭辞を_plot.style_
_にする必要があります:_plot.style_area
_
_// NOTE: THE STRING WITH VERSION BELOW IS IMPORTANT!
//@version=4
// to turn the scale off scale.none is used. Note, that it might be only applied
// if the overlay param is 'true'
study(title="Volume", shorttitle="Vol", format=format.volume, overlay=true, scale=scale.none)
showMA = input(true)
vInverse = volume * vwap
// colors must have the prefix 'color.' before the color names
plot(vInverse, color = color.orange, title="VolumeBTC", style=plot.style_columns, transp=65)
plot(showMA ? sma(vInverse,20) : na, color = color.white, title="Volume MA", style=plot.style_area, transp=65)
_