Как устранить ошибки при построении стрелок на диаграмме рассеяния mplfinancePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как устранить ошибки при построении стрелок на диаграмме рассеяния mplfinance

Сообщение Anonymous »

Хотя я не считаю себя новичком, я считаю себя неопытным в Python. Я новичок в MPLFinance.
Я пытаюсь нанести точки входа в сделку на графике forex mplfinance. У меня базовая диаграмма работает нормально. Мои данные поступают из DataFrame, который заполняется из импорта CSV. Один из столбцов под названием «Golden_Cross» содержит слово «long», которое является сигналом, который я хочу отобразить с помощью стрелки.
Я пытаюсь эмулировать функцию PercentB_belowzero в документации mplfinance. Я понимаю суть того, что делает эта функция, но некоторые детали для меня утеряны. например каково значение цены[дата] и для чего используется предыдущий? Это может быть не важно. Ниже приведен код, который у меня есть на данный момент:

Код: Выделить всё

import pandas as pd
import mplfinance as mpf
import math

def go_long(df):
signal   = [math.nan] * len(df)
print("len(df) = " + str(len(df)))
print("len(signal) = " + str(len(signal)))
for i in range(1, len(df)):
if df['Golden_Cross'].iloc[i] == "long":
signal.append(df['close'].iloc[i] * 0.99)
else:
signal.append(math.nan)
return signal

if __name__ == '__main__':
df = pd.read_csv('GBPUSD_MA_Crossover2.csv', index_col=0, parse_dates=True)
df.index.name = 'date'

long_signal = go_long(df)
apds =  [ mpf.make_addplot(df[['fast_ma', 'slow_ma']], panel=0, title='GBPUSD'),
# mpf.make_addplot((df['dmi']),panel=1, title='DMI'),
mpf.make_addplot(long_signal, type = 'scatter', panel=0, markersize=200, marker='^')
]
mpf.plot(df, type= 'candle', tight_layout=True, datetime_format='%Y-%m-%d', volume=False, show_nontrading=False, addplot=apds)
Когда я запускаю приведенный выше код, я получаю следующую трассировку стека (извините за форматирование):

Код: Выделить всё

> len(df) = 381 len(signal) = 381
> Traceback (most recent call last):
> File "/data/stuart/Projects/Python/BackTesting/Scratches/charting1.py",
> line 25, in 
>     mpf.plot(df, type= 'candle', tight_layout=True, datetime_format='%Y-%m-%d', volume=False, show_nontrading=False,
> addplot=apds)
File
> "/data/stuart/Projects/Python/Env/lib/python3.12/site-packages/mplfinance/plotting.py",
> line 808, in plot
>     ax = _addplot_columns(panid,panels,ydata,apdict,xdates,config,colcount)
>          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/data/stuart/Projects/Python/Env/lib/python3.12/site-packages/mplfinance/plotting.py",
> line 1139, in _addplot_columns
>     ax.scatter(xdates, ydata, s=size, marker=mark, color=color, alpha=alpha, edgecolors=edgecolors, linewidths=linewidths,label=label)
>
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File
> "/data/stuart/Projects/Python/Env/lib/python3.12/site-packages/matplotlib/__init__.py",
> line 1473, in inner
>     return func(
>            ^^^^^   File "/data/stuart/Projects/Python/Env/lib/python3.12/site-packages/matplotlib/axes/_axes.py",
> line 4787, in scatter
>     raise ValueError("x and y must be the same size") ValueError: x and y must be the same size
Я не понимаю ссылку на ValueError: x и y должны быть одинакового размера. Мой список сигналов и df Dataframe имеют одинаковый размер (см. вывод оператора печати).
Кто-нибудь может помочь мне правильно запустить этот код.< /p>
С уважением, СтюартМ

Подробнее здесь: https://stackoverflow.com/questions/787 ... atter-plot
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • При построении линии тренда на линейной диаграмме пользовательского интерфейса Kendo в приложении MVC указанная дата ото
    Anonymous » » в форуме Jquery
    0 Ответы
    91 Просмотры
    Последнее сообщение Anonymous
  • Установить форму только некоторых точек на диаграмме рассеяния Альтаира
    Anonymous » » в форуме Python
    0 Ответы
    99 Просмотры
    Последнее сообщение Anonymous
  • Удалить белую рамку из точек на диаграмме рассеяния морского побережья
    Anonymous » » в форуме Python
    0 Ответы
    75 Просмотры
    Последнее сообщение Anonymous
  • Маркировка определенных точек на диаграмме рассеяния Seaborn
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Точки гиперссылки на диаграмме рассеяния – matplotlib
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»