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

FMZ PINE 스크립트 문서

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

지표 값은 더 긴 화살표가 그려질수록 높습니다.

plotarrow(series, title, colorup, colordown, offset, minheight, maxheight, editable, show_last, display)

예제

codiff = close - open
plotarrow(codiff, colorup=color.new(color.teal,40), colordown=color.new(color.orange, 40), overlay=true)

주장

  • series(series int/float) 화살표로 표시되는 데이터 시리즈. 필요한 논증.
  • title(const string) 토지의 제목.
  • colorup(시리즈 색상) 상향 화살표의 색상. 선택적 논증.
  • colordown(시리즈 색상) 아래 화살표의 색상. 선택적 논증.
  • offset(series int) 표시된 바에 있는 화살표를 왼쪽 또는 오른쪽으로 이동합니다. 기본값은 0입니다.
  • minheight(인트 입력) 가능한 최소 화살표 높이는 픽셀로 설정되어 있습니다. 기본값은 5.
  • maxheight(인트 입력) 최대 가능한 화살표 높이는 픽셀로 설정되어 있습니다. 기본값은 100입니다.
  • editable(const bool) true 이면 plotarrow 스타일은 Format 대화상에서 편집할 수 있습니다. 기본값은 true 입니다.
  • show_last(input int) 설정된 경우, 그래프에 그래프로 표시할 화살표의 수 (최후의 바에서 과거로) 를 정의합니다.
  • display(plot_display) 플롯이 표시되는 컨트롤. 가능한 값은: display.none, display.all. 기본값은 display.all입니다.
  • overlay(const bool) 는 FMZ 플랫폼의 확장 논리입니다. 현재 함수를 주요 이미지 (진정한 true) 또는 하위 이미지 (진정한 false) 에 표시하도록 설정하는 데 사용됩니다. 기본 값은 false입니다. 이 논리가 지정되지 않으면overlay주장strategy또는indicator, 만약strategy또는indicator설정하지 않습니다overlay이 문장은 기본 문자에 따라 처리됩니다.

또한 참조 plot plotshape plotchar barcolor bgcolor

배열

array.pop

함수는 배열에서 마지막 요소를 제거하고 값을 반환합니다.

array.pop(id)

예제

// array.pop example
a = array.new_float(5,high)
removedEl = array.pop(a)
plot(array.size(a))
plot(removedEl)

반환제거된 요소의 값

주장

  • id(어떤 배열 유형) 배열 객체.

또한 참조 array.new_float array.set array.push array.remove array.insert array.shift

array.shift

함수는 배열의 첫 번째 요소를 제거하고 값을 반환합니다.

array.shift(id)

예제

// array.shift example
a = array.new_float(5,high)
removedEl = array.shift(a)
plot(array.size(a))
plot(removedEl)

반환제거된 요소의 값

주장

  • id(어떤 배열 유형) 배열 객체.

또한 참조 array.unshift array.set array.push array.remove array.includes

array.unshift

함수는 배열의 시작에 값을 삽입합니다.

array.unshift(id, value)

예제

// array.unshift example
a = array.new_float(5, 0)
array.unshift(a, open)
plot(array.get(a, 0))

