본문 바로가기
Money

파인스크립트 언어 레퍼런스 매뉴얼 v5 한국어 (1) 변수 Variables

by dinotory 2024. 6. 19.
728x90
반응형

 

트레이딩뷰 지표 및 전략에 사용되는 파인스크립트 매뉴얼 한글버전을 가져왔다. 트레이딩뷰에서 제공하는 공식 매뉴얼과 동일하므로 아래 링크로 해당 사이트에서 봐도 무방하다. 단지 트레이딩뷰 사이트에서 보는 것이 불편하여 블로그로 가져온 것 뿐이다. 🤓 먼저 자체 내장된 변수에 대해 알아보자. 다음 번에는 자주 사용하는 것들만 따로 정리해보겠다. 

 

 

Pine Script® language reference manual

Variables 변수.

bar_index

커런트 바 인덱스. 0부터 매기며, 첫 바의 인덱스는 0입니다.
버전 4 에서는 bar_index  n 베어리어블을 대신합니다.
바 인덱스는 첫 히스토리바가 0부터 시작합니다.
이 베어리어블/펑션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
series int
 
//@version=5
indicator("bar_index")
plot(bar_index)
plot(bar_index > 5000 ? close : 0)

 

barstate.isconfirmed

스크립트가 현재 바의 마지막 (클로징) 업데이트를 계산하는 중이면 트루 리턴합니다. 다음 스크립트 계산은 새 바 데이터가 들어오면 하게 됩니다.
이 변수를 쓰는 Pine Script® 코드는 히스토리와 리얼타임 데이터에서 다르게 셈이 될 수 있습니다.
barstate.isconfirmed을 request.security 표현식에 사용하는 것은 권장하지 않습니다. request.security에서 요청하는 값은 예측할 수 없습니다.

이 베어리어블/펑션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
series bool

barstate.isfirst

커런트 바가 바세트에서 첫번째 바이면 참, 아니면 거짓 리턴.
이 변수를 쓰는 Pine Script® 코드는 히스토리와 리얼타임 데이터에서 다르게 셈이 될 수 있습니다.
이 베어리어블/펑션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
series bool

barstate.ishistory

커런트 바가 과거 바이면 참, 아니면 거짓 리턴.
이 변수를 쓰는 Pine Script® 코드는 히스토리와 리얼타임 데이터에서 다르게 셈이 될 수 있습니다.
이 베어리어블/펑션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
series bool

barstate.islast

커런트 바가 바세트에서 마지막 바이면 참, 아니면 거짓 리턴. 이 콘디션은 바세트에 있는 모든 실시간 바에 대해 참이 됩니다.
이 변수를 쓰는 Pine Script® 코드는 히스토리와 리얼타임 데이터에서 다르게 셈이 될 수 있습니다.
이 베어리어블/펑션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
series bool

barstate.islastconfirmedhistory

시장이 닫힐 때 데이터셋의 마지막 바에서 스크립트가 실행 중이거나 시장이 열려 있는 경우 실시간 바 바로 앞의 바에서 스크립트가 실행 중이면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
이 변수를 쓰는 Pine Script® 코드는 히스토리와 리얼타임 데이터에서 다르게 셈이 될 수 있습니다.
이 베어리어블/펑션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
series bool

barstate.isnew

스크립트가 현재 새 바에서 계산하는 중이면 참, 아니면 거짓 리턴. 이 변수는 과거 바 또는 새로 만들어진 실시간 바의 첫 업데이트 계산때 참이 됩니다.
이 변수를 쓰는 Pine Script® 코드는 히스토리와 리얼타임 데이터에서 다르게 셈이 될 수 있습니다.
이 베어리어블/펑션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
series bool

barstate.isrealtime

커런트 바가 실시간 바이면 참, 아니면 거짓 리턴.
이 변수를 쓰는 Pine Script® 코드는 히스토리와 리얼타임 데이터에서 다르게 셈이 될 수 있습니다.
이 베어리어블/펑션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
series bool

box.all

스크립트가 그린 모든 박스로 채워진 어레이를 리턴합니다.
리드-온리 어레이입니다. 어레이의 제로 인덱스는 차트에서 가장 오래 된 오브젝트의 아이디입니다.
array<box>
 
//@version=5
indicator("box.all")
//delete all boxes
box.new(time, open, time + 60 * 60 * 24, close, xloc=xloc.bar_time, border_style=line.style_dashed)
a_allBoxes = box.all
if array.size(a_allBoxes) > 0
    for i = 0 to array.size(a_allBoxes) - 1
        box.delete(array.get(a_allBoxes, i))
 

chart.bg_color

"차트 세팅/모습/백그라운드" 필드로부터 차트 백그라운드 컬러를 리턴합니다. 그래디언트를 고르면 그래디언트의 미들 포인트를 리턴합니다.
input color

chart.fg_color

chart.bg_color 에 대해 최적의 대비가 되는 컬러를 리턴합니다.
input color

chart.is_heikinashi

차트 타입이 하이킨 아시면 true, 아니면 false 리턴. 
simple bool

chart.is_kagi

차트 타입이 카기면 true, 아니면 false 리턴. 
simple bool

chart.is_linebreak

simple bool
차트 타입이 라인 브레이크면 true, 아니면 false 리턴.

chart.is_pnf

차트 타입이 포인트 앤 피겨이면 true, 아니면 false 리턴.
simple bool

chart.is_range

차트 타입이 레인지이면 true, 아니면 false 리턴.
simple bool

chart.is_renko

차트 타입이 렌코이면 true, 아니면 false 리턴.
simple bool

chart.is_standard

차트 타입이 바, 캔들, 할로우 캩들, 라인, 에어리어 또는 베이스라인이면 true, 그렇지 않으면 false 리턴합니다.
simple bool

chart.left_visible_bar_time

현재 맨 왼쪽 바의 time 이 차트에 보임.
이 변수를 쓰는 스크립트는 저절로 재실행하여 그 값들을 업데이트함으로써 유저들이 차트 스크롤이나 또는 새로운 실시간 바에 의해 차트에 바뀐 것들을 반영합니다.
이 변수가 포함된 스크립트에서 생성된 알림은 이후 값이 변경되어 다시 칠할 수 있는지 여부에 관계없이 알림이 생성되는 시점에 변수에 할당된 값만 사용합니다.
input int

chart.right_visible_bar_time

현재 맨 오른쪽 바의 time 이 차트에 보임.
이 변수를 쓰는 스크립트는 저절로 재실행하여 그 값들을 업데이트함으로써 유저들이 차트 스크롤이나 또는 새로운 실시간 바에 의해 차트에 바뀐 것들을 반영합니다.
이 변수가 포함된 스크립트에서 생성된 알림은 이후 값이 변경되어 다시 칠할 수 있는지 여부에 관계없이 알림이 생성되는 시점에 변수에 할당된 값만 사용합니다.
input int

close

현재 바가 마감되었을 때의 종가 또는 아직 마감되지 않은 실시간 바의 마지막 거래 가격.
이전 값들은 스퀘어 브래킷 오퍼레이터 [] 를 써서 읽을 수 있습니다. 보기: close[1], close[2].
series float

dayofmonth

거래소 타임존 기준 커런트 바 데이트.
이 베어리어블은 바 오픈 타임의 날을 리턴합니다. 오버나잇 세션 (보기: EURUSD, 먼데이 세션이 선데이 17시 스타트) 의 경우 이 밸류는 트레이딩 데이의 날보다 1 낮을 수 있습니다.
series int

dayofweek

거래소 타임존 기준 커런트 바 요일.
이 베어리어블은 바 오픈 타임의 날을 리턴합니다. 오버나잇 세션 (보기: EURUSD, 먼데이 세션이 선데이 17시 스타트) 의 경우 이 밸류는 트레이딩 데이의 날보다 1 낮을 수 있습니다.
dayofweek.sunday, dayofweek.monday, dayofweek.tuesday, dayofweek.wednesday, dayofweek.thursday, dayofweek.friday  dayofweek.saturday 베어리어블과 견주어 볼 수 있습니다.
series int

earnings.future_eps

다음 수익 보고서의 예상 주당 순이익을 해당 상품 통화로 반환하거나, 이 데이터를 사용할 수 없는 경우 na을 반환합니다.
이 값은 스크립트의 초기 계산 중에 한 번만 가져옵니다. 이 변수는 다음 수익 보고서의 예상 시간 이후에도 스크립트가 다시 계산될 때까지 동일한 값을 반환합니다.
series float

earnings.future_period_end_time

