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

FMZ PINE 스크립트 문서

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

값을 반환합니다.행렬 요소의 중위수.

매개 변수

  • id(int[]/float[]) 배열 객체.

안녕하세요 array.avg array.variance array.min

array.mode

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

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

배열값의 지정된 비율 (%) 를 그 값보다 작거나 같을 때 선형 삽입값을 사용합니다.

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

가장 가까운 순위 방법을 사용하여 지정된 비율의 대수수값 (퍼센트) 이 그 값보다 작거나 같다는 값을 반환한다.

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

array.percentrank

%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

이 함수는 주어진 배열의 최소값과 최대값 사이의 차이를 반환한다.

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

이 함수는 지정된 인덱스를 가진 요소를 삭제하여 배열의 내용을 변경합니다.

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

이 함수는 배열을 뒤집는다. 첫 번째 배열 요소가 마지막으로 변하고 마지막 배열 요소가 첫 번째로 변한다.

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

array.from

이 함수는 다음과 같은 타입의 변수 개수 변수 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) 정렬 변수.

array.new

이 함수는 새로운<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

array.new_bool

이 함수는 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) 모든 계열 요소의 초기 값이다. 선택된다. 기본 값은 na이다.

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

안녕하세요 array.new_float array.get array.slice array.sort

array.new_float

이 함수는 새로운 부동 소수자 원소 배열 개체를 생성합니다.

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) 모든 일련 요소의 초기 값이다. 선택이다. 기본 값은 na이다.

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

안녕하세요 array.new_bool array.get array.slice array.sort

array.new_int

이 함수는 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

이 함수는 문자열 타입의 요소를 가진 새로운 배열 객체를 생성합니다.

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

이 함수는 지정된 인덱스 지점 요소의 값을 반환합니다.

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

이 함수는 행렬에 값을 추가합니다.

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

이 함수는 요소의 값을 지정된 인덱스로 설정합니다.

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

이 함수는 배열 요소의 합을 반환합니다.

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

이 함수는 배열 요소의 평균값을 반환합니다.

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

array.indexof

이 함수는 값이 처음 나타나는 인덱스를 반환한다. 값이 발견되지 않으면 -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이 함수들의profitloss변수점으로 표시되는 중지, 중지, 변수profit10로 설정하면 가격 점프가 10로 증가하여 가격 점프가 기본 변수입니다.syminfo.mintick

전략

