리소스 로딩... 로딩...

FMZ PINE 스크립트 문서

저자:발명가들의 수량화 - 작은 꿈, 창작: 2022-05-06 14:27:06, 업데이트: 2024-10-12 15:27:04

ceArray =array.new(사본 입력) 메소드 maintainQueue(array srcArray, float 값, bool takeSample = true) => if take 샘플 srcArray.push (값) srcArray.shift (() srcArray

방법 calcBB(array srcArray, float mult, bool 계산 = true) => var float mean = na var float dev = na 계산하면 mean:= srcArray.avg() dev:= srcArray.stdev() * 멀트 [중간, 중간 + dev, 중간 - dev]

bool newSample = bar_index % n == 0

[sampleMean, highBand, lowBand] = sourceArray.maintainQueue ((sourceInput, newSample).calcBB ((배수, newSample)

그래프 (사본) 평균, 기본, 색.황색) 플롯 (highBand, Upper, color.lime) 플롯 (lowBand, Lower,color.red)


可以看到使用关键字method声明的用户自定义方法:maintainQueue、calcBB的参数列表中第一个参数都是```array<float>```类型。表示该method是```array<float>```类型变量的方法,所以可以看到调用以下代码来计算布林指标。

```pine
[sampleMean, highBand, lowBand] = sourceArray.maintainQueue(sourceInput, newSample).calcBB(multiplier, newSample)

메소드 로드

사용자 정의 메소드는 동일한 아이디를 가진 기존의 내장 메소드와 사용자 정의 메소드를 덮고 오버로드할 수 있다. 이 기능은 사용자가 동일한 메소드 이름 아래에서 서로 다른 매개 변수 서명과 연관된 여러 예를 정의할 수 있도록 한다. 간단한 예로, 우리가 변수 유형을 식별하기 위해 메소드를 정의하고 싶다고 가정한다. 우리는 사용자 정의 메소드에 연관된 객체 유형을 명시적으로 지정해야 하기 때문에 우리가 인식하기를 원하는 모든 타입에 대해 정의 메소드를 오버로드해야 한다. 아래에서 우리는 getType (() 메소드를 정의하고, 메소드는 변수 타입의 문자열 표현 형태를 반환하고, 다섯 가지 기본 타입을 오버로드한다:

//@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")

각 변수의 기본 유형 결정getType()FMZ 플랫폼에서는 PINE 스크립트 밑바닥이 자바스크립트 언어로 구현되기 때문에 숫자 타입은 모두 플로팅 데이터 (float) 로 판단된다.

내장 함수

함수를 호출할 때 매개 변수를 전송할 수 있으며, 매개 변수의 위치에서 직접 매개 변수를 전송할 수 있으며, 혼합 사용을 지원합니다. 예를 들어:

plot(close, title="test plot")     // 直接传参数 close ;指定参数 title ,赋值字符串"test plot"

파라미터 이름 부여를 지정한 후, 변수를 직접 파라미터로 전달할 수 없으며, 이후의 파라미터는 파라미터 이름 부여의 형태로 작성되어야 한다.

// plot(close, title="test", color.red)    // 虽然plot第三个参数是颜色值,但是这样写就会报错
plot(close, title="test", color=color.red) // 正确写法
plot(close, "test", color.red)             // 正确写法

기간

시간 프레임.초에서

이 자료는timeframe변수의 시간 주기는 초로 변환됩니다.

timeframe.in_seconds(timeframe)

예를 들어

// 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)

값을 반환합니다. timeframeK줄의 세컨드 수의 int를 나타냅니다.

매개 변수

  • timeframe(simple string) 시간주기↑ 선택지↑ 기본값은 timeframe.period。

참고자료이 문제에 대해timeframe>= 1M 함수는 한 달의 30.4167 (365/12) 일일 기준으로 계산된 초수이다.

안녕하세요 input.timeframe timeframe.period

ticker.heikinashi

코드 아이디커를 생성하여 평균 K줄값을 매끄럽게 요청합니다.

ticker.heikinashi(symbol)

예를 들어

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)

값을 반환합니다. 股票代码的字符串值,可以提供给request.security函数。

매개 변수

  • symbol(simple string) 상품 코드 식별자.

안녕하세요 syminfo.tickerid syminfo.ticker request.security

요청

request.data

외부 데이터를 요청합니다.

request.data(url, attribute)

예를 들어

/*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)

값을 반환합니다.매개 변수attribute지정된 데이터 시리즈.

매개 변수

  • url(simple string) 요청된 데이터 소스의 url, 데이터 소스가 응답하는 데이터 형식은 다음과 같은 요구 사항을 충족해야 합니다 (적어도 time、data 속성을 포함):{"data": [], "schema": ["time", "data"]}◎ 예를 들어 데이터 포맷을 참조하십시오:

    {
        "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) 속성 이름을 지정하여 원하는 데이터를 반환합니다. 예를 들어:"$.spot_close_price", 사용$.앞자리로, 속성 이름은 요청된 데이터 소스에 응답된 데이터의 data 필드의 속성과 일치합니다.

오류가 표시되면 확인해야 합니다.request.data요청의 시간 범위가 재검토 설정 시간 범위와 일치하는지, 재검토 시간 순서에서 데이터를 검색하지 않으면 오류가 발생합니다.

이 경우의 데이터-데이터 데이터 쿼리 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;

FMZ 플랫폼에서 볼 수 있습니다데이터 탐색페이지 쿼리, 데이터 링크를 만드는, 예를 들어https://www.datadata.com/api/v1/query/ebe46218-c5c6-4366-8c72-413694417976/data

request.security

다른 품종/해상도를 요구합니다.

request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency) 

예를 들어

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)

값을 반환합니다.요구된 시리즈

매개 변수

  • symbol(simple string) 상품 코드.
  • timeframe(simple string) 시간주기. 빈 문자열은 그래프의 현재 시간주기로 해석됩니다.
  • expression(series int/float/bool/color) 는 request.security에서 계산을 호출하여 표현식을 반환할 수 있다. 그것은 일련 또는 일련으로 변환될 수 있는 요소를 포함하는 요소를 포함하는 집합이 될 수 있다.
  • gaps(barmerge_gaps) 요청된 데이터에 대한 결합 정책 ((데이터가 자동으로 주요 일련의 OHLC 데이터와 결합되도록 요구한다) ). 가능한 값: barmerge.gaps_on, barmerge.gaps_off。 barmerge.gaps_on - 요청된 데이터와 가능한 간격이 결합된다. barmerge.gaps_off - 요청된 데이터가 연속적으로 끊이지 않고 결합되며 모든 간격은 이전 가장 최근의 기존 값을 채우며. 기본값은 barmerge.gaps_off。
  • lookahead(barmerge_lookahead) 요청된 데이터의 결합 정책을 제공합니다. 가능한 값: barmerge.lookahead_on, barmerge.lookahead_off. 버전 3부터 기본 값은 barmerge.lookahead_off입니다. 참고로 동작은 실시간과 동일하지만 역사에서 다릅니다.
  • ignore_invalid_symbol(const bool) 선택 가능한 변수이다. 지정된 상품이 발견되지 않으면 함수의 동작을 결정한다. 만약 false라면 스크립트가 멈추고 실행 시 오류를 반환한다. 만약 true라면 함수가 na를 반환하고 실행을 계속한다. 기본값은 false이다.
  • currency(simple string) 상품의 화폐 관련 값 (예를 들어 OHLC) 을 변환한 화폐. 그리고 변환된 값에 따라 expression?? 를 계산한다. 사용된 변환율은 FX_IDC 쌍의 전날의 일일 환율 (수준에 비해 계산되는 K선) 에 기초한다. 선택된다. 기본값은 syminfo.currency이다. 가능한 값: ISO 4217 형식 화폐 코드 (예를 들어 USD) 를 가진 3자 문자열 또는 currency.* 이름 공간의 상수 중 하나, 예를 들어 currency.USD이다.

참고자료이 기능을 사용하는 파이너스크립트 코드는 역사 기록과 실시간 데이터에 대해 다른 계산을 할 수 있습니다.만약 당신이 요청한 상품에 대한 추가 매개 변수를 지정하고 싶다면, 예를 들어 거래 시간 또는 조정 유형,您可以使用ticker.new() 함수입니다. 이 함수에 점의 오차를 전달하기 위해 ticker 변수를 사용할 수 없습니다. 당신은 을 사용할 수 있습니다.ticker.new변수 또는 주식 코드에서 문자열 표현 형태, 예를 들어 AAPL+MSFT*TSLA.현재 한 스크립트에는 최대 40개의 request.security 호출이 가능합니다. 이 변수/함수 사용으로 지표가 재구성될 수 있음을 참고하십시오. 해상도 매개 변수는 다음과 같은 값을 허용합니다. 1S, 5S, 15S, 30S - 초 간격 (표시 주기 는 요청 된 주기로 작거나 같아야 한다) 1에서 1440분까지 1D에서 365D까지 1W에서 52W까지 몇 주 1M에서 12M까지 몇 달

안녕하세요 syminfo.ticker syminfo.tickerid timeframe.period ta.correlation barmerge.lookahead_off barmerge.lookahead_on

str

str.contains

만약source문자열을 포함합니다.str자막 문자열은 true를 반환하고, 그렇지 않으면 false를 반환합니다.

str.contains(source, str)

예를 들어

// 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)

값을 반환합니다.만약source문자열에서 찾을 수 있습니다.str,는 true이고, 그렇지 않으면 false입니다.

매개 변수

  • source(series string) 소스 문자열
  • str(series string) 검색하려는 하위 문자열.

안녕하세요 str.pos str.match

str.endswith

만약source문자열은str중에서 지정된 하위 문자열의 끝은 true, 그렇지 않으면 false를 반환한다.

str.endswith(source, str)

값을 반환합니다.만약source문자열은str중간에 지정된 하위 문자열의 끝은 true, 그렇지 않으면 false이다.

매개 변수

  • source(series string) 소스 문자열
  • str(series string) 검색하려는 하위 문자열.

안녕하세요 str.startswith

str.startswith

만약source문자열은str중에서 지정된 하위 문자열의 시작은 true, 그렇지 않으면 false를 반환한다.

str.startswith(source, str)

값을 반환합니다.만약source문자열은str이 중에서 지정된 하위 문자열의 시작은 true, 그렇지 않으면 false이다.

매개 변수

  • source(series string) 소스 문자열
  • str(series string) 검색하려는 하위 문자열.

안녕하세요 str.endswith

str.substring

이 문자는 새로운 문자열을 반환합니다.source문자열의 하위 문자열.begin_pos지정된 인덱스의 문자가 시작되고source문자열의 end_pos - 1

str.substring(source, begin_pos)
str.substring(source, begin_pos, end_pos)

예를 들어

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)

값을 반환합니다.소스 문자열에서 추출된 하위 문자열.

매개 변수

  • source(series string) 에서 자열을 추출합니다.
  • begin_pos(series int) 를 추출한 하위 문자열의 시작 위치. 그것은 독점적 ( 추출한 하위 문자열에는 그 위치의 문자가 포함되어 있습니다.) 이다.
  • end_pos(series int) 종료 위치. 그것은 독점적이다. (수출된 문자열은 해당 위치의 문자를 포함하지 않는다.)source문자열의 길이는.

참고자료문자열 인덱스는 0에서 시작됩니다.begin_pos이 값은end_pos, 함수는 빈 문자열을 반환합니다.

안녕하세요 str.contains str.pos str.match

str.tonumber

str.tonumber(string)

값을 반환합니다.유효한 숫자를 포함하면 문자열의 유동점 형식이고 그렇지 않으면 na이다.

매개 변수

  • string(series string) int 또는 float의 문자열 표현식.

str.format

형식 문자열과 값을 형식 문자열로 변환한다. 형식 문자열은 문자 텍스트와 각각의 형식 값의 대괄호 {} 내의 점수를 포함할 수 있다. 각각의 점수는 그것의 필수 매개 변수를 대체하는 인덱스를 포함한다. (0부터 시작) 그리고 선택적인 형식 설명자를 포함한다. 인덱스는 매개 변수가 str.format 매개 변수 목록에 있는 위치를 나타낸다.

str.format(formatString, arg0, arg1, ...)

예를 들어

// 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)

값을 반환합니다.형식화 된 문자열.

매개 변수

  • formatString(series string) 형식의 문자열.
  • arg0, arg1, ...(series int/float/bool/string/na/int[]/float[]/bool[]/string[]) 는 포맷해야 하는 값이다.

참고자료인용되지 않은 스타일의 모든 괄호는 균형을 유지해야 한다. 예를 들어, ab {0} de"와 "ab } de"는 유효한 스타일이지만, "ab {0} de, ab } de"와 {"는 유효하지 않다.

str.length

문자열에 있는 문자수와 일치하는 정수를 반환합니다.

str.length(string)

값을 반환합니다.소스 문자열에 있는 문자들의 수.

매개 변수

  • string(series string) 소스 문자열

str.lower

모든 글자가 소문자로 변환된 새로운 문자열을 반환합니다.

str.lower(source)

값을 반환합니다.모든 글자가 새 줄무늬로 작아졌습니다.

매개 변수

  • source(series string) 변환하려는 문자열.

안녕하세요 str.upper

str.upper

모든 문자를 대문자로 변환한 새로운 문자열을 반환합니다.

str.upper(source)

값을 반환합니다.모든 글자가 새로운 문자열로 대문자로 변환됩니다.

매개 변수

  • source(series string) 변환하려는 문자열.

안녕하세요 str.lower

str.match

만약 일치한다면regex정형표현은 반환됩니다.source문자열의 새로운 하위 문자열, 그렇지 않으면 na를 반환합니다.

str.match(source, regex) 

예를 들어

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"

값을 반환합니다. source이 문자열의 새로운 하위 문자열은regex정규 표현식, 그렇지 않으면 .

매개 변수

  • source(series string) 소스 문자열
  • regex(series string) 이 문자열과 일치하는 정규 표현식.

참고자료함수 반환source문자열에 처음 나타나는 정규 표현식.regex문자열에 있는 반사 슬라이드\ 기호는 추가적인 반사 슬라이드를 사용하여 변환이 필요합니다. 예를 들어?? \d는 정규 표현식?? \d를 나타냅니다.

안녕하세요 str.contains str.substring

str.pos

돌아갑니다.source문자열에 처음 등장합니다.str문자열의 위치, 그렇지 않으면 na를 반환합니다.

str.pos(source, str)

값을 반환합니다. str문자열에source문자열의 위치.

매개 변수

  • source(series string) 소스 문자열
  • str(series string) 검색하려는 하위 문자열.

참고자료문자열 인덱스는 0에서 시작합니다.

안녕하세요 str.contains str.match str.substring

str.replace

새로운 문자열을 반환합니다.target이 문장들은target문자열을replacementN이 있는 문자열occurrence중간에 지정된 ▲N은 대체하고자 하는 대상 문자열의 소스 문자열에 나타나는 매칭 인덱스이다。

str.replace(source, target, replacement, occurrence)

예를 들어

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)

값을 반환합니다.문자열 처리

매개 변수

  • source(series string) 소스 문자열
  • target(series string) 로 교체된 문자열
  • replacement(series string) 입력하려는 문자열이 목적 문자열이 아닌 문자열이다.
  • occurrence(series int) 교체하려는 대상 문자열은 소스 문자열에 나타나는 매칭 인덱스이다. 첫 번째 매칭 인덱스는 0에서 시작된다. 옵션이다. 기본값은 0이다.

안녕하세요 str.replace_all str.match

str.replace_all

소스 문자열에서 나타나는 모든 목표 문자열을 교체하는 문자열을 사용합니다.

str.replace_all(source, target, replacement)

값을 반환합니다.문자열 처리

매개 변수

  • source(series string) 소스 문자열
  • target(series string) 로 교체된 문자열
  • replacement(series string) 각각의 목표 문자열이 나타나는 때마다

str.split

문자열을 하위 문자열 배열로 나누고 배열 ID를 반환합니다.

str.split(string, separator)

값을 반환합니다.문자열 배열의 ID.

매개 변수

  • string(series string) 소스 문자열
  • separator(series string) 각 하위 문자열을 분리하는 문자열.

str.tostring

str.tostring(value)
str.tostring(value, format)
str.tostring(value[])
str.tostring(value[], format)

값을 반환합니다. value변수의 문자열이 표시되는 형태. 만약value변수는 문자열이고 원래대로 반환됩니다. 그리고value이 함수에서, Na는 NaN을 반환한다.

매개 변수

  • value(series int/float/bool/string/int[]/float[]/bool[]/string[]) 의 요소는 문자열의 값 또는 배열 ID로 변환됩니다.
  • format(시리즈 문자열) 형식 문자열. 이러한 형식을 허용 합니다.* 상수: format.mintick, format.percent, format.volume. 선택 사항. 기본 값은 #.#########.

참고자료유동점 값의 형식은 또한 필요한 경우 이 값에 네 자리와 다섯 자리까지 올립니다. 예를 들어, str.tostring ((3.99, #) 는 4를 반환합니다. 0을 표시하기 위해서는 0을 표시하기 보다는 0을 표시하십시오. 예를 들어, 0#000을 표시하십시오. format.mintick을 사용하면, 이 값은 syminfo.mintick로 나눌 수 있는 가장 가까운 숫자로 네 자리 다섯 자리까지 넣는다. 반환된 문자열에는 0이 따른다. 만약 x가 문자열이라면 동일한 문자열 값을 반환합니다. Bool 타입의 매개변수는 true 또는 false를 반환한다. x가 na일 때, 함수는 NaN를 반환한다.

색상

color.new

기능 색상은 투명성을 지정하여 주어진 색상에 적용합니다.

color.new(color, transp)

예를 들어

plot(close, color=color.new(color.red, 50))

값을 반환합니다.이 그림은 이 그림에서 보여준 것과 같습니다.

매개 변수

  • color(시리즈 색상)
  • transp(series int/float) 사용할 수 있는 값은 0 (무투명) 에서 100 (무투명) 까지

참고자료아주 많은 수의 매개 변수 (예를 들어, simple, input 또는 series) 를 사용하면 스크립트 설정/스타일 탭 페이지에서 표시되는 색상에 영향을 미칩니다. 자세한 내용은 사용자 설명서를 참조하십시오.

color.rgb

RGB 색상 모델을 사용하여 투명한 새로운 색상을 만듭니다.

color.rgb(red, green, blue, transp)

예를 들어

plot(close, color=color.rgb(255, 0, 0, 50))

값을 반환합니다.이 그림은 이 그림에서 보여준 것과 같습니다.

매개 변수

  • red(series int/float) 빨간색. 가능한 값은 0에서 255까지다.
  • green(series int/float) 초록색. 가능한 값은 0에서 255까지다.
  • blue(series int/float) 푸른 색조. 가능한 값은 0에서 255까지다.
  • transp(series int/float) 선택가능하다. 색상 투명하다. 가능한 값은 0 (투명하지 않다) 에서 100 (투명하지 않다). 기본값은 0이다.

참고자료아주 많은 수의 매개 변수 (예를 들어, simple, input 또는 series) 를 사용하면 스크립트 설정/스타일 탭 페이지에서 표시되는 색상에 영향을 미칩니다. 자세한 내용은 사용자 설명서를 참조하십시오.

실행 시간

runtime.debug

컨트롤러에서 변수 정보를 인쇄합니다.

FMZ PINE 언어에는 특별한 기능이 있습니다.runtime.debug(value), 단 하나의 변수입니다.

runtime.log

로그에서 콘텐츠를 출력합니다.

FMZ PINE 언어에는 특별한 기능이 있습니다.runtime.log(1, 2, 3, close, high, ...), 여러 매개 변수를 전송할 수 있습니다.

runtime.error

이 경우 실행에 오류가 발생하고,message변수에서 지정된 오류 메시지.

runtime.error(message)

매개 변수message (series string) 오류 메시지.

입력

입력

스크립트 설정의 입력 라벨 페이지에 입력 항목을 추가하여 스크립트 사용자에게 구성 옵션을 제공하도록 허용합니다. 이 기능은 자동으로 defval 문에 사용되는 변수 유형을 탐지하고 그에 따른 입력 플러그인을 사용합니다.

input(defval, title, tooltip, inline, group)
input(defval, title, inline, group, tooltip)

예를 들어

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)

값을 반환합니다.입력 변수 값

매개 변수

  • defval(const int/float/bool/string/color or source-type built-ins) 스크립트의 함수 설정/입수 함수 라그 페이지에서 제안된 입력 변수의 기본값을 설정하고 스크립트 사용자가 변경할 수 있습니다.closehlc3
  • title(const string) 입력된 제목. 지정하지 않은 경우 변수 이름을 입력된 제목으로 사용한다. 지정한 제목이 있지만 제목이 비어있는 경우 이름은 비어있는 문자열로 쓰인다.
  • tooltip(const string) 이 문자열은 사용자가 도구 제안 아이콘 위에 마우스를 놓을 때 표시됩니다.
  • inline(const string) 같은 변수를 사용하는 모든 입력 호출을 한 줄에 결합한다. 변수로 사용되는 문자열을 표시하지 않는다. 그것은 단지 같은 줄에 속하는 입력들을 식별하는 데 사용된다.
  • group(const string) 모든 입력 위에 동일한 그룹 대수 숫자로 된 문자열을 사용하여 헤더를 만듭니다. 이 문자열은 또한 헤더 텍스트로 사용됩니다.

참고자료입력 함수의 반환 값은 항상 변수에 할당되어야 합니다. 위의 예제를 참조하십시오.

안녕하세요 input.bool input.color input.int input.float input.string input.timeframe input.source

input.source

스크립트 설정의 입력 라벨 페이지에 입력 항목을 추가하여 스크립트 사용자에게 구성 옵션을 제공하도록 허용합니다. 이 기능에는 다운로드 메뉴가 추가되어 사용자가 계산 소스를 선택할 수 있습니다. 예를 들어 close,hl2 등. 스크립트가 하나의 입력.소스 (input.source) 호출만 포함하면 사용자가 다른 지표의 출력을 선택 할 수 있습니다.

input.source(defval, title, tooltip, inline, group)

예를 들어

i_src = input.source(close, "Source")
plot(i_src)

값을 반환합니다.입력 변수 값

매개 변수

  • defval(series int/float) 는 스크립트의 설정/입기 라그 페이지에서 제안된 입력 변수의 기본값을 설정하고 사용자가 변경할 수 있는 것이다.
  • title(const string) 입력된 제목. 지정하지 않은 경우 변수 이름을 입력된 제목으로 사용한다. 지정한 제목이 있지만 제목이 비어있는 경우 이름은 비어있는 문자열로 쓰인다.
  • tooltip(const string) 이 문자열은 사용자가 도구 제안 아이콘 위에 마우스를 놓을 때 표시됩니다.
  • inline(const string) 같은 변수를 사용하는 모든 입력 호출을 한 줄에 결합한다. 변수로 사용되는 문자열을 표시하지 않는다. 그것은 단지 같은 줄에 속하는 입력들을 식별하는 데 사용된다.
  • group(const string) 모든 입력 위에 동일한 그룹 대수 숫자로 된 문자열을 사용하여 헤더를 만듭니다. 이 문자열은 또한 헤더 텍스트로 사용됩니다.

참고자료 input.source函数的结果总是应该分配给一个变量,见上面的例子。

안녕하세요 input.bool input.int input.float input.string input.timeframe input.color input

input.string

Input를 스크립트 설정의 입력 옵션 탭에 추가합니다. 이 기능은 문자열 입력 필드를 스크립트의 입력에 추가합니다.

input.string(defval, title, options, tooltip, inline, group, confirm)

예를 들어

i_text = input.string("Hello!", "Message")
runtime.log(i_text)

값을 반환합니다.입력 변수 값

매개 변수

  • defval(const string) 스크립트의 설정/ 입력 탭 페이지에서 제안된 입력 변수의 기본값을 정의하고 사용자가 변경할 수 있습니다.options변수와 함께 사용될 때, 이 값은 둘 중 하나가 되어야 한다.
  • title(const string) 입력된 제목. 지정하지 않은 경우 변수 이름을 입력된 제목으로 사용한다. 지정한 제목이 있지만 제목이 비어있는 경우 이름은 비어있는 문자열로 쓰인다.
  • options[...]) 선택할 수 있는 옵션 목록.
  • tooltip(const string) 이 문자열은 사용자가 도구 제안 아이콘 위에 마우스를 놓을 때 표시됩니다.
  • inline(const string) 같은 변수를 사용하는 모든 입력 호출을 한 줄에 결합한다. 변수로 사용되는 문자열을 표시하지 않는다. 그것은 단지 같은 줄에 속하는 입력들을 식별하는 데 사용된다.
  • group(const string) 모든 입력 위에 동일한 그룹 대수 숫자로 된 문자열을 사용하여 헤더를 만듭니다. 이 문자열은 또한 헤더 텍스트로 사용됩니다.
  • confirm(const bool) true가 되면 지표가 차트에 추가되기 전에 사용자가 입력값을 확인하도록 요구됩니다. 기본값은 false입니다.

참고자료 input.string函数的结果总是应该分配给一个变量,见上面的例子。

안녕하세요 input.bool input.int input.float input.timeframe input.source input.color input

input.bool

스크립트 설정의 입력 라벨 페이지에 입력 항목을 추가하여 스크립트 사용자에게 설정 옵션을 제공하도록 합니다. 이 기능은 스크립트 입력에 선택 표시를 추가합니다.

input.bool(defval, title, tooltip, inline, group, confirm)

예를 들어

i_switch = input.bool(true, "On/Off")
plot(i_switch ? open : na)

값을 반환합니다.입력 변수 값

매개 변수

  • defval(const bool) 스크립트의 설정/인पुट 탭 페이지에서 제안된 입력 변수의 기본값을 설정하고 사용자가 변경할 수 있습니다.
  • title(const string) 입력된 제목. 지정하지 않은 경우 변수 이름을 입력된 제목으로 사용한다. 지정한 제목이 있지만 제목이 비어있는 경우 이름은 비어있는 문자열로 쓰인다.
  • tooltip(const string) 이 문자열은 사용자가 도구 제안 아이콘 위에 마우스를 놓을 때 표시됩니다.
  • inline(const string) 같은 변수를 사용하는 모든 입력 호출을 한 줄에 결합한다. 변수로 사용되는 문자열을 표시하지 않는다. 그것은 단지 같은 줄에 속하는 입력들을 식별하는 데 사용된다.
  • group(const string) 모든 입력 위에 동일한 그룹 대수 숫자로 된 문자열을 사용하여 헤더를 만듭니다. 이 문자열은 또한 헤더 텍스트로 사용됩니다.
  • confirm(const bool) true가 되면 지표가 차트에 추가되기 전에 사용자가 입력값을 확인하도록 요구됩니다. 기본값은 false입니다.

참고자료 input.bool函数的结果总是应该分配给一个变量,见上面的例子。

안녕하세요 input.int input.float input.string input.timeframe input.source input.color input

input.int

이 함수는 전체 입력 필드를 스크립트의 입력에 추가합니다.

input.int(defval, title, minval, maxval, step, tooltip, inline, group, confirm) 
input.int(defval, title, options, tooltip, inline, group, confirm)

예를 들어

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))

값을 반환합니다.입력 변수 값

매개 변수

  • defval(const int) 는 스크립트의 설정/입기 탭 페이지에서 제안된 입력 변수의 기본값을 설정하고, 스크립트 사용자가 이를 변경할 수 있습니다.options변수와 함께 사용될 때, 이 값은 둘 중 하나가 되어야 한다.
  • title(const string) 입력된 제목. 지정하지 않은 경우 변수 이름을 입력된 제목으로 사용한다. 지정한 제목이 있지만 제목이 비어있는 경우 이름은 비어있는 문자열로 쓰인다.
  • minval(const int) 입력 변수의 최소 가능한 값이다.
  • maxval(const int) 입력 변수의 최대 가능한 값이다.
  • step(const int) 입력된 걸음 길이를 증가/감소하는 값이다. 선택이다. 기본값은 1이다.
  • options(tuple of const int values: [val1, val2,...]) 드래그 아웃 메뉴에서 선택된 옵션 목록, 소수점으로 분리되어 괄호로 포괄됩니다: [val1, val2,...];; 이 변수를 사용할 때 사용할 수 없습니다.minvalmaxval그리고step파라미터.
  • tooltip(const string) 이 문자열은 사용자가 도구 제안 아이콘 위에 마우스를 놓을 때 표시됩니다.
  • inline(const string) 같은 변수를 사용하는 모든 입력 호출을 한 줄에 결합한다. 변수로 사용되는 문자열을 표시하지 않는다. 그것은 단지 같은 줄에 속하는 입력들을 식별하는 데 사용된다.
  • group(const string) 모든 입력 위에 동일한 그룹 대수 숫자로 된 문자열을 사용하여 헤더를 만듭니다. 이 문자열은 또한 헤더 텍스트로 사용됩니다.
  • confirm(const bool) true가 되면 지표가 차트에 추가되기 전에 사용자가 입력값을 확인하도록 요구됩니다. 기본값은 false입니다.

참고자료 input.int函数的结果总是应该分配给一个变量,见上面的例子。

안녕하세요 input.bool input.float input.string input.timeframe input.source input.color input

input.float

입력 문자를 스크립트 설정의 입력 탭 페이지에 추가합니다. 이 기능은 스크립트의 입력에 부동 소수점 입력 필드를 추가합니다.

input.float(defval, title, minval, maxval, step, tooltip, inline, group, confirm)
input.float(defval, title, options, tooltip, inline, group, confirm)

예를 들어

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)

값을 반환합니다.입력 변수 값

매개 변수

  • defval(const int/float) 는 스크립트의 설정/입기 탭 페이지에서 제안된 입력 변수의 기본값을 설정하고, 스크립트 사용자가 이를 변경할 수 있습니다.options변수와 함께 사용될 때, 이 값은 둘 중 하나가 되어야 한다.
  • title(const string) 입력된 제목. 지정하지 않은 경우 변수 이름을 입력된 제목으로 사용한다. 지정한 제목이 있지만 제목이 비어있는 경우 이름은 비어있는 문자열로 쓰인다.
  • minval(const int/float) 입력 변수의 최소 가능한 값이다.
  • maxval(const int/float) 입력 변수의 최대 가능한 값이다.
  • step(const int/float) 입력된 단계 길이 값을 증가/감소하기 위해 사용된다. 선택된다. 기본값은 1이다.
  • options(tuple of const int/float values: [val1, val2,...]) 드래그다운 메뉴에서 선택된 옵션 목록, 소수점으로 분리되어 괄호로 묶어: [val1, val2,...];; 이 변수를 사용할 때 사용할 수 없습니다.minvalmaxval그리고step파라미터.
  • tooltip(const string) 이 문자열은 사용자가 도구 제안 아이콘 위에 마우스를 놓을 때 표시됩니다.
  • inline(const string) 같은 변수를 사용하는 모든 입력 호출을 한 줄에 결합한다. 변수로 사용되는 문자열을 표시하지 않는다. 그것은 단지 같은 줄에 속하는 입력들을 식별하는 데 사용된다.
  • group(const string) 모든 입력 위에 동일한 그룹 대수 숫자로 된 문자열을 사용하여 헤더를 만듭니다. 이 문자열은 또한 헤더 텍스트로 사용됩니다.
  • confirm(const bool) true가 되면 지표가 차트에 추가되기 전에 사용자가 입력값을 확인하도록 요구됩니다. 기본값은 false입니다.

참고자료 input.float函数的结果总是应该分配给一个变量,见上面的例子。

안녕하세요 input.bool input.int input.string input.timeframe input.source input.color input

input.color

스크립트 설정의 입력 탭 페이지에 입력 항목을 추가하여 스크립트 사용자에게 구성 옵션을 제공하도록 합니다. 이 기능은 색상 선택기를 추가하여 사용자가 색상판 또는 16진방값에서 색상 및 투명성을 선택할 수 있습니다.

input.color(defval, title, tooltip, inline, group, confirm) 

예를 들어

i_col = input.color(color.red, "Plot Color")
plot(close, color=i_col)

값을 반환합니다.입력 변수 값

매개 변수

  • defval(const color) 는 스크립트의 설정/인पुट 탭 페이지에서 제안된 입력 변수의 기본값을 설정하고 사용자가 변경할 수 있는 것을 설정합니다.
  • title(const string) 입력된 제목. 지정하지 않은 경우 변수 이름을 입력된 제목으로 사용한다. 지정한 제목이 있지만 제목이 비어있는 경우 이름은 비어있는 문자열로 쓰인다.
  • tooltip(const string) 이 문자열은 사용자가 도구 제안 아이콘 위에 마우스를 놓을 때 표시됩니다.
  • inline(const string) 같은 변수를 사용하는 모든 입력 호출을 한 줄에 결합한다. 변수로 사용되는 문자열을 표시하지 않는다. 그것은 단지 같은 줄에 속하는 입력들을 식별하는 데 사용된다.
  • group(const string) 모든 입력 위에 동일한 그룹 대수 숫자로 된 문자열을 사용하여 헤더를 만듭니다. 이 문자열은 또한 헤더 텍스트로 사용됩니다.
  • confirm(const bool) true가 되면 지표가 차트에 추가되기 전에 사용자가 입력값을 확인하도록 요구됩니다. 기본값은 false입니다.

참고자료 input.color函数的结果总是应该分配给一个变量,见上面的例子。

안녕하세요 input.bool input.int input.float input.string input.timeframe input.source input

input.price

가격 입력 문자를 스크립트에 추가하기 위해 문자를 설정/입기 문자를 사용하십시오.confirm = true인터랙티브 입력 모드를 활성화하고, 차트를 클릭하여 가격을 선택하십시오.

input.price(defval, title, tooltip, inline, group, confirm) 

예를 들어

price1 = input.price(title="Date", defval=42)
plot(price1)

price2 = input.price(54, title="Date")
plot(price2)

값을 반환합니다.입력 변수 값

매개 변수

  • defval(const int/float) 스크립트의 설정/입기 탭 페이지에서 제안된 입력 변수의 기본값을 설정하고 사용자가 변경할 수 있습니다.
  • title(const string) 입력된 제목. 지정하지 않은 경우 변수 이름을 입력된 제목으로 사용한다. 지정한 제목이 있지만 제목이 비어있는 경우 이름은 비어있는 문자열로 쓰인다.
  • tooltip(const string) 이 문자열은 사용자가 도구 제안 아이콘 위에 마우스를 놓을 때 표시됩니다.
  • inline(const string) 같은 변수를 사용하는 모든 입력 호출을 한 줄에 결합한다. 변수로 사용되는 문자열을 표시하지 않는다. 그것은 단지 같은 줄에 속하는 입력들을 식별하는 데 사용된다.
  • group(const string) 모든 입력 위에 동일한 그룹 대수 숫자로 된 문자열을 사용하여 헤더를 만듭니다. 이 문자열은 또한 헤더 텍스트로 사용됩니다.
  • confirm(const bool) 만약 true라면, 인터랙티브 입력 모드를 활성화하고 지표를 차트에 추가할 때 지표를 클릭하여 선택을 완료하거나 지표를 선택하고 그 다음 지표를 이동하여 선택을 완료합니다. 선택지. 기본값은 false입니다.

참고자료상호작용 모드를 사용하면 두 개의 함수가 서로 호출되면inline변수는 동일한 변수를 사용하면 시간 입력과 가격 입력과 결합하여 사용할 수 있습니다.

안녕하세요 input.bool input.int input.float input.string input.resolution input.source input.color input

input.timeframe

스크립트 설정의 입력 탭 페이지에 입력 항목을 추가하여 스크립트 사용자에게 구성 옵션을 제공할 수 있습니다. 이 기능은 드래그 아웃 목록을 추가하여 사용자가 시간 주기 선택기를 통해 특정 시간대를 선택하고 문자열로 반환하도록 허용합니다. 선택기는 사용자가 차트에서 사용할 수 있는 시간 주기 드래그 아웃 메뉴를 추가하는 사용자 지정 시간대를 포함합니다.

input.timeframe(defval, title, options, tooltip, inline, group, confirm)

예를 들어

i_res = input.timeframe('D', "Resolution", options=['D', 'W', 'M'])
s = request.security(syminfo.tickerid, i_res, close)
plot(s)

값을 반환합니다.입력 변수 값

매개 변수

  • defval(const string) 스크립트의 설정/ 입력 탭 페이지에서 제안된 입력 변수의 기본값을 정의하고 사용자가 변경할 수 있습니다.options변수와 함께 사용될 때, 이 값은 둘 중 하나가 되어야 한다.
  • title(const string) 입력된 제목. 지정하지 않은 경우 변수 이름을 입력된 제목으로 사용한다. 지정한 제목이 있지만 제목이 비어있는 경우 이름은 비어있는 문자열로 쓰인다.
  • options(tuple of const string values: [val1, val2,...]) 선택할 수 있는 옵션 목록.
  • tooltip(const string) 이 문자열은 사용자가 도구 제안 아이콘 위에 마우스를 놓을 때 표시됩니다.
  • inline(const string) 같은 변수를 사용하는 모든 입력 호출을 한 줄에 결합한다. 변수로 사용되는 문자열을 표시하지 않는다. 그것은 단지 같은 줄에 속하는 입력들을 식별하는 데 사용된다.
  • group(const string) 모든 입력 위에 동일한 그룹 대수 숫자로 된 문자열을 사용하여 헤더를 만듭니다. 이 문자열은 또한 헤더 텍스트로 사용됩니다.
  • confirm(const bool) true가 되면 지표가 차트에 추가되기 전에 사용자가 입력값을 확인하도록 요구됩니다. 기본값은 false입니다.

참고자료 input.timeframe函数的结果总是应该分配给一个变量,见上面的例子。

안녕하세요 input.bool input.int input.float input.string input.source input.color input

input.integer

아직

input.resolution

아직

ta.alma

아르누 레의 이동 평균. 그것은 가우스 분포를 이동 평균의 무게로 사용한다.

ta.alma(series, length, offset, sigma) 
ta.alma(series, length, offset, sigma, floor) 

예를 들어

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))

값을 반환합니다.아르노 레고 이동 평균

매개 변수

  • series(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)
  • offset(simple int/float) 부드러움과 반응의 균형을 조절합니다.
  • sigma(simple int/float) 는 ALMA의 매끄러움을 변화시킨다. 시그마가 커질수록 ALMA가 매끄러진다.
  • floor(simple bool) 선택 가능한 파라미터. ALMA를 계산하기 전에 오차 수치를 계산하는 것이 하위값인지 지정한다. 기본값은 false이다.

안녕하세요 ta.sma ta.ema ta.rma ta.wma ta.vwma ta.swma

ta.sma

sma 함수는 x의 마지막 y값인 y와 나누어진 이동 평균값을 반환합니다.

ta.sma(source, length) 

예를 들어

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))

값을 반환합니다. lengthK선으로 돌아갑니다.source이 모든 것은 매우 간단합니다.

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)

안녕하세요 ta.ema ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.cog

cog (중력점) 은 통계학과 피보나치 금비율에 기초한 지표이다.

ta.cog(source, length) 

예를 들어

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))

값을 반환합니다.집중하라

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)

안녕하세요 ta.stoch

ta.dev

衡量系列与其ta.sma之间的差异

ta.dev(source, length) 

예를 들어

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))

값을 반환합니다. lengthK선으로 돌아갑니다.source이 모든 것은

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)

안녕하세요 ta.variance ta.stdev

ta.stdev

ta.stdev(source, length, biased) 

예를 들어

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))

값을 반환합니다.기준이 떨어졌어요

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)
  • biased(series bool) 는 어떤 추정치를 사용해야 하는지 정의합니다. 선택 사항입니다. 기본값은 true입니다.

참고자료만약biasedtrue의 경우, 함수는 전체 전체에 대한 편향된 추정치를 사용하여 계산을 수행합니다. false의 경우 - 샘플에 대한 편향되지 않은 추정치입니다.

안녕하세요 ta.dev ta.variance

ta.ema

ema 함수는 지수와 가중화 된 이동 평균을 반환한다. ema에서 가중화 요인은 지수가 감소한다. 그것은 다음과 같은 공식을 사용하여 계산된다: EMA = alpha * source + (1 - alpha) * EMA[1], 여기서 alpha = 2 / (length + 1).

ta.ema(source, length) 

예를 들어

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))

값을 반환합니다. source지수의 이동평균, 알파 = 2 / (길이 + 1) ー

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(simple int) K줄의 수 (장)

참고자료이 변수/함수를 사용하면 지표가 다시 그려질 수 있습니다.

안녕하세요 ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.wma

wma 함수는 반환합니다lengthK 라인sourcea의 가중화 이동 평균. wma에서 가중화 요인은 수학적 차원 수로 감소한다.

ta.wma(source, length) 

예를 들어

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))

값을 반환합니다. lengthK선으로 돌아갑니다.source가중화 된 이동 평균.

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)

안녕하세요 ta.sma ta.ema ta.rma ta.vwma ta.swma ta.alma

ta.swma

고정된 길이의 대칭 곱하기 이동 평균선:4.중량: [1/6,2 / 6,2 / 6,1 / 6].

ta.swma(source)

예를 들어

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))

값을 반환합니다.대칭 중인 이동평균.

매개 변수

  • source(series int/float) 소스 시리즈.

안녕하세요 ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma

ta.hma

hma 함수는 배체 이동평균 HMA를 반환한다.

ta.hma(source, length)

예를 들어

src = input(defval=close, title="Source")
length = input(defval=9, title="Length")
hmaBuildIn = ta.hma(src, length)
plot(hmaBuildIn, title="Hull MA", color=#674EA7)

값을 반환합니다.의 길이가 기둥의 소스 의 배체 이동 평균 이동 평균.

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(simple int) K줄 수

안녕하세요 ta.ema ta.rma ta.wma ta.vwma ta.sma

ta.rma

RSI에서 사용되는 이동 평균 라인. 그것은 지수 가중화 이동 평균 라인, 알파 가중화 값 = 1 / 길이이다.

ta.rma(source, length)

예를 들어

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))

값을 반환합니다. source이 지수들의 이동평균은length

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(simple int) K줄의 수 (장)

안녕하세요 ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi

ta.rsi

상대 강도 지수.lengthK 라인source그리고 그 결과,ta.rma()이 글의 내용은

ta.rsi(source, length)

예를 들어

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))

값을 반환합니다.비교적 강하고 약한 지표 (RSI)

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(simple int) K줄의 수 (장)

안녕하세요 ta.rma

ta.tsi

진정한 강도 약도 지수. 그것은 금융 상품의 잠재적인 이동량의 이동 평균을 사용합니다.

ta.tsi(source, short_length, long_length)

값을 반환합니다.진정한 강도 약도 지수 ▲ 범위 [-1,1] 내의 값 ▲

매개 변수

  • source(series int/float) 소스 시리즈.
  • short_length(simple int) 짧은 길이.
  • long_length(simple int) 긴 줄의 길이는.

ta.roc

함수 roc (변화율) 는source현재 값과source몇일 전length다른 값의 차이. 100 * change (src, length) / src (length) 는 다음과 같은 공식으로 계산된다.

ta.roc(source, length)

값을 반환합니다. lengthK선으로 돌아갑니다.source그리고 그 결과,

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)

ta.range

행렬의 최소값과 최대값 사이의 차이를 반환합니다.

ta.range(source, length)

값을 반환합니다.일련의 최소값과 최대값 사이의 차이는.

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)

ta.macd

MACD (평평한 이차 평균선) ─ 그것은 주식 가격 트렌드의 힘, 방향, 동력 및 지속 기간의 변화를 밝힐 수 있어야 한다─

ta.macd(source, fastlen, slowlen, siglen) 

예를 들어

[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)

만약 여러분이 하나의 값만을 필요로 한다면, 이렇게 하는 위치 기호_을 사용하세요:

예를 들어

[_, signalLine, _] = ta.macd(close, 12, 26, 9)
plot(signalLine, color=color.orange)

값을 반환합니다.세 가지 MACD 시리즈의 구성 요소: MACD 라인, 신호 라인 및 직선 그래프 라인.

매개 변수

  • source(series int/float) 실행될 일련 값.
  • fastlen(simple int) 단선 변수
  • slowlen(simple int) 느린 길이 변수.
  • siglen(simple int) 신호 길이의 매개변수.

안녕하세요 ta.sma ta.ema

ta.mode

일련의 패턴을 반환한다. 같은 주파수를 가진 여러 값이 있는 경우 최소값을 반환한다.

ta.mode(source, length)

값을 반환합니다.이 패턴은

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)

ta.median

행렬의 중간값을 반환합니다.

ta.median(source, length) 

값을 반환합니다.이 행렬의 중수입니다.

매개 변수

  • source(series int/float) 실행될 일련 값.
  • length(series int) K줄의 수 (장)

ta.linreg

선형 회귀 곡선─ 사용자 정의 시간대에 가장 적합한 가격에 해당하는 라인─ 이 함수의 결과는 다음과 같은 공식을 사용하여 계산된다: linreg = intercept + slope * (length - 1 - offset), 이 함수의 최저 제곱을 사용하여 계산된다.source일련의 최소 두 배의 계산값.

ta.linreg(source, length, offset) 

값을 반환합니다.선형 회귀 곡선

매개 변수

  • source(series int/float) 소스 시리즈.
  • length(시리즈 int)
  • offset(simple int) 오차

ta.bb

브린밴드 (Blindband) 는 기술 분석 도구로, 두 가지 표준편차 (긍정적 및 부정적) 와 다른 단순한 이동평균 (SMA) 의 거리 (보증적 및 부정적) 에 따라 정의되는 라인들로 구성되어 있지만 사용자 선호도에 따라 조정될 수 있다.

ta.bb(series, length, mult) 

예를 들어

[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)

값을 반환합니다.브린 벨트.

매개 변수

  • series(series int/float) 실행 중인 계열

더 많은

우우오안어떻게 하면 여러 거래가 동시에 실행될 수 있을까요?

가벼운 구름JS처럼 트레이딩을 통해 트레이딩을 할 수 있나요? 감사합니다.

리사20231자세한 문서 제공 감사합니다.

예술오케이! 이 파이인 스크립트는 어떻게 okex의 모티브 디스크를 플랫폼에서 사용할 수 있을까요?

예술이것은 TradingView 플랫폼의 전략을 직접 발명가 플랫폼에 복사하여 사용할 수 있는 것과 같습니다.

발명가들의 수량화 - 작은 꿈PINE 언어는 단종 정책을 수행할 수 있으며, 다종 정책은 파이썬, 자바스크립트, C++로 작성하는 것이 좋습니다.

발명가들의 수량화 - 작은 꿈오, 네, OKX는 특이하게도, 그들의 아날로그 환경과 실제 환경은 같은 주소를 가지고 있지만 다른 곳에서 차이를 만듭니다. 그래서 아날로그 디스크로 전환하는 데 기본 주소를 바꿀 방법이 없습니다.

가벼운 구름okx 모형 디스크는 사용할 수 없습니다.

발명가들의 수량화 - 작은 꿈이 다채로운 구조의 문제는 해결되지 않습니다. 각 거래소의 인터페이스가 다르기 때문에, 인터페이스 주파수 제한이 다르기 때문에 많은 문제가 발생할 수 있습니다.

발명가들의 수량화 - 작은 꿈좋은 소식입니다. 이 제안해주셔서 감사합니다.

가벼운 구름JS와 혼용하는 것이 가장 좋다고 느껴지고, JS는 다양한 거래 방식에 더 잘 적응할 수 있습니다.

트렌드 사냥꾼그리고 그 다음에는 다양한 품종을 고려할 것인가? 매매 가격은 모든 품종에 걸쳐 적용됩니다.

발명가들의 수량화 - 작은 꿈이 모든 것은 매우 무례합니다.

가벼운 구름좋은, 감사합니다.

발명가들의 수량화 - 작은 꿈안녕하세요, PINE 언어 전략은 한 가지 종류만 사용할 수 있습니다.

발명가들의 수량화 - 작은 꿈이 문서는 이 문서를 계속 개선해 나갈 것입니다.

발명가들의 수량화 - 작은 꿈네, 그렇습니다.

발명가들의 수량화 - 작은 꿈PINE 템플릿 클래식 라이브러리, 매개 변수에 스위치 거래소의 기본 주소를 설정할 수 있다. 문서의 시작: PINE 언어 거래 클래식 라이브러리 템플릿 매개 변수.