다음 수익 보고서의 데이터를 확인하고 해당 수익이 포함된 재무 기간이 종료되는 날의 UNIX 타임스탬프를 반환하거나, 이 데이터를 사용할 수 없는 경우 na을 반환합니다.
리턴값 : 밀리초 단위로 표시되는 UNIX 시간입니다.
이 값은 스크립트의 초기 계산 중에 한 번만 가져옵니다. 이 변수는 다음 수익 보고서의 예상 시간 이후에도 스크립트가 다시 계산될 때까지 동일한 값을 반환합니다.
series int

earnings.future_revenue

다음 수익 보고서의 예상 수익을 해당 상품 통화로 반환하거나, 이 데이터를 사용할 수 없는 경우 na을 반환합니다.
이 값은 스크립트의 초기 계산 중에 한 번만 가져옵니다. 이 변수는 다음 수익 보고서의 예상 시간 이후에도 스크립트가 다시 계산될 때까지 동일한 값을 반환합니다.
series float

earnings.future_time

다음 수익 보고서의 예상 시간을 나타내는 UNIX 타임스탬프를 반환하거나, 이 데이터를 사용할 수 없는 경우 na을 반환합니다.
리턴값: 밀리초 단위로 표시되는 UNIX 시간입니다.
이 값은 스크립트의 초기 계산 중에 한 번만 가져옵니다. 이 변수는 다음 수익 보고서의 예상 시간 이후에도 스크립트가 다시 계산될 때까지 동일한 값을 반환합니다.
series int

high

커런트 하이 프라이스.
이전 값들은 스퀘어 브래킷 오퍼레이터 [] 를 써서 읽을 수 있습니다. 보기: high[1], high[2].
series float

hl2

(high + low) / 2 의 줄임입니다
series float

hlc3

(high + low + close) / 3 의 줄임입니다
series float

hlcc4

(high + low + close + close)/4 에 대한 숏컷입니다
series float

hour

거래소 타임존 기준 커런트 바 시간.
series int

label.all

스크립트가 그린 모든 라벨로 채워진 어레이를 리턴합니다.
리드-온리 어레이입니다. 어레이의 제로 인덱스는 차트에서 가장 오래 된 오브젝트의 아이디입니다.
array<label>
 
//@version=5
indicator("label.all")
//delete all labels
label.new(bar_index, close)
a_allLabels = label.all
if array.size(a_allLabels) > 0
    for i = 0 to array.size(a_allLabels) - 1
        label.delete(array.get(a_allLabels, i))
 
 

 

last_bar_index

라스트 차트 바 인덱스. 바 인덱스는 첫바에서 0으로 시작합니다.
리턴값: 클로즈드 마켓의 라스트 히스토리 바 인덱스, 또는 오픈 마켓의 리얼-타임 바 인덱스.
이 변수를 사용하면 지표가 리페인팅 될 수 있습니다.
series int
 
//@version=5
strategy("Mark Last X Bars For Backtesting", overlay = true, calc_on_every_tick = true)
lastBarsFilterInput = input.int(100, "Bars Count:")
// Here, we store the 'last_bar_index' value that is known from the beginning of the script's calculation.
// The 'last_bar_index' will change when new real-time bars appear, so we declare 'lastbar' with the 'var' keyword.
var lastbar = last_bar_index
// Check if the current bar_index is 'lastBarsFilterInput' removed from the last bar on the chart, or the chart is traded in real-time.
allowedToTrade = (lastbar - bar_index <= lastBarsFilterInput) or barstate.isrealtime
bgcolor(allowedToTrade ? color.new(color.green, 80) : na)
 

last_bar_time

라스트 차트 바의 유닉스 포맷 타임. 1970년 1월 1일 00:0:00 UTC 로부터 센 밀리세컨드 수.
이 베어리어블/펑크션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
이 베어리어블은 바 오픈 타임 기준 타임스탬프를 리턴합니다.
series int

line.all

스크립트가 그린 모든 라인으로 채워진 어레이를 리턴합니다.
리드-온리 어레이입니다. 어레이의 제로 인덱스는 차트에서 가장 오래 된 오브젝트의 아이디입니다.
array<line>
 
//@version=5
indicator("line.all")
//delete all lines
line.new(bar_index - 10, close, bar_index, close)
a_allLines = line.all
if array.size(a_allLines) > 0
    for i = 0 to array.size(a_allLines) - 1
        line.delete(array.get(a_allLines, i))
 

linefill.all

스크립트에서 그린 현재 라인필 오브젝트로 채워진 어레이를 리턴합니다.
리드-온리 어레이입니다. 어레이의 제로 인덱스는 차트에서 가장 오래 된 오브젝트의 아이디입니다.
array<linefill>

low

커런트 로우 프라이스.
이전 값들은 스퀘어 브래킷 오퍼레이터 [] 를 써서 읽을 수 있습니다. 보기: low[1], low[2].
series float

minute

거래소 타임존 기준 커런트 바 분.
series int

month

거래소 타임존 기준 커런트 바 달.
이 베어리어블은 바 오픈 타임의 달을 리턴합니다. 오버나잇 세션 (보기: EURUSD, 먼데이 세션이 선데이 17시 스타트) 의 경우 이 밸류는 트레이딩 데이의 달보다 1 낮을 수 있습니다.
series int
 

na

변수에 할당된 값이 없음을 나타내는 "사용할 수 없음" 키워드입니다.
이 변수를 비교 연산자과 함께 na의 값을 테스트하는 데 사용하면 예기치 않은 동작이 발생할 수 있으므로 사용하지 마세요. 대신 na 함수를 사용하십시오. 초기화 문에 변수의 유형이 지정되어 있는 경우 na을 사용하여 변수를 초기화할 수 있다는 점에 유의하세요.
simple na
 
//@version=5
indicator("na")
// CORRECT
// Plot no value when on bars zero to nine. Plot `close` on other bars.
plot(bar_index < 10 ? na : close)
// CORRECT ALTERNATIVE
// Initialize `a` to `na`. Reassign `close` to `a` on bars 10 and later.
float a = na
if bar_index >= 10
    a := close
plot(a)

// INCORRECT
// Trying to test the preceding bar's `close` for `na`.
// Will not work correctly on bar zero, when `close[1]` is `na`.
plot(close[1] == na ? close : close[1])
// CORRECT
// Use the `na()` function to test for `na`.
plot(na(close[1]) ? close : close[1])
// CORRECT ALTERNATIVE
// `nz()` tests `close[1]` for `na`. It returns `close[1]` if it is not `na`, and `close` if it is.
plot(nz(close[1], close))
 

ohlc4

(시가 + 고가 + 저가 + 종가) / 4 의 줄임말
series float

open

현재 시가.
이전 값들은 스퀘어 브래킷 오퍼레이터 [] 를 써서 읽을 수 있습니다. 보기: open[1], open[2].
series float

polyline.all

스크립트에 의해 그려진 모든 현재 polyline 인스턴스가 포함된 어레이를 리턴합니다.
어레이는 읽기 전용입니다. 어레이의 인덱스 0은 차트에서 가장 오래된 폴리라인 오브젝트의 ID를 참조합니다.
array<polyline>
 
second
거래소 타임존 기준 커런트 바 초.
series int

session.isfirstbar

만약 현재 바가 오늘의 세션의 첫 번째 바이면 true을 반환하고, 그렇지 않으면 false를 반환합니다. 만약 확장된 세션 정보가 사용된다면, 프리마켓 바의 첫 번째 바에만 true을 반환합니다.
series bool
 
//@version=5
strategy("`session.isfirstbar` Example", overlay = true)
longCondition = year >= 2022
// Place a long order at the `close` of the trading session's first bar.
if session.isfirstbar and longCondition 
    strategy.entry("Long", strategy.long)
  
// Close the long position at the `close` of the trading session's last bar.
if session.islastbar and barstate.isconfirmed
    strategy.close("Long", immediately = true)

session.isfirstbar_regular

데이 세션의 첫번째 레귤러 바면 true, 아니면 false 리턴합니다. 확장 세션 인포를 쓰던 안쓰던 결과는 똑같습니다.
series bool
 
//@version=5
strategy("`session.isfirstbar_regular` Example", overlay = true)
longCondition = year >= 2022
// Place a long order at the `close` of the trading session's first bar.
if session.isfirstbar and longCondition
    strategy.entry("Long", strategy.long)
// Close the long position at the `close` of the trading session's last bar.
if session.islastbar_regular and barstate.isconfirmed
    strategy.close("Long", immediately = true)
 

session.islastbar

