Pine script 如何使用pine editor在Tradingdview中导入交易历史?

Pine script 如何使用pine editor在Tradingdview中导入交易历史?,pine-script,Pine Script,我正试图在图表中输入一些买卖情况。理想情况下,我想标记蜡烛并显示数量,但我有两个问题 第一个是当我添加许多交易(大约50笔)时,我不断得到“数组太大,最大大小为100000”,第二个是我不知道如何显示金额 我在谷歌上搜索了一下,这是我设法编写的代码,但正如前面提到的,它不起作用 这不是一个长期或短期的策略,我只需要将买入和卖出移动到图表中 // This source code is subject to the terms of the Mozilla Public License 2.0 a

我正试图在图表中输入一些买卖情况。理想情况下,我想标记蜡烛并显示数量,但我有两个问题

第一个是当我添加许多交易(大约50笔)时,我不断得到“数组太大,最大大小为100000”,第二个是我不知道如何显示金额

我在谷歌上搜索了一下,这是我设法编写的代码,但正如前面提到的,它不起作用

这不是一个长期或短期的策略,我只需要将买入和卖出移动到图表中

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// ©sssss

//@version=4
study("test", overlay=true)

var int[]   when_buy    = array.new_int(na)
var int[]   when_sell    = array.new_int(na)
var string[] total  = array.new_string(na)
add_trade( when, amount, buy) => 
    array.push(total, 'amount')
    if (buy)
        array.push(when_buy,    timestamp(when))
    else
        array.push(when_sell,    timestamp(when))     
    
    
add_trade('2021-06-01', 1883, true)
add_trade('2021-05-27', 24, true)
add_trade('2021-05-26', 139, true)
add_trade('2021-05-24', 988, true)
add_trade('2021-05-21', 926, true)
add_trade('2021-05-21', 1100, true)
add_trade('2021-05-20', 1380, true)
add_trade('2021-05-18', 1803, true)
add_trade('2021-05-17', 965, true)
add_trade('2021-05-14', 753, true)
add_trade('2021-05-09', -3000.01, false)
add_trade('2021-05-06', -1500.005, false)
add_trade('2021-05-04', -1500.005, false)
add_trade('2021-04-26', 2227, true)
add_trade('2021-04-23', 1536, true)
add_trade('2021-04-22', 966, true)
add_trade('2021-04-20', 581, true)
add_trade('2021-04-19', 835, true)
add_trade('2021-04-19', 815, true)
add_trade('2021-04-13', -1500.005, false)
add_trade('2021-04-11', -1500.005, false)
add_trade('2021-04-08', 405, true)
add_trade('2021-04-08', 505, true)
add_trade('2021-03-26', 264, true)
add_trade('2021-03-23', 1650, true)
add_trade('2021-03-22', 921, true)
add_trade('2021-03-16', 690, true)
add_trade('2021-03-02', 710, true)
add_trade('2021-03-02', 2130, true)
add_trade('2021-03-01', 1325, true)
add_trade('2021-02-23', 1100, true)
add_trade('2021-02-23', 1200, true)
add_trade('2021-02-23', 600, true)
add_trade('2021-02-19', 505, true)
add_trade('2021-02-18', 484, true)
add_trade('2021-02-18', 585, true)
add_trade('2021-02-18', 686, true)
add_trade('2021-02-17', 660, true)
add_trade('2021-02-17', 1888, true)
add_trade('2021-02-17', 560, true)
add_trade('2021-02-08', -1500.005, false)
add_trade('2021-02-04', -1500.005, false)
add_trade('2021-01-29', -3000.01, false)
add_trade('2021-01-29', -6000.005, false)
add_trade('2021-01-29', -700.002, false)
add_trade('2021-01-28', -1500.001, false)
add_trade('2021-01-28', -1500.001, false)


ts_today    = timestamp(year, month, dayofmonth, 0, 0, 0)
order = 0
amount = ''
if array.includes(when_sell, ts_today)
    order := -1
    idx     = array.indexof(when_sell, ts_today)
    amount   := array.get(total, idx)
    
if array.includes(when_buy, ts_today)
    order := 1
    idx     = array.indexof(when_buy, ts_today)
    amount   := array.get(total, idx)
    
plotarrow(order, 'test')

您正在超出数组限制,因为每个小节都在不必要地向数组中添加交易数据。使用var数组,只需执行一次。如果barstate.isfirst或使用
数组.from()

var int[]when_buy=array.from(时间戳('2021-06-01')、时间戳('2021-05-27')等)

要显示金额,请使用
label.new()

if array.includes(when_sell, ts_today)
    order := -1
    idx     = array.indexof(when_sell, ts_today)
    amount   := array.get(total, idx)
    label.new(x = bar_index, y = high, style = label.style_label_down, color = color.red, textcolor = color.white, text = tostring(amount))