Bitte geben Sie mir eine Anleitung, wie man den höchsten Preis und den niedrigsten Preis für die historischen Bereiche berechnet.

Schriftsteller:Hoffnung, Erstellt: 2022-10-17 00:13:14, Aktualisiert: 2022-10-17 15:28:07

Bitte geben Sie mir eine Anleitung, wie man den höchsten Preis und den niedrigsten Preis für die historischen Bereiche berechnet.

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)

Obwohl man die Einführung in die PINE-Sprache gelernt hat, kann man die Summe der Arrays oder die Größe der Elemente in der Array anwenden, aber es gibt keine Umschreibung für die historische K-String! Bitte weisen Sie uns die Definition der Variablen an, um sie mit historischen Höhen und Tiefen zu vergleichen.


Mehr

HoffnungEs gibt keine Probleme mehr, das Diagramm wird normal angezeigt, nachdem es in das Diagramm gedruckt wurde.

HoffnungOkay, vielen Dank, das ist der Codewechsel: Ich habe es nicht gesagt. indicator (("Hochste, niedrigste Preise in historischen Intervallen berechnen") // Zweck: Wenn Sie einen Auftrag eröffnen möchten, finden Sie den höchsten Preis oder den niedrigsten Preis vor dem Auftrag (Eingabe der historischen Länge) und berechnen Sie den Einzelschlusskurs. var ishistory_length = input.int(15, title = "ishistory length", minval=1, maxval=100, step=1) // definiert Variable, Geschichte Länge, Eingabe mit 15, Minimalwert 1, Maximalwert 100, Schrittlänge 1 - Was ist los? var float highest = na // Höchster Wert einer gegebenen Anzahl an den letzten k-Streifen. var float lowest = na // Mindestwert einer gegebenen Anzahl der vergangenen k Zeilen. var float highestbars = na // höchste Wertverschiebung einer gegebenen Anzahl an Strängen, die an k vergangen sind. var float lowestbars = na // Mindestwertverschiebung einer gegebenen Anzahl an Strängen, die an der letzten K-Zeile liegen. highest := ta.highest ((high, ishistory_length) // Wiedereinstellung des Höchstwerts für die Länge der K-String in der Geschichte auf 15. plot ((highest, title = "Höchster Preis in der historischen K-Linie:" color = color.blue, overlay=true) lowest := ta.lowest ((low, ishistory_length) // Neuaufstellung des Mindestwerts für die Länge der historischen K-String 15. plot ((lowest, title = "Niedrigste Preis in der historischen K-Linie:" color = color.red, overlay=true) highest := ta.highest ((high[1], ishistory_length) // Wiedereinstellung des Höchstwerts mit der Länge der historischen K-String 15. plot ((highest, title = "Höchster Preis in der historischen K-Linie:" color = color.blue, overlay=true) lowest := ta.lowest ((low[1], ishistory_length) // Neuaufstellung des Mindestwerts für die Länge der historischen K-String 15. plot ((lowest, title = "Niedrigste Preis in der historischen K-Linie:" color = color.red, overlay=true) Die Abweichung unten zeigt ein Problem und ich weiß nicht, wie ich es ändern soll. highestbars := ta.highestbars ((high, ishistory_length) // Neuaufgabe der Höchstwertverschiebung für die Länge der historischen K-Zeile auf 15. plot ((highestbars, title = "Hochpreisverschiebungen in der historischen K-Linie:" color = color.orange, overlay=true) lowestbars := ta.lowestbars ((low, ishistory_length) // Mindestwertverschiebung einer gegebenen Anzahl von Strängen in der vergangenen k-Zeile. plot ((lowestbars, title = "Niedrigste Preisverschiebung in der historischen K-Linie:" color = color.white, overlay=true) Ich habe es nicht gesagt. Ich möchte Sie bitten, drei kleine Fragen zu beantworten: 1, wenn man die pine-eingebettete Funktion anruft, um nach einem historischen Höchstwert oder ein Minimum zu fragen, in der Code, wie high, und high [1], haben sie das gleiche Ergebnis, oder? 2. Wenn ich diese Werte später in der Strategie aufrufen muss, dann kann ich direkt in den Strategiebedingungen die höchste oder die niedrigste Werte verwenden, oder? 3, die Abweichungsdrucke oben zeigt ein Problem und ich weiß nicht, wie ich sie ändern soll.

Kleine TräumeDie maximalen und minimalen Werte einer Datenserie in einem bestimmten Bereich werden durch eine direkt nutzbare eingebaute Funktion angefordert: Ich weiß. ta.highest ((source, length)) ta.lowest (source, length) Ich weiß. Zum Beispiel verlangt man den maximalen Schlusspreis im Bereich der aktuellen 10 K-LinienBAR: Ich weiß. höchste 10 = ta.höchste ((close, 10) Ich weiß.

Kleine Träume- Ich weiß.

Kleine Träume1, high, und high[1] sind sicherlich nicht dasselbe,[] sind historische Handlungsreferenzen, die auf die Snapshot-Daten der vorherigen BAR verweisen. 2. Wenn Sie einen Wert berechnen, können Sie ihn mit Variablen aufzeichnen. 3. Beschreibe die spezifischen Probleme, der Test läuft, kein Problem.