4
집중하다
1076
수행원

FMZ PINE 스크립트 문서

만든 날짜: 2022-05-06 14:27:06, 업데이트 날짜: 2025-01-23 10:19:06
comments   18
hits   13761

x 값으로 다시 초기화됩니다.

객체 타입 varip 키워드 사용

//@version=5
indicator("Objects using `varip` fields demo")

//@type A custom type that counts the bars and ticks in the script's execution.
type Counter
    int       bars  = 0
    varip int ticks = 0

//@variable A `Counter` object whose reference persists throughout all bars.
var Counter counter = Counter.new()

// Add 1 to the `bars` and `ticks` fields. The `ticks` field is not subject to rollback on unconfirmed bars.
counter.bars  += 1
counter.ticks += 1

// Plot both fields for comparison.
plot(counter.bars, "Bar counter", color.blue, 3)
plot(counter.ticks, "Tick counter", color.purple, 3)

파인에서, varip 키워드를 사용하면 스크립트 실행 내내 객체의 필드가 계속 존재하도록 지시할 수 있으며, 확인되지 않은 칼럼 내에 돌아가지 않습니다. 카운터 타입의 선언에서, bars 필드는 varp 키워드를 사용하지 않아서, 확인되지 않은 각 열에 대해 회전한다. ticks 필드는 varp 키워드를 사용해서, 확인되지 않은 열에 대해 회전하지 않는다. counter 오브젝트는 var 키워드를 사용하여 선언되었으므로 스크립트 실행 내내 지속됩니다. 각 연산에서 bars 필드와 ticks 필드가 증가한다. bars 필드는 확인되지 않은 각 기둥에서 회전하지만 ticks 필드는 회전하지 않는다. 마지막으로 counter.bars와 counter.ticks 필드를 그리면서 그 사이의 차이를 비교할 수 있다. counter.bars의 값은 각 확인되지 않은 열 안에 돌아가는 반면 counter.ticks의 값은 스크립트 실행이 끝날 때까지 계속 증가한다.

필드 값을 수정합니다.

type order
    float price
    float amount
    string symbol

if strategy.position_size == 0 and open > close
    strategy.entry("long", strategy.long, 1)
    
order1 = order.new(strategy.opentrades.entry_price(strategy.opentrades - 1), strategy.opentrades.size(strategy.opentrades - 1), syminfo.ticker)

if strategy.position_size != 0
    runtime.log(order1)
    order1.price := 999
    order1.amount := 100
    runtime.log(order1)
    runtime.error("stop")

사용할 수 있습니다:=재배치 연산자는 객체 필드의 값을 변경한다.

객체 집합

예를 들어, 사용자가 정의한 order 타입의 객체를 저장하는 null 배열을 선언합니다:

type order
    float price
    float amount
    string symbol

arrOrder = array.new<order>()

order1 = order.new(99, 1, "BTC_USDT")
order2 = order.new(100, 2, "ETH_USDT")

array.push(arrOrder, order1)
array.push(arrOrder, order2)

runtime.log(arrOrder)
runtime.error("stop")

또는

type order
    float price
    float amount
    string symbol

var array<order> arrOrder = na
arrOrder := array.new<order>()

order1 = order.new(99, 1, "BTC_USDT")
order2 = order.new(100, 2, "ETH_USDT")

array.push(arrOrder, order1)
array.push(arrOrder, order2)

runtime.log(arrOrder)
runtime.error("stop")

복제 대상

파인에서는, 객체는 참조로 할당된다. 기존의 객체가 새로운 변수에 할당될 때, 둘 다 동일한 객체를 가리킨다.

//@version=5
indicator("")
type pivotPoint
    int x
    float y
pivot1 = pivotPoint.new()
pivot1.x := 1000
pivot2 = pivot1
pivot2.x := 2000
// Both plot the value 2000.
plot(pivot1.x)
plot(pivot2.x)

아래의 예제에서, 우리는 pivot1 객체를 생성하고, 그 x 필드를 1000로 설정한다. 그리고, 우리는 pivot2가 그 pivot1 객체에 대한 참조를 포함하는 변수를 선언하고, 따라서 둘 다 같은 인스턴스를 가리키고 있다. 따라서, pivot2.x를 변경하면 pivot1.x도 변경된다, 왜냐하면 둘 다 x 같은 객체의 필드를 가리키고 있기 때문이다.

