indicator("计算历史区间最高价、最低价", overlay=true)
//目的:想在开单时,找出开单前(输入历史长度)的最高价,或最低价,用于计算开单止损价。
varip ishistory_high_Price0 = array.new_float(0) //定义变量,初始化历史高价格为空的数组
varip ishistory_low_Price0 = array.new_float(0) //定义变量,初始化历史低价格为空的数组
var ishistory_length = input.int(15, minval=1, maxval=100, step=1) //定义变量,历史长度,输入为15,最小值1,最大值100,步长1
var ishistory_high_Price = na
var ishistory_low_Price = na
if barstate.ishistory //对历史K线执行计算(not barstate.ishistory当在实时abr时在执行)
array.push(ishistory_high_Price0, nz(high[1], open)) //写入数组(变量ishistory_high_Price0的历史最高价元素,空值用开盘价)
if array.size(ishistory_high_Price0) > ishistory_length //当数组的长度大于变量长度的时候
array.shift(ishistory_high_Price0) //删除数组(ishistory_high_Price0的第一个元素)
[ishistory_high_Price0]
if barstate.ishistory //对历史K线执行计算
array.push(ishistory_low_Price0, nz(low[1], open)) //写入数组(变量ishistory_low_Price0的历史最低价元素,空值用开盘价)
if array.size(ishistory_low_Price0) > ishistory_length //当数组的长度大于变量长度的时候
array.shift(ishistory_low_Price0) //删除数组(ishistory_low_Price0的第一个元素)
[ishistory_low_Price0]
//需对历史高价格、历史低价格作出比较,并返回最大值(输入周期内的历史最高价、历史最低价)
//下面这个写法不正确!!!
ishistory_high_Price = array.max(ishistory_high_Price0, nz(high[1], open), ishistory_length)
ishistory_low_Price = array.min(ishistory_low_Price0, nz(low[1], open),ishistory_length)
plot(title = "数组ishistory_high_Price中的历史高价格:", ishistory_high_Price, color = color.blue)
plot(title = "数组ishistory_low_Price中的历史低价格:", ishistory_low_Price, color = color.red)
PINE の入門教科書では,数列の和や数列内の要素の大きさを適用できますが,歴史のK線を書き換えることはできません! 変数の定義を教えて下さい. 高い価格と低い価格を比較してください. 高い価格と低い価格を比較してください.
希望グラフをプリントして添付図に変更すると,スイッチは正常になります.
希望ありがとうございました.これはコード変更です. "と答えました. indicator (("過去最大値,最低値を計算する") ") // 目的: オーダーを開く時に,オーダーを開く前の最高価格 (歴史長さを入力) を,または開く単一のストップ損失価格を計算するための最低価格を,開く前に調べたい. var ishistory_length = input.int(15, title = "ishistory length", minval=1, maxval=100, step=1) //変数を定義する,歴史の長さ,インプットは15,最小値1,最大値100,ステップ長さ1 - そうだ var float highest = na // 過去のk行の与えられた数の最高値である. var float lowest = na // 過去のk列の与えられた数の最小値である. var float highestbars = na // 過去のk行で与えられた数値の最高値偏差. var float lowestbars = na // 過去k行の与えられた数の最小値偏差である. highest:= ta.highest ((high, ishistory_length) // 過去のK文字列の長さの最大値を 15 に再定義します. plot ((highest, title = "歴史のK線で高い価格:", color = color.blue, overlay=true) " lowest := ta.lowest ((low, ishistory_length) // 過去K行の長さの最小値を 15 に再定義します. plot ((lowest, title = "歴史のK線内の低価格:", color = color.red, overlay=true) " highest:= ta.highest ((high[1], ishistory_length) // 過去のK文字列の長さの最大値を 15 に再定義する. plot ((highest, title = "歴史のK線で高い価格:", color = color.blue, overlay=true) " lowest := ta.lowest ((low[1], ishistory_length) // 過去のK行の長さの最小値を 15 に再定義する. plot ((lowest, title = "歴史のK線内の低価格:", color = color.red, overlay=true) " 変形幅の印刷は少し問題があるので,どうしたらいいかわからない. highestbars := ta.highestbars ((high, ishistory_length) // 過去のK行の長さの最大値偏差を 15 に再指定する. plot ((highestbars, title = "歴史的なK線における高値偏差:" color = color.orange, overlay=true) " lowestbars := ta.lowestbars ((low, ishistory_length) //過去k行で与えられた数値の最小値偏差。 plot ((lowestbars, title = "歴史のK線における低価格偏差:" color = color.white, overlay=true) " "と答えました. この記事へのトラックバック一覧です. 1, 呼び出し中のpineの内置関数で,歴史上の最大値や最小値を求めると,コードで,例えばhigh,およびhigh [1] のいずれも同じ結果を出します. 2 もし私が後にこの値を呼び出す必要がある場合, 政策条件に直接最高値または最低値を入れます. 3,上記の偏差値印刷は少し問題を示しており,どう変えるかわからない.
発明者 量化 - 微かな夢特定の範囲内のデータ系列の最大値,最小値,直接使用可能な内蔵関数: ` ` ta.highest ((source, length) について) ta.lowest (ソース,長さ) ` ` 例えば,現在の10のK線BARの範囲内の閉じる価格の最大値を求めます. ` ` highest10 = ta.highest ((close, 10)) について ` `
発明者 量化 - 微かな夢わかった
発明者 量化 - 微かな夢1、high,と high[1] は確かに異なる,[]は,過去の操作参照であり,前回のBARのスナップショットデータ参照である. 2 変数で記録できる値を計算します. 3、具体的な問題を説明して,テストを実行し,問題ありません.