현재 막대가 당일 세션의 마지막 막대인 경우 true을 반환하고, 그렇지 않으면 false을 반환합니다. 확장 세션 정보를 사용하는 경우, 장 마감 후 막대의 마지막 막대에서 true만 반환합니다.
이 베어리어블은 모든 세션에서 딱 한번 true 리턴이 보장되지 않는데, 이는 세션의 마지막 바를 만들게 될 트레이드가 하나도 일어나지 않아 세션 마지막 바가 만들어 지지 않을 수도 있기 때문입니다.
이 베어리어블은 넌-스탠다드 차트 타입에 대해서는 예상대로 되리라 보장이 되지 않습니다. 보기: 렌코.
series bool
 
//@version=5
strategy("`session.islastbar` Example", overlay = true)
longCondition = year >= 2022
// Place a long order at the `close` of the trading session's last bar.
// The position will enter  on the `open` of next session's first bar.
if session.islastbar and longCondition
    strategy.entry("Long", strategy.long)
 // Close 'Long' position at the close of the last bar of the trading session
if session.islastbar and barstate.isconfirmed
    strategy.close("Long", immediately = true)
 

session.islastbar_regular

데이 세션의 마지막 레귤러 바면 true, 아니면 false 리턴합니다. 확장 세션 인포를 쓰던 안쓰던 결과는 똑같습니다.
이 베어리어블은 모든 세션에서 딱 한번 true 리턴이 보장되지 않는데, 이는 세션의 마지막 바를 만들게 될 트레이드가 하나도 일어나지 않아 세션 마지막 바가 만들어 지지 않을 수도 있기 때문입니다.
이 베어리어블은 넌-스탠다드 차트 타입에 대해서는 예상대로 되리라 보장이 되지 않습니다. 보기: 렌코.
series bool
 
//@version=5
strategy("`session.islastbar_regular` Example", overlay = true)
longCondition = year >= 2022
// Place a long order at the `close` of the trading session's first bar.
if session.isfirstbar and longCondition
    strategy.entry("Long", strategy.long)
// Close the long position at the `close` of the trading session's last bar.
if session.islastbar_regular and barstate.isconfirmed
    strategy.close("Long", immediately = true)
 

session.ismarket

현재 바가 정규 거래 시간(즉, 시장 영업 시간)의 일부인 경우 true을 반환하고, 그렇지 않으면 false를 반환합니다.
series bool

session.ispostmarket

현재 바가 시장 후의 일부인 경우 true을 반환하고, 그렇지 않으면 false를 반환합니다. 비 일중 차트의 경우 항상 false을 반환합니다.
series bool

session.ispremarket

현재 바가 프리마켓의 일부인 경우 true을 반환하고, 그렇지 않으면 false를 반환합니다. 비 일중 차트의 경우 항상 false을 반환합니다.
series bool

strategy.account_currency

결과 셈에 쓰이는 커런시를 리턴하며, 스트래티지 프로퍼티에서 셋할 수 있습니다.
simple string

strategy.avg_losing_trade

손실 거래당 평균 손실 금액을 반환합니다. 손실 총액을 손실 거래 건수로 나눈 값으로 계산됩니다.
series float

strategy.avg_losing_trade_percent

손실 거래당 평균 손실 비율을 반환합니다. 손실률의 합을 손실 거래 수로 나눈 값으로 계산됩니다.
series float

strategy.avg_trade

거래당 평균 수익 또는 손실 금액을 반환합니다. 모든 수익과 손실의 합계를 청산된 거래 수로 나눈 값으로 계산됩니다.
series float

strategy.avg_trade_percent

거래당 평균 수익 또는 손실 비율을 반환합니다. 모든 수익 및 손실 비율의 합을 청산된 거래 수로 나눈 값으로 계산됩니다.
series float

strategy.avg_winning_trade

승리한 거래당 평균 수익금을 반환합니다. 수익의 합계를 승리한 거래의 수로 나눈 값으로 계산됩니다.
series float

strategy.avg_winning_trade_percent

승리한 거래당 평균 수익률을 반환합니다. 수익률의 합을 승리한 거래 수로 나눈 값으로 계산됩니다.
series float

strategy.closedtrades

전체 트레이딩 인터벌 동안 클로즈 되어 있었던 트레이드 수.
series int

strategy.equity

커런트 에쿼티 (strategy.initial_capital + strategy.netprofit + strategy.openprofit).
series float

strategy.eventrades

전체 트레이딩 인터벌 동안의 브레이크 이븐 트레이드 수.
series int

strategy.grossloss

완료된 모든 손실 거래의 총 통화 가치.
series float

strategy.grossloss_percent

완료된 모든 손실 거래의 총 가치로, 초기 자본의 백분율로 표시됩니다.
series float

strategy.grossprofit

완료된 모든 이익 거래의 총 통화 가치
series float

strategy.grossprofit_percent

완료된 모든 수익 거래의 총 통화 가치로, 초기 자본의 백분율로 표시됩니다.
series float

strategy.initial_capital

전략 속성에 설정된 초기 자본액
series float

strategy.long

롱 포지션 엔트리
const strategy_direction

strategy.losstrades

전체 트레이딩 인터벌 동안의 프라핏 못낸 트레이드 수.
series int

strategy.margin_liquidation_price

전략에 마진이 쓰이는 경우 시뮬레이션 마진 콜이 발생할 가격 포인트를 반환하고 마진 요건을 충족할 만큼 포지션을 청산합니다.
전략이 증거금을 쓰지 않는 경우, 즉 strategy 선언문에 margin_long 또는 margin_short 매개변수에 대한 인수가 지정되지 않은 경우 변수는 na을 반환합니다.
series float
 
//@version=5
strategy("Margin call management", overlay = true, margin_long = 25, margin_short = 25, 
  default_qty_type = strategy.percent_of_equity, default_qty_value = 395)

float maFast = ta.sma(close, 14)
float maSlow = ta.sma(close, 28)

if ta.crossover(maFast, maSlow)
    strategy.entry("Long", strategy.long)

if ta.crossunder(maFast, maSlow)
    strategy.entry("Short", strategy.short)

changePercent(v1, v2) => 
    float result = (v1 - v2) * 100 / math.abs(v2)

// exit when we're 10% away from a margin call, to prevent it.
if math.abs(changePercent(close, strategy.margin_liquidation_price)) <= 10
    strategy.close("Long")
    strategy.close("Short")
 
 

strategy.max_contracts_held_all

전체 트레이딩 인터벌 기간에 대해 같은 방향 트레이드할 수 있는 맥시멈 컨트랙트/셰어/롯트/유닛 수.
series float

strategy.max_contracts_held_long

전체 트레이딩 인터벌 기간에 대해 같은 방향 롱 트레이드할 수 있는 맥시멈 컨트랙트/셰어/롯트/유닛 수.
series float

strategy.max_contracts_held_short

전체 트레이딩 인터벌 기간에 대해 같은 방향 숏 트레이드할 수 있는 맥시멈 컨트랙트/셰어/롯트/유닛 수.
series float

strategy.max_drawdown

전체 트레이딩 인터벌에 걸쳐 맥시멈 에쿼티 드로다운 밸류.
series float

strategy.max_drawdown_percent

전체 거래 기간 동안의 최대 편일예탁잔고 감소 값으로, 백분율로 표시되며 공식에 의해 계산됩니다: Lowest Value During Trade / (Entry Price x Quantity) * 100.
series float

strategy.max_runup

전체 트레이딩 인터벌에 대한 맥시멈 에쿼티 런-업 밸류.
series float

strategy.max_runup_percent

전체 거래 기간 동안의 최대 주식 런업 값으로, 백분율로 표시되며 공식에 의해 계산됩니다: Highest Value During Trade / (Entry Price x Quantity) * 100.
series float

strategy.netprofit

완료된 모든 거래의 총 통화 가치.
series float

strategy.netprofit_percent

완료된 모든 거래의 총 가치로, 초기 자본의 백분율로 표시됩니다.
series float

strategy.openprofit

모든 오픈 포지션에 대한 현재 미실현 손익.
series float

strategy.openprofit_percent

모든 오픈 포지션의 현재 미실현 손익을 백분율로 표시하고 공식으로 계산합니다: openPL / realizedEquity * 100.
series float

strategy.opentrades

오픈 상태로 남아 있는 마켓 포지션 엔트리 갯수. 오픈 마켓 포지션이 없으면 0 이 리턴됩니다.
series int

strategy.opentrades.capital_held

현재 미체결 거래가 보유한 자본금을 반환합니다.
이 변수는 전략이 가상 계좌의 일부로 펀딩 거래를 시뮬레이션하지 않는 경우, 즉 strategy 함수에 0이 아닌 margin_long 또는 margin_short 인수가 포함되지 않은 경우 na을 반환합니다.
series float
 