주장

  • id(어떤 배열 유형) 배열 객체.
  • value (series <type of the array's elements>) 배열의 시작에 추가해야 하는 값.

또한 참조 array.shift array.set array.insert array.remove array.indexof

array.size

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

array.size(id)

예제

// array.size example
a = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
// note that changes in slice also modify original array
slice = array.slice(a, 0, 5)
array.push(slice, open)
// size was changed in slice and in original array
plot(array.size(a))
plot(array.size(slice))

반환배열에 있는 요소의 수

주장

  • id(어떤 배열 유형) 배열 객체.

또한 참조 array.new_float array.sum array.slice array.sort

array.slice

이 함수는 기존 배열에서 슬라이스를 생성합니다. 슬라이스의 객체가 변경되면 변경 사항은 새 배열과 원래 배열 모두에 적용됩니다.

array.slice(id, index_from, index_to)

예제

// array.slice example
a = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
// take elements from 0 to 4
// *note that changes in slice also modify original array 
slice = array.slice(a, 0, 5)
plot(array.sum(a) / 10)
plot(array.sum(slice) / 5)

반환배열의 슬라이스의 한 복사본입니다.

주장

  • id(어떤 배열 유형) 배열 객체.
  • index_from(series int) 추출을 시작하기 위한 제로 기반 인덱스
  • index_to(series int) 추출을 종료하기 전에 제로 기반 인덱스. 함수는 이 인덱스를 가진 요소를 포함하지 않고 최대 추출합니다.

또한 참조 array.new_float array.get array.sort

array.abs

원래 배열의 각 요소의 절대 값을 포함하는 배열을 반환합니다.

array.abs(id)

주장

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

또한 참조 array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search

함수는 값의 인덱스를 반환하거나 값이 발견되지 않으면 -1을 반환합니다. 검색해야하는 배열은 상승 순서로 정렬해야합니다.

array.binary_search(id, val)

예제

// array.binary_search
a = array.from(5, -2, 0, 9, 1)
array.sort(a) // [-2, 0, 1, 5, 9]
position = array.binary_search(a, 0) // 1
plot(position)

주장

  • id(int[]/float[]) 배열 객체
  • val(series int/float) 배열에서 검색해야 하는 값.

언급바이너리 검색은 상승 순서로 미리 정렬된 배열에서 작동합니다. 배열의 중앙에 있는 요소를 목표 값과 비교하여 시작합니다. 요소가 목표 값과 일치하면 배열 내의 위치가 반환됩니다. 요소의 값이 목표 값보다 크다면, 배열의 하반기에 검색이 계속됩니다. 요소의 값이 목표 값보다 작다면, 배열의 상반기에 검색이 계속됩니다. 이를 반복적으로 수행함으로써 알고리즘은 목표 값이 누울 수 없는 배열의 점점 더 작은 부분을 점차 제거합니다.

또한 참조 array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search_leftmost

함수는 값이 발견되면 값의 인덱스를 반환합니다. 값이 발견되지 않을 경우 함수는 값이 배열에 있었다면 값이있는 왼쪽의 다음 가장 작은 요소의 인덱스를 반환합니다. 검색 할 배열은 상승 순서로 정렬해야합니다.

array.binary_search_leftmost(id, val)

예제

// array.binary_search_leftmost
a = array.from(5, -2, 0, 9, 1)
array.sort(a) // [-2, 0, 1, 5, 9]
position = array.binary_search_leftmost(a, 3) // 2
plot(position)

주장

  • id(int[]/float[]) 배열 객체
  • val(series int/float) 배열에서 검색해야 하는 값.

언급바이너리 검색은 상승 순서로 미리 정렬된 배열에서 작동합니다. 배열의 중앙에 있는 요소를 목표 값과 비교하여 시작합니다. 요소가 목표 값과 일치하면 배열 내의 위치가 반환됩니다. 요소의 값이 목표 값보다 크다면, 배열의 하반기에 검색이 계속됩니다. 요소의 값이 목표 값보다 작다면, 배열의 상반기에 검색이 계속됩니다. 이를 반복적으로 수행함으로써 알고리즘은 목표 값이 누울 수 없는 배열의 점점 더 작은 부분을 점차 제거합니다.

또한 참조 array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.binary_search_rightmost

함수는 값이 발견되면 값의 인덱스를 반환합니다. 값이 발견되지 않을 경우 함수는 값이 배열에 있었다면 값이 누워있는 오른쪽의 요소의 인덱스를 반환합니다. 배열은 상승 순서로 정렬해야합니다.

array.binary_search_rightmost(id, val)

예제

// array.binary_search_rightmost
a = array.from(5, -2, 0, 9, 1)
array.sort(a) // [-2, 0, 1, 5, 9]
position = array.binary_search_rightmost(a, 3) // 3
plot(position)

주장

  • id(int[]/float[]) 배열 객체
  • val(series int/float) 배열에서 검색해야 하는 값.

언급바이너리 검색은 배열 중간에 있는 요소를 목표 값과 비교하여 시작됩니다. 만약 그 요소가 목표 값과 일치하면 배열 내의 위치가 반환됩니다. 만약 그 요소의 값이 목표 값보다 크다면, 배열의 하반기에 검색이 계속됩니다. 만약 그 요소의 값이 목표 값보다 작다면, 배열의 상반기에 검색이 계속됩니다. 이를 반복적으로 수행함으로써, 알고리즘은 목표 값이 있을 수 없는 배열의 점점 더 작은 부분을 점차적으로 제거합니다.

또한 참조 array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.sort

함수는 배열의 요소들을 정렬합니다.

array.sort(id, order)

예제

// array.sort example
a = array.new_float(0,0)
for i = 0 to 5
    array.push(a, high[i])
array.sort(a, order.descending)
if barstate.islast
    runtime.log(str.tostring(a))

주장

  • id(int[]/float[]/string[]) 배열 객체
  • order(sort_order) 정렬 순서: order.ascending (디폴트) 또는 order.descending.

또한 참조 array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.sort_indices

원래 배열을 인덱싱하는 데 사용할 때 정렬 순서로 구성 요소에 액세스 할 수 있는 배열의 인덱스를 반환합니다. 원래 배열을 수정하지 않습니다.

array.sort_indices(id, order)

예제

// array.sort_indices
a = array.from(5, -2, 0, 9, 1)
sortedIndices = array.sort_indices(a) // [1, 2, 4, 0, 3]
indexOfSmallestValue = array.get(sortedIndices, 0) // 1
smallestValue = array.get(a, indexOfSmallestValue) // -2
plot(smallestValue)

주장

  • id(int[]/float[]/string[]) 배열 객체
  • order(sort_order) 정렬 순서: order.ascending 또는 order.descending. 옵션. 기본은 order.ascending입니다.

또한 참조 array.new_float array.insert array.slice array.reverse order.ascending order.descending

array.clear

함수는 배열에서 모든 요소를 제거합니다.

array.clear(id)

예제

// array.clear example
a = array.new_float(5,high)
array.clear(a)
array.push(a, close)
plot(array.get(a,0))
plot(array.size(a))

주장

  • id(어떤 배열 유형) 배열 객체.

또한 참조 array.new_float array.insert array.push array.remove array.pop

array.concat

이 함수는 두 개의 배열을 병합하는 데 사용됩니다. 두 번째 배열의 모든 요소를 첫 번째 배열로 밀어내고 첫 번째 배열을 반환합니다.

array.concat(id1, id2)

예제

// array.concat example
a = array.new_float(0,0)
b = array.new_float(0,0)
for i = 0 to 4
    array.push(a, high[i])
    array.push(b, low[i])
c = array.concat(a,b)
plot(array.size(a))
plot(array.size(b))
plot(array.size(c))

반환첫 번째 배열에 두 번째 배열의 결합된 요소가 있습니다.

주장

  • id1(무엇의 배열 유형) 첫 번째 배열 객체
  • id2두 번째 배열 객체입니다.

또한 참조 array.new_float array.insert array.slice

array.copy

함수는 기존 배열의 복사본을 생성합니다.

array.copy(id)

예제

// array.copy example
length = 5
a = array.new_float(length, close)
b = array.copy(a)
a := array.new_float(length, open)
plot(array.sum(a) / length)
plot(array.sum(b) / length)

반환배열의 복사본

주장

  • id(어떤 배열 유형) 배열 객체.

또한 참조 array.new_float array.get array.slice array.sort

array.stdev

함수는 배열의 표준편차를 반환합니다.

array.stdev(id, biased)

예제

// array.stdev example
a = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
plot(array.stdev(a))

반환배열의 요소들의 표준편차.

주장

  • id(int[]/float[]) 배열 객체
  • biased(시리즈 bool) 어떤 추정치를 사용해야 하는지를 결정합니다. 선택적입니다. 기본값은 true입니다.

언급만약biased사실이라면, 함수는 전체 인구의 편향된 추정치를 사용하여 계산합니다. 거짓이라면 표본의 편향되지 않은 추정치를 사용합니다.

또한 참조 array.new_float array.max array.min array.avg

array.standardize

함수는 표준화된 요소의 배열을 반환합니다.

array.standardize(id)

예제

// array.standardize example
a = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
b = array.standardize(a)
plot(array.min(b))
plot(array.max(b))

반환표준화된 요소들의 배열

주장

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

또한 참조 array.max array.min array.mode array.avg array.variance array.stdev

array.variance

함수는 배열의 원소들의 변수를 반환합니다.

array.variance(id, biased)

예제

// array.variance example
a = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
plot(array.variance(a))

반환배열의 원소들의 변동.

주장

  • id(int[]/float[]) 배열 객체
  • biased(시리즈 bool) 어떤 추정치를 사용해야 하는지를 결정합니다. 선택적입니다. 기본값은 true입니다.

언급만약biased사실이라면, 함수는 전체 인구의 편향된 추정치를 사용하여 계산합니다. 거짓이라면 표본의 편향되지 않은 추정치를 사용합니다.

또한 참조 array.new_float array.stdev array.min array.avg array.covariance

array.covariance

함수는 두 배열의 동변수를 반환합니다.

array.covariance(id1, id2, biased)

예제

// array.covariance example
a = array.new_float(0)
b = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
    array.push(b, open[i])
plot(array.covariance(a, b))

반환두 개의 배열의 동변성

주장

  • id1(int[]/float[]) 배열 객체
  • id2(int[]/float[]) 배열 객체
  • biased(시리즈 bool) 어떤 추정치를 사용해야 하는지를 결정합니다. 선택적입니다. 기본값은 true입니다.

언급만약biased사실이라면, 함수는 전체 인구의 편향된 추정치를 사용하여 계산합니다. 거짓이라면 표본의 편향되지 않은 추정치를 사용합니다.

또한 참조 array.new_float array.max array.stdev array.avg array.variance

array.fill

함수는 배열의 요소를 하나의 값으로 설정합니다. 인덱스가 지정되지 않으면 모든 요소가 설정됩니다. 시작 인덱스 (예정 0) 만 제공되면 해당 인덱스에서 시작하는 요소가 설정됩니다. 두 개의 인덱스 대조가 사용되면 시작 인덱스에서 끝 인덱스 (예정 na) 를 포함하지 않고 시작 인덱스까지의 요소가 설정됩니다.

array.fill(id, value, index_from, index_to)

예제

// array.fill example
a = array.new_float(10)
array.fill(a, close)
plot(array.sum(a))

주장

  • id(어떤 배열 유형) 배열 객체.
  • value (series <type of the array's elements>) 배열을 채우는 값.
  • index_from(시리즈 int) 시작 지표, 기본값은 0.
  • index_to(series int) 엔드 인덱스, 기본값은 na입니다. 설정해야 할 마지막 요소의 인덱스보다 하나 더 커야합니다.

또한 참조 array.new_float array.set array.slice

array.includes

함수는 값이 배열에서 발견되면 true, 그렇지 않으면 false를 반환합니다.

array.includes(id, value)

예제

// array.includes example
a = array.new_float(5,high)
p = close
if array.includes(a, high)
    p := open
plot(p)

반환값이 배열에서 발견되면 사실이고 그렇지 않으면 거짓입니다.

주장

  • id(어떤 배열 유형) 배열 객체.
  • value (series <type of the array's elements>) 배열에서 검색해야 하는 값.

또한 참조 array.new_float array.indexof array.shift array.remove array.insert

array.insert

함수는 새로운 요소를 추가함으로써 배열의 내용을 변경합니다.

array.insert(id, index, value)

예제

// array.insert example
a = array.new_float(5, close)
array.insert(a, 0, open)
plot(array.get(a, 5))

주장

  • id(어떤 배열 유형) 배열 객체.
  • index(series int) 값을 삽입해야 하는 인덱스
  • value (series <type of the array's elements>) 배열에 추가해야 하는 값.

또한 참조 array.new_float array.set array.push array.remove array.pop array.unshift

array.join

함수는 배열의 모든 요소를 연결하여 새로운 문자열을 생성하고 반환합니다.

array.join(id, separator)

예제

// array.join example
a = array.new_float(5, 5)
runtime.log(array.join(a, ","))

주장

  • id(int[]/float[]/string[]) 배열 객체
  • separator(시리즈 문자열) 각 배열 요소를 분리하는 문자열.

또한 참조 array.new_float array.set array.insert array.remove array.pop array.unshift

array.lastindexof

함수는 값의 마지막 발생의 인덱스를 반환하거나 값이 발견되지 않으면 -1을 반환합니다.

array.lastindexof(id, value)

예제

// array.lastindexof example
a = array.new_float(5,high)
index = array.lastindexof(a, high)
plot(index)

반환원소의 지수

주장

  • id(어떤 배열 유형) 배열 객체.
  • value (series <type of the array's elements>) 배열에서 검색해야 하는 값.

또한 참조 array.new_float array.set array.push array.remove array.insert

array.max

함수는 주어진 배열의 최대 값 또는 n번째 최대 값을 반환합니다.

array.max(id, nth)

예제

// array.max
a = array.from(5, -2, 0, 9, 1)
secondHighest = array.max(a, 2) // 1
plot(secondHighest)

반환배열의 가장 큰 값 또는 n번째 가장 큰 값

주장

  • id(int[]/float[]) 배열 객체
  • nth(series int) 0이 가장 큰 값으로 반환되는 n번째 값. 선택적입니다. 기본값은 0입니다.

또한 참조 array.new_float array.min array.sum

array.min

함수는 주어진 배열의 가장 작은 값 또는 n번째 가장 작은 값을 반환합니다.

array.min(id, nth)

예제

// array.min
a = array.from(5, -2, 0, 9, 1)
secondLowest = array.min(a, 1) // 0
plot(secondLowest)

반환배열의 가장 작은 값 또는 n번째 가장 작은 값

주장

  • id(int[]/float[]) 배열 객체
  • nth(series int) 0이 가장 작은 값으로 반환되는 n번째 값. 선택적입니다. 기본값은 0입니다.

또한 참조 array.new_float array.max array.sum

array.median

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

array.median(id)

예제

// array.median example
a = array.new_float(0)
for i = 0 to 9
    array.push(a, close[i])
plot(array.median(a))

반환배열의 요소들의 중위.

주장

  • 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

배열의 값의 퍼센틸 순위를 반환합니다.

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(어떤 배열 유형) 배열 객체.
  • 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(어떤 배열 유형) 배열 객체.

또한 참조 array.new_float array.sort array.push array.set array.avg

array.from

함수는 int, float, bool, string, label, line, color, box, table, 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, ...(열 int/float/bool/color/string/line/linefill) 배열 논증

array.new

함수는 새로운 배열 객체를 생성합니다.<type> elements.

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(시리즈 ) 모든 배열 요소의 초기 값. 선택. 기본값은 na입니다.

언급배열 인덱스는 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(열 bool) 모든 배열 요소의 초기 값. 선택. 기본값은 na입니다.

언급배열 인덱스는 0에서 시작합니다.

또한 참조 array.new_float array.get array.slice array.sort

array.new_float

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

언급배열 인덱스는 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(시리즈 문자열) 모든 배열 요소의 초기 값. 선택. 기본값은 na입니다.

언급배열 인덱스는 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(어떤 배열 유형) 배열 객체.
  • 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(어떤 배열 유형) 배열 객체.
  • 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(어떤 배열 유형) 배열 객체.
  • 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(어떤 배열 유형) 배열 객체.
  • value (series <type of the array's elements>) 배열에서 검색해야 하는 값.

또한 참조 array.lastindexof array.get array.lastindexof array.remove array.insert

전략

이 기능들은strategy, 스톱 로스 포인트와 노프 포인트는 한 가격 점프의 배수로 정의됩니다.profit그리고loss의 주장strategy.exit함수는 스톱 로스를 나타내고 포인트로 이윤을 취합니다.profit가격 점프는 10로 설정됩니다. 즉, 가격 점프는 10로 곱됩니다. 이윤 스프레드를 취하면 가격 점프는 내장 변수입니다.syminfo.mintick.

전략

함수는 여러 가지 전략 속성을 설정합니다. 참고로,title, shorttitle, overlay, pyramiding, default_qty_type, default_qty_valuePINE 언어 전략의 인터페이스 인수를 통해 다른 인수를 설정할 수 있습니다.

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(conststring) 지표 제목은 지표/전략 위젯에서 볼 수 있습니다.
  • shorttitle(const 문자열) 표시자 짧은 제목은 차트 전설에서 볼 수 있습니다.
  • overlay(const bool) true 경우 지표가 주요 시리즈의 덮개로 추가됩니다. 거짓 경우 - 그것은 별도의 차트 패널에 추가됩니다. 기본값은 거짓입니다.
  • format(const string) 가격 축에 있는 포맷 지표 값의 종류. 가능한 값은: format.inherit, format.price, format.volume. 기본값은 format.inherit입니다.
  • precision(const int) 가격 축의 지표 값에 대한 부동 소수점 다음의 숫자 수. 음수가 아닌 정수이며 16보다 크지 않아야합니다. 생략하면 부모 시리즈에서 포맷을 사용하십시오. 형식이 format.inherit이고이 문구가 설정되면 형식이 format.price가됩니다.
  • scale(scale_type) 인디케이터가 연결되어야 할 가격 스켈라. 가능한 값은: scale.right, scale.left, scale.none. 값 scale.none는 overlay=true 설정과 함께만 적용 할 수 있습니다.
  • pyramiding(const int) 같은 방향으로 허용되는 입력의 최대 수. 값이 0이라면 같은 방향으로 하나의 입력 명령만 열 수 있으며 추가 입력 명령은 거부됩니다. 기본 값은 0.
  • calc_on_order_fills(const bool) 추가 한 번 인트라바 순서 계산. 논리가 true로 설정되면 전략은 주문이 완료 된 후에 (단 바가 닫히면뿐만 아니라) 인트라바에서 다시 계산됩니다. 기본 값은 false입니다.
  • calc_on_every_tick(const bool) 추가 인트라바 전략 계산. 인트라바 전략 계산. 인트라바 전략 계산은 역사 데이터에 대한 전략 계산에 영향을 미치지 않습니다. 기본 값은 false입니다.
  • max_bars_back(const int) 역사 참조에 대한 전략에 사용할 수 있는 최대 바 수. 이 인수는 스크립트 코드에 변수의 역사 데이터에 대한 참조가있는 경우 스크립트 내의 모든 내장 또는 사용자 변수에 적용됩니다 ([] 연산자가 사용됩니다). 파인 스크립트에서 변수 버퍼 크기는 일반적으로 자동으로 감지됩니다. 그러나 특정 경우에는 불가능합니다. 그렇기 때문에 인수는 사용자가 이 값의 하위 한계를 수동으로 설정할 수 있습니다. 참고: 인수 대신 max_bars_back 함수를 사용하는 것은 하나의 변수에만 적용되기 때문에 최적입니다.
  • backtest_fill_limits_assumption(const int) 제한 명령 실행 가정. 제한 명령은 시장 가격이 지정된 틱 수로 제한 명령 수준을 초과하는 경우에만 바 내부에서 실행됩니다.
  • default_qty_type(const 문자열) 값에 사용된 값을 결정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 (order의 현금 부피의 비율), strategy.commission.cash_per_contract (계약당 계정 통화로 표시되는 금액), strategy.commission.cash_per_order (계정당 계정 통화로 표시되는 금액).
  • commission_value(const int/float) 명령에 대한 수수료 값. 선택된 유형에 따라 (commission_type) 는 비율 또는 돈을 포함합니다.
  • 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) 마진 롱 (margin long) 은 긴 포지션에 대해 현금 또는 담보로 보장되어야 하는 증권의 구매 가격의 비율입니다. 비부수적 숫자가어야 합니다. 선택적입니다. 기본값은 100. -~~margin_short~~ (const int/float) 마진 쇼트 (margin short) 는 쇼트 포지션에 대해 현금이나 담보로 커버되어야 하는 증권의 구매 가격의 비율이다. 부정적이 아닌 숫자가어야 한다. 선택적이다. 기본값은 100.
  • explicit_plot_zorder(const bool) 지표의 그래프, 채식 및 hline가 렌더링되는 순서를 지정합니다. 만약 사실이라면, 지표의 코드에서 나타나는 순서에 따라 그래프가 그려집니다. 각각의 최신 그래프가 이전 것 위에 그려집니다. 이것은 단지 그래프*() 함수, 채식 및 hline에만 적용됩니다. 선택 사항입니다. 기본값은false.
  • initial_capital(const int/float) 이 전략에서 거래할 수 있는 초기 자금액,currency선택 사항입니다. 기본값은 10만원입니다.
  • 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를 사용해야 한다. 함수 strategy.order와 비교하면 함수 strategy.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(시리즈 문자열) 필요한 문장. 주문 식별자. 명령어를 취소하거나 수정하는 것은 식별자에 참조하여 가능합니다.
  • direction(전략_방향) 필요한 논증. 시장 위치 방향: 전략.장은 길고, 전략.단은 짧습니다.
  • qty(series int/float) 선택적 논증. 거래 할 계약/주식/롯/유닛의 수. 기본 값은 NaN입니다.
  • limit(series int/float) 선택적 인 문장. 명령의 제한 가격. 지정된 경우, 명령 유형은 limit 또는 stop-limit입니다. 다른 모든 명령 유형에 대해 NaN을 지정해야합니다.
  • stop(series int/float) 선택적 인 논증. 명령의 중지 가격. 지정된 경우, 명령 유형은 stop 또는 stop-limit입니다. 다른 명령 유형에 대해 NaN을 지정해야합니다.
  • oca_name(시리즈 문자열) 선택적 인 문장. 순서가 속하는 OCA 그룹의 이름. 순서가 특정 OCA 그룹에 속하지 않으면 빈 문자열이 있어야합니다.FMZ는 이 주장을 지지하지 않는다는 점에 유의해야 합니다.~~
  • oca_type(입기 문자열) 선택적 인 대수. OCA 그룹의 종류. 허용 값은: strategy.oca.none - 명령은 특정 OCA 그룹에 속해서는 안 됩니다. strategy.oca.cancel - 명령은 OCA 그룹에 속해야 합니다. 명령이 완료되면 같은 그룹의 다른 모든 명령이 취소됩니다. strategy.oca.reduce - 명령은 OCA 그룹에 속해야 합니다. 명령의 X 수의 계약이 완료되면 같은 OCA 그룹의 다른 모든 주문에 대한 계약의 수가 X로 감소됩니다.FMZ는 이 주장을 지지하지 않는다는 점에 유의해야 합니다.
  • comment(시리즈 문자열) 선택적 인 논증. 순서에 대한 추가 메모.
  • when(series bool) 선택적 인 문장. 순서의 조건. 조건이 true일 경우 순서가 배치됩니다. 조건이 false일 경우 아무 일도 일어나지 않습니다. 기본 값은 true입니다.
  • alert_message(series string) Create Alert 대화 상자s Message 필드에서 사용될 때 {{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(시리즈 문자열) 필요한 문장. 주문 식별자. 그것의 식별자를 참조하여 명령을 닫을 수 있습니다.
  • when(열 bool) 선택적 인 논증 명령의 조건
  • qty(series int/float) 선택적 논증. 거래에서 종료 할 계약/주식/롯/유닛의 수. 기본 값은 NaN입니다.
  • qty_percent(series int/float) 닫아야 할 포지션의 비율 (0-100) 을 정의합니다. 그것의 우선 순위는 qty 문장의 우선 순위보다 낮습니다. 선택 사항입니다. 기본값은 100.
  • comment(시리즈 문자열) 선택적 인 논증. 순서에 대한 추가 메모.
  • alert_message(series string) Create Alert 대화 상자s Message 필드에서 사용될 때 {{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(열 bool) 선택적 인 논증 명령의 조건
  • comment(시리즈 문자열) 선택적 인 논증. 순서에 대한 추가 메모.
  • alert_message(series string) Create Alert 대화 상자s Message 필드에서 사용될 때 {{strategy.order.alert_message}} 플래스홀더를 대체하는 선택적 문장.

strategy.exit

이 명령은 특정 엔트리 또는 전체 시장 포지션을 종료하는 명령입니다. 동일한 ID가있는 명령이 이미 미뤄지고 있다면 명령을 수정할 수 있습니다. 엔트리 명령이 채워지지 않았지만 출구 명령이 생성되면 출구 명령이 출구 명령이 채워질 때까지 기다립니다. 출구 명령을 비활성화하려면 명령 strategy.cancel 또는 strategy.cancel_all을 사용해야합니다.strategy.exit한 번 호출되면 한 번만 종료됩니다. 여러 번 종료하려면strategy.exitStop Loss와 Trailing Stop를 사용한다면, 그들의 오더 타입은 stop이므로, 그 중 하나만 배치됩니다. 다음의 모든 인수 profit, limit, loss, stop, trail_points, trail_offsetNaN인 경우, 명령은 실패합니다. 마켓 오더를 출구하기 위해, 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(시리즈 문자열) 필요한 문장. 주문 식별자. 명령어를 취소하거나 수정하는 것은 식별자에 참조하여 가능합니다.
  • from_entry(시리즈 문자열) 선택적 인 문장. 특정 입력 명령의 식별자. 모든 항목을 종료하려면 빈 문자열을 사용해야합니다. 기본 값은 빈 문자열입니다.
  • qty(series int/float) 선택적 논증. 거래에서 종료 할 계약/주식/롯/유닛의 수. 기본 값은 NaN입니다.
  • qty_percent(series int/float) 포지션 닫기 위한 (0-100) 의 비율을 정의한다. 그것의 우선 순위는 qty 논증보다 낮다. 선택적이다. 기본값은 100.
  • profit(series int/float) 선택적 인 논증. 수익 목표 (티크로 지정). 지정되면 지정된 수익 금액 (티크로 지정) 이 도달하면 시장 지위 출시에 제한 주문이 제공됩니다. 기본 값은 NaN입니다.
  • limit(series int/float) 선택적 인 논증. 수익 목표 (특정 가격이 필요합니다). 지정된 경우, 제한 주문이 지정된 가격 (또는 더 나은) 으로 시장 지위를 종료하도록 배치됩니다. limit 논증의 우선 순위는 profit 논증의 우선 순위보다 높습니다. (그 값이 NaN 아닌 경우 profit 대신 limit을 사용합니다). 기본 값은 NaN입니다.
  • loss(series int/float) 선택적 인 논증. Stop loss (ticks로 지정). 지정된 경우, 지정된 손실 금액 (ticks로) 이 도달하면 시장 지점 출구에 stop order가 배치됩니다. 기본 값은 NaN입니다.
  • stop(시리즈 int/float) 선택적 인 논증. 스톱 로스 (특정 가격이 필요합니다). 지정된 경우 정지 명령이 지정된 가격 (또는 더 나쁜 가격) 에 시장 지위를 종료하기 위해 배치됩니다. 논증의 우선 순위 스톱은 논증의 우선 순위보다 높습니다. (값이 NaN이 아닌 경우 loss 대신 스톱이 사용됩니다.)

더 많은

구걸자왜 전략 광장 복제 피인 전략이 현실화되지 않는지

발명가들의 수량화 - 작은 꿈자, 우리는 그것을 확인합니다.

구걸자의 최적화된 트렌드 트래커

발명가들의 수량화 - 작은 꿈안녕하세요, 구체적으로 어떤 전략이 있을까요?