이 함수는 여러 가지 정책 속성을 설정합니다. 참고로, 스피커는 지원만 합니다.titleshorttitleoverlaypyramidingdefault_qty_typedefault_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라면 - 그것은 개별 차트 에 추가된다. 기본값은 false이다.
  • format(const string) 가격축에 형식화된 지표값의 유형 가능한 값은:format.inherit、format.price、format.volume。예정된 format.inherit。
  • precision(const int) 가격축에 지표값의 유동점 숫자 뒤에 있는 단위. 그것은 비부수적 정수이고 16보다 크지 않아야 한다. 만약 빼면, 부모 시리즈의 형식을 사용한다. 만약 format이 format.inherit이고 이 매개 변수를 설정한다면, format은 format.price로 변한다.
  • scale(scale_type) 지표는 가격 좌표와 함께 있어야 한다. 가능한 값은: scale.right, scale.left, scale.none이다.
  • pyramiding(const int) 같은 방향에서 허용되는 최대 수. 만약 이 값이 0이라면, 같은 방향에서 오직 하나의 입구 주문만 열 수 있으며, 다른 모든 입구 주문은 거부될 것이다. 기본 값은 0이다.
  • calc_on_order_fills(const bool) 추가적인 인트라바 명령 계산. 만약 파라그램이?? true로 설정된다면, K줄 안에 있는 명령이 채운 후에 정책이 다시 계산됩니다.
  • calc_on_every_tick(const bool) 추가적인 인트라바 정책 계산. 만약 변수가 true이라면, 정책은 k줄을 닫지 않고 실시간으로 각 지점을 계산한다. 이 변수는 역사적 데이터의 정책 계산에 영향을 주지 않는다. 기본값은 false이다.
  • max_bars_back(const int) 는 역사 참조 정책에 사용할 수 있는 최대 값이다. 스크립트 코드가 변수의 역사 데이터를 참조하는 경우 ([]' 연산자를 사용하는 경우) 이 매개 변수는 스크립트 내의 모든 내장 변수 또는 사용자 변수에 적용된다. 파이인 스크립트 내의 변수 버퍼 영역 크기는 일반적으로 자동으로 검출된다. 그러나 어떤 경우에는 불가능하며, 이것이 매개 변수가 사용자가 수동으로 이 값을 아래로 설정하도록 허용하는 이유입니다. 참고: 매개 변수 대신 max_bars_back 함수를 사용하는 것이 가장 좋습니다. 이는 하나의 변수에만 적용되기 때문입니다.
  • backtest_fill_limits_assumption(const int) 한정单执行假设. 시가격이 한정单 수준에서 지정된 틱의 수를 초과할 때만 한정单이 인트라바에서 거래된다.
  • 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 함수의 기본 거래 횟수, 그들의 qty변수가 정의되지 않은 경우, 그 단위는 default_qty_type?? 변수와 함께 사용되는 변수에 의해 결정된다.
  • currency(const string) 이 정책의 계정 화폐는 옵션입니다. 기본 값은 차트 상의 상품의 화폐입니다. 가능한 값은 currency.NONE, currency.USD, currency.EUR, currency.AUD, currency.GBP, currency.NZD, currency.CAD, currency.CHF, currency.HKD, currency.JPY, currency.NOK, currency.SEK, currency.SGD, currency.TRY, currency.ZAR, currency.BTC, currency.ETH, currency.MYR, currency.KRW입니다.
  • slippage(const int) 틱을 제안 단위로 하는 슬라이드 포인트는 구매/판매 시가 또는 스톱 손실 명령어의 거래 가격에서 증가/ 감소된다. 만약 미니트릭 = 0.01이고 슬라이드 포인트 = 5라면, 전체 슬라이드 포인트는 5 * 0.01 = 0.05이다.
  • commission_type(const string) 각 주문의 수수료 종류. 허용된 값은:strategy.commission.percent (오र्डर의 현금의 비율),strategy.commission.cash_per_contract (당 계약의 계정 통화로 금액을 표시),strategy.commission.cash_per_order (당 주문의 계정 통화로 금액을 표시) 이다.
  • commission_value(const int/float) 주문 수수료 값;; 선택된 종류에 따라 ( 수수료 종류) 비율 또는 금액을 포함합니다;;
  • process_orders_on_close(const bool) 를 true 로 설정하면, 가 닫히고 전략 계산이 완료된 후 실행 명령을 생성하는 다른 시도를 합니다. 만약 주문이 시장 가격 주문이라면, 브로커 시뮬레이터는 다음 가 열리기 전에 그들을 실행합니다. 만약 주문이 한정 가격이라면, 가격 조건이 충족될 때만 주문을 실행합니다. 만약 현재 의 포지션을 닫으려면 이 옵션이 유용합니다. 기본값은 false 입니다.
  • close_entries_rule(const string) 명령 종료 순서를 결정한다. 허용된 값은: FIFO 또는 ANY이다. FIFO (선생님, 선생님; First-In, First-Out) 는 여러 거래가 열릴 때 가장 먼저 거래가 종료되어야 함을 의미합니다. 이 규칙은 주식, 선물 및 미국 외환 (NFA 준수 규칙 2-43b) 에 적용됩니다.
  • max_lines_count(const int) 최근 줄무늬의 수를 표시합니다. 기본값은 50이고 최대 허용값은 500입니다.
  • max_labels_count(const int) 최근 태그 그림의 수를 표시합니다. 기본값은 50이고 최대 허용값은 500입니다.
  • max_boxes_count(const int) 표시되는 마지막 박스 그림의 수. 기본값은 50이고 허용된 최대값은 500이다.
  • margin_long(const int/float) 다중보증금 (multi-headed collateral) 은 다중보증금 (multi-headed position) 의 가격의 비율로 금전 또는 모기지로 덮여 있어야 한다. 부정적이어야 한다. 선택된다. 기본값은 100이다.
  • margin_short(const int/float) 빈장 보증금은 현금 또는 모기지로 뒷받침되어야 하는 빈장 포지션의 증권 구매 가격의 비율이다. 부정적이어야 한다. 선택된다. 기본값은 100이다.
  • explicit_plot_zorder(const bool) 지표의 도표, 채식 및 수평선의 표현 순서를 지정한다. true가 되면 지표 코드에서 나타나는 순서에 따라 도표를 그리며, 각각의 새로운 도표는 이전 도표 위에 그려진다. 이것은 plot*() 함수, fill 및 hline에만 적용된다. 선택된다. 기본값은??false이다.
  • initial_capital(const int/float) 초기에는 전략 거래에 사용할 수 있는 자금 양을 표기하기 위해 동전 주머니에 정의된 화폐를 나타냅니다. 옵션입니다. 기본값은 1000000입니다.
  • risk_free_rate(const int/float) 위험 없는 수익률은 위험성이 최소 또는 0인 투자 가치의 연간 비율 변화이며, 샤르페와 소르티노 비율을 계산하기 위해 사용된다. 기본값은 2이다.

참고자료모든 전략 스크립트에는 전략 호출이 있어야 합니다. Calc_on_every_tick = true라는 매개 변수를 사용하는 파인스크립트 코드는 역사 기록과 실시간 데이터에 대해 다른 계산을 수행할 수 있습니다. 비표준형 차트를 전략의 기초로 사용할 때 결과는 다를 수 있다는 것을 알아야 합니다. 주문은 이 테이블의 가격에 실행됩니다 (예를 들어, Heikin Ashi를 위해 Heikin Ashi의 가격을 사용할 것입니다 (평균) 실제 시장 가격이 아닙니다). 따라서, 우리는 당신이 당신의 전략에서 표준 차트 유형을 사용하는 것을 강력히 권장합니다.

안녕하세요 indicator

strategy.entry

이것은 시장에 들어가는 명령이다. 같은 ID의 주문이 이미 붙어있는 경우 주문을 수정할 수 있다. ID가 지정되지 않은 경우 새로운 주문이 발송된다. 입장 명령어를 종료하려면 명령어 strategy.cancel 또는 strategy.cancel_all을 사용해야 한다. 전략.order 기능과 달리, 전략.entry 기능은 피라미드 영향을 받아 시장 위치를 올바르게 뒤집을 수 있다. 만약 Limitstop의 매개 변수가 모두 NaN이라면, 주문 유형은 시장 주문이다.

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(series string) 선택 가능한 변수. 명령어는 OCA 그룹 이름에 속한다. 명령어는 어떤 OCA 그룹에도 속하지 않으면 빈 문자가 있어야 한다.참고: FMZ는 이 매개 변수를 지원하지 않습니다.
  • oca_type(input string) 선택 가능한 매개 변수─오카 주문 그룹 유형─ 허용 값은:strategy.oca.none - 주문은 특정 OCA 그룹에 속하지 않아야 한다; strategy.oca.cancel - 주문은 OCA 그룹에 속해야 하며, 일단 주문이 거래되면 같은 그룹에 있는 다른 모든 주문은 취소된다; strategy.oca.reduce - 주문은 OCA 그룹에 속해야 하며, 만약 주문 계약의 X 수가 배치되어 있다면, 같은 OCA 그룹에 있는 다른 주문의 숫자는 X로 감소한다─참고: FMZ는 이 매개 변수를 지원하지 않습니다.
  • comment(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명.
  • when(series bool) 선택 가능한 매개변수↑ 명령어 상태↑ true 경우, 명령어가 배치된다↑ false 경우, 아무 일도 일어나지 않는다↑ 이전에 배치된 동일한 ID의 명령어가 취소되지 않는다。 기본값은 true이다。
  • alert_message(series string) 가 경고 대화 상자에서 메시지 필드에 {{strategy.order.alert_message}}를 사용했을 때 선택 가능한 매개 변수.

strategy.close

이 명령은 지정된 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) 선택 가능한 매개 변수 ▲ 거래에서 탈퇴한 계약/주식 수/손수/단위 수;; 기본값은 NaN
  • qty_percent(series int/float) 는 평점의 비율을 정의합니다. (0-100);; 그것의 우선 순위는 qty?? 의 우선 순위보다 낮습니다. ▲ 옵션입니다. ▲ 기본값은 100입니다.
  • comment(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명.
  • alert_message(series string) 가 경고 대화 상자에서 메시지 필드에 {{strategy.order.alert_message}}를 사용했을 때 선택 가능한 매개 변수.

전략. close_all

현재 시장을 탈퇴하고 평평하게 유지하라.

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) 가 경고 대화 상자에서 메시지 필드에 {{strategy.order.alert_message}}를 사용했을 때 선택 가능한 매개 변수.

strategy.exit

이것은 입구 또는 전체 시장 지위를 지정하는 탈퇴 명령이다. 같은 ID의 주문이 이미 붙어있는 경우 명령을 수정할 수 있다. 입구 주문이 완료되지 않고 탈퇴 명령이 나타나면 출퇴 명령은 입구 주문이 완료된 후 탈퇴 명령이 배치될 때까지 잠정적으로 유지된다. 탈퇴 명령을 중지하려면 명령어 strategy.cancel 또는 strategy.cancel_all을 사용해야 한다.应该多次调用命令strategy.exit▲ 만약 당신이 StopLoss와 Tracking StopLoss을 사용한다면, 그 오더 타입은 Stop이고, 그 중 하나만 배치될 것이다. (첫 번째로 거래될 것이다.) ▲ 만약 다음 모든 매개 변수들인 Profit, Limit, Loss, Stop, Trail_points, Trail_Offset이 NaN이라면, 오더는 실패할 것이다. 시장 오더를 사용하려면 strategy.close 또는 strategy.close_all를 사용해야 한다.

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) 선택 가능한 매개 변수 ▲ 거래에서 탈퇴한 계약/주식 수/손수/단위 수;; 기본값은 NaN
  • qty_percent(series int/float) 는 평점의 비율을 정의합니다. (0-100);; 그것의 우선 순위는 qty?? 의 우선 순위보다 낮습니다. ▲ 옵션입니다. ▲ 기본값은 100입니다.
  • profit(series int/float) 선택 가능한 매개 변수─이익 목표 (점으로 표시) ─ 지정된 경우, 지정된 이윤 (점으로 표시) 에 도달하면 제한 가격 주문으로 시장 지위를 종료한다─ 기본값은 NaN NaN이다─
  • limit(series int/float) 선택 가능한 매개 변수─이익 목표 (값을 지정해야 한다) ─ 지정된 경우, 지정된 가격 (또는 더 나은) 으로 시장 입장에서 탈퇴한다─ 매개 변수 limit의 우선 순위가 매개 변수 profit의 우선 순위보다 높다─ 비NaN의 경우 limitprofit을 대체한다─ 기본값은 NaN이다.
  • loss(series int/float) 선택 가능한 매개 변수。 Stop Loss (점으로 표시)。 지정된 경우, 지정된 손실 금액 (점) 이 도달하면 Stop Loss (점으로 표시) 로 시장 지위를 종료한다。 기본값은 NaN NaN이다。
  • stop(series int/float) 선택 가능한 매개 변수。 Stop Loss (값을 지정해야 한다). 지정된 경우, 지정된 가격 (값) 또는 더 나쁜 가격 (값) 으로 시장 지위를 종료한다. 매개 변수 Stop Loss (손실) 는 매개 변수 Loss (손실) 보다 더 우선된다.
  • trail_price(series int/float) 선택 가능한 매개 변수: 트래킹 스톱 로스 활성화 레벨 (값을 지정해야 한다). 지정된 경우, 지정된 가격 수준에 도달할 때 트래킹 스톱 로스 리스트가 배치된다. 트레일_오프셋 매개 변수에서 트래킹 스톱 로스 리스트의 초기 가격을 결정하는 오프셋을 지정한다. 점수로: X 포인트가 활성화 레벨보다 낮으면 다중출출; X 포인트가 활성화 레벨보다 높으면 빈자리에서 빠져나간다. 기본값은 NaN이다.
  • trail_points(series int/float) 선택 가능한 파라미터: 트래킹 스톱 로스 활성화 레벨 (점으로 표시된 이익) 만약 지정된 경우 계산된 가격 수준 (점으로 표시된 이익 금액) 에 도달하면 트래킹 스톱 로스 리스트가 배치된다. 트레일_오프셋 의 파라미터에서 트래킹 스톱 로스 리스트의 초기 가격을 결정하는 오버레이션 값을 지정한다: X 포인트는 멀티 헤드 탈퇴를 위해 활성화 레벨보다 낮고 X 포인트는 빈 헤드 탈퇴를 위해 활성화 레벨보다 높다.
  • trail_offset(series int/float) 선택 가능한 매개 변수. 트래킹 스톱 손실 활성화 수준 (점으로 표시) 점으로 표시되는 오차는 트래킹 스톱 손실 목록의 초기 가격을 결정하는 데 사용됩니다. X 포인트가 트레일_프라이스 또는 '트레일_포인트보다 낮습니다. X 포인트가 트레일_프라이스 또는 '트레일_포인트보다 높습니다. 기본값은 NaN입니다.
  • oca_name(series string) 선택 가능한 매개 변수 ▲ OCA 그룹 이름 (oca_type = strategy.oca.reduce) 이익 목표, 중단/후속 중단 ▲ 이름 지정하지 않은 경우 자동으로 생성됩니다。참고: FMZ는 이 매개 변수를 지원하지 않습니다.
  • comment(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명.
  • when(series bool) 선택 가능한 매개변수↑ 명령어 상태↑ true 경우, 명령어가 배치된다↑ false 경우, 아무 일도 일어나지 않는다↑ 이전에 배치된 동일한 ID의 명령어가 취소되지 않는다。 기본값은 true이다。
  • alert_message(series string) 가 경고 대화 상자에서 메시지 필드에 {{strategy.order.alert_message}}를 사용했을 때 선택 가능한 매개 변수.

strategy.cancel

이 명칭은 모든 예약 목록의 취소/실용 중지 명령을 참조하여 다음과 같은 기능으로 생성됩니다.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이다.

전략.cancel_all

这是取消/停用所有预挂单命令,由以下功能生成: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) 선택 가능한 변수↑ 모든 명령어 조건 취소↑ 조건이 사실이라면 모든 활동 명령어가 취소↑ 기본값은 true

