[PYTHON] Backtrader So importieren Sie einen Indikator aus einer anderen Datei

Import von benutzerdefinierten Indikatoren

Zur Erklärung habe ich eine benutzerdefinierte Indikatorklasse im selben Skript geschrieben. Es ist jedoch bequemer, nur die benutzerdefinierte Indikatorklasse in eine separate Py-Datei zu schreiben und sie getrennt vom Strategieskript zu verwenden.

Wenn der Dateiname des benutzerdefinierten Indikators ** customindicator.py ** lautet, steht er am Anfang der Strategie.

customindicator as cind importieren (beliebiger beschreibender Name)

In der init-Methode der Strategieklasse

self.myind1 = cind.MyStochastics1(self.data)

Schreiben.

Platzieren Sie customindicator.py im selben Verzeichnis wie das Strategieskript. Wenn Sie Jupyter Notebook verwenden und die Standardeinstellungen beibehalten, lautet dies "C: \ Benutzer \ Benutzername ".

customindicator.py



import backtrader as bt


class MyStochastic1(bt.Indicator):
    
    lines = ('k', 'd', ) 
    params = (
        ('k_period', 14), 
        ('d_period', 3),  #Komma am Ende des Taple(、)Einstellen
    )
    
    
    def __init__(self):
        highest = bt.ind.Highest(self.data, period=self.p.k_period)
        lowest = bt.ind.Lowest(self.data, period=self.p.k_period)        
       
        self.lines.k = k = (self.data - lowest) / (highest - lowest)    
        self.lines.d = bt.ind.SMA(k, period=self.p.d_period)

sto2.py


%matplotlib notebook
from __future__ import (absolute_import, division, print_function,
                        unicode_literals)

import datetime  
import os.path  
import sys 
import backtrader as bt 
import customindicator as cind #

class TestStrategy(bt.Strategy):
    def __init__(self):
        
        self.myind1 = cind.MyStochastics1(self.data)   
        
        
if __name__ == '__main__':
    cerebro = bt.Cerebro()
    cerebro.addstrategy(TestStrategy)

    datapath = 'C:\\Users\\XXXX\\orcl-1995-2014.txt'

    # Create a Data Feed
    data = bt.feeds.YahooFinanceCSVData(
        dataname=datapath,        
        fromdate=datetime.datetime(2000, 1, 1),
        todate=datetime.datetime(2000, 12, 31),
        reverse=False)

    cerebro.adddata(data)
    cerebro.run(stdstats=False)
    cerebro.plot(style='candle')

Recommended Posts

Backtrader So importieren Sie einen Indikator aus einer anderen Datei
So konvertieren Sie Python in eine exe-Datei
So erstellen Sie einen benutzerdefinierten Backtrader-Indikator
Excel-Datei aus Python importieren (in DB registriert)
So erstellen Sie einen Artikel über die Befehlszeile
So verwandeln Sie eine .py-Datei in eine .exe-Datei
Verwendung der NUITKA-Utilities-Hinweis-Kompilierung zum einfachen Erstellen einer ausführbaren Datei aus einem Python-Skript
[Python] Eine andere Möglichkeit zum Importieren
So importieren Sie Dateien in Python an eine beliebige Stelle
So generieren Sie einen öffentlichen Schlüssel aus einem privaten SSH-Schlüssel
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
[Python] So geben Sie eine Pandas-Tabelle in eine Excel-Datei aus
Lesen einer Excel-Datei (.xlsx) mit Pandas [Python]
So erstellen Sie eine ISO-Datei (CD-Image) unter Linux
So fügen Sie eine CSV-Datei mit Pandas in eine Excel-Datei ein
Wie man SWIG von waf benutzt
[Django] Lesen von Variablen / Konstanten, die in einer externen Datei definiert sind
So starten Sie den Explorer über die WSL
So beheben Sie den Fehler, der in toimage aufgetreten ist (aus PIL.Image Import fromarray als toimage)
So greifen Sie über Python auf Wikipedia zu
Python, um von einer anderen Sprache zu wechseln
So bekommen Sie einen Ingenieur aus Ihren 30ern
So konvertieren Sie von .mgz nach .nii.gz
So erstellen Sie eine Konfigurationsdatei
Lesen von Umgebungsvariablen aus einer ENV-Datei mit PyCharm (für Mac)
So erstellen Sie eine Anwendung aus der Cloud mithilfe des Django-Webframeworks
Verwenden Sie BeautifulSoup, um einen Link mit einer Zeichenfolge aus einer HTML-Datei zu extrahieren
[Python] So konvertieren Sie eine Datenbankdatei in CSV
[Hinweis] Lesen Sie eine Datei aus einem anderen Verzeichnis
So konvertieren Sie das Format einfach aus Markdown
Skript zum Generieren eines Verzeichnisses aus einer JSON-Datei
python3 So installieren Sie ein externes Modul
So aktualisieren Sie Google Sheets von Python
So erstellen Sie eine NVIDIA Docker-Umgebung
Verwendung von Multi-Core aus der Sicht mehrerer Sprachen
[Python] Verwendung von import sys sys.argv
Zugriff auf RDS von Lambda (Python)
So bedienen Sie Linux von der Konsole aus
So erstellen Sie ein Repository aus Medien
So greifen Sie von außen auf den Datenspeicher zu
Batch-Einfügung von einer CSV-Datei in eine Tableau-Hyperdatei mit dem PostgreSQL-ähnlichen Befehl COPY
[Python] So löschen Sie einfach einen untergeordneten Prozess, der durch Multiprozess gestartet wurde, von einem anderen Prozess
Ich habe ein Paket erstellt, um eine ausführbare Datei aus dem Hy-Quellcode zu erstellen
Lesen einer CSV-Datei mit Python 2/3
So tarnen Sie eine ZIP-Datei als PNG-Datei
So erstellen Sie einen eingebetteten Linux-Gerätetreiber (11)
So stellen Sie sicher, dass WTForms TextArea dem Löschen von Dateien entspricht
So erstellen Sie einen eingebetteten Linux-Gerätetreiber (8)
So öffnen Sie einen Webbrowser über Python
So erstellen Sie einen eingebetteten Linux-Gerätetreiber (1)
So erstellen Sie einen eingebetteten Linux-Gerätetreiber (4)
So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
Studie aus Python Hour7: Verwendung von Klassen
Zusammenfassung zum Importieren von Dateien in Python 3
So erhalten Sie Ergebnisse von id in Celery
Von der Datei zur Diagrammzeichnung in Python. Grundstufe Grundstufe
So erstellen Sie eine JSON-Datei in Python
So erstellen Sie einen eingebetteten Linux-Gerätetreiber (7)