Die Ressourcen sind geladen. Beförderung...

2.7.1 Windows 32-Bit-System Python 2.7-Umgebung Installation der Talib-Indikatorbank

Schriftsteller:Die Erfinder quantifizieren - Kleine Träume, Erstellt: 2017-02-11 18:01:05, Aktualisiert: 2019-08-01 09:20:22

Windows 32-Bit-System Python 2.7-Umgebung Installation der Talib-Indikatorbank


Die Erfinder quantifizieren die Plattform, indem sie die Strategien in Python schreiben, wenn sie mit einer überschriebenen TA-Bibliothek MA, MACD, EMA und andere Indikatoren berechnen (da sie eingebaut sind).

Ein Beispiel ist die Strategie der Wiederholung (ob mit einem öffentlichen Server oder mit einem eigenen Host).

import types
def main():
    STATE_IDLE = -1
    state = STATE_IDLE
    initAccount = ext.GetAccount()
    while True:
        if state == STATE_IDLE :
            n = ext.Cross(FastPeriod,SlowPeriod) # 指标交叉函数
            if abs(n) >= EnterPeriod :
                opAmount = _N(initAccount.Stocks * PositionRatio,3)
                Dict = ext.Buy(opAmount) if n > 0 else ext.Sell(opAmount)
                if Dict :
                    opAmount = Dict['amount']
                    state = PD_LONG if n > 0 else PD_SHORT
                    Log("开仓详情",Dict,"交叉周期",n)
        else:
            n = ext.Cross(ExitFastPeriod,ExitSlowPeriod) # 指标交叉函数
            if abs(n) >= ExitPeriod and ((state == PD_LONG and n < 0) or (state == PD_SHORT and n > 0)) :
                nowAccount = ext.GetAccount()
                Dict2 = ext.Sell(nowAccount.Stocks - initAccount.Stocks) if state == PD_LONG else ext.Buy(initAccount.Stocks - nowAccount.Stocks)
                state = STATE_IDLE
                nowAccount = ext.GetAccount()
                LogProfit(nowAccount.Balance - initAccount.Balance,'钱:',nowAccount.Balance,'币:',nowAccount.Stocks,'平仓详情:',Dict2,'交叉周期:',n)
        Sleep(Interval * 1000)


Der Name der Strategie ist: Einheitliche Strategie (Python-Version), mit Template:Python-Version

Sie können direkt auf Strategieplatz kopieren und erwerben.

Diese Strategie verwendet keine Indikatorfunktionen, sondern verwendet die Exportfunktion ext.Cross der Template für die Live-Digital-Währungs-Transaktions-Klasse-Library von Python, die in der Exportfunktion aufgerufen wird.TA.MA◦ Verwenden Sie die TA-Büchern (es ist kein Problem, da die TA-Büchern eingebaut sind!)

Wenn man den Code ändert.

import types
import talib  # 改动  引用 talib 库
def main():
    STATE_IDLE = -1
    state = STATE_IDLE
    initAccount = ext.GetAccount()
    while True:
        records = exchange.GetRecords()
        ma = talib.MA(records.Close)       # 改动 ,调用 talib 库的 MA 函数 即 均线指标计算
        LogStatus("均值" + str(ma))
        if state == STATE_IDLE :
            n = ext.Cross(FastPeriod,SlowPeriod) # 指标交叉函数
            if abs(n) >= EnterPeriod :
                opAmount = _N(initAccount.Stocks * PositionRatio,3)
                Dict = ext.Buy(opAmount) if n > 0 else ext.Sell(opAmount)
                if Dict :
                    opAmount = Dict['amount']
                    state = PD_LONG if n > 0 else PD_SHORT
                    Log("开仓详情",Dict,"交叉周期",n)
        else:
            n = ext.Cross(ExitFastPeriod,ExitSlowPeriod) # 指标交叉函数
            if abs(n) >= ExitPeriod and ((state == PD_LONG and n < 0) or (state == PD_SHORT and n > 0)) :
                nowAccount = ext.GetAccount()
                Dict2 = ext.Sell(nowAccount.Stocks - initAccount.Stocks) if state == PD_LONG else ext.Buy(initAccount.Stocks - nowAccount.Stocks)
                state = STATE_IDLE
                nowAccount = ext.GetAccount()
                LogProfit(nowAccount.Balance - initAccount.Balance,'钱:',nowAccount.Balance,'币:',nowAccount.Stocks,'平仓详情:',Dict2,'交叉周期:',n)
        Sleep(Interval * 1000)


In der Strategie aufrufentalib.MAWenn Sie Ihre eigene Administrator-Rückprüfung oder die Live-Disk-Run-Politik verwenden, werden folgende Fehler angezeigt:

img

Ich bin ein guter Nutzer, wenn ich einen öffentlichen Server benutze, um zu überprüfen, ob es ein Problem ist. Das ist richtig, weil die Talib-Sammlung bereits auf dem öffentlichen Server installiert ist.

Für die Python-Umgebung des eigenen Administrators ist es nur möglich, Talib manuell zu installieren. Die folgende Demonstration zeigt, wie man die Talib-Bibliothek in der Python 2.7-Umgebung unter Windows XP (d. h. 32-Bit-Windows) installiert. Es gibt verschiedene Online-Methoden, aber hier wird eine einfache Methode verwendet.

  • 1. Bereit zum Herunterladen und Installieren von Python 2.7 (win32)

    img

    Bitte beachten Sie, dass die Win32-Version Python 2.7 als Installationspaket heruntergeladen wird.

    Achtung beim Installieren: Wählen Sie die Option für die automatische Konfiguration von Umgebungsvariablen, wenn die Pip-Komponente standardmäßig installiert ist.

    img

  • 2. Installieren des Wheels

    img

    Hier sind einige Informationen, die Sie im Internet suchen können:

python wheel怎么安装?
小灰机289 | 浏览 14404 次
推荐于2016-01-19 03:17:24 最佳答案
你装了pip吗,建议先装pip,后面安装各种python库就很方便了。
打开命令行窗口,输入下面的命令:
pip install wheel
这时pip会自动在网络上下载安装wheel。
安装完成后可以敲下面的命令查看是否安装成功:
pip freeze
  • 3. Download und Installation von talib

    Hier ist der Download:http://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

    Um die entsprechende Version und das entsprechende System von Talib-Dateien zu finden, siehe:

    img

    Nach dem Download ist die Installation wie folgt:

    img

  • 4. Ich dachte, es wäre OK, aber als ich import talib getestet habe, gab es einen Fehler: "Numpy nicht gefunden". Es sieht so aus, als würde ich diese Bibliothek auch installieren.

    img

    Numpy herunterladen Hier ist der Download:http://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib

    img

    Installation:

    img

  • 5. Versuchen Sie es.

    img

    Versuchen Sie es mit der Indikatorfunktion von talib in der Erfinderquantifikation.

    Die Ausgabe von LogStatus kann angezeigt werden.

    img

  • Die Installationspakete, die für den oben genannten Prozess verwendet wurden, sind nachstehend aufgeführt. Ich habe sie der QQ-Gruppe übermittelt.

    img

    Nach der Kompression

    img


Mehr

- Ich weiß nicht.Danke!