원본 객체로부터 독립된 복사본을 만들기 위해, 이 경우 우리는 내장된 copy() 방법을 사용할 수 있습니다. 이 예제에서, 우리는 pivot2가 pivot1 객체의 복제 인스턴스의 변수를 참조한다고 선언합니다. 이제, pivot2.x를 변경하면 pivot1.x가 변경되지 않습니다, 왜냐하면 그것은 x가 개별 객체의 필드를 참조하기 때문입니다:

//@version=5
indicator("")
type pivotPoint
    int x
    float y
pivot1 = pivotPoint.new()
pivot1.x := 1000
pivot2 = pivotPoint.copy(pivot1)
pivot2.x := 2000
// Plots 1000 and 2000.
plot(pivot1.x)
plot(pivot2.x)

참고로, TradingView의 copy 메소드는 간접 복사이다. 만약 객체가 특별한 타입의 필드 (array 등) 를 가지고 있다면, 그 객체의 간접 복사 속의 필드들은 그 객체와 동일한 인스턴스를 가리키게 된다. FMZ 플랫폼은 Deep Copy를 직접 구현하고 추가적인 처리가 필요하지 않습니다.

더 깊이 복사

//@version=5

indicator("test deepCopy")

type orderInfo
    float price
    float amount

type labelInfo
    orderInfo order
    string labelMsg

labelInfo1 = labelInfo.new(orderInfo.new(100, 0.1), "test labelInfo1")
labelInfo2 = labelInfo.copy(labelInfo1)

labelInfo1.labelMsg := "labelInfo1->2"    // 修改 labelInfo1 的基础类型字段,看是否影响 labelInfo2
labelInfo1.order.price := 999             // 修改 labelInfo1 的复合类型字段,看是否影响 labelInfo2

runtime.log(labelInfo1)
runtime.log(labelInfo2)
runtime.error("stop")

테스트 결과, labelInfo.copy ((labelInfo1) 가 실행될 때 심복으로, labelInfo1의 어떤 필드를 변경하는 것은 labelInfo2에 영향을 미치지 않는다.

Methods

파인 언어의 메소드 (Methods) 는 특정 인스턴스의 내장 또는 사용자 정의된 타입과 연관된 특수 함수이다. 대부분의 면에서, 이들은 일반 함수와 기본적으로 동일하지만, 더 짧고 편리한 문법을 제공한다. 사용자가 직접 점자 기호를 사용하여 변수에 대한 메소드를 액세스할 수 있으며, 이는 파인 객체의 필드를 액세스하는 것과 같다. 파인은 배열, 매트릭스, 맵 라인, 필드 라인 등 모든 특수 유형의 내장 메소드를 포함한다.

내장 메소드

예를 들어, 다음과 같은 스크립트 코드가 있습니다.

//@version=5
indicator("Custom Sample BB", overlay = true)

float sourceInput  = input.source(close, "Source")
int   samplesInput = input.int(20, "Samples")
int   n            = input.int(10, "Bars")
float multiplier   = input.float(2.0, "StdDev")

var array<float> sourceArray = array.new<float>(samplesInput)
var float        sampleMean  = na
var float        sampleDev   = na

// Identify if `n` bars have passed.
if bar_index % n == 0
    // Update the queue.
    array.push(sourceArray, sourceInput)
    array.shift(sourceArray)
    // Update the mean and standard deviaiton values.
    sampleMean := array.avg(sourceArray)
    sampleDev  := array.stdev(sourceArray) * multiplier

// Calculate bands.
float highBand = sampleMean + sampleDev
float lowBand  = sampleMean - sampleDev

plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)

이 문자는 다음과 같이 쓰여질 수 있습니다.

//@version=5
indicator("Custom Sample BB", overlay = true)

float sourceInput  = input.source(close, "Source")
int   samplesInput = input.int(20, "Samples")
int   n            = input.int(10, "Bars")
float multiplier   = input.float(2.0, "StdDev")

var array<float> sourceArray = array.new<float>(samplesInput)
var float        sampleMean  = na
var float        sampleDev   = na

// Identify if `n` bars have passed.
if bar_index % n == 0
    // Update the queue.
    sourceArray.push(sourceInput)
    sourceArray.shift()
    // Update the mean and standard deviaiton values.
    sampleMean := sourceArray.avg()
    sampleDev  := sourceArray.stdev() * multiplier

// Calculate band values.
float highBand = sampleMean + sampleDev
float lowBand  = sampleMean - sampleDev

plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)

