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.
Dobrý den,
máte správně nastavenou cestu ke strategii v souboru settings? případně jiné strategie Vám funguji?
DDIP jsem dnes zkoušl a stáhla se bez problémů
problém nalezen zde:
trade = ib_util.simpleorder(contract, abs(quantity), price, "", exit_type, "BUY" if quantity < 0 else "SELL", exit_tif, oca, self.config['Name'], self.accountNr)
příkaz nemá nastavenou auxPrice a proto se příkaz nezaloží a je IBKR zamítnut. Po úpravě se příkazy k otevřenému obchodu již vytvořily.
Dobrý den.
Snažím se rozeběhnout nový autotrade. Nastavil jsem v settings všechny parametry pro stahování strategie DEEDIP. Další parametry jsem nastavil ve strategies pro tuto strategii, ale při spuštění generátoru mi to píše viz níže. Nechce se mi stáhnout strategie do adresáře i když píše, že je dokončená. Vím, že asi musím někde ještě něco povolit či nastavit, ale nevím kde. Můžete mi poradit. Děkuji.
Jaromír
C:\signaltrader>generator.py
### Testovani periody ###
2025-04-02 20:14:00: GEN - Strategie DEEPDIP s periodou D predana k dalsimu zpracovani.
2025-04-02 20:14:00: GEN - Dnesni budou obchodovat strategie ['DDIP']
2025-04-02 20:14:00: GEN - Filtr earnings signalu: ZAPNUTO
### Generovani signalu - DEEPDIP ###
2025-04-02 20:14:00: GEN - Soubor strategie 'DEEPDIP' nelze stahnout.
2025-04-02 20:14:00: GEN - Priprava CSV souboru se signaly dokoncena
### Beh generatoru uspesne dobehl do konce. ###
2025-04-02 20:14:02: SENDER - Na email jaromirk@k2p.cz uspesne odeslan log o prubehu skriptu.
Tento risk pracuje zhruba s cca 2-4 MBT kontrakty dle volatility. Tedy účet bude vyžadován cca 6000 - 12000 usd.
Zkusil bych stejné množství kontraktů ve stejném expiračním kontraktu zadávat ručně a snad zjistíte, v čem máte na svém tws problém.
děje se tak ale pouze u otevřeného obchodu a řekl bych, že problém je pouze s STP příkazem. Když jsem z csv souboru odstranil LMT příkaz a zůstal tam pouze jeden (STP příkaz), příkaz se mi stále do platformy nezadal, i když skript proběhl v pořádku.
LMT příkaz se do platformy zadal.
Pro obchody, které ještě nebyly vyplněné, se příkazy napojí oba: LMT i STP, viz. screen
Pro
Marginy jsou vypsány zde: https://www.interactivebrokers.ie/en/trading/margin-futures-fops.php?hm=eu&ex=us&rgt=0&rsk=1&pm=0&rst=040404040404040104
Pro 1 kontrakt MBT je to cca 3013 USD.
S jakým riskem MBT obchodujete (je to definováno v konfiguraci trhů)?
Zdravím,
tak skript stahuje data a zadává příkazy v pořádku. Problém je, že mi je IB zahazuje. Ale teda nějak nechápu důvod ... podle logu to vypadá, že kvůli marginu, ale jedná se o sim kde je tuším necelých 1 mil Kč. Snad MBT nemá takové požadavky na margin 🙂
Nevíte někdo náhodou?
Díky. T.
volání get_inputvalues jsem rozšířil o parametr index a již nedochází k vytvoření duplicitních příkazům. Ale nyní nevím, kde je problém se zpracováním STP příkazu. LMT příkaz se mi do platformy zadal, ale STP příkaz nikoliv, i když ho skript dle výpisu bez chyby vytvořil. Nemusí být někde něco nastavené pro STP příkaz k otevřenému obchodu?
Dobrý den,
děkuji za upřesnění, upravil jsem si generator rozšířením o uvedené sloupce a dnešní příkazy se zadaly s definovanými PT, SL.
Ještě řeším situaci, kdy pro ticker mám signál s PT a zároveň i SL u výstupní pozice. Myšleno pokud jsou splněné podmínky pro EXIT, viz. obrázek.
Skript mi vytvoří dva příkazypro LMT 34.22 a STP "ignoruje". Resp. pozná, že je potřeba zpracovat dva příkazy, ale indexuje se stále na první řádek a tudíž zadá dva příkazy se stejnými hodnotami z řádku 1 (row[0])
Myslím, že je problém zde:
def get_inputvalues(self, ticker):
""" z df signals nacteme hodnoty dotycneho tickeru a ulozime do dict """
row = self.df_signals.loc[self.df_signals['Ticker'] == ticker]
return row.iloc[0].to_dict()
jak vyřešit, aby se mi zadaly příkazy korektně?
Dobrý den Petře,
ze starého dasboardu používám signály strategií MR3000 a FinWin.
Navíc také používám stránku, kde se ukazuje datum poslední aktualizace, ve svých skriptech. Proto bych byl rád, kdyby bylo možno starý dashboard zrušit až o víkendu - jsem na cestách a potřebuji čas vše předělat.
Kdyby bylo možné nějak zachovat FinWin, bylo by to dobré. Ještě mám otázku, jakým systémům v novém dashboardu odpovídají staré MR3000?
Přeji hezký den.
Aleš
Já osobně budu patrně strategii testovat jen v Pythonu. Ale logiku strategie zde určitě budeme vždy prezentovat i v textu a můžete si je naskriptovat do software, který používáte. Uvidíme, jestli třeba nenasdílí kód nějaký uživatel TradeStation, ve které by strategie měla jít naskriptovat. Ale to už jde mimo mé znalosti.
Dobrý večer,
pustil som sa trochu do toho a chcel by som sa opýtať či v budúcnosti bude možné tieto backatesty realizovať v nejakom softvery pre lepšiu vizualizáciu a prácu zo stratégiou ? Napríklad si budem chcieť konkretne na grafe pozrieť vstupy výstupy, alebo otestovať jednoduché kontextové filtry, rozmanitejšie štatistiky či dokonca meniť výstupnú logiku. V pythone nie som profesionál ale takéto niečo vytvoriť si už žiada rozsiahlejší a zložitejší kód.
Prajem pekný večer
Timi
To jsem myslel právě v kontextu několika různých zdrojů, pak SignalTrader by pracoval pouze s jednotnou strukturou signálu.
Ad názvy. Opačně, Připojit PT nabývá hodnot Ano/Ne stejně jako ProfitTaker. Cena se pak ukládá jako ProfitTarget.
V TechLabu jsou také signály (odkaz je v rozcestníku), které se generují pro účastníky starších workshopů. Avšak pozor, systémy mají jiná pravidla než v TradingRoom a tak, i když se třeba jmenují stejně nebudou mít stejné vstupy.
B.
Dobrý den,
co myslíte větou "V přípravě csv mi to ale přijde čistší". Máte na mysli upravení názvu sloupců v genarátoru?
Jaké názvy by když tak odpovídali zamýšlené logice pro sloupec "Připojit PT" a "Cena PT"? Bylo by to: Připojit PT = ProfitTarget a Cena PT = ProfitTaker? Po takovéto úpravě se stejně musí upravit i sgtrader skript, nebo ne?
A co znamená jiné názvy sloupci v Techlabu? TechLab má také stránku se signály? Děkuji
Dobrý den,
ano, řešit by se to dalo i tímto způsobem.
Je v podstatě jedno jestli se úpravy provedou v generátoru, nebo až během načtení signálů z csv souboru. V přípravě csv mi to ale přijde čistší, protože jiné názvy sloupců se objevují v TradingRoom, jiné v TechLabu, a pak by bylo třeba vzhledem k univerzálnosti použití podmínku rozšířit i pro další zdroje.
B.
Omlouvám se za spam 😔
Nakonec mi to v mobilní appce nabídlo upravit povolení a podařilo se změnit práva pro obchodování, neuvědomil jsem si, že jsem před časem přecházel na jiný účet, měl jsem za to že se přeneslo i veškeré nastavení účtu u IB ale bohužel ne, každopádně potvrzuji že MBT už funguje
Zkoušel jsem právě updatovanou verzi 0.3, příkazy mi na MBT sice poslalo, ale chce to ještě transmit v platformě a vrací mi to že nemám trading permissions
Po bádání jsem narazil na to (pokud tomu správně rozumím...) že je to retail non profi účtům asi zapovězeno obchodovat, jak jste na tom ostatní ?
Podle toho, kdy budete chtít "rolovat" mezi měsíci. MBT má expiraci každý měsíc a je vypořádán v penězích. Podle mě půjde obchodovat až skoro do konce expirace. Zkuste nechat například 5 a pozorovat volume v jednotlivých kontraktech.
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!
This website protects your privacy by adhering to the European Union General Data Protection Regulation (GDPR). We will not use your data for any purpose that you do not consent to and only to the extent not exceeding data which is necessary in relation to a specific purpose(s) of processing. You can grant your consent(s) to use your data for specific purposes below or by clicking "Agree to all".
We will store data in an aggregated form about visitors and their experiences on our website. We use this data to fix bugs and improve the experience for all visitors.
Remarketing
We will store data to show you our advertisements (only ours) on other websites relevant to your interests.