//@version=5
strategy(
   "strategy.opentrades.capital_held example", overlay=false,  margin_long=50, margin_short=50, 
   default_qty_type = strategy.percent_of_equity, default_qty_value = 100
 )

// Enter a short position on the first bar.
if barstate.isfirst
    strategy.entry("Short", strategy.short)

// Plot the capital held by the short position.
plot(strategy.opentrades.capital_held, "Capital held")
// Highlight the chart background if the position is completely closed by margin calls.
bgcolor(bar_index > 0 and strategy.opentrades.capital_held == 0 ? color.new(color.red, 60) : na)

 

 

strategy.position_avg_price

커런트 마켓 포지션의 평균 엔트리 프라이스. 마켓 포지션이 플랫이면 'NaN' 이 리턴됩니다.
series float

strategy.position_entry_name

커런트 마켓 포지션을 오픈했던 오더 네임.
series string

strategy.position_size

커런트 마켓 포지션 디렉션 및 사이즈. 그 값이 0 보다 크면 마켓 포지션이 롱이고, 0 보다 작으면 숏입니다. 절대값은 거래 컨트랙트/셰어/롯트/유닛 수입니다 (포지션 사이즈).
series float

strategy.short

숏 포지션 엔트리.
const strategy_direction

strategy.wintrades

전체 트레이딩 인터벌 동안의 프라핏 낸 트레이드 수.
series int

syminfo.basecurrency

변수는 심볼의 기축 통화(즉, 거래 통화 또는 코인)를 나타내는 코드를 포함하는 문자열을 반환합니다. 이 심볼이 Forex 또는 크립토 페어이거나 이러한 페어를 기반으로 한 파생상품인 경우입니다. 그렇지 않으면 빈 문자열을 반환합니다. 예를 들어 "EURJPY"의 경우 "EUR"을 반환하고 "BTCUSDT"의 경우 "BTC"를 반환합니다. "CME:6C1!"의 경우 "CAD"를 반환하며 "NASDAQ:AAPL"의 경우 빈 문자열을 반환합니다.
simple string

syminfo.country

해당 심볼이 거래되는 국가의 두 글자 코드를 ISO 3166-1 alpha-2 형식으로 반환하거나 거래소가 특정 국가와 직접 연결되지 않은 경우 na를 반환합니다. 예를 들어 "NASDAQ:AAPL"의 경우 "US", "LSE:AAPL"의 경우 "GB", "BITSTAMP:BTCUSD"의 경우 na가 리턴됩니다.
simple string

syminfo.currency

이 변수는 심볼의 가격 통화를 나타내는 코드를 포함하는 문자열을 반환합니다. 예를 들어 "NASDAQ:AAPL"의 경우 "USD"를 반환하고 "EURJPY"의 경우 "JPY"를 반환합니다.
simple string

syminfo.description

현재 심볼 설명
simple string

syminfo.employees

회사의 직원 수.
simple int
 
//@version=5
indicator("syminfo simple")
//@variable A table containing information about a company's employees, shareholders, and shares.
var result_table = table.new(position = position.top_right, columns = 2, rows = 5, border_width = 1)
if barstate.islastconfirmedhistory
    // Add header cells
    table.cell(table_id = result_table, column = 0, row = 0, text = "name")
    table.cell(table_id = result_table, column = 1, row = 0, text = "value")
    // Add employee info cells.
    table.cell(table_id = result_table, column = 0, row = 1, text = "employees")
    table.cell(table_id = result_table, column = 1, row = 1, text = str.tostring(syminfo.employees))
    // Add shareholder cells.
    table.cell(table_id = result_table, column = 0, row = 2, text = "shareholders")
    table.cell(table_id = result_table, column = 1, row = 2, text = str.tostring(syminfo.shareholders))
    // Add float shares outstanding cells.
    table.cell(table_id = result_table, column = 0, row = 3, text = "shares_outstanding_float")
    table.cell(table_id = result_table, column = 1, row = 3, text = str.tostring(syminfo.shares_outstanding_float))
    // Add total shares outstanding cells.
    table.cell(table_id = result_table, column = 0, row = 4, text = "shares_outstanding_total")
    table.cell(table_id = result_table, column = 1, row = 4, text = str.tostring(syminfo.shares_outstanding_total))

syminfo.expiration_date

현재 선물 계약의 마지막 날 시작을 나타내는 UNIX 타임스탬프입니다. 이 변수는 비연속 선물 심볼과만 호환됩니다. 다른 심볼에서는 na을 반환합니다.
simple int

syminfo.industry

심볼의 산업을 반환하거나, 심볼에 산업이 없는 경우 na을 반환합니다. 예시: 예: "인터넷 소프트웨어/서비스", "패키지 소프트웨어", "통합 석유", "자동차" 등. 이 값은 차트의 "심볼 정보" 창에서 볼 수 있는 값과 동일합니다.
섹터는 경제의 광범위한 부분입니다. 산업은 더 좁은 분류입니다. 예를 들어 NASDAQ:CAT(Caterpillar, Inc.)는 "생산자 제조" 섹터와 "트럭/건설/농기계" 산업에 속합니다.
simple string

syminfo.minmove

심볼의 가격 변동 사이의 최소 증분을 계산하는 데 사용되는 정수를 반환합니다 (syminfo.mintick). 이 값은 syminfo.mintick 포뮬러의 분자입니다: syminfo.minmove / syminfo.pricescale = syminfo.mintick.
simple int

syminfo.mintick

커런트 심볼 미니멈 틱 밸류.
simple float

syminfo.pointvalue

커런트 심볼에 대한 포인트 밸류.
simple float

syminfo.prefix

현재 심볼 이름의 접두어 (보기: 'CME_EOD:TICKER' 의 접두어는 'CME_EOD').
simple string
 
//@version=5
indicator("syminfo.prefix")

// If current chart symbol is 'BATS:MSFT' then syminfo.prefix is 'BATS'.
if barstate.islastconfirmedhistory
    label.new(bar_index, high, text=syminfo.prefix)

syminfo.pricescale

심볼의 가격 변동 사이의 최소 증분을 계산하는 데 사용되는 정수를 반환합니다 (syminfo.mintick). 이 값은 syminfo.mintick 포뮬러의 분모입니다: syminfo.minmove / syminfo.pricescale = syminfo.mintick.
simple int

syminfo.recommendations_buy

현재 심볼에 "매수" 등급을 부여한 애널리스트 수.
series int
 
