CeArray =array.newLes données sont fournies par les autorités compétentes de l'UE.
méthode maintainQueue(array
méthode calcBB(array
bool newSample = bar_index % n == 0
[échantillonMean, highBand, lowBand] = sourceArray.maintainQueue ((sourceInput, newSample).calcBB ((multiplicateur, newSample)
graphique ((échantillonMean,
可以看到使用关键字method声明的用户自定义方法:maintainQueue、calcBB的参数列表中第一个参数都是```array<float>```类型。表示该method是```array<float>```类型变量的方法,所以可以看到调用以下代码来计算布林指标。
```pine
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)
Méthodes à recharger
Les méthodes définies par l'utilisateur peuvent superposer et recharger des méthodes et des méthodes définies par l'utilisateur existantes qui ont les mêmes identifiants. Cette fonctionnalité permet à l'utilisateur de définir plusieurs instances associées à des signatures de paramètres différents sous le même nom de méthode.
//@version=5
indicator("Type Inspection")
// @function Identifies an object's type.
// @param this Object to inspect.
// @returns (string) A string representation of the type.
method getType(int this) =>
na(this) ? "int(na)" : "int"
method getType(float this) =>
na(this) ? "float(na)" : "float"
method getType(bool this) =>
na(this) ? "bool(na)" : "bool"
method getType(color this) =>
na(this) ? "color(na)" : "color"
method getType(string this) =>
na(this) ? "string(na)" : "string"
a = 1 // a.getType(): float
b = 1.0 // b.getType(): float
c = true // c.getType(): bool
d = color.white // d.getType(): string(na)
e = "1" // e.getType(): string
runtime.log("a.getType():", a.getType())
runtime.log("b.getType():", b.getType())
runtime.log("c.getType():", c.getType())
runtime.log("d.getType():", d.getType())
runtime.log("e.getType():", e.getType())
runtime.error("stop")
Le type de base de chaque variable est déterminégetType()
Quel type de rechargement utiliser. Dans la plate-forme FMZ, les types de valeurs sont jugés comme des données flottantes (float) car le sous-ligne du script PINE est en Javascript.
Les paramètres peuvent être passés lors de l'appel d'une fonction, une attribution de nom de paramètre peut être spécifiée, des variables peuvent être passées directement à la position du paramètre correspondant, et une utilisation mixte est également prise en charge. Par exemple:
plot(close, title="test plot") // 直接传参数 close ;指定参数 title ,赋值字符串"test plot"
Une fois l'attribution du nom de paramètre spécifiée, les variables ne peuvent plus être transmises directement en tant que paramètres. Les paramètres transmis par la suite doivent être écrits sous la forme de l'attribution du nom de paramètre.
// plot(close, title="test", color.red) // 虽然plot第三个参数是颜色值,但是这样写就会报错
plot(close, title="test", color=color.red) // 正确写法
plot(close, "test", color.red) // 正确写法
Il sera transmis àtimeframe
La période de temps des paramètres est convertie en secondes.
timeframe.in_seconds(timeframe)
Exemples
// Get chart timeframe:
i_tf = input.timeframe("1D")
// Convert timeframe to the int value (number of seconds in 1 Day):
tf = timeframe.in_seconds(i_tf)
plot(tf)
Retourne la valeur
timeframe
Le nombre de secondes d'une ligne K est indiqué sous la forme int.
Paramètres
timeframe
(simple string) Période de temps↑ optionnelle↑ valeur par défaut timeframe.period↑Nom de l'auteurPourtimeframe
>=
À bientôt
input.timeframe
timeframe.period
Créer un identifiant de code pour demander une valeur de ligne moyenne K.
ticker.heikinashi(symbol)
Exemples
heikinashi_close = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)
heikinashi_aapl_60_close = request.security(ticker.heikinashi(syminfo.tickerid), "60", close)
plot(heikinashi_close)
plot(heikinashi_aapl_60_close)
Retourne la valeur 股票代码的字符串值,可以提供给request.security函数。
Paramètres
symbol
(simple string) Identifiant du code de la marchandise.À bientôt
syminfo.tickerid
syminfo.ticker
request.security
Nous avons besoin de données externes.
request.data(url, attribute)
Exemples
/*backtest
start: 2024-09-01 16:00:00
end: 2024-10-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["RunMode",1,358374],["ZPrecision",0,358374]]
*/
var chart_data = "https://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data"
spotPrice = request.data(chart_data, "$.spot_close_price")
futuresPrice = request.data(chart_data, "$.future_close_price")
diff = futuresPrice - spotPrice
plot(diff, "永续-现货差价")
plot(futuresPrice, "期货价格", overlay=true)
plot(spotPrice, "现货价格", overlay=true)
if diff > 80 and strategy.position_size >= 0
runtime.log("diff > 80")
strategy.entry("Enter Short", strategy.short)
if diff < 60 and strategy.position_size <= 0
runtime.log("diff < 60")
strategy.entry("Enter Short", strategy.long)
Retourne la valeurParamètresattribute
La série de données spécifiée.
Paramètres
url
(simple string) L'url de la source de données demandée, le format de données répondant à la source de données doit satisfaire aux exigences (incluant au moins l'attribut time、data):{"data": [], "schema": ["time", "data"]}
◦ Les formats de données suivants sont utilisés:
{
"data": [
[1720051200000, "{\"spot_close_price\" : 57050.01, \"future_close_price\" : 57045.9}"],
[1720137600000, "{\"spot_close_price\" : 56628.79, \"future_close_price\" : 56604.9}"],
// ...
],
"schema": ["time", "data"]
}
attribute
(simple string) Donne le nom de l'attribut et renvoie les données requises."$.spot_close_price"
, utilisation$.
En tant que préfixe, le nom de l'attribut correspond à l'attribut dans le champ de données dans les données qui ont répondu à la source de données demandée.
Si une erreur est signalée, vérifiezrequest.data
Si la plage de temps de la requête est cohérente avec la plage de temps de réglage de la répétition, les données ne seront pas retournées si elles ne sont pas interrogées sur la séquence de temps de répétition.
Dans cet exemple, la requête de données-données est une requête SQL:
WITH latest_data AS (
SELECT
klines.spot_1d.Time AS time,
CONCAT('{\"spot_close_price\" : ', klines.spot_1d.Close, ', \"future_close_price\" : ', klines.future_1d.Close, '}') AS data
FROM
klines.spot_1d
JOIN
klines.future_1d
ON
klines.spot_1d.Time = klines.future_1d.Time
WHERE
klines.spot_1d.Symbol = 'btc_usdt'
AND
klines.future_1d.Symbol = 'btc_usdt.swap'
AND
klines.spot_1d.Exchange = 'Binance'
AND
klines.future_1d.Exchange = 'Binance'
ORDER BY
klines.spot_1d.Time DESC
LIMIT 100
)
SELECT * FROM latest_data
ORDER BY time ASC;
Vous pouvez le voir sur la plateforme FMZ.L'exploration des donnéesLes requêtes de page, créer des liens de données, comme dans les exempleshttps://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data
。
Une autre variété/résolution est requise.
request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency)
Exemples
s = request.security(syminfo.tickerid, "D", close) // 1 Day
plot(s)
expr = ta.sma(close, 10)
s1 = request.security(syminfo.tickerid, "240", expr) // 240 Minutes
plot(s1)
// To avoid difference in calculation on history/realtime you can request not latest values and use merge strategy flags as follows:
s2 = request.security(syminfo.tickerid, "D", close[1], barmerge.gaps_off, barmerge.lookahead_on)
plot(s2)
f() => [open, high]
[o, h] = request.security(syminfo.tickerid, "D", f())
[l, c] = request.security(syminfo.tickerid, "D", [low, close])
plot((o + h + l + c) / 4)
Retourne la valeurSéries requises
Paramètres
symbol
(Simple string) Le code de la marchandise.timeframe
(simple string) Période de temps. La chaîne vide sera interprétée comme la période de temps actuelle du graphique.expression
(series int/float/bool/color) peut être appelé à partir de la requête.security et retourner une expression.gaps
(barmerge_gaps) Politique de fusion des données demandées (exige que les données soient automatiquement fusionnées avec les données de la série principale OHLC). Values possibles: barmerge.gaps_on, barmerge.gaps_off,.. barmerge.gaps_on - les données demandées sont fusionnées avec des écarts possibles (exige une valeur na),.. barmerge.gaps_off - les données demandées sont continuellement fusionnées sans interruption, toutes les écarts étant remplies par la valeur existante la plus récente précédente.lookahead
(barmerge_lookahead) Politique de fusion des données demandées. Values possibles: barmerge.lookahead_on, barmerge.lookahead_off. À partir de la version 3, la valeur par défaut est barmerge.lookahead_off.ignore_invalid_symbol
(const bool) Un paramètre optionnel. Si le produit spécifié n'est pas trouvé, il détermine l'action de la fonction: si false, le script s'arrête et retourne à l'erreur lors de son exécution. Si true, la fonction retourne na et continue à exécuter.currency
(simple string) Convertir la valeur de la devise (par exemple OHLC) du produit en devise; puis calculer le taux d'expression de la devise en fonction de la valeur convertie; le taux de conversion utilisé est basé sur le taux de change quotidien de la journée précédente de la paire FX_IDC (par rapport à la ligne K à calculer); optionnel. La valeur par défaut est syminfo.currency. Values possibles: une chaîne de trois lettres avec un code de devise au format ISO 4217 (par exemple, la devise USD) ou currency.* Une constante dans l'espace de nommage, par exemple, currency.USD.Nom de l'auteurLe code PineScript utilise cette fonctionnalité pour effectuer des calculs différents sur les historiques et les données en temps réel.Si vous souhaitez spécifier des paramètres supplémentaires pour les produits demandés, tels que les délais de transaction ou le type d'ajustement, vous pouvez utiliser les paramètres suivants:您可以使用ticker.newLa fonction () est la suivante:
Impossible de transmettre l'erreur de point à cette fonction avec la variable ticker. Vous pouvez utiliser ticker.ticker.newUne forme d'expression en chaîne pour une variable ou un code de stock, par exemple: AAPL + MSFT * TSLA chaîne.Actuellement, un scénario peut contenir jusqu'à 40 appels request.security.
Veuillez noter que l'utilisation de cette variable/fonction peut entraîner une redéfinition de l'indicateur.
Les paramètres de résolution permettent de:
1S, 5S, 15S, 30S - intervalle de secondes (le cycle du graphique doit être inférieur ou égal au cycle de la requête)
De 1 à 1440 minutes
De 1D à 365D
De 1 W à 52 W en quelques semaines
De 1M à 12M en quelques mois
À bientôt
syminfo.ticker
syminfo.tickerid
timeframe.period
ta.correlation
barmerge.lookahead_off
barmerge.lookahead_on
Sisource
Les chaînes contiennentstr
Une sous-stringue renvoie true, sinon false.
str.contains(source, str)
Exemples
// If the current chart is a continuous futures chart, e.g “BTC1!”, then the function will return true, false otherwise.
var isFutures = str.contains(syminfo.tickerid, "!")
plot(isFutures ? 1 : 0)
Retourne la valeurSi c'est danssource
Trouver dans une chaînestr
Si le message est vrai, il est faux.
Paramètres
source
(série de chaînes)str
(series string) La sous-stringue à rechercher.À bientôt
str.pos
str.match
Sisource
La chaîne de caractères eststr
La fin d'une sous-stringue spécifiée dans la base de données renvoie true, sinon false.
str.endswith(source, str)
Retourne la valeurSisource
La chaîne de caractères eststr
La fin d'une sous-stringue spécifiée est true, sinon false.
Paramètres
source
(série de chaînes)str
(series string) La sous-stringue à rechercher.À bientôt
str.startswith
Sisource
La chaîne de caractères eststr
Le début d'une sous-stringue spécifiée dans la base de données retourne true, sinon false.
str.startswith(source, str)
Retourne la valeurSisource
La chaîne de caractères eststr
Le début d'une sous-stringue spécifiée est true, sinon false.
Paramètres
source
(série de chaînes)str
(series string) La sous-stringue à rechercher.À bientôt
str.endswith
Il y a une autre chose que je veux faire, c'est retourner une nouvelle chaîne.source
Une sous-stringue d'une chaîne.begin_pos
Les caractères de l'index indiqué commencent et s'étendent jusqu'àsource
Le point de départ de la chaîne est end_pos - 1
str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)
Exemples
sym= "EXCHANGE_NAME:SYMBOL_NAME"
pos = str.pos(sym, ":") // Get position of ":" character
tkr= str.substring(sym, pos+1) // "SYMBOL_NAME"
if barstate.islastconfirmedhistory
runtime.log(tkr)
Retourne la valeurUne sous-stringue extraite de la chaîne source.
Paramètres
source
(series string) Extraire la chaîne source de la sous-chaîne.begin_pos
(series int) est le point de départ d'une sous-chaîne extraite.end_pos
(series int) termination position. Elle est exclusive. (la chaîne extraite n'inclut pas les caractères de cette position). Optionnelle.source
La longueur de la chaîne.Nom de l'auteurL'index de la chaîne commence à zéro.begin_pos
est égal àend_pos
La fonction retourne une chaîne vide.
À bientôt
str.contains
str.pos
str.match
str.tonumber(string)
Retourne la valeurSi elle contient des chiffres valides, elle est le type de float de la chaîne, sinon elle est na.
Paramètres
string
(series string) forme d'expression de la chaîne int ou float.Convertissez les chaînes de format et les valeurs en chaînes de formatage. Les chaînes de formatage peuvent contenir un en-tête dans le texte et un en-tête dans les parenthèses {} pour chaque valeur à formater. Chaque en-tête comprend un indice qui remplacera ses paramètres nécessaires (à partir de 0), ainsi qu'un indicateur de formatage optionnel. L'index indique la position du paramètre dans la liste des paramètres str.format.
str.format(formatString, arg0, arg1, ...)
Exemples
// The format specifier inside the curly braces accepts certain modifiers:
// - Specify the number of decimals to display:
s1 = str.format("{0,number,#.#}", 1.34) // returns: 1.3
runtime.log(s1)
// - Round a float value to an integer:
s2 = str.format("{0,number,integer}", 1.34) // returns: 1
runtime.log(s2)
// - Display a number in currency:
s3 = str.format("{0,number,currency}", 1.34) // returns: $1.34
runtime.log(s3)
// - Display a number as a percentage:
s4 = str.format("{0,number,percent}", 0.5) // returns: 50%
runtime.log(s4)
// EXAMPLES WITH SEVERAL ARGUMENTS
// returns: Number 1 is not equal to 4
s5 = str.format("Number {0} is not {1} to {2}", 1, "equal", 4)
runtime.log(s5)
// returns: 1.34 != 1.3
s6 = str.format("{0} != {0, number, #.#}", 1.34)
runtime.log(s6)
// returns: 1 is equal to 1, but 2 is equal to 2
s7 = str.format("{0, number, integer} is equal to 1, but {1, number, integer} is equal to 2", 1.34, 1.52)
runtime.log(s7)
// returns: The cash turnover amounted to $1,340,000.00
s8 = str.format("The cash turnover amounted to {0, number, currency}", 1340000)
runtime.log(s8)
// returns: Expected return is 10% - 20%
s9 = str.format("Expected return is {0, number, percent} - {1, number, percent}", 0.1, 0.2)
runtime.log(s9)
Retourne la valeurUne chaîne de caractères formatée.
Paramètres
formatString
(series string) Une chaîne de format.arg0, arg1, ...
(series int/float/bool/string/na/int[]/float[]/bool[]/string[]) est une valeur à formater.Nom de l'auteurToutes les parenthèses dans le style non cité doivent être équilibrées. Par exemple, "ab {0} de" et "ab
Retourne l'entier correspondant au nombre de caractères dans la chaîne.
str.length(string)
Retourne la valeurLe nombre de caractères dans la chaîne source.
Paramètres
string
(série de chaînes)Retourne une nouvelle chaîne où toutes les lettres sont converties en minuscules.
str.lower(source)
Retourne la valeurToutes les lettres ont été converties en nouvelles chaînes en minuscules.
Paramètres
source
(series string) La chaîne à convertir.À bientôt
str.upper
Retourne une nouvelle chaîne où toutes les lettres sont converties en majuscules.
str.upper(source)
Retourne la valeurToutes les lettres sont converties en nouvelles chaînes en majuscules.
Paramètres
source
(series string) La chaîne à convertir.À bientôt
str.lower
Si elle correspondregex
L'expression régulière renvoiesource
La nouvelle sous-string de la chaîne, sinon elle retourne
str.match(source, regex)
Exemples
s = input.string("It's time to sell some EXCHANGE_NAME:SYMBOL_NAME!")
// finding first substring that matches regular expression "[\w]+:[\w]+"
var string tickerid = str.match(s, "[\\w]+:[\\w]+")
if barstate.islastconfirmedhistory
runtime.log(tickerid) // "EXCHANGE_NAME:SYMBOL_NAME"
Retourne la valeur
source
La nouvelle sous-string de la chaîne, si elle correspond à uneregex
L'expression normale, sinon elle est
Paramètres
source
(série de chaînes)regex
(series string) l'expression régulière correspondant à cette chaîne.Nom de l'auteurRetour de la fonctionsource
L'expression régulière qui apparaît pour la première fois dans une chaîne.regex
Le symbole contre-diagonale \\ dans une chaîne nécessite une inversion avec une contre-diagonale supplémentaire, par exemple, pour représenter l'expression régulière \\\\\\\\\.
À bientôt
str.contains
str.substring
Retoursource
Il apparaît pour la première fois dans la chaînestr
La position de la chaîne, sinon elle retourne na na na.
str.pos(source, str)
Retourne la valeur
str
La chaîne estsource
La position dans la chaîne.
Paramètres
source
(série de chaînes)str
(series string) La sous-stringue à rechercher.Nom de l'auteurL'index de la chaîne commence à 0.
À bientôt
str.contains
str.match
str.substring
Retourne une nouvelle chaîne dans laquelle N + 1 est apparutarget
Les chaînes et les précédentestarget
La chaîne est remplacée parreplacement
Une chaîne où N estoccurrence
N est l'index de correspondance de la chaîne cible à remplacer dans la chaîne source.
str.replace(source, target, replacement, occurrence)
Exemples
var source = "EXCHANGE1:SYMBOL1 / EXCHANGE1:SYMBOL2"
// Replace first occurrence of "EXCHANGE1" with "EXCHANGE2" replacement string
var newSource = str.replace(source, "EXCHANGE1", "EXCHANGE2", 0)
if barstate.islastconfirmedhistory
// Display "EXCHANGE2:SYMBOL1 / EXCHANGE1:SYMBOL2"
runtime.log(newSource)
Retourne la valeurLa chaîne est traitée.
Paramètres
source
(série de chaînes)target
(series string) est remplacéreplacement
(series string) la chaîne à insérer au lieu de la chaîne cible.occurrence
(series int) L'index de correspondance de la chaîne cible à remplacer apparaît dans la chaîne source. Le premier index de correspondance commence à 0. Optionnel. La valeur par défaut est 0.À bientôt
str.replace_all
str.match
En remplacement de la chaîne, vous remplacez la chaîne cible à chaque fois qu'elle apparaît dans la chaîne source.
str.replace_all(source, target, replacement)
Retourne la valeurLa chaîne est traitée.
Paramètres
source
(série de chaînes)target
(series string) est remplacéreplacement
(series string) Chaque fois que la chaîne cible apparaît, elle remplace la chaîneDivisez une chaîne en une série de sous-chaînes et retournez son ID d'array.
str.split(string, separator)
Retourne la valeurL'ID de l'array de chaînes.
Paramètres
string
(série de chaînes)separator
(series string) la chaîne qui sépare chaque sous-chaîne.str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)
Retourne la valeur
value
Les paramètres sont représentés par des chaînes de caractères.
Sivalue
Les paramètres sont des chaînes et sont retournés comme ils étaient précédemment.
Quandvalue
Pour na, la fonction renvoie la chaîne
Paramètres
value
(series int/float/bool/string/int[]/float[]/bool[]/string[]) dont l'élément est converti en valeur de la chaîne ou en ID d'arithmétique.format
(chaîne de série) Chaîne de format. Accepte ces constantes de format.* format.mintick, format.percent, format.volume. Facultatif. La valeur par défaut est Nom de l'auteurLe format des valeurs à virgule flottante les place également dans ces valeurs si nécessaire, par exemple str.tostring ((3.99,
La couleur de fonctionnalité spécifie la transparence appliquée à une couleur donnée.
color.new(color, transp)
Exemples
plot(close, color=color.new(color.red, 50))
Retourne la valeurLes couleurs ont une certaine transparence.
Paramètres
color
(couleur de série)transp
(series int/float) Les valeurs disponibles vont de 0 (invisible) à 100 (invisible)Nom de l'auteurL'utilisation d'un très grand nombre de paramètres (par exemple, une barre simple, une barre d'entrée ou une barre de séries) affecte la couleur affichée dans les paramètres de la barre de scripts / pages de balises de style.
Les modèles de couleurs RGB sont utilisés pour créer de nouvelles couleurs transparentes.
color.rgb(red, green, blue, transp)
Exemples
plot(close, color=color.rgb(255, 0, 0, 50))
Retourne la valeurLes couleurs ont une certaine transparence.
Paramètres
red
(series int/float) Tone rouge. Les valeurs possibles sont de 0 à 255green
(series int/float) Vert. Les valeurs possibles sont de 0 à 255.blue
(series int/float) Nuance bleue. Les valeurs possibles sont de 0 à 255transp
(series int/float) Optionnel. La couleur est transparente. Les valeurs possibles vont de 0 à 100. La valeur par défaut est 0.Nom de l'auteurL'utilisation d'un très grand nombre de paramètres (par exemple, une barre simple, une barre d'entrée ou une barre de séries) affecte la couleur affichée dans les paramètres de la barre de scripts / pages de balises de style.
Imprimez les informations sur les variables sur la console.
Le langage FMZ PINE est doté d'une fonction spéciale.runtime.debug(value)
Il n'y a qu'un seul paramètre.
Le contenu est exporté dans le journal.
Le langage FMZ PINE est doté d'une fonction spéciale.runtime.log(1, 2, 3, close, high, ...)
Les paramètres peuvent être transférés.
Cela peut entraîner des erreurs d'exécution et entraîner des problèmes de sécurité.message
Le message d'erreur indiqué dans les paramètres.
runtime.error(message)
Paramètresmessage (series string) message d'erreur.
Ajouter des entrées à la page des balises d'entrée des paramètres du script, ce qui vous permet de donner des options de configuration aux utilisateurs du script. Cette fonction détecte automatiquement le type de paramètres utilisés pour le plugin de défval et utilise le plug-in d'entrée correspondant.
input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)
Exemples
i_switch = input(true, "On/Off") // 设置true,默认勾选
plot(i_switch ? open : na)
i_len = input(7, "Length")
i_src = input(close, "Source") // 下拉框,默认选择close
plot(ta.sma(i_src, i_len))
i_col = input(color.red, "Plot Color")
plot(close, color=i_col)
i_text = input("Hello!", "Message")
runtime.log(i_text)
Retourne la valeurValues de variables à entrer
Paramètres
defval
(const int/float/bool/string/color or source-type built-ins) Définit la valeur par défaut de la variable d'entrée suggérée dans la page de paramètres de la barre de saisie / balise de saisie du script, à partir de laquelle les utilisateurs du script peuvent la modifier.close
、hlc3
Je ne sais pas.title
(const string) Titre d'entrée. Si ce n'est pas le cas, le nom de la variable est utilisé comme titre d'entrée. Si le titre est spécifié, mais le titre est vide, le nom est une chaîne vide.tooltip
(const string) Cette chaîne est affichée à l'utilisateur pendant que la souris est suspendue sur l'icône de l'indicateur d'outils.inline
(const string) Combine tous les appels d'entrée utilisant le même paramètre dans une ligne.group
(const string) Utilisez la même chaîne de paramètres pour créer un en-tête au-dessus de toutes les entrées. Cette chaîne est également utilisée comme texte du en-tête.Nom de l'auteurLa valeur de retour d'une fonction d'entrée doit toujours être attribuée à une variable. Voir l'exemple ci-dessus.
À bientôt
input.bool
input.color
input.int
input.float
input.string
input.timeframe
input.source
Ajouter des entrées à la page des étiquettes d'entrée des paramètres du script, ce qui vous permet de donner des options de configuration aux utilisateurs du script. Cette fonctionnalité ajoute un menu déroulant qui permet aux utilisateurs de choisir la source de calcul, par exemple close, hl2, etc. Si le script ne contient qu'un seul appel d'input.source (), les utilisateurs peuvent également choisir l'exécution d'un autre indicateur du graphique comme source.
input.source(defval, title, tooltip, inline, group)
Exemples
i_src = input.source(close, "Source")
plot(i_src)
Retourne la valeurValues de variables à entrer
Paramètres
defval
(series int/float) Définit la valeur par défaut de la variable d'entrée suggérée dans la page des paramètres de la série / entrées float, à partir de laquelle les utilisateurs peuvent la modifier.title
(const string) Titre d'entrée. Si ce n'est pas le cas, le nom de la variable est utilisé comme titre d'entrée. Si le titre est spécifié, mais le titre est vide, le nom est une chaîne vide.tooltip
(const string) Cette chaîne est affichée à l'utilisateur pendant que la souris est suspendue sur l'icône de l'indicateur d'outils.inline
(const string) Combine tous les appels d'entrée utilisant le même paramètre dans une ligne.group
(const string) Utilisez la même chaîne de paramètres pour créer un en-tête au-dessus de toutes les entrées. Cette chaîne est également utilisée comme texte du en-tête.Nom de l'auteur input.source函数的结果总是应该分配给一个变量,见上面的例子。
À bientôt
input.bool
input.int
input.float
input.string
input.timeframe
input.color
input
Ajouter des entrées à la tablette d'options d'entrée des paramètres du script, qui vous permet de fournir des options de configuration aux utilisateurs du script. Cette fonction ajoute des champs d'entrée de chaîne à l'entrée du script.
input.string(defval, title, options, tooltip, inline, group, confirm)
Exemples
i_text = input.string("Hello!", "Message")
runtime.log(i_text)
Retourne la valeurValues de variables à entrer
Paramètres
defval
(const string) Définit la valeur par défaut de la variable d'entrée suggérée dans les paramètres / entrées de la chaîne de caractères du script, à partir de laquelle les utilisateurs peuvent la modifier.options
Lorsque les paramètres sont utilisés ensemble, cette valeur doit être l'une d'entre eux.title
(const string) Titre d'entrée. Si ce n'est pas le cas, le nom de la variable est utilisé comme titre d'entrée. Si le titre est spécifié, mais le titre est vide, le nom est une chaîne vide.options
(Liste de constantes: [tooltip
(const string) Cette chaîne est affichée à l'utilisateur pendant que la souris est suspendue sur l'icône de l'indicateur d'outils.inline
(const string) Combine tous les appels d'entrée utilisant le même paramètre dans une ligne.group
(const string) Utilisez la même chaîne de paramètres pour créer un en-tête au-dessus de toutes les entrées. Cette chaîne est également utilisée comme texte du en-tête.confirm
(const bool) Si true, il est demandé à l'utilisateur de confirmer la valeur d'entrée avant d'ajouter le paramètre au graphique.Nom de l'auteur input.string函数的结果总是应该分配给一个变量,见上面的例子。
À bientôt
input.bool
input.int
input.float
input.timeframe
input.source
input.color
input
Ajouter des entrées à la page des balises d'entrée des paramètres du script, ce qui vous permet de fournir des options de configuration aux utilisateurs du script. Cette fonction ajoute une balise de retouche à l'entrée du script.
input.bool(defval, title, tooltip, inline, group, confirm)
Exemples
i_switch = input.bool(true, "On/Off")
plot(i_switch ? open : na)
Retourne la valeurValues de variables à entrer
Paramètres
defval
(const bool) Détermine la valeur par défaut de la variable d'entrée suggérée dans les paramètres / entrées de la barre d'outils du script sur la page des balises de la barre d'outils, à partir de laquelle les utilisateurs peuvent la modifier.title
(const string) Titre d'entrée. Si ce n'est pas le cas, le nom de la variable est utilisé comme titre d'entrée. Si le titre est spécifié, mais le titre est vide, le nom est une chaîne vide.tooltip
(const string) Cette chaîne est affichée à l'utilisateur pendant que la souris est suspendue sur l'icône de l'indicateur d'outils.inline
(const string) Combine tous les appels d'entrée utilisant le même paramètre dans une ligne.group
(const string) Utilisez la même chaîne de paramètres pour créer un en-tête au-dessus de toutes les entrées. Cette chaîne est également utilisée comme texte du en-tête.confirm
(const bool) Si true, il est demandé à l'utilisateur de confirmer la valeur d'entrée avant d'ajouter le paramètre au graphique.Nom de l'auteur input.bool函数的结果总是应该分配给一个变量,见上面的例子。
À bientôt
input.int
input.float
input.string
input.timeframe
input.source
input.color
input
Ajouter des entrées à la page des étiquettes d'entrée des paramètres du script, ce qui vous permet de donner des options de configuration aux utilisateurs du script. Cette fonction ajoute des champs d'entrée entiers aux entrées du script.
input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.int(defval, title, options, tooltip, inline, group, confirm)
Exemples
i_len1 = input.int(10, "Length 1", minval=5, maxval=21, step=1)
plot(ta.sma(close, i_len1))
i_len2 = input.int(10, "Length 2", options=[5, 10, 21])
plot(ta.sma(close, i_len2))
Retourne la valeurValues de variables à entrer
Paramètres
defval
(const int) Définit la valeur par défaut d'une variable d'entrée suggérée sur la page de paramètres/tags de const du script, à partir de laquelle les utilisateurs du script peuvent la modifier.options
Lorsque les paramètres sont utilisés ensemble, cette valeur doit être l'une d'entre eux.title
(const string) Titre d'entrée. Si ce n'est pas le cas, le nom de la variable est utilisé comme titre d'entrée. Si le titre est spécifié, mais le titre est vide, le nom est une chaîne vide.minval
(const int) est la valeur minimale possible de la variable d'entrée.maxval
(const int) La valeur la plus élevée possible de la variable d'entrée.step
(const int) est utilisé pour augmenter/réduire la longueur de pas de l'entrée. Optionnelle. La valeur par défaut est 1.options
(tuple of const int values: [val1, val2,...]) Une liste d'options sélectionnées dans le menu déroulant, séparées par des virgules et regroupées entre parenthèses: [val1, val2,...].minval
、maxval
etstep
Paramètres.tooltip
(const string) Cette chaîne est affichée à l'utilisateur pendant que la souris est suspendue sur l'icône de l'indicateur d'outils.inline
(const string) Combine tous les appels d'entrée utilisant le même paramètre dans une ligne.group
(const string) Utilisez la même chaîne de paramètres pour créer un en-tête au-dessus de toutes les entrées. Cette chaîne est également utilisée comme texte du en-tête.confirm
(const bool) Si true, il est demandé à l'utilisateur de confirmer la valeur d'entrée avant d'ajouter le paramètre au graphique.Nom de l'auteur input.int函数的结果总是应该分配给一个变量,见上面的例子。
À bientôt
input.bool
input.float
input.string
input.timeframe
input.source
input.color
input
Ajouter des entrées à la page des étiquettes d'entrée des paramètres du script, qui vous permet de donner des options de configuration aux utilisateurs du script. Cette fonction ajoute des champs d'entrée flottants aux entrées du script.
input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)
Exemples
i_angle1 = input.float(0.5, "Sin Angle", minval=-3.14, maxval=3.14, step=0.02)
plot(math.sin(i_angle1) > 0 ? close : open, "sin", color=color.green)
i_angle2 = input.float(0, "Cos Angle", options=[-3.14, -1.57, 0, 1.57, 3.14])
plot(math.cos(i_angle2) > 0 ? close : open, "cos", color=color.red)
Retourne la valeurValues de variables à entrer
Paramètres
defval
(const int/float) Définit la valeur par défaut de la variable d'entrée suggérée dans la page de paramètres de la barre d'outils / entrées de la barre d'outils, à partir de laquelle les utilisateurs du script peuvent la modifier.options
Lorsque les paramètres sont utilisés ensemble, cette valeur doit être l'une d'entre eux.title
(const string) Titre d'entrée. Si ce n'est pas le cas, le nom de la variable est utilisé comme titre d'entrée. Si le titre est spécifié, mais le titre est vide, le nom est une chaîne vide.minval
(const int/float) La valeur la plus faible possible de la variable d'entrée. Optionnel.maxval
(const int/float) La valeur la plus élevée possible de la variable d'entrée. Optionnel.step
(const int/float) est utilisé pour augmenter/réduire la longueur de pas de l'entrée. Optionnelle. La valeur par défaut est 1..options
(tuple of const int/float values: [val1, val2,...]) Liste d'options sélectionnées dans le menu déroulant, séparées par des virgules et regroupées entre parenthèses: [val1, val2,...];; ne peut pas être utilisée avec ce paramètreminval
、maxval
etstep
Paramètres.tooltip
(const string) Cette chaîne est affichée à l'utilisateur pendant que la souris est suspendue sur l'icône de l'indicateur d'outils.inline
(const string) Combine tous les appels d'entrée utilisant le même paramètre dans une ligne.group
(const string) Utilisez la même chaîne de paramètres pour créer un en-tête au-dessus de toutes les entrées. Cette chaîne est également utilisée comme texte du en-tête.confirm
(const bool) Si true, il est demandé à l'utilisateur de confirmer la valeur d'entrée avant d'ajouter le paramètre au graphique.Nom de l'auteur input.float函数的结果总是应该分配给一个变量,见上面的例子。
À bientôt
input.bool
input.int
input.string
input.timeframe
input.source
input.color
input
Ajouter des entrées à la page des étiquettes d'entrée des paramètres du script, ce qui vous permet de fournir des options de configuration aux utilisateurs du script. Cette fonction ajoute un sélecteur de couleurs qui permet aux utilisateurs de choisir la couleur et la transparence à partir d'une palette de couleurs ou d'une valeur de 16 chiffres.
input.color(defval, title, tooltip, inline, group, confirm)
Exemples
i_col = input.color(color.red, "Plot Color")
plot(close, color=i_col)
Retourne la valeurValues de variables à entrer
Paramètres
defval
(const color) Définit la valeur par défaut de la variable d'entrée suggérée dans les paramètres de la barre d'outils du script / page de balises d'entrée, à partir de laquelle les utilisateurs peuvent la modifier.title
(const string) Titre d'entrée. Si ce n'est pas le cas, le nom de la variable est utilisé comme titre d'entrée. Si le titre est spécifié, mais le titre est vide, le nom est une chaîne vide.tooltip
(const string) Cette chaîne est affichée à l'utilisateur pendant que la souris est suspendue sur l'icône de l'indicateur d'outils.inline
(const string) Combine tous les appels d'entrée utilisant le même paramètre dans une ligne.group
(const string) Utilisez la même chaîne de paramètres pour créer un en-tête au-dessus de toutes les entrées. Cette chaîne est également utilisée comme texte du en-tête.confirm
(const bool) Si true, il est demandé à l'utilisateur de confirmer la valeur d'entrée avant d'ajouter le paramètre au graphique.Nom de l'auteur input.color函数的结果总是应该分配给一个变量,见上面的例子。
À bientôt
input.bool
input.int
input.float
input.string
input.timeframe
input.source
input
Utilisez les paramètres de la barre d'outils/pages de balises de saisie pour ajouter des entrées de prix aux scripts.confirm = true
Pour activer le mode d'entrée interactive, cliquez sur le graphique pour sélectionner le prix.
input.price(defval, title, tooltip, inline, group, confirm)
Exemples
price1 = input.price(title="Date", defval=42)
plot(price1)
price2 = input.price(54, title="Date")
plot(price2)
Retourne la valeurValues de variables à entrer
Paramètres
defval
(const int/float) Détermine la valeur par défaut de la variable d'entrée suggérée dans la page des paramètres / balises de float du script, à partir de laquelle l'utilisateur peut la modifier.title
(const string) Titre d'entrée. Si ce n'est pas le cas, le nom de la variable est utilisé comme titre d'entrée. Si le titre est spécifié, mais le titre est vide, le nom est une chaîne vide.tooltip
(const string) Cette chaîne est affichée à l'utilisateur pendant que la souris est suspendue sur l'icône de l'indicateur d'outils.inline
(const string) Combine tous les appels d'entrée utilisant le même paramètre dans une ligne.group
(const string) Utilisez la même chaîne de paramètres pour créer un en-tête au-dessus de toutes les entrées. Cette chaîne est également utilisée comme texte du en-tête.confirm
(const bool) Si c'est vrai, activez le mode d'entrée interactive et faites la sélection en cliquant sur le graphique lorsque vous ajoutez un indicateur au graphique, ou faites la sélection en sélectionnant un indicateur puis en déplaçant le choix. Optionnel. La valeur par défaut est false.Nom de l'auteurEn mode interactif, si deux fonctions sont appelées sur le mêmeinline
Les paramètres utilisant les mêmes paramètres peuvent être utilisés en combinaison avec l'entrée de temps et d'entrée de prix.
À bientôt
input.bool
input.int
input.float
input.string
input.resolution
input.source
input.color
input
Ajouter une entrée à la page d'étiquette d'entrée des paramètres du script, ce qui vous permet d'offrir des options de configuration aux utilisateurs du script. Cette fonction ajoute une liste déroulante qui permet aux utilisateurs de sélectionner des périodes spécifiques via le sélecteur de périodes de temps et de les retourner en tant que chaîne.
input.timeframe(defval, title, options, tooltip, inline, group, confirm)
Exemples
i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M'])
s = request.security(syminfo.tickerid, i_res, close)
plot(s)
Retourne la valeurValues de variables à entrer
Paramètres
defval
(const string) Définit la valeur par défaut de la variable d'entrée suggérée dans les paramètres / entrées de la chaîne de caractères du script, à partir de laquelle les utilisateurs peuvent la modifier.options
Lorsque les paramètres sont utilisés ensemble, cette valeur doit être l'une d'entre eux.title
(const string) Titre d'entrée. Si ce n'est pas le cas, le nom de la variable est utilisé comme titre d'entrée. Si le titre est spécifié, mais le titre est vide, le nom est une chaîne vide.options
(tuple of const string values: [val1, val2,...]) Liste des options qui peuvent être sélectionnées.tooltip
(const string) Cette chaîne est affichée à l'utilisateur pendant que la souris est suspendue sur l'icône de l'indicateur d'outils.inline
(const string) Combine tous les appels d'entrée utilisant le même paramètre dans une ligne.group
(const string) Utilisez la même chaîne de paramètres pour créer un en-tête au-dessus de toutes les entrées. Cette chaîne est également utilisée comme texte du en-tête.confirm
(const bool) Si true, il est demandé à l'utilisateur de confirmer la valeur d'entrée avant d'ajouter le paramètre au graphique.Nom de l'auteur input.timeframe函数的结果总是应该分配给一个变量,见上面的例子。
À bientôt
input.bool
input.int
input.float
input.string
input.source
input.color
input
Pour le moment
Pour le moment
Arnaud Legoux moyenne mobile. Elle utilise la distribution de Gauss comme poids de la moyenne mobile.
ta.alma(series, length, offset, sigma)
ta.alma(series, length, offset, sigma, floor)
Exemples
plot(ta.alma(close, 9, 0.85, 6))
// same on pine, but much less efficient
pine_alma(series, windowsize, offset, sigma) =>
m = offset * (windowsize - 1)
//m = math.floor(offset * (windowsize - 1)) // Used as m when math.floor=true
s = windowsize / sigma
norm = 0.0
sum = 0.0
for i = 0 to windowsize - 1
weight = math.exp(-1 * math.pow(i - m, 2) / (2 * math.pow(s, 2)))
norm := norm + weight
sum := sum + series[windowsize - i - 1] * weight
sum / norm
plot(pine_alma(close, 9, 0.85, 6))
Retourne la valeurArnaud Legoux, moyenne mobile
Paramètres
series
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).offset
(simple int/float) contrôle le compromis entre la fluidité (approximativement 1) et la réactivité (approximativement 0).sigma
(simple int/float) modifie la fluidité d'ALMA.floor
(simple bool) Options possibles. Avant de calculer ALMA, spécifiez si le calcul de la déviation est inférieur à la limite. La valeur par défaut est false.À bientôt
ta.sma
ta.ema
ta.rma
ta.wma
ta.vwma
ta.swma
La fonction sma renvoie la moyenne mobile, c'est-à-dire la dernière valeur y de x, divisée par y.
ta.sma(source, length)
Exemples
plot(ta.sma(close, 15))
// same on pine, but much less efficient
pine_sma(x, y) =>
sum = 0.0
for i = 0 to y - 1
sum := sum + x[i] / y
sum
plot(pine_sma(close, 15))
Retourne la valeur
length
La ligne K est retournéesource
La moyenne mobile simple est la moyenne mobile simple de la moyenne mobile simple.
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).À bientôt
ta.ema
ta.rma
ta.wma
ta.vwma
ta.swma
ta.alma
Le cog (points de gravité) est un indicateur basé sur la statistique et le ratio or de Fibonacci.
ta.cog(source, length)
Exemples
plot(ta.cog(close, 10))
// the same on pine
pine_cog(source, length) =>
sum = math.sum(source, length)
num = 0.0
for i = 0 to length - 1
price = source[i]
num := num + price * (i + 1)
-num / sum
plot(pine_cog(close, 10))
Retourne la valeurAttention
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).À bientôt
ta.stoch
衡量系列与其ta.sma之间的差异
ta.dev(source, length)
Exemples
plot(ta.dev(close, 10))
// the same on pine
pine_dev(source, length) =>
mean = ta.sma(source, length)
sum = 0.0
for i = 0 to length - 1
val = source[i]
sum := sum + math.abs(val - mean)
dev = sum/length
plot(pine_dev(close, 10))
Retourne la valeur
length
La ligne K est retournéesource
Il y a aussi des dérivés.
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).À bientôt
ta.variance
ta.stdev
ta.stdev(source, length, biased)
Exemples
plot(ta.stdev(close, 5))
//the same on pine
isZero(val, eps) => math.abs(val) <= eps
SUM(fst, snd) =>
EPS = 1e-10
res = fst + snd
if isZero(res, EPS)
res := 0
else
if not isZero(res, 1e-4)
res := res
else
15
pine_stdev(src, length) =>
avg = ta.sma(src, length)
sumOfSquareDeviations = 0.0
for i = 0 to length - 1
sum = SUM(src[i], -avg)
sumOfSquareDeviations := sumOfSquareDeviations + sum * sum
stdev = math.sqrt(sumOfSquareDeviations / length)
plot(pine_stdev(close, 5))
Retourne la valeurLe décalage
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).biased
(series bool) détermine quelle estimation doit être utilisée. Optionnelle. La valeur par défaut est true.Nom de l'auteurSibiased
Si true, la fonction effectue le calcul en utilisant une estimation biaisée de l'ensemble, si false - une estimation non biaisée de l'échantillon.
À bientôt
ta.dev
ta.variance
La fonction ema renvoie une moyenne mobile pondérée par l'indice. Dans ema, le facteur de pondération diminue par l'indice. Elle est calculée par la formule suivante: EMA = alpha * source + (1 - alpha) * EMA[1], où alpha = 2 / (longueur + 1) ;
ta.ema(source, length)
Exemples
plot(ta.ema(close, 15))
//the same on pine
pine_ema(src, length) =>
alpha = 2 / (length + 1)
sum = 0.0
sum := na(sum[1]) ? src : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_ema(close,15))
Retourne la valeur
source
L'indice de la moyenne mobile, alpha = 2 / (longueur + 1) ≠ 1
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(simple int) Nombre de lignes K (longueur).Nom de l'auteurVeuillez noter que l'utilisation de cette variable/fonction peut entraîner une redrawing des indicateurs.
À bientôt
ta.sma
ta.rma
ta.wma
ta.vwma
ta.swma
ta.alma
Retour de la fonction wmalength
Ligne Ksource
Le facteur de pondération est décroissant en degrés arithmétiques.
ta.wma(source, length)
Exemples
plot(ta.wma(close, 15))
// same on pine, but much less efficient
pine_wma(x, y) =>
norm = 0.0
sum = 0.0
for i = 0 to y - 1
weight = (y - i) * y
norm := norm + weight
sum := sum + x[i] * weight
sum / norm
plot(pine_wma(close, 15))
Retourne la valeur
length
La ligne K est retournéesource
La moyenne mobile pondérée.
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).À bientôt
ta.sma
ta.ema
ta.rma
ta.vwma
ta.swma
ta.alma
L'équilibre de l'équation est calculé en fonction de la longueur de l'équation.
ta.swma(source)
Exemples
plot(ta.swma(close))
// same on pine, but less efficient
pine_swma(x) =>
x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6
plot(pine_swma(close))
Retourne la valeurLes moyennes mobiles symétriques pondérées.
Paramètres
source
(series int/float) La série de sources.À bientôt
ta.sma
ta.ema
ta.rma
ta.wma
ta.vwma
ta.alma
La fonction hma renvoie la moyenne mobile HMA du corps du navire.
ta.hma(source, length)
Exemples
src = input(defval=close, title="Source")
length = input(defval=9, title="Length")
hmaBuildIn = ta.hma(src, length)
plot(hmaBuildIn, title="Hull MA", color=#674EA7)
Retourne la valeurRetourner la longueur de l'hélice du pilier de l'hélice de la source de l'hélice de la coque Hull Moving Average.
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(simple int) Nombre de lignes KÀ bientôt
ta.ema
ta.rma
ta.wma
ta.vwma
ta.sma
La moyenne mobile utilisée dans le RSI. C'est une moyenne mobile pondérée par indice, avec alpha plus pondération = 1/longueur.
ta.rma(source, length)
Exemples
plot(ta.rma(close, 15))
//the same on pine
pine_rma(src, length) =>
alpha = 1/length
sum = 0.0
sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_rma(close, 15))
Retourne la valeur
source
L'indice de la moyenne mobile, alpha = 1 /length
。
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(simple int) Nombre de lignes K (longueur).À bientôt
ta.sma
ta.ema
ta.wma
ta.vwma
ta.swma
ta.alma
ta.rsi
L'indice d'intensité relative.length
Sur la ligne Ksource
Les changements vers le haut et vers le basta.rma()
Je suis un peu dégoûté.
ta.rsi(source, length)
Exemples
plot(ta.rsi(close, 7))
// same on pine, but less efficient
pine_rsi(x, y) =>
u = math.max(x - x[1], 0) // upward ta.change
d = math.max(x[1] - x, 0) // downward ta.change
rs = ta.rma(u, y) / ta.rma(d, y)
res = 100 - 100 / (1 + rs)
res
plot(pine_rsi(close, 7))
Retourne la valeurL'indicateur RSI est relativement fort et faible.
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(simple int) Nombre de lignes K (longueur).À bientôt
ta.rma
L'indice de la vraie force et de la faiblesse. Il utilise des moyennes mobiles des mouvements potentiels des instruments financiers.
ta.tsi(source, short_length, long_length)
Retourne la valeurL'indice réel de force et de faiblesse. Les valeurs dans la plage [-1,1].
Paramètres
source
(series int/float) La série de sources.short_length
(simple int) courte longueur.long_length
(simple int) Longueur de la ligne longue.La fonction roc ((taux de variation) est indiquéesource
la valeur actuelle etsource
Il y a quelques jourslength
La différence entre les valeurs.
Elle est calculée par la formule suivante: 100 * change (src, length) / src (length) ⋅
ta.roc(source, length)
Retourne la valeur
length
La ligne K est retournéesource
Le taux de variation de la population est très élevé.
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).Retourne la différence entre la valeur minimale et la valeur maximale de la séquence.
ta.range(source, length)
Retourne la valeurDifférence entre la valeur minimale et la valeur maximale de la séquence.
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).Le MACD (la ligne moyenne asymétrique de fluctuation) doit révéler la force, la direction, la dynamique et la durée des changements de la tendance des prix des actions.
ta.macd(source, fastlen, slowlen, siglen)
Exemples
[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
plot(macdLine, color=color.blue)
plot(signalLine, color=color.orange)
plot(histLine, color=color.red, style=plot.style_histogram)
Si vous n'avez besoin que d'une seule valeur, utilisez un symbole de substitution comme celui-ci:
Exemples
[_, signalLine, _] = ta.macd(close, 12, 26, 9)
plot(signalLine, color=color.orange)
Retourne la valeurLes trois composants de la série MACD sont les lignes MACD, les lignes de signal et les lignes de diagramme rectangulaires.
Paramètres
source
(series int/float) valeur de la série à exécuter.fastlen
(simple int) Paramètres de ligne rapideslowlen
(simple int) Paramètres de longueur lente.siglen
(simple int) Paramètres de longueur du signal.À bientôt
ta.sma
ta.ema
Retourne le modèle de la séquence. Retourne la valeur minimale si plusieurs valeurs ont la même fréquence.
ta.mode(source, length)
Retourne la valeurLe modèle de la séquence.
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).Retourne le nombre moyen de la séquence.
ta.median(source, length)
Retourne la valeurLe nombre moyen de la séquence.
Paramètres
source
(series int/float) valeur de la série à exécuter.length
(series int) Nombre de lignes K (longueur).Une courbe de régression linéaire. Une ligne qui correspond le mieux à un prix spécifié dans un intervalle de temps défini par l'utilisateur. Elle est calculée en utilisant le plus petit double.source
La valeur de la plus petite multiplication de deux fois de la série.
ta.linreg(source, length, offset)
Retourne la valeurLa courbe de retour linéaire
Paramètres
source
(series int/float) La série de sources.length
(série int)offset
(simple int) décalageLe Braille est un outil d'analyse technique défini par un ensemble de lignes séparées par deux écarts standards (positifs et négatifs) par rapport à la simple moyenne mobile (SMA) du prix d'un titre, mais qui peuvent être ajustées en fonction des préférences des utilisateurs.
ta.bb(series, length, mult)
Exemples
[middle, upper, lower] = ta.bb(close, 5, 4)
plot(middle, color=color.yellow)
plot(upper, color=color.yellow)
plot(lower, color=color.yellow)
// the same on pine
f_bb(src, length, mult) =>
float basis = ta.sma(src, length)
float dev = mult * ta.stdev(src, length)
[basis, basis + dev, basis - dev]
[pineMiddle, pineUpper, pineLower] = f_bb(close, 5, 4)
plot(pineMiddle)
plot(pineUpper)
plot(pineLower)
Retourne la valeurJe ne suis pas d'accord avec toi.
Paramètres
series
(series int/float) Série à exécuter- Je suis désolé.Comment faire fonctionner plusieurs transactions en même temps?
Des nuages légersPourriez-vous m'expliquer si pine peut effectuer plusieurs transactions, comme JS?
Je vous en prie.Merci pour les détails.
l'artisteBonjour! Comment ce script pine utilise-t-il le disque de simulation d'okex sur la plateforme?
l'artisteC'est comme si les stratégies de tradingview étaient directement copiées sur la plateforme de l'inventeur pour être utilisées!
L'inventeur de la quantification - un petit rêveLe langage PINE n'utilise que des stratégies mono-variées, les stratégies multivariées sont préférables ou sont conçues en python, javascript, c++.
L'inventeur de la quantification - un petit rêveOh, oui, OKX est un peu spécial, leur environnement d'analogie et leur environnement de disque réel ont la même adresse, mais ils font une différence ailleurs.
Des nuages légersJe ne peux pas utiliser l'analogue okx.
L'inventeur de la quantification - un petit rêveCe problème d'architecture multiforme n'est pas résolu, car chaque échange dispose d'une interface différente et de limites de fréquence différentes, ce qui pose de nombreux problèmes.
L'inventeur de la quantification - un petit rêveBien, merci à Cloud pour les suggestions, et partagez-les ici.
Des nuages légersIl est préférable d'utiliser le JS pour une meilleure adaptation aux différents modes de transactions.
Les chasseurs de tendanceLe prix d'achat est le même pour chaque variété.
L'inventeur de la quantification - un petit rêveJe suis désolée.
Des nuages légersBien, merci beaucoup.
L'inventeur de la quantification - un petit rêveBonjour, la stratégie linguistique PINE ne fonctionne que pour une seule variété pour l'instant.
L'inventeur de la quantification - un petit rêveMerci pour votre soutien. La documentation continuera d'être améliorée.
L'inventeur de la quantification - un petit rêveJe ne sais pas si c'est vrai.
L'inventeur de la quantification - un petit rêveLa bibliothèque de modèles PINE, dont les paramètres permettent de définir l'adresse de base de l'échange de commutation.