FMZ PINE 스크립트 문서

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

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

매개 변수 - id(int[]/float[]) 배열 객체.

안녕하세요


### array.mode

该函数返回阵列元素的模式。如果有多个具有相同频率的值,则返回最小值。

array.mode ((id)


**例子**
```pine
// 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.percentile_linear_interpolation

返回数组值的指定百分比(百分位数)小于或等于它的值,使用线性插值。

array.percentile_linear_interpolation ((id, 퍼센트)


**参数**
- ```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, 퍼센트)


**参数**
- ```id``` (int[]/float[]) 阵列对象。
- ```percentage``` (series int/float) 必须等于或小于返回值的值的百分比。

**备注**
在统计数据中,百分位是出现在某个分数或低于某个分数的排名项目的百分比。 此测量显示低于您正在测量的百分排名的标准频率分布中的分数百分比。

**另见**
```array.new_float``` ```array.insert``` ```array.slice``` ```array.reverse``` ```order.ascending``` ```order.descending```

### array.percentrank

返回阵列中值的百分位排名。

array.percentrank ((id, 인덱스)


**参数**
- ```id``` (int[]/float[]) 阵列对象。
- ```index``` (series int) 计算其百分排名的值。

**备注**
百分位排名是数组中有多少元素小于或等于参考值的百分比。

**另见**
```array.new_float``` ```array.insert``` ```array.slice``` ```array.reverse``` ```order.ascending``` ```order.descending```

### array.range

该函数返回给定数组的最小值和最大值之间的差。

array.range ((id)


**例子**
```pine
// 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.remove

该函数通过删除具有指定索引的元素来更改阵列的内容。

```array.remove(id, index)```

**例子**
```pine
// 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.reverse

此函数反转阵列。第一个阵列元素变成最后一个,最后一个阵列元素变成第一个。

array.reverse ((id)


**例子**
```pine
// 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.from

该函数采用以下类型之一的可变数量的参数:int、float、bool、string、line、color、linefill,并返回相应类型的阵列。

array.from ((arg0, arg1,...)


**例子**
```pine
// 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 <type>) 모든 계열 요소의 초기 값이다. 선택된다. 기본 값은 na이다.

참고자료배열 인덱스는 0에서 시작합니다. 배열을 초기화하고 동시에 모든 요소를 지정하려면 array.from 함수를 사용합니다.

안녕하세요


### array.new_bool

此函数创建一个由bool类型的元素组成的新阵列对象。

array.new_bool ((size, initial_value)


**例子**
```pine
// 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.new_float ((size, initial_value)


**例子**
```pine
// 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_int

该函数创建一个由int类型的元素组成的新阵列对象。

array.new_int ((size, initial_value)


**例子**
```pine
// 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_string

该函数创建一个字符串类型元素的新阵列对象。

array.new_string ((size, initial_value) 의 값)


**例子**
```pine
// 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.get

该函数返回指定索引处元素的值。

```array.get(id, index)```

**例子**
```pine
// 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.push

该函数将一个值附加到阵列。

array.push ((id, 값)


**例子**
```pine
// 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.set

该函数将元素的值设置为指定的索引。

array.set ((id, 인덱스, 값)


**例子**
```pine
// 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.sum

该函数返回阵列元素的总和。

array.sum ((id)


**例子**
```pine
// 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.avg

该函数返回阵列元素的均值。

array.avg (id)


**例子**
```pine
// 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.indexof

此函数返回值首次出现的索引。如果找不到该值,则返回 -1。

array.indexof ((id, 값)


**例子**
```pine
// 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>) 행렬에서 검색해야 하는 값이다.

안녕하세요


## strategy

在```strategy```相关的内置函数中,止损点数、止盈点数定义为价格一跳的倍数。例如```strategy.exit```函数的```profit```、```loss```参数以点表示止损、止盈,参数```profit```设置为10,即价格一跳乘以10作为止盈价差,价格一跳即内置变量```syminfo.mintick```。

### strategy

该函数设置了多个策略属性。
注意,传参仅支持```title```,```shorttitle```,```overlay```,```pyramiding```,```default_qty_type```,```default_qty_value```参数,其它参数可以通过PINE语言策略的界面参数设置。

전략 (목표, 단칭, 덮개, 형식, 정확성, 규모, 피라미딩, 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, maxlines_count, max_labels_count, max_boxes_count, risk_free)


**例子**
```pine
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줄 안에 있는 명령이 채운 후에 정책이 다시 계산될 것이다. 기본값은 false이다. - 아뇨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) 에 적용됩니다. ANY 는 거래가 어떤 순서로든 종료될 수 있다는 것을 의미합니다. 이것은 비미국 외환 거래에서 허용됩니다. 기본 값은 FIFO 입니다. - 아뇨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) 다중보증액은 다중 포지션이 현금이나 모호로 덮여 있어야 하는 증권의 구매 가격의 비율이다. 비부작용적이어야 한다. 선택적이어야 한다. 기본값은 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의 가격을 사용할 것입니다 (평균) 실제 시장 가격이 아닙니다). 따라서, 우리는 당신이 당신의 전략에서 표준 차트 유형을 사용하는 것을 강력히 권장합니다.

안녕하세요


### strategy.entry

这是进入市场的命令。 如果具有相同ID的订单已经挂起,则可修改订单。 如果没有指定ID的订单,则会发出新的订单。 要停用进场指令,应使用命令strategy.cancel或strategy.cancel_all。 与函数strategy.order相比,strategy.entry功能受金字塔影响,可以正确反转市场位置。 如果“Limit”和“stop”参数均为“NaN”,则订单类型为市场订单。

strategy.entry ((id, 방향, qty, 제한, 중지, oca_name, oca_type, 댓글, 언제, 경고_메시지)


**例子**
```pine
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) 선택 가능한 매개 변수. 명령의 중지 손실 가격. 지정된 경우, 명령 유형은 스톱 또는 스톱-리미트이다. 다른 명령 유형은 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를 가진 명령어가 취소되지 않는다. - 아뇨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 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가 한 번 호출되면 한 번만 탈퇴한다. 만약 출퇴 기능을 사용하면 여러 번 호출하면 명령어 strategy.exit 또는 strategy.trail.strategy.trail.strategy.strategy.strategy.strategy.trail.strategy.strategy.strategy.trail.strategy.strategy.strategy.trail.strategy.strategy.trail.strategy.strategy.trail.strategy.strategy.trail.strategy.strategy.trail.strategy.strategy.trail.strategy.strategy.trail.strategy.trail.strategy.strategy.trail.

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 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) 선택 가능한 매개 변수─금지손실 (점으로 표시) ─ 지정된 경우, 지정된 손실액 (점으로 표시) 에 도달할 때 금지손실单으로 시장 지위를 탈퇴한다─ 기본값은 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점 더 낮은 trail_price?? or trail_points?? 다중출출을 위해; X점 더 높은 trail_price?? or trail_points?? 공백출출을 위해─ 기본값은 NaN이다. - 아뇨oca_name(series string) 선택 가능한 매개 변수 ▲ OCA 그룹 이름 (oca_type = strategy.oca.reduce) 이익 목표, 중단/후속 중단 ▲ 이름 지정하지 않은 경우 자동으로 생성됩니다。참고: FMZ는 이 매개 변수를 지원하지 않습니다. - comment(series string) 선택 가능한 매개 변수. 명령에 대한 다른 설명. - 아뇨when(series bool) 선택 가능한 매개 변수. 명령어의 상태. true () 를 사용하면 명령어가 배치된다. false () 를 사용하면 아무 일도 일어나지 않는다. 같은 ID를 가진 명령어가 취소되지 않는다. - 아뇨alert_message(series string) 가 경고 대화 상자에서 메시지 필드에 {{strategy.order.alert_message}}를 사용했을 때 선택 가능한 매개 변수.

strategy.cancel

이 명칭은 모든 예약 목록의 취소/실용 중지 명령을 참조하여 다음과 같은 기능으로 생성됩니다: strategy.order, strategy.entry and 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) 선택 가능한 매개 변수. 명령의 중지 손실 가격. 지정된 경우, 명령 유형은 스톱 또는 스톱-리미트이다. 다른 명령 유형은 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를 가진 명령어가 취소되지 않는다. - 아뇨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.opentrades.entry_id

返回未平仓交易的入场的ID。

전략.오프엔트레이드.입구 ID (거래 번호)


**例子**
```pine
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_price

返回未平仓交易的入场价格。

전략.오프트레이드.출입 가격 (거래 번호)


**例子**
```pine
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.opentrades.entry_time

返回未平仓交易入场的UNIX时间。

전략.오프트레이드.출입 시간 (거래 번호)


**例子**
```pine
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.opentrades.profit

返回未平仓交易的盈亏。损失表示为负值。

전략.오프트레이드.이익


返回最后开仓交易的利润

**例子**
```pine
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.opentrades.size

返回未平仓交易中的交易方向和合约数量。如果该值>0,则市场仓位为多头。如果该值<0,则市场仓位为空头。

전략.오프엔트레이드.사이즈 (trade_num)


**例子**
```pine
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.entry_bar_index

返回已平仓交易入场的bar_index。

전략.폐쇄 거래.입기_바_인덱스 (거래_번호)


**例子**
```pine
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_price

返回已平仓交易的出场价格。

전략.결결 거래.출출 가격 (거래 번호)


**例子**
```pine
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.exit_bar_index

返回已平仓交易退出的bar_index。

전략.폐기된 거래.출구_바_인덱스 (거래_번호)


**例子**
```pine
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이다.

안녕하세요


### strategy.closedtrades.entry_id

返回已平仓交易的入场的id。

전략.폐기된 거래.입기_id (거래_번호)


**例子**
```pine
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_price

返回已平仓交易的入场价格。

전략.폐쇄 거래.입시 가격 (거래 번호)


**例子**
```pine
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.entry_time

返回已平仓交易入场的UNIX时间。

전략.폐쇄 거래.입시 시간 (거래 번호)


**例子**
```pine
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.closedtrades.profit

返回已平仓交易的盈亏。损失表示为负值。

전략.폐쇄 거래.이익 (trade_num)


**例子**
```pine
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.closedtrades.size

返回已平仓交易中的交易方向和合约数量。如果该值>0,则市场仓位为多头。 如果该值<0,则市场仓位为空头。

전략.폐기된 거래.대화 (거래 번호)


**例子**
```pine
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")

평준화 거래의 평균 수익 비율을 계산합니다.

예를 들어pine strategy("전략.폐쇄 거래.대량 △ 예제 2)

// 전략은 15바르마다 긴 거래를 하고 20바르마다 긴 거래를 하라고 합니다. if bar_index % 15 == 0 전략.입구 (Long, strategy.long) if bar_index % 20 == 0 전략.결결 (Long)

// 두 개의 닫힌 거래에 대한 수익을 계산합니다. 이윤Pct = 0.0 트레이드No = 0에 전략.결결 트레이드 - 1 엔트리P = 전략.결정 거래


더 많은 내용

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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