Я пытался протестировать стратегию, основанную на данных стакана цен (DOM).

К сожалению, к данным нельзя получить доступ в Pinescript, и я не могу получить доступ, вызвав API (пожалуйста, поправьте меня, если ошибаюсь!) ...

Поэтому вместо этого я пытаюсь жестко закодировать значения в свой скрипт в соответствии с этим FAQ: https://www.pinecoders.com/faq_and_code/#how-can-i-initialize-a-series-on-specific-dates-using-external -данные

Я играю с измененной версией кода, взятого из приведенной выше ссылки, но не могу заставить ее правильно отображаться.

Я ожидал, что произойдет: я думал, что он напечатает 5 отдельных точек в 1, 2, 3, 4 и 5 мая 5 мая. Каждая точка будет на 1 ступень выше следующей.

Вместо этого: он печатает 24 точки, по одной на каждый час 5 мая. Все точки на одном уровне, ступеньки нет.

Вот код, который я использую:

//@version=4
strategy("Initialize External Data")

// Dates must appear in chronological order and match chart dates.
// The limit of lines is ~900. Variables used in your calcs will decrease this amount.
float data = na
timestamp = timestamp(year, month, dayofmonth, 0, 0, 0)
data := timestamp == timestamp(2021, 05, 01, 0, 0, 0) ? 1 : data
data := timestamp == timestamp(2021, 05, 01, 1, 0, 0) ? 2 : data
data := timestamp == timestamp(2021, 05, 01, 2, 0, 0) ? 3 : data
data := timestamp == timestamp(2021, 05, 01, 3, 0, 0) ? 4 : data
data := timestamp == timestamp(2021, 05, 01, 4, 0, 0) ? 5 : data

plot(data, "data", color.fuchsia, 2, plot.style_circles)

А вот скриншот того, что я вижу на своем графике (1-часовой график с часовым поясом, установленным как «обмен»):

enter image description here

Может ли кто-нибудь описать, что я сделал не так?

0
TinyTiger 11 Май 2021 в 09:27

1 ответ

Лучший ответ

В вашем timestamp нет переменной hour, поэтому она всегда фиксируется 1 мая, 00:00.
Это соответствует только вашей первой строке, поэтому на выходе всегда будет 1.

Это будет работать:

//@version=4
strategy("Initialize External Data")

// Dates must appear in chronological order and match chart dates.
// The limit of lines is ~900. Variables used in your calcs will decrease this amount.
float data = na

timestamp = timestamp(year, month, dayofmonth, hour, 0, 0)

data := timestamp == timestamp(2021, 05, 01, 0, 0, 0) ? 1 : data
data := timestamp == timestamp(2021, 05, 01, 1, 0, 0) ? 2 : data
data := timestamp == timestamp(2021, 05, 01, 2, 0, 0) ? 3 : data
data := timestamp == timestamp(2021, 05, 01, 3, 0, 0) ? 4 : data
data := timestamp == timestamp(2021, 05, 01, 4, 0, 0) ? 5 : data

plot(data, "data", color.fuchsia, 2, plot.style_circles)

Что дает:

result

2
Bjorn Mistiaen 11 Май 2021 в 14:46