の計算の歴史区間の最高価格と最低価格の正規の書き方を教えて下さい. ありがとうございました.

作者: リン・ハーン希望作成日:2022年10月17日 00:13:14 更新日:2022年10月17日 15:28:07

の計算の歴史区間の最高価格と最低価格の正規の書き方を教えて下さい.

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、具体的な問題を説明して,テストを実行し,問題ありません.