Skip to content

Format of quotes problem #348

@rafalsza

Description

@rafalsza

The problem

A clear and concise description of the bug. If known, explain why you believe the problem is within this library.

Error message(s):

Traceback (most recent call last):
  File "/mnt/0696DB8696DB7521/python_projects/trading-python/tests/smc_test/ob6.py", line 408, in <module>
    quotes_list = [
  File "/mnt/0696DB8696DB7521/python_projects/trading-python/tests/smc_test/ob6.py", line 409, in <listcomp>
    Quote(
  File "/home/rafal/py-venv/lib/python3.10/site-packages/stock_indicators/indicators/common/quote.py", line 62, in __init__
    self.open: Decimal = open if open else 0
  File "/home/rafal/py-venv/lib/python3.10/site-packages/stock_indicators/indicators/common/quote.py", line 25, in _set_open
    quote.Open = CsDecimal(value)
  File "/home/rafal/py-venv/lib/python3.10/site-packages/stock_indicators/_cstypes/decimal.py", line 21, in __new__
    return CsDecimal.Parse(str(decimal))
System.FormatException: The input string '0.50000000' was not in a correct format.
   at System.Number.ThrowFormatException[TChar](ReadOnlySpan`1 value)
   at System.Number.ParseDecimal[TChar](ReadOnlySpan`1 value, NumberStyles styles, NumberFormatInfo info)
   at System.Decimal.Parse(String s)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

To Reproduce

from binance.client import Client
from stock_indicators import Quote
from stock_indicators import indicators
from stock_indicators.indicators.common.enums import PeriodSize, PivotPointType
from decimal import Decimal

def import_data(symbol, interval, start_date):
    client = Client()
    df = pd.DataFrame(
        client.get_historical_klines(
            symbol, start_str=start_date, interval=interval, limit=5000
        )
    ).astype(float)

    df = df.iloc[:, :6]
    df.columns = ["timestamp", "open", "high", "low", "close", "volume"]
    df["date"] = df.timestamp
    df = df.set_index("timestamp")
    df.index = pd.to_datetime(df.index, unit="ms")
    df.date = pd.to_datetime(df.date, unit="ms")

    return df
# Fetch historical data from Binance
symbol = "ARBUSDT"
df = import_data(symbol, "1d", "2022-01-01")

quotes_list = [
    Quote(
        d,
        open=Decimal(o),
        high=Decimal(h),
        low=Decimal(l),
        close=Decimal(c),
        volume=Decimal(v),
    )
    for d, o, h, l, c, v in zip(
        df["date"], df["open"], df["high"], df["low"], df["close"], df["volume"]
    )
]

results = indicators.get_pivot_points(
    quotes_list, PeriodSize.DAY, PivotPointType.STANDARD
)
print(results)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions