의 가장 높은 가격과 가장 낮은 가격의 정확한 표기법을 알려 주시기 바랍니다. 감사합니다.

저자:희망, 창작: 2022-10-17 00:13:14, 업데이트: 2022-10-17 15:28:07

의 최고 가격과 최저 가격의 정확한 표기법을 알려 주시기 바랍니다. 감사합니다.

indicator("计算历史区间最高价、最低价", overlay=true)
//目的:想在开单时,找出开单前(输入历史长度)的最高价,或最低价,用于计算开单止损价。

varip ishistory_high_Price0 = array.new_float(0)                   //定义变量,初始化历史高价格为空的数组
varip ishistory_low_Price0 = array.new_float(0)                    //定义变量,初始化历史低价格为空的数组
var ishistory_length = input.int(15, minval=1, maxval=100, step=1) //定义变量,历史长度,输入为15,最小值1,最大值100,步长1
var ishistory_high_Price = na
var ishistory_low_Price  = na

if barstate.ishistory                                              //对历史K线执行计算(not barstate.ishistory当在实时abr时在执行)
    array.push(ishistory_high_Price0, nz(high[1], open))           //写入数组(变量ishistory_high_Price0的历史最高价元素,空值用开盘价)

    if array.size(ishistory_high_Price0) > ishistory_length        //当数组的长度大于变量长度的时候
        array.shift(ishistory_high_Price0)                         //删除数组(ishistory_high_Price0的第一个元素)
    [ishistory_high_Price0]

if barstate.ishistory                                              //对历史K线执行计算
    array.push(ishistory_low_Price0, nz(low[1], open))             //写入数组(变量ishistory_low_Price0的历史最低价元素,空值用开盘价)

    if array.size(ishistory_low_Price0) > ishistory_length         //当数组的长度大于变量长度的时候
        array.shift(ishistory_low_Price0)                          //删除数组(ishistory_low_Price0的第一个元素)
    [ishistory_low_Price0]

//需对历史高价格、历史低价格作出比较,并返回最大值(输入周期内的历史最高价、历史最低价)

//下面这个写法不正确!!!

ishistory_high_Price = array.max(ishistory_high_Price0, nz(high[1], open), ishistory_length)
ishistory_low_Price = array.min(ishistory_low_Price0, nz(low[1], open),ishistory_length)


plot(title = "数组ishistory_high_Price中的历史高价格:", ishistory_high_Price, color = color.blue)
plot(title = "数组ishistory_low_Price中的历史低价格:", ishistory_low_Price, color = color.red)

PINE 언어의 소개 교습을 배운 후에도 대수함 또는 대수함의 요소의 크기를 사용할 수 있지만 역사 K줄을 바꾸면 다시 쓸 수 없습니다! 대장님, 변수 정의를 안내해 주시기 바랍니다. 역사적인 높은 가격과 역사적인 낮은 가격과 비교해 주시기 바랍니다. 감사합니다.


더 많은

희망이제 문제가 없습니다. 그래프를 인쇄하고 추가 그래프로 변경하면 스키트가 정상으로 표시됩니다.

희망네, 감사합니다. 이건 코드 변경입니다. '' indicator (("역사적 범위에서 최고 가격, 최저 가격을 계산") //목적: 오더를 열 때 오더를 열기 전 (역사 길이를 입력) 에 가장 높은 가격, 또는 최저 가격을 찾으려면 오더를 열기 전 단독 스톱 손실 가격을 계산한다. var ishistory_length = input.int ((15, title = "ishistory length", minval=1, maxval=100, step=1) //변수 정의, 역사 길이, 입력 15, 최소 1, 최대 100, 단계 길이 1 - 그래요 var float highest = na // 지난 k줄의 주어진 숫자의 최대 값이다. var float lowest = na // 지난 k줄의 주어진 숫자의 최소값이다. var float highestbars = na // 지난 k줄의 주어진 숫자의 최대값 오차. var float lowestbars = na // 지난 k줄의 주어진 숫자의 최소값 오차. highest := ta.highest ((high, ishistory_length) //역사 K줄 길이의 최대값을 15로 재배정한다. plot ((highest, title = "역사 K줄의 높은 가격:", color = color.blue, overlay=true) lowest := ta.lowest ((low, ishistory_length) //역사 K줄 길이의 최소값을 15로 다시 지정한다. plot ((lowest, title = "역사 K줄의 낮은 가격:", color = color.red, overlay=true) highest := ta.highest ((high[1], ishistory_length) //역사 K줄 길이의 최대값을 15로 재배정한다. plot ((highest, title = "역사 K줄의 높은 가격:", color = color.blue, overlay=true) lowest := ta.lowest ((low[1], ishistory_length) //역사 K줄 길이의 최소값을 15로 다시 지정한다. plot ((lowest, title = "역사 K줄의 낮은 가격:", color = color.red, overlay=true) 아래의 오차 인쇄는 약간의 문제를 보여줍니다. 어떻게 바꿀지 모르겠습니다. highestbars := ta.highestbars ((high, ishistory_length) //역사 K줄 길이의 최대값 오차를 15로 재배정한다. plot ((highestbars, title = "역사 K선에서 높은 가격 오차:", color = color.orange, overlay=true) " lowestbars := ta.lowestbars ((low, ishistory_length) // 지난 k줄의 주어진 숫자의 최소값 오차. plot ((lowestbars, title = "역사 K 라인의 낮은 가격 오차:", color = color.white, overlay=true) " '' 그리고 세 가지 작은 질문이 있습니다. 1, 파인 내장 함수를 호출할 때, 역사의 최대값이나 최소값을 구하는 경우, 코드에서, 예를 들어, high, 그리고 high[1]에서, 그들은 동일한 결과를 얻습니다. 두 번째, 만약 제가 나중에 정책에서 이 값을 호출해야 한다면, 바로 정책 조건에서 가장 높은 값이나 가장 낮은 값을 사용할 수 있습니다. 3, 위의 오차 인쇄는 약간의 문제를 나타냅니다. 어떻게 바꿀지 모르겠습니다.

작은 꿈특정 범위의 데이터 시리즈의 최대값, 최소값, 직접 사용할 수 있는 내장 함수: `` ta.highest ((source, length)) ta.lowest ((source, length)) `` 예를 들어, 현재 10개의 K 라인 BAR 범위에 해당하는 최대 폐쇄값을 요구합니다. `` highest10 = ta.highest ((close, 10)) ``

작은 꿈좋아

작은 꿈1,high,와 high[1]는 확실히 다르며,[]역사 동작 참조이며, 이전 BAR의 스냅샷 데이터 참조이다. 2, 당신은 어떤 값을 계산하고 변수를 사용하여 기록할 수 있습니다. 3, 구체적인 문제를 설명하고 테스트를 실행하고 문제가 없습니다.