Скрипт для индикации истории заказов - Tradeview Pine

Я хочу указать исторические сделки на графиках tradeview с помощью скрипта, основанного на информации о времени и цене входа и закрытия.

Моя лучшая идея - выполнить поиск по «времени», чтобы найти совпадения для входа и закрытия, а затем изменить цвет фона в соответствии с короткой или длинной позицией или нарисовать горизонтальную линию. Однако это кажется не оптимальным. Какие-либо предложения?


person Kristian Rauhe Harreby    schedule 14.03.2019    source источник


Ответы (1)


Я бы реализовал это следующим образом:

//@version=3
strategy("Background changing", overlay=true)

NONE = 0
LONG = 1000
SHORT = -1000

position = NONE
position := nz(position[1], NONE)

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("LongEntryId", strategy.long)
    position := LONG


if (close < high[1])
    strategy.close("LongEntryId")
    position := NONE


getColor(state) =>
    state == LONG ? green :
  state == SHORT ? red :
  white


bgcolor(color=getColor(position))

Или вы можете поставить стрелки на графике:

//@version=3
study("My Script", overlay=true)

order = 0
if time >= timestamp(2018, 1, 10, 0, 0)
    order := 1
if time == timestamp(2018, 1, 17, 0, 0)
    order := -1
plotarrow(order)
person Michel_T.    schedule 14.03.2019
comment
Спасибо за ваш ответ Michel_T. Я вижу, мне нужно быть более конкретным. Я не тестирую стратегию, но хотел бы импортировать свои старые сделки с ETXCapital-брокера. По сути, мне нужно преобразовать электронную таблицу с входом и выходом - временем и ценой в Pine-скрипт, который может отображать/отрисовывать эти сделки на хороших графиках TradingView. - person Kristian Rauhe Harreby; 14.03.2019
comment
Итак, у вас есть список сделок по времени, и вы хотите поставить знаки на графике? - person Michel_T.; 15.03.2019
comment
В яблочко. Я хотел бы упростить просмотр моих исторических сделок, которые я могу экспортировать из своего брокера в формате CSV. - person Kristian Rauhe Harreby; 18.03.2019
comment
Я знаю только способ реализации через проверку метки времени для каждой сделки и размещение стрелок в местах ордеров. Я обновил свой ответ. Да, это многословно, но другого способа выполнить такую ​​задачу нет. - person Michel_T.; 20.03.2019