PINE가 지원하는 것을 볼 수 있습니다.Methods그 다음에는 코드입니다.array.avg(sourceArray)이 경우, f (x) = f (x) = f (x) = f (x) = f (x) = f (x) = f (x) = f (x) = f (x) = f (x).sourceArray.avg()。 참고: FMZ는 현재 지원되지 않습니다.array.avg이런 호출들.

사용자 정의 메소드

Pine는 사용자가 정의하는 사용자 정의 메소드를 임의의 내장 또는 사용자 정의 타입의 객체와 함께 사용하도록 허용한다. 정의 메소드는 정의 함수와 본질적으로 동일하지만 두 가지 중요한 차이점이 있습니다.

1 method 키워드는 함수 이름 전에 포함되어야 한다. 2. method의 arguments, 이 중 첫 번째 arguments의 타입은 명백한 선언이 되어야 합니다, 왜냐하면 그것은 그 메소드가 연관될 객체의 타입을 나타내는 것이기 때문입니다.

예를 들어, 다음 코드에 브린 지수를 계산하는 코드가 사용자 정의 된 방법으로 포장됩니다:

//@version=5
indicator("Custom Sample BB", overlay = true)

float sourceInput  = input.source(close, "Source")
int   samplesInput = input.int(20, "Samples")
int   n            = input.int(10, "Bars")
float multiplier   = input.float(2.0, "StdDev")

var array<float> sourceArray = array.new<float>(samplesInput)
var float        sampleMean  = na
var float        sampleDev   = na

// Identify if `n` bars have passed.
if bar_index % n == 0
    // Update the queue.
    sourceArray.push(sourceInput)
    sourceArray.shift()
    // Update the mean and standard deviaiton values.
    sampleMean := sourceArray.avg()
    sampleDev  := sourceArray.stdev() * multiplier

// Calculate band values.
float highBand = sampleMean + sampleDev
float lowBand  = sampleMean - sampleDev

plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)

다음으로 수정됩니다.

//@version=5
indicator("Custom Sample BB", overlay = true)

float sourceInput  = input.source(close, "Source")
int   samplesInput = input.int(20, "Samples")
int   n            = input.int(10, "Bars")
float multiplier   = input.float(2.0, "StdDev")

var array<float> sourceArray = array.new<float>(samplesInput)
method maintainQueue(array<float> srcArray, float value, bool takeSample = true) =>
    if takeSample
        srcArray.push(value)
        srcArray.shift()
    srcArray

method calcBB(array<float> srcArray, float mult, bool calculate = true) =>
    var float mean = na
    var float dev  = na
    if calculate
        mean := srcArray.avg()
        dev  := srcArray.stdev() * mult
    [mean, mean + dev, mean - dev]

bool newSample = bar_index % n == 0

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

plot(sampleMean, "Basis", color.orange)
plot(highBand, "Upper", color.lime)
plot(lowBand, "Lower", color.red)

키워드 method 선언을 사용하는 사용자 정의 메소드를 볼 수 있습니다:maintainQueue,calcBB의 변수 목록의 첫 번째 변수는array<float>타입 △는 이 메서드가array<float>타입 변수의 방법, 그래서 다음과 같은 코드를 호출하여 브린 지수를 계산하는 것을 볼 수 있다.

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

메서드 재부하

사용자 정의 메소드는 동일한 아이덴티커를 가진 기존의 내장 메소드와 사용자 정의 메소드를 덮고 다시 로드할 수 있다. 이 기능은 사용자가 동일한 메소드 이름 아래 다른 변수 서명과 관련된 여러 개의 루트를 정의할 수 있다. 간단한 예로, 우리가 변수의 타입을 식별하기 위해 메소드를 정의하고 싶다고 가정하자. 사용자 정의 메소드와 관련된 객체 타입을 명시적으로 지정해야 하기 때문에, 우리가 인식하기를 원하는 각 타입에 대해 다시 로드를 정의해야 한다.

//@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매개 변수의 시간주기는 초로 변환한다.

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 (36512) 날의 수를 기준으로 계산한다.

이 부분도 참조하십시오. input.timeframe timeframe.period

ticker

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

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요청된 시간 범위가 재측정 설정 시간 범위와 일치하는지, 재측정 시간 연속에서 데이터를 검색하지 않으면 오류가 발생한다.

