Как преобразовать значения OHL C в диаграмму Ренко в Python? - PullRequest
1 голос
/ 25 апреля 2020

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

Пока все мои go выплевывает правильные значения, за исключением случаев, когда тренд разворачивается.

import math
import pandas as pd


def bricks_series(df: pd.DataFrame, step=50):
    prices = df['close']
    first_brick = math.floor(prices.iloc[0] / step) * step
    bricks = [first_brick]
    for price in prices:
        if price > (bricks[-1] + step):
            step_mult = math.floor((price - bricks[-1]) / step)
            next_bricks = [bricks[-1] + (mult * step) for mult in range(1, step_mult + 1)]
            bricks += next_bricks
        elif price < bricks[-1] - step:
            step_mult = math.ceil((bricks[-1] - price) / step)
            next_bricks = [bricks[-1] - (mult * step) for mult in range(1, step_mult + 1)]
            bricks += next_bricks
        else:
            continue
    return bricks


if __name__ == "__main__":
    df = pd.read_csv("binance_daily.csv")
    renko_bricks = bricks_series(df)

Вот мои данные ohl c. https://drive.google.com/open?id=1Psn8XYBwJ9F5JCTpF0ffxQx_vcLSFyD4

и вот график, который я пытаюсь повторить. https://www.tradingview.com/chart/lyXNhcbs/

...