strategy.order

이 명령은 다음 명령이다. 같은 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(series string) 선택 가능한 변수. 명령어는 OCA 그룹 이름에 속한다. 명령어는 어떤 OCA 그룹에도 속하지 않으면 빈 문자가 있어야 한다.참고: FMZ는 이 매개 변수를 지원하지 않습니다.
  • oca_type(input string) 선택 가능한 매개 변수─오카 주문 그룹 유형─ 허용 값은:strategy.oca.none - 주문은 특정 OCA 그룹에 속하지 않아야 한다; strategy.oca.cancel - 주문은 OCA 그룹에 속해야 하며, 일단 주문이 거래되면 같은 그룹에 있는 다른 모든 주문은 취소된다; strategy.oca.reduce - 주문은 OCA 그룹에 속해야 하며, 만약 주문 계약의 X 수가 배치되어 있다면, 같은 OCA 그룹에 있는 다른 주문의 숫자는 X로 감소한다─참고: FMZ는 이 매개 변수를 지원하지 않습니다.
  • comment(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명.
  • when(series bool) 선택 가능한 매개변수↑ 명령어 상태↑ true 경우, 명령어가 배치된다↑ false 경우, 아무 일도 일어나지 않는다↑ 이전에 배치된 동일한 ID의 명령어가 취소되지 않는다。 기본값은 true이다。
  • alert_message(series string) 가 경고 대화 상자에서 메시지 필드에 {{strategy.order.alert_message}}를 사용했을 때 선택 가능한 매개 변수.

strategy.opentrades.entry_bar_index

그라운드 트레이드 출입을 하지 않은 bar_index 를 반환한다.

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는 거래에 대한 입력 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

비결 거래의 수익과 손실을 반환합니다. 손실은 부정적인 값으로 표시됩니다.

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

strategy.opentrades.size

평형화되지 않은 거래에서 거래 방향과 계약 수를 반환한다. 이 값이> 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

이 문서는 거래가 완료된 경우의 로그인 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

적립된 거래의 수익과 손실을 반환합니다. 손실은 부정적인 값으로 표시됩니다.

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

strategy.closedtrades.size

평준화 된 거래의 거래 방향과 계약 수를 반환한다. 이 값이 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 언어 거래 클래식 라이브러리 템플릿 매개 변수.