값을 반환합니다.행렬 요소의 중위수.
매개 변수
id
(int[]/float[]) 배열 객체.안녕하세요
array.avg
array.variance
array.min
이 함수는 배열 요소의 패턴을 반환한다. 같은 주파수를 가진 여러 값이 있는 경우 최소값을 반환한다.
array.mode(id)
예를 들어
// array.mode example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.mode(a))
값을 반환합니다.배열 요소의 패턴.
매개 변수
id
(int[]/float[]) 배열 객체.안녕하세요
array.new_float
array.avg
array.variance
array.min
배열값의 지정된 비율 (%) 를 그 값보다 작거나 같을 때 선형 삽입값을 사용합니다.
array.percentile_linear_interpolation(id, percentage)
매개 변수
id
(int[]/float[]) 배열 객체.percentage
(series int/float) 는 반환 값의 값보다 크거나 같아야 합니다.참고자료통계에 있어서, 퍼센티지는 어떤 점수 또는 어떤 점수 아래의 순위 항목의 비율이다. 이 측정은 당신이 측정하는 비율보다 낮은 표준 주파수 분포의 분수의 백분율을 나타낸다. 선형 인플러스는 두 순위 사이의 값을 추정한다.
안녕하세요
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
가장 가까운 순위 방법을 사용하여 지정된 비율의 대수수값 (퍼센트) 이 그 값보다 작거나 같다는 값을 반환한다.
array.percentile_nearest_rank(id, percentage)
매개 변수
id
(int[]/float[]) 배열 객체.percentage
(series int/float) 는 반환 값의 값보다 크거나 같아야 합니다.참고자료통계에 있어서, 퍼센티지는 어떤 점수 또는 어떤 점수보다 낮은 순위 항목에 나타나는 비율이다. 이 측정은 당신이 측정하고 있는 비율 순위보다 낮은 표준 주파수 분포의 분수 비율을 나타낸다.
안녕하세요
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
%s 순서를 반환합니다.
array.percentrank(id, index)
매개 변수
id
(int[]/float[]) 배열 객체.index
(series int) 는 그 비율 순위의 값을 계산합니다.참고자료비율 순위는 기호값보다 더 작은 또는 같은 기호값의 비율이다.
안녕하세요
array.new_float
array.insert
array.slice
array.reverse
order.ascending
order.descending
이 함수는 주어진 배열의 최소값과 최대값 사이의 차이를 반환한다.
array.range(id)
예를 들어
// array.range example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.range(a))
값을 반환합니다.대수에서 최소값과 최대값 사이의 차이는.
매개 변수
id
(int[]/float[]) 배열 객체.안녕하세요
array.new_float
array.min
array.max
array.sum
이 함수는 지정된 인덱스를 가진 요소를 삭제하여 배열의 내용을 변경합니다.
array.remove(id, index)
예를 들어
// array.remove example
a = array.new_float(5,high)
removedEl = array.remove(a, 0)
plot(array.size(a))
plot(removedEl)
값을 반환합니다.삭제된 요소의 값.
매개 변수
id
(any array type) 배열 객체.index
(series int) 삭제하려는 요소 인덱스.안녕하세요
array.new_float
array.set
array.push
array.insert
array.pop
array.shift
이 함수는 배열을 뒤집는다. 첫 번째 배열 요소가 마지막으로 변하고 마지막 배열 요소가 첫 번째로 변한다.
array.reverse(id)
예를 들어
// array.reverse example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.get(a, 0))
array.reverse(a)
plot(array.get(a, 0))
매개 변수
id
(any array type) 배열 객체.안녕하세요
array.new_float
array.sort
array.push
array.set
array.avg
이 함수는 다음과 같은 타입의 변수 개수 변수 int, float, boole, string, line, color, linefill 중 하나를 사용하며 해당 타입의 배열을 반환합니다.
array.from(arg0, arg1, ...)
예를 들어
// array.from_example
arr = array.from("Hello", "World!") // arr (string[]) will contain 2 elements: {Hello}, {World!}.
plot(close)
값을 반환합니다.행렬 요소의 값은
매개 변수
arg0, arg1, ...
(series int/float/bool/color/string/line/linefill) 정렬 변수.이 함수는 새로운<type>
원소 배열 객체.
array.new(size, initial_value)
예를 들어
// array.new<string> example
a = array.new<string>(1, "Hello, World!")
runtime.log(array.get(a, 0))
예를 들어
// array.new<color> example
a = array.new<color>()
array.push(a, color.red)
array.push(a, color.green)
plot(close, color = array.get(a, close > open ? 1 : 0))
예를 들어
// array.new<float> example
length = 5
var a = array.new<float>(length, close)
if array.size(a) == length
array.remove(a, 0)
array.push(a, close)
plot(array.sum(a) / length, "SMA")
예를 들어
// array.new<line> example
// draw last 15 lines
var a = array.new<line>()
array.push(a, line.new(bar_index - 1, close[1], bar_index, close))
if array.size(a) > 15
ln = array.shift(a)
line.delete(ln)
값을 반환합니다.다른 배열과 함께 사용할 수 있는 배열 개체의 ID ==*== () 함수 ==
매개 변수
size
(series int) 계열의 초기 크기는↑ 선택지↑ 기본값은 0♦initial_value
(series 참고자료배열 인덱스는 0에서 시작합니다. 배열을 초기화하고 동시에 모든 요소를 지정하려면 array.from 함수를 사용합니다.
안녕하세요
array.from
array.push
array.get
array.size
array.remove
array.shift
array.sum
이 함수는 bool 타입의 요소들로 구성된 새로운 배열 객체를 생성한다.
array.new_bool(size, initial_value)
예를 들어
// array.new_bool example
length = 5
a = array.new_bool(length, close > open)
plot(array.get(a, 0) ? close : open)
값을 반환합니다.다른 배열과 함께 사용할 수 있는 배열 개체의 ID ==*== () 함수 ==
매개 변수
size
(series int) 계열의 초기 크기는↑ 선택지↑ 기본값은 0♦initial_value
(series bool) 모든 계열 요소의 초기 값이다. 선택된다. 기본 값은 참고자료배열 인덱스는 0에서 시작합니다.
안녕하세요
array.new_float
array.get
array.slice
array.sort
이 함수는 새로운 부동 소수자 원소 배열 개체를 생성합니다.
array.new_float(size, initial_value)
예를 들어
// array.new_float example
length = 5
a = array.new_float(length, close)
plot(array.sum(a) / length)
값을 반환합니다.다른 배열과 함께 사용할 수 있는 배열 개체의 ID ==*== () 함수 ==
매개 변수
size
(series int) 계열의 초기 크기는↑ 선택지↑ 기본값은 0♦initial_value
(series int/float) 모든 일련 요소의 초기 값이다. 선택이다. 기본 값은 참고자료배열 인덱스는 0에서 시작합니다.
안녕하세요
array.new_bool
array.get
array.slice
array.sort
이 함수는 int 타입의 요소로 구성된 새로운 배열 객체를 생성합니다.
array.new_int(size, initial_value)
예를 들어
// array.new_int example
length = 5
a = array.new_int(length, int(close))
plot(array.sum(a) / length)
값을 반환합니다.다른 배열과 함께 사용할 수 있는 배열 개체의 ID ==*== () 함수 ==
매개 변수
size
(series int) 계열의 초기 크기는↑ 선택지↑ 기본값은 0♦initial_value
(series int) 모든 일련 요소의 초기 값은 ▲ 선택된다 ▲ 기본 값은 ▲이다。참고자료배열 인덱스는 0에서 시작합니다.
안녕하세요
array.new_float
array.get
array.slice
array.sort
이 함수는 문자열 타입의 요소를 가진 새로운 배열 객체를 생성합니다.
array.new_string(size, initial_value)
예를 들어
// array.new_string example
length = 5
a = array.new_string(length, "text")
runtime.log(array.get(a, 0))
값을 반환합니다.다른 배열과 함께 사용할 수 있는 배열 개체의 ID ==*== () 함수 ==
매개 변수
size
(series int) 계열의 초기 크기는↑ 선택지↑ 기본값은 0♦initial_value
(series string) 모든 일련 요소의 초기 값은 ▲ 선택된다 ▲ 기본 값은 ▲ ▲이다.참고자료배열 인덱스는 0에서 시작합니다.
안녕하세요
array.new_float
array.get
array.slice
이 함수는 지정된 인덱스 지점 요소의 값을 반환합니다.
array.get(id, index)
예를 들어
// array.get example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i] - open[i])
plot(array.get(a, 9))
값을 반환합니다.행렬 요소의 값은
매개 변수
id
(any array type) 배열 객체.index
(series int) 는 값이 반환되는 요소의 인덱스이다.안녕하세요
array.new_float
array.set
array.slice
array.sort
이 함수는 행렬에 값을 추가합니다.
array.push(id, value)
예를 들어
// array.push example
a = array.new_float(5, 0)
array.push(a, open)
plot(array.get(a, 5))
매개 변수
id
(any array type) 배열 객체.value
(series <type of the array's elements>
) 는 행렬의 끝에 있는 요소값에 추가됩니다.안녕하세요
array.new_float
array.set
array.insert
array.remove
array.pop
array.unshift
이 함수는 요소의 값을 지정된 인덱스로 설정합니다.
array.set(id, index, value)
예를 들어
// array.set example
a = array.new_float(10)
for i = 0 to 9
array.set(a, i, close[i])
plot(array.sum(a) / 10)
매개 변수
id
(any array type) 배열 객체.index
(series int) 에멘트의 인덱스를 수정합니다.value
(series <type of the array's elements>
) 새 값을 설정합니다.안녕하세요
array.new_float
array.get
array.slice
이 함수는 배열 요소의 합을 반환합니다.
array.sum(id)
예를 들어
// array.sum example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.sum(a))
값을 반환합니다.행렬의 요소들의 합.
매개 변수
id
(int[]/float[]) 배열 객체.안녕하세요
array.new_float
array.max
array.min
이 함수는 배열 요소의 평균값을 반환합니다.
array.avg(id)
예를 들어
// array.avg example
a = array.new_float(0)
for i = 0 to 9
array.push(a, close[i])
plot(array.avg(a))
값을 반환합니다.행렬 요소의 평균값은
매개 변수
id
(int[]/float[]) 배열 객체.안녕하세요
array.new_float
array.max
array.min
array.stdev
이 함수는 값이 처음 나타나는 인덱스를 반환한다. 값이 발견되지 않으면 -1를 반환한다.
array.indexof(id, value)
예를 들어
// array.indexof example
a = array.new_float(5,high)
index = array.indexof(a, high)
plot(index)
값을 반환합니다.원소들의 인덱스.
매개 변수
id
(any array type) 배열 객체.value
(series <type of the array's elements>
) 행렬에서 검색해야 하는 값이다.안녕하세요
array.lastindexof
array.get
array.lastindexof
array.remove
array.insert
이쪽에서strategy
이와 관련된 내장 함수에서, 스톱-손실점수, 스톱-strategy.exit
이 함수들의profit
、loss
변수점으로 표시되는 중지, 중지, 변수profit
10로 설정하면 가격 점프가 10로 증가하여 가격 점프가 기본 변수입니다.syminfo.mintick
。
이 함수는 여러 가지 정책 속성을 설정합니다.
참고로, 스피커는 지원만 합니다.title
,shorttitle
,overlay
,pyramiding
,default_qty_type
,default_qty_value
파라미터, 다른 파라미터들은 PINE 언어 정책의 인터페이스 파라미터로 설정될 수 있다.
strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, risk_free_rate)
예를 들어
strategy("Strategy", overlay = true)
// Enter long by market if current open is greater than previous high.
strategy.entry("Long", strategy.long, 1, when = open > high[1])
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.exit("Exit", "Long", profit = 10, loss = 5)
매개 변수
title
(const string) 는 지표/전략 플러그인에서 보이는 지표 제목을 표시합니다.shorttitle
(const string) 그래프 예제에서 보이는 지표의 짧은 제목을 표시합니다.overlay
(const bool) 만약 true라면, 이 지표는 주요 일련의 오버레이어로 추가된다. 만약 false라면 - 그것은 개별 차트 format
precision
scale
pyramiding
(const int) 같은 방향에서 허용되는 최대 수. 만약 이 값이 0이라면, 같은 방향에서 오직 하나의 입구 주문만 열 수 있으며, 다른 모든 입구 주문은 거부될 것이다. 기본 값은 0이다.calc_on_order_fills
calc_on_every_tick
max_bars_back
backtest_fill_limits_assumption
default_qty_type
(const string) 는qty
매개 변수의 값은 strategy.entry 또는 strategy.order 함수에서 표시된 내용이다. 가능한 값은: strategy.fixed는 계약/주식/손수, strategy.cash는 통화 금액, 또는 strategy.percent_of_equity는 사용 가능한 이해의 비율이다.default_qty_value
(const int/float) strategy.entry 또는 strategy.order 함수의 기본 거래 횟수, 그들의 currency
slippage
commission_type
commission_value
process_orders_on_close
close_entries_rule
max_lines_count
max_labels_count
max_boxes_count
margin_long
margin_short
explicit_plot_zorder
initial_capital
risk_free_rate
참고자료모든 전략 스크립트에는 전략 호출이 있어야 합니다. Calc_on_every_tick = true라는 매개 변수를 사용하는 파인스크립트 코드는 역사 기록과 실시간 데이터에 대해 다른 계산을 수행할 수 있습니다. 비표준형 차트를 전략의 기초로 사용할 때 결과는 다를 수 있다는 것을 알아야 합니다. 주문은 이 테이블의 가격에 실행됩니다 (예를 들어, Heikin Ashi를 위해 Heikin Ashi의 가격을 사용할 것입니다 (평균) 실제 시장 가격이 아닙니다). 따라서, 우리는 당신이 당신의 전략에서 표준 차트 유형을 사용하는 것을 강력히 권장합니다.
안녕하세요
indicator
이것은 시장에 들어가는 명령이다. 같은 ID의 주문이 이미 붙어있는 경우 주문을 수정할 수 있다. ID가 지정되지 않은 경우 새로운 주문이 발송된다. 입장 명령어를 종료하려면 명령어 strategy.cancel 또는 strategy.cancel_all을 사용해야 한다. 전략.order 기능과 달리, 전략.entry 기능은 피라미드 영향을 받아 시장 위치를 올바르게 뒤집을 수 있다. 만약
strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
예를 들어
strategy(title = "simple strategy entry example")
strategy.entry("enter long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.entry("enter short", strategy.short, 1, when = open < low[1]) // enter short by market if current open less then previous low
매개 변수
id
(series string) 필요한 파라미터. 주문 아이디. 주문을 취소하거나 변경할 수 있습니다.direction
(strategy_direction) 필수 매개 변수이다. 시장 보유 방향:'strategy.long 모형은 다모형, strategy.short 모형은 빈모형'이다.qty
(series int/float) 선택 가능한 매개 변수↑ 거래된 계약/주식 수/손수/단위 수↑ 기본값은 NaN NaN입니다。limit
(series int/float) 선택 가능한 매개 변수── 주문의 제한값─예정된 경우, 주문 유형은 "limit" 또는 "stop-limit"─다른 주문 유형은 "NaN"─stop
(series int/float) 선택 가능한 매개 변수. 명령에 대한 중지 손실 가격. 지정된 경우, 명령 유형은 "stop" 또는 "stop-limit". 다른 명령 유형은 "NaN"이다.oca_name
oca_type
comment
(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명.when
(series bool) 선택 가능한 매개변수↑ 명령어 상태↑ true 경우, 명령어가 배치된다↑ false 경우, 아무 일도 일어나지 않는다↑ 이전에 배치된 동일한 ID의 명령어가 취소되지 않는다。 기본값은 true이다。alert_message
(series string) 이 명령은 지정된 ID를 가진 출구 주문의 명령이다. 같은 ID를 가진 여러 입구 주문이 있는 경우, 모두 동시에 출구한다. 명령이 촉발될 때 ID를 지정하지 않은 열린 주문이 있는 경우, 명령은 유효하지 않는다. 명령은 시장 주문을 사용한다. 각 입구는 별도의 시장 주문으로 닫힌다.
strategy.close(id, when, comment, qty, qty_percent, alert_message)
예를 들어
strategy("closeEntry Demo", overlay=false)
strategy.entry("buy", strategy.long, when = open > close)
strategy.close("buy", when = open < close, qty_percent = 50, comment = "close buy entry for 50%")
plot(strategy.position_size)
매개 변수
id
(series string) 필요한 파라미터 ▲ 주문 식별자 ▲ 주문을 종료할 수 있습니다.when
(series bool) 선택 가능한 변수. 명령의 조건.qty
(series int/float) 선택 가능한 매개 변수 ▲ 거래에서 탈퇴한 계약/주식 수/손수/단위 수;; 기본값은 qty_percent
(series int/float) 는 평점의 비율을 정의합니다. (0-100);; 그것의 우선 순위는 comment
(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명.alert_message
(series string) 현재 시장을 탈퇴하고 평평하게 유지하라.
strategy.close_all(when, comment, alert_message)
예를 들어
strategy("closeAll Demo", overlay=false)
strategy.entry("buy", strategy.long, when = open > close)
strategy.close_all(when = open < close, comment = "close all entries")
plot(strategy.position_size)
매개 변수
when
(series bool) 선택 가능한 변수. 명령의 조건.comment
(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명.alert_message
(series string) 이것은 입구 또는 전체 시장 지위를 지정하는 탈퇴 명령이다. 같은 ID의 주문이 이미 붙어있는 경우 명령을 수정할 수 있다. 입구 주문이 완료되지 않고 탈퇴 명령이 나타나면 출퇴 명령은 입구 주문이 완료된 후 탈퇴 명령이 배치될 때까지 잠정적으로 유지된다. 탈퇴 명령을 중지하려면 명령어 strategy.cancel 또는 strategy.cancel_all을 사용해야 한다.应该多次调用命令strategy.exit▲ 만약 당신이 StopLoss와 Tracking StopLoss을 사용한다면, 그 오더 타입은
strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, when, alert_message)
예를 들어
strategy(title = "simple strategy exit example")
strategy.entry("long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.exit("exit", "long", profit = 10, loss = 5) // generate full exit bracket (profit 10 points, loss 5 points per contract) from entry with name "long"
매개 변수
id
(series string) 필요한 파라미터. 주문 아이디. 주문을 취소하거나 변경할 수 있습니다.from_entry
(series string) 선택 가능한 매개 변수 ▲ 입력 명령어 아이디를 지정하기 위해 종료 ▲ 모든 포지션을 종료하려면 빈 문자열을 사용해야 한다. 기본값은 빈 문자열이다.qty
(series int/float) 선택 가능한 매개 변수 ▲ 거래에서 탈퇴한 계약/주식 수/손수/단위 수;; 기본값은 qty_percent
(series int/float) 는 평점의 비율을 정의합니다. (0-100);; 그것의 우선 순위는 profit
(series int/float) 선택 가능한 매개 변수─이익 목표 (점으로 표시) ─ 지정된 경우, 지정된 이윤 (점으로 표시) 에 도달하면 제한 가격 주문으로 시장 지위를 종료한다─ 기본값은 NaN NaN이다─limit
(series int/float) 선택 가능한 매개 변수─이익 목표 (값을 지정해야 한다) ─ 지정된 경우, 지정된 가격 (또는 더 나은) 으로 시장 입장에서 탈퇴한다─ 매개 변수 loss
(series int/float) 선택 가능한 매개 변수。 Stop Loss (점으로 표시)。 지정된 경우, 지정된 손실 금액 (점) 이 도달하면 Stop Loss (점으로 표시) 로 시장 지위를 종료한다。 기본값은 NaN NaN이다。stop
(series int/float) 선택 가능한 매개 변수。 Stop Loss (값을 지정해야 한다). 지정된 경우, 지정된 가격 (값) 또는 더 나쁜 가격 (값) 으로 시장 지위를 종료한다. 매개 변수 Stop Loss (손실) 는 매개 변수 Loss (손실) 보다 더 우선된다.trail_price
(series int/float) 선택 가능한 매개 변수: 트래킹 스톱 로스 활성화 레벨 (값을 지정해야 한다). 지정된 경우, 지정된 가격 수준에 도달할 때 트래킹 스톱 로스 리스트가 배치된다. trail_points
(series int/float) 선택 가능한 파라미터: 트래킹 스톱 로스 활성화 레벨 (점으로 표시된 이익) 만약 지정된 경우 계산된 가격 수준 (점으로 표시된 이익 금액) 에 도달하면 트래킹 스톱 로스 리스트가 배치된다. trail_offset
(series int/float) 선택 가능한 매개 변수. 트래킹 스톱 손실 활성화 수준 (점으로 표시) 점으로 표시되는 오차는 트래킹 스톱 손실 목록의 초기 가격을 결정하는 데 사용됩니다. X 포인트가 oca_name
comment
(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명.when
(series bool) 선택 가능한 매개변수↑ 명령어 상태↑ true 경우, 명령어가 배치된다↑ false 경우, 아무 일도 일어나지 않는다↑ 이전에 배치된 동일한 ID의 명령어가 취소되지 않는다。 기본값은 true이다。alert_message
(series string) 이 명칭은 모든 예약 목록의 취소/실용 중지 명령을 참조하여 다음과 같은 기능으로 생성됩니다.strategy.exit。
strategy.cancel(id, when)
예를 들어
strategy(title = "simple order cancellation example")
conditionForBuy = open > high[1]
strategy.entry("long", strategy.long, 1, limit = low, when = conditionForBuy) // enter long using limit order at low price of current bar if conditionForBuy is true
strategy.cancel("long", when = not conditionForBuy) // cancel the entry order with name "long" if conditionForBuy is false
매개 변수
id
(series string) 선택해야 하는 매개 변수↑ 주문 표시↑ 해당 표시를 위치하여 주문을 취소하십시오。when
(series bool) 선택 가능한 파라미터. ▲ ID에 따라 주문을 취소한다. ▲ true가 되면 주문이 취소된다. ▲ 기본값은 true이다.这是取消/停用所有预挂单命令,由以下功能生成:strategy.order,strategy.entry和strategy.exit。
strategy.cancel_all(when)
예를 들어
strategy(title = "simple all orders cancellation example")
conditionForBuy1 = open > high[1]
strategy.entry("long entry 1", strategy.long, 1, limit = low, when = conditionForBuy1) // enter long by limit if conditionForBuy1 is true
conditionForBuy2 = conditionForBuy1 and open[1] > high[2]
strategy.entry("long entry 2", strategy.long, 1, limit = ta.lowest(low, 2), when = conditionForBuy2) // enter long by limit if conditionForBuy2 is true
conditionForStopTrading = open < ta.lowest(low, 2)
strategy.cancel_all(conditionForStopTrading) // cancel both limit orders if the conditon conditionForStopTrading is true
매개 변수
when
(series bool) 선택 가능한 변수↑ 모든 명령어 조건 취소↑ 조건이 사실이라면 모든 활동 명령어가 취소↑ 기본값은 이 명령은 다음 명령이다. 같은 ID의 명령이 이미 붙어있는 경우 명령을 수정할 수 있다. ID가 지정되지 않은 명령이 없으면 새로운 명령이 발송된다. 명령어를 중지하려면 명령어 strategy.cancel 또는 strategy.cancel_all을 사용해야 한다. 함수 strategy.entry와 비교하면 함수 strategy.order는 피라미드 형식에 영향을 받지 않는다.
strategy.order(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message)
예를 들어
strategy(title = "simple strategy order example")
strategy.order("buy", strategy.long, 1, when = open > high[1]) // buy by market if current open great then previous high
strategy.order("sell", strategy.short, 1, when = open < low[1]) // sell by market if current open less then previous low
매개 변수
id
(series string) 필요한 파라미터. 주문 아이디. 주문을 취소하거나 변경할 수 있습니다.direction
(strategy_direction) 필수 매개 변수. 주문 방향:strategy.long 매개 변수,strategy.short 매개 변수.qty
(series int/float) 선택 가능한 매개 변수↑ 거래된 계약/주식 수/손수/단위 수↑ 기본값은 NaN NaN입니다。limit
(series int/float) 선택 가능한 매개 변수── 주문의 제한값─예정된 경우, 주문 유형은 "limit" 또는 "stop-limit"─다른 주문 유형은 "NaN"─stop
(series int/float) 선택 가능한 매개 변수. 명령에 대한 중지 손실 가격. 지정된 경우, 명령 유형은 "stop" 또는 "stop-limit". 다른 명령 유형은 "NaN"이다.oca_name
oca_type
comment
(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명.when
(series bool) 선택 가능한 매개변수↑ 명령어 상태↑ true 경우, 명령어가 배치된다↑ false 경우, 아무 일도 일어나지 않는다↑ 이전에 배치된 동일한 ID의 명령어가 취소되지 않는다。 기본값은 true이다。alert_message
(series string) strategy.opentrades.entry_bar_index(trade_num)
10개의 K줄을 기다립니다.
예를 들어
strategy("`strategy.opentrades.entry_bar_index` Example")
barsSinceLastEntry() =>
strategy.opentrades > 0 ? bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) : na
// Enter a long position if there are no open positions.
if strategy.opentrades == 0
strategy.entry("Long", strategy.long)
// Close the long position after 10 bars.
if barsSinceLastEntry() >= 10
strategy.close("Long")
매개 변수
trade_num
(series int) 부산화되지 않은 거래의 거래 번호. 첫 거래의 번호는 0이다.안녕하세요
strategy.closedtrades.entry_bar_index
strategy.closedtrades.exit_bar_index
이 ID는 거래에 대한 입력 ID를 반환합니다.
strategy.opentrades.entry_id(trade_num)
예를 들어
strategy("`strategy.opentrades.entry_id` Example", overlay = true)
// We enter a long position when 14 period sma crosses over 28 period sma.
// We enter a short position when 14 period sma crosses under 28 period sma.
longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
// Strategy calls to enter a long or short position when the corresponding condition is met.
if longCondition
strategy.entry("Long entry at bar #" + str.tostring(bar_index), strategy.long)
if shortCondition
strategy.entry("Short entry at bar #" + str.tostring(bar_index), strategy.short)
// Display ID of the latest open position.
if barstate.islastconfirmedhistory
runtime.log("Last opened position is " + strategy.opentrades.entry_id(strategy.opentrades - 1))
값을 반환합니다.이 ID는 거래에 대한 입력 ID를 반환합니다.
매개 변수
trade_num
(series int) 부산화되지 않은 거래의 거래 번호. 첫 거래의 번호는 0이다.참고자료만약 trade_num가 범위에 있지 않다면, 이 함수는 na:0을 strategy.opentrades-1로 반환한다.
안녕하세요
strategy.opentrades.entry_bar_index
strategy.opentrades.entry_time
이 부분의 본문은 이 부분의 다른 부분과 같습니다.
strategy.opentrades.entry_price(trade_num)
예를 들어
strategy("strategy.closedtrades.entry_price Example 1")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Return the entry price for the latest closed trade.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)
plot(entryPrice, "Long entry price")
평균 불균형 가격 계산
예를 들어
strategy("strategy.opentrades.entry_price Example 2", pyramiding = 2)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate average open position price.
avgOpenPositionPrice() =>
sumOpenPositionPrice = 0.0
for tradeNo = 0 to strategy.opentrades - 1
sumOpenPositionPrice += strategy.opentrades.entry_price(tradeNo) * strategy.opentrades.size(tradeNo) / strategy.position_size
result = nz(sumOpenPositionPrice / strategy.opentrades)
plot(avgOpenPositionPrice())
매개 변수
trade_num
(series int) 부산화되지 않은 거래의 거래 번호. 첫 거래의 번호는 0이다.안녕하세요
strategy.closedtrades.exit_price
유니크스 시간 (UNIX time) 을 반환합니다.
strategy.opentrades.entry_time(trade_num)
예를 들어
strategy("strategy.opentrades.entry_time Example")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculates duration in milliseconds since the last position was opened.
timeSinceLastEntry()=>
strategy.opentrades > 0 ? (time - strategy.opentrades.entry_time(strategy.opentrades - 1)) : na
plot(timeSinceLastEntry() / 1000 * 60 * 60 * 24, "Days since last entry")
매개 변수
trade_num
(series int) 부산화되지 않은 거래의 거래 번호. 첫 거래의 번호는 0이다.안녕하세요
strategy.closedtrades.entry_time
strategy.closedtrades.exit_time
비결 거래의 수익과 손실을 반환합니다. 손실은 부정적인 값으로 표시됩니다.
strategy.opentrades.profit(trade_num)
마지막 거래에서 얻은 수익을 되돌려줍니다.
예를 들어
strategy("`strategy.opentrades.profit` Example 1", commission_type = strategy.commission.percent, commission_value = 0.1)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
plot(strategy.opentrades.profit(strategy.opentrades - 1), "Profit of the latest open trade")
모든 비결 거래의 수익을 계산합니다.
예를 들어
strategy("`strategy.opentrades.profit` Example 2", pyramiding = 5)
// Strategy calls to enter 5 long positions every 2 bars.
if bar_index % 2 == 0
strategy.entry("Long", strategy.long, qty = 5)
// Calculate open profit or loss for the open positions.
tradeOpenPL() =>
sumProfit = 0.0
for tradeNo = 0 to strategy.opentrades - 1
sumProfit += strategy.opentrades.profit(tradeNo)
result = sumProfit
plot(tradeOpenPL(), "Profit of all open trades")
매개 변수
trade_num
(series int) 부산화되지 않은 거래의 거래 번호. 첫 거래의 번호는 0이다.안녕하세요
strategy.closedtrades.profit
strategy.openprofit
strategy.netprofit
strategy.grossprofit
평형화되지 않은 거래에서 거래 방향과 계약 수를 반환한다. 이 값이> 0이라면 시장 지위가 다중이다. 이 값이 < 0이라면 시장 지점이 빈다.
strategy.opentrades.size(trade_num)
예를 들어
strategy("`strategy.opentrades.size` Example 1")
// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
strategy.close("Long")
// Plot the number of contracts in the latest open trade.
plot(strategy.opentrades.size(strategy.opentrades - 1), "Amount of contracts in latest open trade")
평형화되지 않은 거래의 평균 이익의 비율을 계산합니다.
예를 들어
strategy("`strategy.opentrades.size` Example 2")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate profit for all open trades.
profitPct = 0.0
for tradeNo = 0 to strategy.opentrades - 1
entryP = strategy.opentrades.entry_price(tradeNo)
exitP = close
profitPct += (exitP - entryP) / entryP * strategy.opentrades.size(tradeNo) * 100
// Calculate average profit percent for all open trades.
avgProfitPct = nz(profitPct / strategy.opentrades)
매개 변수
trade_num
(series int) 부산화되지 않은 거래의 거래 번호. 첫 거래의 번호는 0이다.안녕하세요
strategy.closedtrades.size
strategy.position_size
strategy.opentrades
strategy.closedtrades
상장된 거래의 bar_index를 반환합니다.
strategy.closedtrades.entry_bar_index(trade_num)
예를 들어
strategy("strategy.closedtrades.entry_bar_index Example")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Function that calculates the average amount of bars in a trade.
avgBarsPerTrade() =>
sumBarsPerTrade = 0
for tradeNo = 0 to strategy.closedtrades - 1
// Loop through all closed trades, starting with the oldest.
sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())
매개 변수
trade_num
(series int) 거래가 평정된 거래 번호. 첫 거래 번호는 0이다.안녕하세요
strategy.closedtrades.exit_bar_index
strategy.opentrades.entry_bar_index
이 사이트는 이 사이트의 주요 사이트입니다.
strategy.closedtrades.exit_price(trade_num)
예를 들어
strategy("strategy.closedtrades.exit_price Example 1")
// We are creating a long trade every 5 bars
if bar_index % 5 == 0
strategy.entry("Long", strategy.long)
strategy.close("Long")
// Return the exit price from the latest closed trade.
exitPrice = strategy.closedtrades.exit_price(strategy.closedtrades - 1)
plot(exitPrice, "Long exit price")
모든 거래의 평균 수익의 비율을 계산합니다.
예를 들어
strategy("strategy.closedtrades.exit_price Example 2")
// Strategy calls to create single short and long trades.
if bar_index == last_bar_index - 15
strategy.entry("Long Entry", strategy.long)
else if bar_index == last_bar_index - 10
strategy.close("Long Entry")
strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
strategy.close("Short")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrades.entry_price(tradeNo)
exitP = strategy.closedtrades.exit_price(tradeNo)
profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)
plot(avgProfitPct)
매개 변수
trade_num
(series int) 거래가 평정된 거래 번호. 첫 거래 번호는 0이다.안녕하세요
strategy.closedtrades.entry_price
이식 거래에서 종료된 bar_index를 반환합니다.
strategy.closedtrades.exit_bar_index(trade_num)
예를 들어
strategy("strategy.closedtrades.exit_bar_index Example 1")
// Strategy calls to place a single short trade. We enter the trade at the first bar and exit the trade at 10 bars before the last chart bar.
if bar_index == 0
strategy.entry("Short", strategy.short)
if bar_index == last_bar_index - 10
strategy.close("Short")
// Calculate the amount of bars since the last closed trade.
barsSinceClosed = strategy.closedtrades > 0 ? bar_index - strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) : na
plot(barsSinceClosed, "Bars since last closed trade")
트랜잭션당 평균 K줄 수를 계산합니다.
예를 들어
strategy("strategy.closedtrades.exit_bar_index Example 2")
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Function that calculates the average amount of bars per trade.
avgBarsPerTrade() =>
sumBarsPerTrade = 0
for tradeNo = 0 to strategy.closedtrades - 1
// Loop through all closed trades, starting with the oldest.
sumBarsPerTrade += strategy.closedtrades.exit_bar_index(tradeNo) - strategy.closedtrades.entry_bar_index(tradeNo) + 1
result = nz(sumBarsPerTrade / strategy.closedtrades)
plot(avgBarsPerTrade())
매개 변수
trade_num
(series int) 거래가 평정된 거래 번호. 첫 거래 번호는 0이다.안녕하세요
bar_index
이 문서는 거래가 완료된 경우의 로그인 id를 반환합니다.
strategy.closedtrades.entry_id(trade_num)
예를 들어
strategy("strategy.closedtrades.entry_id Example", overlay = true)
var isOpen = false
var openIndex = -1
// Enter a short position and close at the previous to last bar.
if not barstate.ishistory and not isOpen
strategy.entry("Short at bar #" + str.tostring(bar_index), strategy.short)
isOpen := true
openIndex := bar_index
if openIndex != -1 and bar_index > openIndex + 100
strategy.close_all()
// Display ID of the last entry position.
if barstate.islastconfirmedhistory
runtime.log("Last Entry ID is: " + strategy.closedtrades.entry_id(strategy.closedtrades - 1))
값을 반환합니다.이 문서는 거래가 완료된 경우의 로그인 id를 반환합니다.
매개 변수
trade_num
(series int) 거래가 평정된 거래 번호. 첫 거래 번호는 0이다.참고자료만약 trade_num가 범위에 있지 않다면, 이 함수는 na:0을 strategy.closedtrades-1로 반환한다.
안녕하세요
strategy.closedtrades.entry_bar_index
strategy.closedtrades.entry_time
이 사이트는 이 사이트의 주요 사이트로 연결됩니다.
strategy.closedtrades.entry_price(trade_num)
예를 들어
strategy("strategy.closedtrades.entry_price Example 1")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Return the entry price for the latest entry.
entryPrice = strategy.closedtrades.entry_price(strategy.closedtrades - 1)
plot(entryPrice, "Long entry price")
모든 거래의 평균 수익의 비율을 계산합니다.
예를 들어
strategy("strategy.closedtrades.entry_price Example 2")
// Strategy calls to create single short and long trades
if bar_index == last_bar_index - 15
strategy.entry("Long Entry", strategy.long)
else if bar_index == last_bar_index - 10
strategy.close("Long Entry")
strategy.entry("Short", strategy.short)
else if bar_index == last_bar_index - 5
strategy.close("Short")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrades.entry_price(tradeNo)
exitP = strategy.closedtrades.exit_price(tradeNo)
profitPct += (exitP - entryP) / entryP * strategy.closedtrades.size(tradeNo) * 100
// Calculate average profit percent for both closed trades.
avgProfitPct = nz(profitPct / strategy.closedtrades)
plot(avgProfitPct)
매개 변수
trade_num
(series int) 거래가 평정된 거래 번호. 첫 거래 번호는 0이다.안녕하세요
strategy.closedtrades.exit_price
strategy.closedtrades.size
strategy.closedtrades
유니크스 시기를 반환합니다.
strategy.closedtrades.entry_time(trade_num)
예를 들어
strategy("strategy.closedtrades.entry_time Example", overlay = true)
// Enter long trades on three rising bars; exit on two falling bars.
if ta.rising(close, 3)
strategy.entry("Long", strategy.long)
if ta.falling(close, 2)
strategy.close("Long")
// Calculate the average trade duration
avgTradeDuration() =>
sumTradeDuration = 0
for i = 0 to strategy.closedtrades - 1
sumTradeDuration += strategy.closedtrades.exit_time(i) - strategy.closedtrades.entry_time(i)
result = nz(sumTradeDuration / strategy.closedtrades)
// Display average duration converted to seconds and formatted using 2 decimal points
if barstate.islastconfirmedhistory
runtime.log(str.tostring(avgTradeDuration() / 1000, "#.##") + " seconds")
매개 변수
trade_num
(series int) 거래가 평정된 거래 번호. 첫 거래 번호는 0이다.안녕하세요
strategy.opentrades.entry_time
strategy.closedtrades.exit_time
time
적립된 거래의 수익과 손실을 반환합니다. 손실은 부정적인 값으로 표시됩니다.
strategy.closedtrades.profit(trade_num)
예를 들어
strategy("`strategy.closedtrades.profit` Example")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate average gross profit by adding the difference between gross profit and commission.
avgGrossProfit() =>
sumGrossProfit = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
sumGrossProfit += strategy.closedtrades.profit(tradeNo) - strategy.closedtrades.commission(tradeNo)
result = nz(sumGrossProfit / strategy.closedtrades)
plot(avgGrossProfit(), "Average gross profit")
매개 변수
trade_num
(series int) 거래가 평정된 거래 번호. 첫 거래 번호는 0이다.안녕하세요
strategy.opentrades.profit
strategy.closedtrades.commission
평준화 된 거래의 거래 방향과 계약 수를 반환한다. 이 값이 0 이상인 경우, 시장 포지션은 멀티 헤드이다. 이 값이 0 이상인 경우, 시장 포지션은 빈 헤드이다.
strategy.closedtrades.size(trade_num)
예를 들어
strategy("`strategy.closedtrades.size` Example 1")
// We calculate the max amt of shares we can buy.
amtShares = math.floor(strategy.equity / close)
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars
if bar_index % 15 == 0
strategy.entry("Long", strategy.long, qty = amtShares)
if bar_index % 20 == 0
strategy.close("Long")
// Plot the number of contracts traded in the last closed trade.
plot(strategy.closedtrades.size(strategy.closedtrades - 1), "Number of contracts traded")
평준화 거래의 평균 수익 비율을 계산합니다.
예를 들어
strategy("`strategy.closedtrades.size` Example 2")
// Strategy calls to enter long trades every 15 bars and exit long trades every 20 bars.
if bar_index % 15 == 0
strategy.entry("Long", strategy.long)
if bar_index % 20 == 0
strategy.close("Long")
// Calculate profit for both closed trades.
profitPct = 0.0
for tradeNo = 0 to strategy.closedtrades - 1
entryP = strategy.closedtrade
우우오안어떻게 하면 여러 거래가 동시에 실행될 수 있을까요?
가벼운 구름JS처럼 트레이딩을 통해 트레이딩을 할 수 있나요? 감사합니다.
리사20231자세한 문서 제공 감사합니다.
예술오케이! 이 파이인 스크립트는 어떻게 okex의 모티브 디스크를 플랫폼에서 사용할 수 있을까요?
예술이것은 TradingView 플랫폼의 전략을 직접 발명가 플랫폼에 복사하여 사용할 수 있는 것과 같습니다.
발명가들의 수량화 - 작은 꿈PINE 언어는 단종 정책을 수행할 수 있으며, 다종 정책은 파이썬, 자바스크립트, C++로 작성하는 것이 좋습니다.
발명가들의 수량화 - 작은 꿈오, 네, OKX는 특이하게도, 그들의 아날로그 환경과 실제 환경은 같은 주소를 가지고 있지만 다른 곳에서 차이를 만듭니다. 그래서 아날로그 디스크로 전환하는 데 기본 주소를 바꿀 방법이 없습니다.
가벼운 구름okx 모형 디스크는 사용할 수 없습니다.
발명가들의 수량화 - 작은 꿈이 다채로운 구조의 문제는 해결되지 않습니다. 각 거래소의 인터페이스가 다르기 때문에, 인터페이스 주파수 제한이 다르기 때문에 많은 문제가 발생할 수 있습니다.
발명가들의 수량화 - 작은 꿈좋은 소식입니다.
가벼운 구름JS와 혼용하는 것이 가장 좋다고 느껴지고, JS는 다양한 거래 방식에 더 잘 적응할 수 있습니다.
트렌드 사냥꾼그리고 그 다음에는 다양한 품종을 고려할 것인가? 매매 가격은 모든 품종에 걸쳐 적용됩니다.
발명가들의 수량화 - 작은 꿈이 모든 것은 매우 무례합니다.
가벼운 구름좋은, 감사합니다.
발명가들의 수량화 - 작은 꿈안녕하세요, PINE 언어 전략은 한 가지 종류만 사용할 수 있습니다.
발명가들의 수량화 - 작은 꿈이 문서는 이 문서를 계속 개선해 나갈 것입니다.
발명가들의 수량화 - 작은 꿈네, 그렇습니다.
발명가들의 수량화 - 작은 꿈PINE 템플릿 클래식 라이브러리, 매개 변수에 스위치 거래소의 기본 주소를 설정할 수 있다. 문서의 시작: PINE 언어 거래 클래식 라이브러리 템플릿 매개 변수.