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,
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.
Zdravím,
jedná se se o nuance, které musíme vysledovat a odladit.
Tím jak se deník rozšířil o podporu dalších trhů vniklo podstatně více kombinací, na které může při zpracování obchodů narazit, navíc se měnila cela logika párování, takže podobné případy mohou nastat a do doby než se vyřeší v kódu bude je třeba upravit ručně.
B.
Navíc při změně na řádku 324 na dřívější funkci fills.getFills() se mi zase objevuje další problém viz screen.
Začíná toho být na jednoho už nějak dost
T.
Ted jsem to řešil z podobného důvodu ale ještě jsem měl starý telefon. A vsechny 2f (TWS, TS, contabo,...) jsem převedl na standardní autentifikator tzn pres klíč a QR kod a jsem schopen to rozchodit na čemkoliv. A mám klid.
Ruda
Server od roku 2003 vydává
Centrum finančního vzdělávání, s.r.o. info@financnik.cz
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!