Pracovní skupina poskytovaná tradery pro tradery. Naleznete v ní odpovědi na své technické otázky týkající se programů Amibroker, Python, InteractiveBrokers TWS a TradeStation Global.
Zdravím, používám obě varianty, jak nový fills a diary, tak starší typ fills . Vše mi funguje bez chyby už cca 14 dní. Stahuje se mi to přes plánovač úloh a večer vše zkontroluji a zatím vše ok. Dokonce i na simu je vše ok, i když tam mám více strategií než na live.
Díky všem za pomoc.
Aktuálně používám fills.py starší verzi od @Mio a deník od @4fx
Zatím jsem vysledoval, že se mi stahují komise, ale hapruje mi quantity ... tam to nepočítá dobře.
Jakou variantu vlastně používáte vy @Mio ? Vám to vše funguje? Multiplikátor u MBT, komise i quantity OK?
Díky za info.
T.
Autentikator jsem nainstaloval a aktivoval a chrlí na mě jedno heslo za druhým, ale TWS mi odpoví login failed. Něco dělám špatně, ale nevím co. Mohu se zeptat jak používáte QR kod? Žádný bezpečnostní klíč jsem v nastavení IBKR nenašel. Moc děkuji.
Zdravím,
je to tak, desetinná čísla u multiplikátoru jsme minule řešili u nové funkce, pokus si přepnete tu původní, tak bude třeba změnu provést znova, na řádku č. 98 nahradit int() na float()
fills = [(e.time,e.execution.acctNumber,e.execution.clientId,e.contract.symbol,e.contract.secType,e.contract.localSymbol,e.contract.currency,e.execution.permId,e.execution.side,e.execution.shares,e.execution.avgPrice,e.execution.price,e.commissionReport.commission,e.execution.orderRef,e.execution.execId,e.contract.exchange,e.commissionReport.realizedPNL, int(e.contract.multiplier) if e.contract.multiplier else 1 )for e in fills]
fills = [(e.time,e.execution.acctNumber,e.execution.clientId,e.contract.symbol,e.contract.secType,e.contract.localSymbol,e.contract.currency,e.execution.permId,e.execution.side,e.execution.shares,e.execution.avgPrice,e.execution.price,e.commissionReport.commission,e.execution.orderRef,e.execution.execId,e.contract.exchange,e.commissionReport.realizedPNL, float(e.contract.multiplier) if e.contract.multiplier is not None else 1.0 )for e in fills]
Případně můžete zkusit skript fills.py, který publikoval Mio, jeho řešení tyto úpravy obsahuje.
B.
Zdravím,
díky za sdílení, porovnal jsem si zdrojové kódy a koukám, že se AI na diary.py hezky vyřádila změnila skoro 90% řádků.
Pro zajímavost připojuji náhled srovnání obsahu, sloupce na levé straně jsou v případě shody bílé.
Naopak ve fills.py změny proběhly citlivěji a provedené úpravy dávají na první pohled smysl, po otestování zahrnu nové části do publikované verze.
B.
Na první pohled to vypadá správně, ale zkuste před řádkem s funkcí getFills() zmazat odsazení a vytvořit znova pomocí osmi mezer.
Když jsem si na zkoušku řádek odsadil tabelátorem zobrazila se stejná chyba.
File "C:\Users\aos\Documents\Python_projects\signaltrader\fills.py", line 248
trades, positions = fills.getFills()
TabError: inconsistent use of tabs and spaces in indentation
B.
Upozornění: Všechny informace poskytované na Financnik.cz jsou určeny výhradně ke studijním účelům témat týkajících se obchodování na burze a neslouží v žádném případě coby konkrétní investiční či obchodní doporučení. Provozovatel serveru ani jednotliví autoři nejsou registrovanými brokery či investičním poradcem ani makléřem. Jsou-li na stránkách zmiňovány konkrétní finanční produkty, komodity, akcie, forex či opce, vždy a pouze za účelem studia obchodování na burze. Vydavatel serveru není zodpovědný za konkrétní rozhodnutí jednotlivých uživatelů. Burzovní obchodování a investování s finančními instrumenty (a komoditami obzvláště) je vysoce rizikové. Rozhodnutí obchodovat komodity a akcie je odpovědností každého jednotlivce a jedině on sám nese za svá rozhodnutí plnou odpovědnost. Nikdy se nepouštějte do obchodů, jejichž podstatě plně nerozumíte. Pamatujte, že burza má svá pravidla, kterým je třeba porozumět, než začnu riskovat své vlastní peníze!