이 예의 data-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 - 요청된 데이터는 가능한 격차와 합병 ((na값) △ 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를 반환하고 실행을 계속합니다.
  • currency(simple string) 상품의 통화 관련 값을 (… 예를 들어 OHLC) 통화로 변환한다. 그리고 변환된 값에 따라 계산된다. expression . 사용 된 변환 비율은 FX_IDC 쌍의 전날의 매일 환율을 기반으로 한다.

참고 사항 이 기능을 이용한 파인스크립트 코드는 역사 기록과 실시간 데이터에 대해 다른 계산을 할 수 있다. 만약 당신이 요청된 상품에 대해 추가적인 매개 변수를 지정하고 싶다면, 예를 들어 거래 시간이나 조정 유형, 당신은 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문자열에서 찾을 수 있습니다strTRUE 또는 FALSE 입니다.

매개변수

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

이 부분도 참조하십시오. str.pos str.match

str.endswith

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

str.endswith(source, str)

값을 반환합니다. 만약source문자열은str△ △ △ △ △ △ △

매개변수

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

이 부분도 참조하십시오. str.startswith

str.startswith

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

str.startswith(source, str)

값을 반환합니다. 만약source문자열은str△ (x) 에서 지정한 하위 문자열의 시작은 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

포맷 문자열과 값을 포맷 문자열로 변환한다. 포맷 문자열은 텍스트와 포맷해야 하는 각 값의 대괄호{} 중 하나의 점수를 포함할 수 있다. 각 점수는 그것을 대체할 필수적인 매개 변수의 지수를 포함하고 있다. 그리고 선택 가능한 포맷 설명자이다. 인덱스는 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만약 string의 새로운 하위 string이regex정규 표현식, 그렇지 않으면 ‘na’。

매개변수

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

참고 사항 함수 반환source문자열에서 처음 등장하는 정규 표현식: regex문자열의 반축<unk> 기호는 과 같은 추가 반축 기호를 사용하여 변환이 필요합니다.\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이 있는 문자열occurrenceN은 소스 문자열에서 나타나는 일치 인덱스입니다.

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 (series string) Format string. Accepts these format.* constants: format.mintick, format.percent, format.volume. Optional. The default value is ‘#.##########’.

참고 사항 플래잉 포인트 값의 형식은 또한 필요한 경우 이러한 값들을 사각지대에 넣습니다. 예를 들어 str.tostring ((3.99, ‘#’) 는 4을 반환합니다. 0을 0으로 표시하려면 ‘#’ 대신 ‘0’을 사용하십시오. 예를 들어, ‘#.000’입니다. format.mintick을 사용할 때, 이 값은 syminfo.mintick으로 나누기 가능한 가장 근접한 숫자로 둥글게 들어간다. △ 반환된 문자열은 0을 따른다. x 변수가 문자열이라면 동일한 문자열 값을 반환한다. Bool 타입의 arguments는 true 또는 false를 반환합니다. x가 na일 때 함수는 NaN을 반환한다.

color

color.new

기능 색은 주어진 색에 투명성을 적용한다.

color.new(color, transp)

예를 들어

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

값을 반환합니다. 색은 특정한 투명성을 가진다.

매개변수

  • color (series 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

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) 오류 메시지

input

input

input를 스크립트 설정의 input 태그 페이지에 추가합니다. 이것은 스크립트 사용자에게 구성 옵션을 제공하도록 허용합니다. 이 함수는 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 함수의 반환값은 항상 변수에 할당되어야 한다. 위의 예시를 참조하십시오.

이 부분도 참조하십시오. input.bool input.color input.int input.float input.string input.timeframe input.source

input.source

스크립트 설정의 입력 태그 페이지에 input를 추가하여 스크립트 사용자에게 구성 옵션을 제공 할 수 있습니다. 이 기능은 사용자가 계산 소스를 선택할 수 있는 드롭다운 메뉴를 추가했습니다. 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 (List of constants: [&lt;type&gt;…]) 선택 가능한 옵션 목록
  • 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를 스크립트 설정의 input 태그 페이지에 추가합니다. 이 함수는 스크립트의 입력에 선택 표시를 추가합니다.

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를 스크립트 설정의 input 태그 페이지에 추가합니다. 이것은 스크립트 사용자에게 구성 옵션을 제공하도록 허용합니다. 이 함수는 전체 입력 필드를 스크립트의 입력에 추가합니다.

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를 스크립트 설정의 input 태그 페이지에 추가합니다. 이것은 스크립트 사용자에게 구성 옵션을 제공하도록 허용합니다. 이 함수는 플러그 포인트 입력 필드를 스크립트의 입력에 추가합니다.

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) 입력을 늘리거나 줄이는 단계 길이를 사용한다.
  • 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) 한 줄에서 동일한 변수를 사용하여 모든 입력 호출을