0
Guten Tag,Warum passiert dieser AttributeError?
Ich bin ein Student, und ich versuchte, die Wavetrend Oscillator Strategie auf der Quantopian Plattform zu implementieren: https://www.tradingview.com/script/2KE8wTuF-Indicator-WaveTrend-Oscillator-WT/ , was ich verkauft AAPL tun wollte, als der Indikator hoch ist und es zu kaufen, wenn niedrig ist.
Es hält mich diesen Fehler geben:
AttributeError: 'zipline.assets._assets.Equity' object has no attribute 'history'
Kann mir jemand helfen?
import talib
import pandas
# ---------------------------------------------------
n1, n2, period, stock = 10, 21, 12, sid(24)
# ---------------------------------------------------
def initialize(context):
schedule_function(open_positions, date_rules.week_start(), time_rules.market_open())
def handle_data(context, data):
if get_open_orders(): return
close = stock.history(stock, 'close', period + 1, '1d')
low = stock.history(stock, 'low', period + 1, '1d')
high = stock.history(stock, 'high', period + 1, '1d')
ap = (high+low+close)/3
esa = talib.EMA(ap, timeperiod=n1)
d = talib.EMA(abs(ap - esa), timeperiod=n1)
ci = (ap - esa)/(0.015 * d)
wt1 = talib.EMA(ci, timeperiod=n2)
wt1 = wt1.dropna()
wt2 = talib.SMA(wt1, timeperiod=4)
wt2 = wt2.dropna()
def open_positions(context, data):
if data.can_trade(stock < wt1):
order_target_percent(stock, 2)
elif data.can_trade(stock > wt2):
order_target_percent(stock, -1)
aus dem Code und die Fehler, die ich annehmen würde, dass 'stock' nicht die' history' Methode hat, die Sie versuchen zu benutze – Roars
@Roars ist richtig - die Methode 'sid (...)' gibt ein Objekt zurück, das keine Methode 'history()' hat. Hilft https://www.quantopian.com/help#ide-history? – gtmtg