//@version=5
indicator("syminfo recommendations", overlay = true)
//@variable A table containing information about analyst recommendations.
var table ratings = table.new(position.top_right, 8, 2, frame_color = #000000)
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    // Add header cells.
    table.cell(ratings, 0, 0, "Start Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 0, "End Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 0, "Buy", bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 0, "Strong Buy", bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 0, "Sell", bgcolor = color.maroon, text_color = #000000, text_size = size.large)
    table.cell(ratings, 5, 0, "Strong Sell", bgcolor = color.red, text_color = #000000, text_size = size.large)
    table.cell(ratings, 6, 0, "Hold", bgcolor = color.orange, text_color = #000000, text_size = size.large)
    table.cell(ratings, 7, 0, "Total", bgcolor = color.silver, text_color = #000000, text_size = size.large)
    // Recommendation strings
    string startDate         = str.format_time(syminfo.recommendations_date, "yyyy-MM-dd")
    string endDate           = str.format_time(YTD, "yyyy-MM-dd")
    string buyRatings        = str.tostring(syminfo.recommendations_buy)
    string strongBuyRatings  = str.tostring(syminfo.recommendations_buy_strong)
    string sellRatings       = str.tostring(syminfo.recommendations_sell)
    string strongSellRatings = str.tostring(syminfo.recommendations_sell_strong)
    string holdRatings       = str.tostring(syminfo.recommendations_hold)
    string totalRatings      = str.tostring(syminfo.recommendations_total)
    // Add value cells
    table.cell(ratings, 0, 1, startDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 1, endDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 1, buyRatings, bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 1, strongBuyRatings, bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 1, sellRatings, bgcolor = color.maroon, text_color = #000000, text_size = size.large)

syminfo.recommendations_buy_strong

현재 종목에 "강력 매수" 등급을 부여한 애널리스트 수.
series int
 
//@version=5
indicator("syminfo recommendations", overlay = true)
//@variable A table containing information about analyst recommendations.
var table ratings = table.new(position.top_right, 8, 2, frame_color = #000000)
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    // Add header cells.
    table.cell(ratings, 0, 0, "Start Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 0, "End Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 0, "Buy", bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 0, "Strong Buy", bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 0, "Sell", bgcolor = color.maroon, text_color = #000000, text_size = size.large)
    table.cell(ratings, 5, 0, "Strong Sell", bgcolor = color.red, text_color = #000000, text_size = size.large)
    table.cell(ratings, 6, 0, "Hold", bgcolor = color.orange, text_color = #000000, text_size = size.large)
    table.cell(ratings, 7, 0, "Total", bgcolor = color.silver, text_color = #000000, text_size = size.large)
    // Recommendation strings
    string startDate         = str.format_time(syminfo.recommendations_date, "yyyy-MM-dd")
    string endDate           = str.format_time(YTD, "yyyy-MM-dd")
    string buyRatings        = str.tostring(syminfo.recommendations_buy)
    string strongBuyRatings  = str.tostring(syminfo.recommendations_buy_strong)
    string sellRatings       = str.tostring(syminfo.recommendations_sell)
    string strongSellRatings = str.tostring(syminfo.recommendations_sell_strong)
    string holdRatings       = str.tostring(syminfo.recommendations_hold)
    string totalRatings      = str.tostring(syminfo.recommendations_total)
    // Add value cells
    table.cell(ratings, 0, 1, startDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 1, endDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 1, buyRatings, bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 1, strongBuyRatings, bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 1, sellRatings, bgcolor = color.maroon, text_color = #000000, text_size = size.large)

syminfo.recommendations_date

현재 기호에 대한 마지막 권장 사항 세트의 시작 날짜.
series int
 
//@version=5
indicator("syminfo recommendations", overlay = true)
//@variable A table containing information about analyst recommendations.
var table ratings = table.new(position.top_right, 8, 2, frame_color = #000000)
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    // Add header cells.
    table.cell(ratings, 0, 0, "Start Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 0, "End Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 0, "Buy", bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 0, "Strong Buy", bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 0, "Sell", bgcolor = color.maroon, text_color = #000000, text_size = size.large)
    table.cell(ratings, 5, 0, "Strong Sell", bgcolor = color.red, text_color = #000000, text_size = size.large)
    table.cell(ratings, 6, 0, "Hold", bgcolor = color.orange, text_color = #000000, text_size = size.large)
    table.cell(ratings, 7, 0, "Total", bgcolor = color.silver, text_color = #000000, text_size = size.large)
    // Recommendation strings
    string startDate         = str.format_time(syminfo.recommendations_date, "yyyy-MM-dd")
    string endDate           = str.format_time(YTD, "yyyy-MM-dd")
    string buyRatings        = str.tostring(syminfo.recommendations_buy)
    string strongBuyRatings  = str.tostring(syminfo.recommendations_buy_strong)
    string sellRatings       = str.tostring(syminfo.recommendations_sell)
    string strongSellRatings = str.tostring(syminfo.recommendations_sell_strong)
    string holdRatings       = str.tostring(syminfo.recommendations_hold)
    string totalRatings      = str.tostring(syminfo.recommendations_total)
    // Add value cells
    table.cell(ratings, 0, 1, startDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 1, endDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 1, buyRatings, bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 1, strongBuyRatings, bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 1, sellRatings, bgcolor = color.maroon, text_color = #000000, text_size = size.large)

syminfo.recommendations_hold

현재 종목에 "보유" 등급을 부여한 애널리스트 수.
series int
 
//@version=5
indicator("syminfo recommendations", overlay = true)
//@variable A table containing information about analyst recommendations.
var table ratings = table.new(position.top_right, 8, 2, frame_color = #000000)
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    // Add header cells.
    table.cell(ratings, 0, 0, "Start Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 0, "End Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 0, "Buy", bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 0, "Strong Buy", bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 0, "Sell", bgcolor = color.maroon, text_color = #000000, text_size = size.large)
    table.cell(ratings, 5, 0, "Strong Sell", bgcolor = color.red, text_color = #000000, text_size = size.large)
    table.cell(ratings, 6, 0, "Hold", bgcolor = color.orange, text_color = #000000, text_size = size.large)
    table.cell(ratings, 7, 0, "Total", bgcolor = color.silver, text_color = #000000, text_size = size.large)
    // Recommendation strings
    string startDate         = str.format_time(syminfo.recommendations_date, "yyyy-MM-dd")
    string endDate           = str.format_time(YTD, "yyyy-MM-dd")
    string buyRatings        = str.tostring(syminfo.recommendations_buy)
    string strongBuyRatings  = str.tostring(syminfo.recommendations_buy_strong)
    string sellRatings       = str.tostring(syminfo.recommendations_sell)
    string strongSellRatings = str.tostring(syminfo.recommendations_sell_strong)
    string holdRatings       = str.tostring(syminfo.recommendations_hold)
    string totalRatings      = str.tostring(syminfo.recommendations_total)
    // Add value cells
    table.cell(ratings, 0, 1, startDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 1, endDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 1, buyRatings, bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 1, strongBuyRatings, bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 1, sellRatings, bgcolor = color.maroon, text_color = #000000, text_size = size.large)

syminfo.recommendations_sell

현재 심볼에 "매도" 등급을 부여한 애널리스트 수.
series int
 
//@version=5
indicator("syminfo recommendations", overlay = true)
//@variable A table containing information about analyst recommendations.
var table ratings = table.new(position.top_right, 8, 2, frame_color = #000000)
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    // Add header cells.
    table.cell(ratings, 0, 0, "Start Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 0, "End Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 0, "Buy", bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 0, "Strong Buy", bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 0, "Sell", bgcolor = color.maroon, text_color = #000000, text_size = size.large)
    table.cell(ratings, 5, 0, "Strong Sell", bgcolor = color.red, text_color = #000000, text_size = size.large)
    table.cell(ratings, 6, 0, "Hold", bgcolor = color.orange, text_color = #000000, text_size = size.large)
    table.cell(ratings, 7, 0, "Total", bgcolor = color.silver, text_color = #000000, text_size = size.large)
    // Recommendation strings
    string startDate         = str.format_time(syminfo.recommendations_date, "yyyy-MM-dd")
    string endDate           = str.format_time(YTD, "yyyy-MM-dd")
    string buyRatings        = str.tostring(syminfo.recommendations_buy)
    string strongBuyRatings  = str.tostring(syminfo.recommendations_buy_strong)
    string sellRatings       = str.tostring(syminfo.recommendations_sell)
    string strongSellRatings = str.tostring(syminfo.recommendations_sell_strong)
    string holdRatings       = str.tostring(syminfo.recommendations_hold)
    string totalRatings      = str.tostring(syminfo.recommendations_total)
    // Add value cells
    table.cell(ratings, 0, 1, startDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 1, endDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 1, buyRatings, bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 1, strongBuyRatings, bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 1, sellRatings, bgcolor = color.maroon, text_color = #000000, text_size = size.large)

syminfo.recommendations_sell_strong

현재 종목에 "강력 매도" 등급을 부여한 애널리스트 수.
series int
 
//@version=5
indicator("syminfo recommendations", overlay = true)
//@variable A table containing information about analyst recommendations.
var table ratings = table.new(position.top_right, 8, 2, frame_color = #000000)
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    // Add header cells.
    table.cell(ratings, 0, 0, "Start Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 0, "End Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 0, "Buy", bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 0, "Strong Buy", bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 0, "Sell", bgcolor = color.maroon, text_color = #000000, text_size = size.large)
    table.cell(ratings, 5, 0, "Strong Sell", bgcolor = color.red, text_color = #000000, text_size = size.large)
    table.cell(ratings, 6, 0, "Hold", bgcolor = color.orange, text_color = #000000, text_size = size.large)
    table.cell(ratings, 7, 0, "Total", bgcolor = color.silver, text_color = #000000, text_size = size.large)
    // Recommendation strings
    string startDate         = str.format_time(syminfo.recommendations_date, "yyyy-MM-dd")
    string endDate           = str.format_time(YTD, "yyyy-MM-dd")
    string buyRatings        = str.tostring(syminfo.recommendations_buy)
    string strongBuyRatings  = str.tostring(syminfo.recommendations_buy_strong)
    string sellRatings       = str.tostring(syminfo.recommendations_sell)
    string strongSellRatings = str.tostring(syminfo.recommendations_sell_strong)
    string holdRatings       = str.tostring(syminfo.recommendations_hold)
    string totalRatings      = str.tostring(syminfo.recommendations_total)
    // Add value cells
    table.cell(ratings, 0, 1, startDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 1, endDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 1, buyRatings, bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 1, strongBuyRatings, bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 1, sellRatings, bgcolor = color.maroon, text_color = #000000, text_size = size.large)

syminfo.recommendations_total

현재 심볼에 대한 총 추천 수.
series int
 
//@version=5
indicator("syminfo recommendations", overlay = true)
//@variable A table containing information about analyst recommendations.
var table ratings = table.new(position.top_right, 8, 2, frame_color = #000000)
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    // Add header cells.
    table.cell(ratings, 0, 0, "Start Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 0, "End Date", bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 0, "Buy", bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 0, "Strong Buy", bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 0, "Sell", bgcolor = color.maroon, text_color = #000000, text_size = size.large)
    table.cell(ratings, 5, 0, "Strong Sell", bgcolor = color.red, text_color = #000000, text_size = size.large)
    table.cell(ratings, 6, 0, "Hold", bgcolor = color.orange, text_color = #000000, text_size = size.large)
    table.cell(ratings, 7, 0, "Total", bgcolor = color.silver, text_color = #000000, text_size = size.large)
    // Recommendation strings
    string startDate         = str.format_time(syminfo.recommendations_date, "yyyy-MM-dd")
    string endDate           = str.format_time(YTD, "yyyy-MM-dd")
    string buyRatings        = str.tostring(syminfo.recommendations_buy)
    string strongBuyRatings  = str.tostring(syminfo.recommendations_buy_strong)
    string sellRatings       = str.tostring(syminfo.recommendations_sell)
    string strongSellRatings = str.tostring(syminfo.recommendations_sell_strong)
    string holdRatings       = str.tostring(syminfo.recommendations_hold)
    string totalRatings      = str.tostring(syminfo.recommendations_total)
    // Add value cells
    table.cell(ratings, 0, 1, startDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 1, 1, endDate, bgcolor = color.gray, text_color = #000000, text_size = size.large)
    table.cell(ratings, 2, 1, buyRatings, bgcolor = color.teal, text_color = #000000, text_size = size.large)
    table.cell(ratings, 3, 1, strongBuyRatings, bgcolor = color.lime, text_color = #000000, text_size = size.large)
    table.cell(ratings, 4, 1, sellRatings, bgcolor = color.maroon, text_color = #000000, text_size = size.large)

syminfo.root

퓨쳐스 컨트랙트와 같은 데리버티브 (파생물) 의 루트. 다른 심볼의 경우 syminfo.ticker 와 같은 값을 리턴합니다.
simple string
 
//@version=5
indicator("syminfo.root")

// If the current chart symbol is continuous futures ('ES1!'), it would display 'ES'.
if barstate.islastconfirmedhistory
    label.new(bar_index, high, syminfo.root)

syminfo.sector

심볼의 섹터를 반환하거나 심볼에 섹터가 없는 경우 na을 반환합니다. 예시: 예: "전자 기술", "기술 서비스", "에너지 광물", "내구소비재" 등. 이 값은 차트의 "심볼 정보" 창에서 볼 수 있는 값과 동일합니다.
섹터는 경제의 광범위한 부분입니다. 산업은 더 좁은 분류입니다. 예를 들어 NASDAQ:CAT(Caterpillar, Inc.)는 "생산자 제조" 섹터와 "트럭/건설/농기계" 산업에 속합니다.
simple string

syminfo.session

차트 메인 시리즈의 세션 타입. 쓸 수 있는 값은 session.regular, session.extended 입니다.
simple string

syminfo.shareholders

회사의 주식 수
simple int
 
//@version=5
indicator("syminfo simple")
//@variable A table containing information about a company's employees, shareholders, and shares.
var result_table = table.new(position = position.top_right, columns = 2, rows = 5, border_width = 1)
if barstate.islastconfirmedhistory
    // Add header cells
    table.cell(table_id = result_table, column = 0, row = 0, text = "name")
    table.cell(table_id = result_table, column = 1, row = 0, text = "value")
    // Add employee info cells.
    table.cell(table_id = result_table, column = 0, row = 1, text = "employees")
    table.cell(table_id = result_table, column = 1, row = 1, text = str.tostring(syminfo.employees))
    // Add shareholder cells.
    table.cell(table_id = result_table, column = 0, row = 2, text = "shareholders")
    table.cell(table_id = result_table, column = 1, row = 2, text = str.tostring(syminfo.shareholders))
    // Add float shares outstanding cells.
    table.cell(table_id = result_table, column = 0, row = 3, text = "shares_outstanding_float")
    table.cell(table_id = result_table, column = 1, row = 3, text = str.tostring(syminfo.shares_outstanding_float))
    // Add total shares outstanding cells.
    table.cell(table_id = result_table, column = 0, row = 4, text = "shares_outstanding_total")
    table.cell(table_id = result_table, column = 1, row = 4, text = str.tostring(syminfo.shares_outstanding_total))

syminfo.shares_outstanding_float

회사가 발행할 수 있는 총 주식 수에서 제한 주식을 제외한 총 발행 주식 수.
simple float
 
//@version=5
indicator("syminfo simple")
//@variable A table containing information about a company's employees, shareholders, and shares.
var result_table = table.new(position = position.top_right, columns = 2, rows = 5, border_width = 1)
if barstate.islastconfirmedhistory
    // Add header cells
    table.cell(table_id = result_table, column = 0, row = 0, text = "name")
    table.cell(table_id = result_table, column = 1, row = 0, text = "value")
    // Add employee info cells.
    table.cell(table_id = result_table, column = 0, row = 1, text = "employees")
    table.cell(table_id = result_table, column = 1, row = 1, text = str.tostring(syminfo.employees))
    // Add shareholder cells.
    table.cell(table_id = result_table, column = 0, row = 2, text = "shareholders")
    table.cell(table_id = result_table, column = 1, row = 2, text = str.tostring(syminfo.shareholders))
    // Add float shares outstanding cells.
    table.cell(table_id = result_table, column = 0, row = 3, text = "shares_outstanding_float")
    table.cell(table_id = result_table, column = 1, row = 3, text = str.tostring(syminfo.shares_outstanding_float))
    // Add total shares outstanding cells.
    table.cell(table_id = result_table, column = 0, row = 4, text = "shares_outstanding_total")
    table.cell(table_id = result_table, column = 1, row = 4, text = str.tostring(syminfo.shares_outstanding_total))

syminfo.shares_outstanding_total

내부자, 주요 주주 및 직원이 보유한 제한 주식을 포함하여 회사가 발행할 수 있는 총 주식 수.
simple int
 
//@version=5
indicator("syminfo simple")
//@variable A table containing information about a company's employees, shareholders, and shares.
var result_table = table.new(position = position.top_right, columns = 2, rows = 5, border_width = 1)
if barstate.islastconfirmedhistory
    // Add header cells
    table.cell(table_id = result_table, column = 0, row = 0, text = "name")
    table.cell(table_id = result_table, column = 1, row = 0, text = "value")
    // Add employee info cells.
    table.cell(table_id = result_table, column = 0, row = 1, text = "employees")
    table.cell(table_id = result_table, column = 1, row = 1, text = str.tostring(syminfo.employees))
    // Add shareholder cells.
    table.cell(table_id = result_table, column = 0, row = 2, text = "shareholders")
    table.cell(table_id = result_table, column = 1, row = 2, text = str.tostring(syminfo.shareholders))
    // Add float shares outstanding cells.
    table.cell(table_id = result_table, column = 0, row = 3, text = "shares_outstanding_float")
    table.cell(table_id = result_table, column = 1, row = 3, text = str.tostring(syminfo.shares_outstanding_float))
    // Add total shares outstanding cells.
    table.cell(table_id = result_table, column = 0, row = 4, text = "shares_outstanding_total")
    table.cell(table_id = result_table, column = 1, row = 4, text = str.tostring(syminfo.shares_outstanding_total))

syminfo.target_price_average

애널리스트가 예측한 해당 종목의 최근 1년간 목표 가격의 평균.
series float
 
//@version=5
indicator("syminfo target_price")
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    //@variable A line connecting the current `close` to the highest yearly price estimate.
    highLine = line.new(time, close, YTD, syminfo.target_price_high, color = color.green, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the lowest yearly price estimate.
    lowLine = line.new(time, close, YTD, syminfo.target_price_low, color = color.red, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the median yearly price estimate.
    medianLine = line.new(time, close, YTD, syminfo.target_price_median, color = color.gray, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the average yearly price estimate.
    averageLine = line.new(time, close, YTD, syminfo.target_price_average, color = color.orange, xloc = xloc.bar_time)
    // Fill the space between targets
    linefill.new(lowLine, medianLine, color.new(color.red, 90))
    linefill.new(medianLine, highLine, color.new(color.green, 90))
    // Create a label displaying the total number of analyst estimates.
    string estimatesText = str.format("Number of estimates: {0}", syminfo.target_price_estimates)
    label.new(bar_index, close, estimatesText, textcolor = color.white, size = size.large)

syminfo.target_price_date

현재 심볼에 대한 마지막 목표가 예측의 시작일.
series int
 
//@version=5
indicator("syminfo target_price")
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    //@variable A line connecting the current `close` to the highest yearly price estimate.
    highLine = line.new(time, close, YTD, syminfo.target_price_high, color = color.green, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the lowest yearly price estimate.
    lowLine = line.new(time, close, YTD, syminfo.target_price_low, color = color.red, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the median yearly price estimate.
    medianLine = line.new(time, close, YTD, syminfo.target_price_median, color = color.gray, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the average yearly price estimate.
    averageLine = line.new(time, close, YTD, syminfo.target_price_average, color = color.orange, xloc = xloc.bar_time)
    // Fill the space between targets
    linefill.new(lowLine, medianLine, color.new(color.red, 90))
    linefill.new(medianLine, highLine, color.new(color.green, 90))
    // Create a label displaying the total number of analyst estimates.
    string estimatesText = str.format("Number of estimates: {0}", syminfo.target_price_estimates)
    label.new(bar_index, close, estimatesText, textcolor = color.white, size = size.large)

syminfo.target_price_estimates

현재 심볼에 대한 최신 총 목표가 예측 수.
series float
 
//@version=5
indicator("syminfo target_price")
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    //@variable A line connecting the current `close` to the highest yearly price estimate.
    highLine = line.new(time, close, YTD, syminfo.target_price_high, color = color.green, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the lowest yearly price estimate.
    lowLine = line.new(time, close, YTD, syminfo.target_price_low, color = color.red, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the median yearly price estimate.
    medianLine = line.new(time, close, YTD, syminfo.target_price_median, color = color.gray, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the average yearly price estimate.
    averageLine = line.new(time, close, YTD, syminfo.target_price_average, color = color.orange, xloc = xloc.bar_time)
    // Fill the space between targets
    linefill.new(lowLine, medianLine, color.new(color.red, 90))
    linefill.new(medianLine, highLine, color.new(color.green, 90))
    // Create a label displaying the total number of analyst estimates.
    string estimatesText = str.format("Number of estimates: {0}", syminfo.target_price_estimates)
    label.new(bar_index, close, estimatesText, textcolor = color.white, size = size.large)

syminfo.target_price_high

애널리스트가 예측한 해당 종목의 최근 최고 연간 목표가.
series float
 
//@version=5
indicator("syminfo target_price")
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    //@variable A line connecting the current `close` to the highest yearly price estimate.
    highLine = line.new(time, close, YTD, syminfo.target_price_high, color = color.green, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the lowest yearly price estimate.
    lowLine = line.new(time, close, YTD, syminfo.target_price_low, color = color.red, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the median yearly price estimate.
    medianLine = line.new(time, close, YTD, syminfo.target_price_median, color = color.gray, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the average yearly price estimate.
    averageLine = line.new(time, close, YTD, syminfo.target_price_average, color = color.orange, xloc = xloc.bar_time)
    // Fill the space between targets
    linefill.new(lowLine, medianLine, color.new(color.red, 90))
    linefill.new(medianLine, highLine, color.new(color.green, 90))
    // Create a label displaying the total number of analyst estimates.
    string estimatesText = str.format("Number of estimates: {0}", syminfo.target_price_estimates)
    label.new(bar_index, close, estimatesText, textcolor = color.white, size = size.large)

syminfo.target_price_low

애널리스트가 예측한 해당 종목의 최근 연간 최저 목표가.
series float
 
//@version=5
indicator("syminfo target_price")
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    //@variable A line connecting the current `close` to the highest yearly price estimate.
    highLine = line.new(time, close, YTD, syminfo.target_price_high, color = color.green, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the lowest yearly price estimate.
    lowLine = line.new(time, close, YTD, syminfo.target_price_low, color = color.red, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the median yearly price estimate.
    medianLine = line.new(time, close, YTD, syminfo.target_price_median, color = color.gray, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the average yearly price estimate.
    averageLine = line.new(time, close, YTD, syminfo.target_price_average, color = color.orange, xloc = xloc.bar_time)
    // Fill the space between targets
    linefill.new(lowLine, medianLine, color.new(color.red, 90))
    linefill.new(medianLine, highLine, color.new(color.green, 90))
    // Create a label displaying the total number of analyst estimates.
    string estimatesText = str.format("Number of estimates: {0}", syminfo.target_price_estimates)
    label.new(bar_index, close, estimatesText, textcolor = color.white, size = size.large)

syminfo.target_price_median

애널리스트가 예측한 해당 종목의 최근 연간 목표 가격의 중앙값.
series float
 
//@version=5
indicator("syminfo target_price")
if barstate.islastconfirmedhistory
    //@variable The time value one year from the date of the last analyst recommendations.
    int YTD = syminfo.target_price_date + timeframe.in_seconds("12M") * 1000
    //@variable A line connecting the current `close` to the highest yearly price estimate.
    highLine = line.new(time, close, YTD, syminfo.target_price_high, color = color.green, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the lowest yearly price estimate.
    lowLine = line.new(time, close, YTD, syminfo.target_price_low, color = color.red, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the median yearly price estimate.
    medianLine = line.new(time, close, YTD, syminfo.target_price_median, color = color.gray, xloc = xloc.bar_time)
    //@variable A line connecting the current `close` to the average yearly price estimate.
    averageLine = line.new(time, close, YTD, syminfo.target_price_average, color = color.orange, xloc = xloc.bar_time)
    // Fill the space between targets
    linefill.new(lowLine, medianLine, color.new(color.red, 90))
    linefill.new(medianLine, highLine, color.new(color.green, 90))
    // Create a label displaying the total number of analyst estimates.
    string estimatesText = str.format("Number of estimates: {0}", syminfo.target_price_estimates)
    label.new(bar_index, close, estimatesText, textcolor = color.white, size = size.large)

syminfo.ticker

익스체인지 프레픽스가 붙지 않은 심볼 이름, 예를 들어 'MSFT'.
simple string

syminfo.tickerid

ticker 또는 symbol 매개변수가 있는 함수에서 인수로 사용하기 위해 심볼을 나타내는 티커 ID의 전체 형식을 반환합니다. 언제나 콜론으로 구분된 접두사 (거래소) 와 티커 ("NASDAQ:AAPL")를 포함하지만 배당 조정, 차트 유형, 통화 변환 등과 같은 다른 심볼 데이터도 포함할 수 있습니다.
이 변수의 값이 항상 간단한 "prefix:ticker" 형식을 사용하는 것은 아니므로 부울 비교 또는 문자열 조작 함수에 사용하기에는 적합하지 않습니다. 이러한 컨텍스트에서 ticker.standard를 통해 변수의 결과를 실행하여 정화합니다. 이렇게 하면 불필요한 정보가 제거되고 "prefix:ticker" 구조를 사용하여 일관되게 형식이 지정된 티커 ID가 반환됩니다.
simple string

syminfo.timezone

차트 메인 시리즈 거래소의 타임존. 쓸 수 있는 값은 timestamp 에서 보십시오.
simple string

syminfo.type

심볼의 마켓 타입입니다. 값은 "stock", "fund", "dr", "right", "bond", "warrant", "structured", "index", "forex", "futures", "spread", "economic", "fundamental", "crypto", "spot", "swap", "option", "commodity" 입니다.
simple string

syminfo.volumetype

현재 심볼의 볼륨 유형입니다. 가능한 값은 기준 통화의 경우 "base", 쿼트 통화의 경우 "quote", 거래의 경우 "tick", 거래량이 없거나 유형이 지정되지 않은 경우 "n/a"입니다.
단지 몇몇 데이터 피드 프로바이더들만이 볼륨 정보를 제공합니다. 결과적으로 이 베어리어블은 그러한 심볼의 경우에만 밸류를 리턴하는데, 보통 크립토 섹터입니다.
simple string

ta.accdist

누적/분포 지수
series float

ta.iii

인트라데이 인텐시티 인덱스.
series float
 
//@version=5
indicator("Intraday Intensity Index")
plot(ta.iii, color=color.yellow)

// the same on pine
f_iii() =>
    (2 * close - high - low) / ((high - low) * volume)

plot(f_iii())

ta.nvi

네거티브 볼륨 인덱스.
series float
 
//@version=5
indicator("Negative Volume Index")

plot(ta.nvi, color=color.yellow)

// the same on pine
f_nvi() =>
    float ta_nvi = 1.0
    float prevNvi = (nz(ta_nvi[1], 0.0) == 0.0)  ? 1.0: ta_nvi[1]
    if nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0
        ta_nvi := prevNvi
    else
        ta_nvi := (volume < nz(volume[1], 0.0)) ? prevNvi + ((close - close[1]) / close[1]) * prevNvi : prevNvi
    result = ta_nvi

plot(f_nvi())

ta.obv

온 밸런스 볼륨.
series float
 
//@version=5
indicator("On Balance Volume")
plot(ta.obv, color=color.yellow)

// the same on pine
f_obv() =>
    ta.cum(math.sign(ta.change(close)) * volume)

plot(f_obv())

ta.pvi

포지티브 볼륨 인덱스.
series float
 
//@version=5
indicator("Positive Volume Index")

plot(ta.pvi, color=color.yellow)

// the same on pine
f_pvi() =>
    float ta_pvi = 1.0
    float prevPvi = (nz(ta_pvi[1], 0.0) == 0.0)  ? 1.0: ta_pvi[1]
    if nz(close, 0.0) == 0.0 or nz(close[1], 0.0) == 0.0
        ta_pvi := prevPvi
    else
        ta_pvi := (volume > nz(volume[1], 0.0)) ? prevPvi + ((close - close[1]) / close[1]) * prevPvi : prevPvi
    result = ta_pvi

plot(f_pvi())

ta.pvt

프라이스-볼륨 트렌드.
series float
 
//@version=5
indicator("Price-Volume Trend")
plot(ta.pvt, color=color.yellow)

// the same on pine
f_pvt() =>
    ta.cum((ta.change(close) / close[1]) * volume)

plot(f_pvt())

ta.tr

실제 범위, ta.tr(handle_na = false)에 해당합니다. 
math.max(high - low, math.abs(high - close[1]), math.abs(low - close[1]))로 계산됩니다.
series float

ta.vwap

거래량 가중 평균가. hlc3를 소스 시리즈로 씁니다.
series float

ta.wad

윌리엄스 어큐뮬레이션/디스트리뷰션.
series float
 
//@version=5
indicator("Williams Accumulation/Distribution")
plot(ta.wad, color=color.yellow)

// the same on pine
f_wad() =>
    trueHigh = math.max(high, close[1])
    trueLow = math.min(low, close[1])
    mom = ta.change(close)
    gain = (mom > 0) ? close - trueLow : (mom < 0) ? close - trueHigh : 0
    ta.cum(gain)

plot(f_wad())

ta.wvad

윌리엄스 베어리어블 어큐뮬레이션/디스트리뷰션.
series float
 
//@version=5
indicator("Williams Variable Accumulation/Distribution")
plot(ta.wvad, color=color.yellow)

// the same on pine
f_wvad() =>
    (close - open) / (high - low) * volume

plot(f_wvad())

 

table.all

스크립트가 그린 모든 테이블로 채워진 어레이를 리턴합니다.
리드-온리 어레이입니다. 어레이의 제로 인덱스는 차트에서 가장 오래 된 오브젝트의 아이디입니다.
array<table>
 
//@version=5
indicator("table.all")
//delete all tables
table.new(position = position.top_right, columns = 2, rows = 1, bgcolor = color.yellow, border_width = 1)
a_allTables = table.all
if array.size(a_allTables) > 0
    for i = 0 to array.size(a_allTables) - 1
        table.delete(array.get(a_allTables, i))
 

time

UNIX 포맷 커런트 바 타임. 1970년 1월 1일 00:00:00 UTC 로부터 잰 밀리세컨드 수입니다.
이 베어리어블은 바 오픈 타임 기준 타임스탬프를 리턴합니다. 그렇기 때문에 오버나잇 세션 (보기: EURUSD, 먼데이 세션이 선데이 17시 스타트) 의 경우 이 베어리어블은 지정된 트레이딩 데이트보다 먼저 타임을 리턴할 수 있습니다. 보기로, EURUSD 에서는 dayofmonth(time) 가 트레이딩 데이트보다 1 낮을 수 있는데, 이는 커런트 데이 바가 실제로는 하루 앞서 오픈하기 때문입니다.
series int

time_close

현재 봉의 UNIX 형식 종가 시간입니다. 1970년 1월 1일 UTC 00:00:00 이후 경과한 밀리초 수를 나타냅니다. 비표준 가격 기반 차트 유형(렌코, 줄 바꿈, 카기, 포인트 &피겨, 레인지)에서 이 변수는 차트의 실시간 봉에서 na을 반환합니다.
series int

time_tradingday

커런트 바 트레이딩 시작 타임 (유닉스 포맷, UTC 1970/01/01 00:00:00 부터 흐른 밀리세컨드 값).
변수는 연중무휴 세션에서 유용합니다. 여기서는 현재 날짜 세션이 이전 달력 날짜에서 시작할 수 있습니다(예: FXCM:EURUSD의 월요일 세션은 일요일에 시장 시간대 기준 17:00에 시작됩니다). 월요일 일봉의 경우 time이 해당 월요일의 17:00 타임스탬프를 반환하는 것과 달리, time_tradingday는 해당 월요일 00:00 UTC의 타임스탬프를 반환합니다.
1D 보다 큰 타임프레임에 time_tradingday 를 쓰면 그 바의 마지막 트레이딩 데이 (보기: 1W 는 그 위크의 마지막 트레이딩 데이) 를 리턴합니다.
series int

timeframe.isdaily

커런트 레졸루션이 데일리 레졸루션이면 참, 아니면 거짓 리턴.
simple bool

timeframe.isdwm

커런트 레졸루션이 데일리, 위클리, 만쓸리 레졸루션이면 참, 아니면 거짓 리턴.
simple bool

timeframe.isintraday

커런트 레졸루션이 인트라데이 (미니트 또는 세컨드) 이면 true. 아니면 false.
simple bool

timeframe.isminutes

커런트 레졸루션이 미니트이면 true. 아니면 false.
simple bool

timeframe.ismonthly

현재 레졸루션이 달 레졸루션이면 true, 아니면 false 리턴.
simple bool

timeframe.isseconds

커런트 레졸루션이 세컨드이면 true. 아니면 false.
simple bool

timeframe.isweekly

커런트 레졸루션이 위클리 레졸루션이면 참, 아니면 거짓 리턴.
simple bool

timeframe.multiplier

레졸루션 멀티플라이어, 보기: '60' - 60, 'D' - 1, '5D' - 5, '12M' - 12.
simple int

timeframe.period

차트의 타임프레임을 나타내는 문자열입니다. 반환된 문자열의 형식은 "[<quantity>][<units>]"이며, 여기서 <quantity> 및 <units>는 경우에 따라 없습니다. <quantity>는 숫자 단위이지만 그 수가 1이면 부재합니다. <unit>은 초는 "S", 일은 "D", 주는 "W", 월은 "M"이지만 분은 없습니다. 시간은 <unit>이 존재하지 않습니다.
변수는 10초 동안 "10S", 60분 동안 "60", 1일 동안 "D", 2주 동안 "2W", 한 분기 동안 "3M"을 반환합니다.
timeframe 매개변수를 포함하는 모든 함수의 인수로 사용할 수 있습니다.
simple string

timenow

UNIX 포맷 커런트 타임. 1970년 1월 1일 00:00:00 UTC 로부터 잰 밀리세컨드 수입니다.
이 베어리어블/펑크션을 쓰면 인디케이터 리페인팅이 생길 수 있습니다.
series int

volume

커런트 바 볼륨.
이전 값들은 스퀘어 브래킷 오퍼레이터 [] 를 써서 읽을 수 있습니다. 보기: volume[1], volume[2].
series float

weekofyear

거래소 시간대에서 현재 바가 몇 주차인지를 나타내는 번호.
이 베어리어블은 바 오픈 타임의 주를 리턴합니다. 오버나잇 세션 (보기: EURUSD, 먼데이 세션이 선데이 17시 스타트) 의 경우 이 밸류는 트레이딩 데이의 주보다 1 낮을 수 있습니다.
series int

year

거래소 타임존 기준 커런트 바 해.
이 베어리어블은 바 오픈 타임의 해를 리턴합니다. 오버나잇 세션 (보기: EURUSD, 먼데이 세션이 선데이 17시 스타트) 의 경우 이 밸류는 트레이딩 데이의 해보다 1 낮을 수 있습니다.
series int

 

728x90
반응형

댓글