Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky
  1. Otevřená sekce

    1. 15
      15 příspěvků
  2. Uzavřené diskuze pro absolventy kurzů Finančníka

    1. TechLab

      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.

      7,6k
      7,6k příspěvků
    2. Trading Room

      Diskuzní skupina v rámci Trading Roomu.

      577
      577 příspěvků
    3. 422
      422 příspěvků
    4. Základy práce s programem Amibroker

      Uzavřená diskuze pro účastníky online kurzu Základy práce s programem Amibroker.

      189
      189 příspěvků
      • petr
    5. FIMS A–Z: Profesionální daytrading orderflow

      Diskuze o intradenním obchodování v rámci informací prezentovaných v kurzu FIMS A–Z: Profesionální daytrading orderflow.

      29,3k
      29,3k příspěvků
      • Jack
  3. Archiv původních anonymních diskuzích

    1. 201,1k
      201,1k příspěvků
  • Statistiky uživatelů

    31 243
    Celkem uživatelů
    467
    Nejvíce online
    cybery
    Nejnovější uživatel
    cybery
    Registrace
  • Všechny poslední příspěvky

    • Zdravím, chtěl bych upozornit zdejší komunitu že project IB_INSYNC byl uzavřen z důvodu úmrtí autora a nahrazen novým IB_ASYNC, který vzešel z IB_INSYNC (https://ib-api-reloaded.github.io/ib_async/readme.html a https://github.com/ib-api-reloaded/ib_async). Neobsahuje pouze poslední update z ib_insync 0.9.86 ale byly provedeny některé jiné změny. Tomas M.
    • Petře děkuji, já se snažil použít and a or v okně kde definujeme podmínky , a absolutní slepota - změnit to tam kde píšete - tam jsem prostě myšlenkou nedošel.  Použití symbolu místo or ... totéž.
    • Dobře. V diary_v1.3 mi nefunguje buňka číslo 19, můžete poradit? Ten soubor se má někam uložit?
    • Zdravím, uvedená buňka pouze zobrazuje vybrané záznamy načtené z databáze a nemá vliv na rozsah zobrazení výsledků.   Nicméně výsledky se zpracují automaticky pro všechny systémy, u kterých byly ve vybraném období provedeny obchody. S omezením jsem při vývoji nepočítal, jedině je možné odstranit nechtěné sloupce z tabulky Portfolio pomocí funkce drop(), to však zruší pouze příslušnou linku z grafu, ale nepromítne se výpočtu celkové equity. B.
    • Zdravím, nemáte definované váhy pro zpracovávané strategie. Doporučuji shlédnout čtvrtou lekci minikurzu Obchodního deníku, tam je podrobněji popsaná práce s novou verzí diary.ipynb, které buňky spouštět, co nastavit a jak postupovat. B.
    • Zdravím, obchodní deník diary_v1.3 funguje a když stáhl diary_v1.5 tak nefunguje. Zpracování denních změn   z externiho XLSX souboru In [38]:         equities = diary.getEquities_XLS('data/Obchodni_denik_2024.xlsx', strategie = ['SMRUSA_L', 'SMRUSA_S', 'SMRCA_L', 'MOB']) equities       --------------------------------------------------------------------------- FileNotFoundError Traceback (most recent call last) Input In [38], in <cell line: 1>() ----> 1 equities = diary.getEquities_XLS('data/Obchodni_denik_2024.xlsx', strategie = ['SMRUSA_L', 'SMRUSA_S', 'SMRCA_L', 'MOB']) 2 equities File ~\Desktop\Denik nová verze\diary.py:704, in Diary.getEquities_XLS(self, source, datum_spusteni, strategie) 702 equities = {} 703 for s in strategie: --> 704 df = pd.read_excel(source, sheet_name=s,header=2) 705 df = df[df['Status'] == 'close'] 706 data = pd.DataFrame() File ~\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\util\_decorators.py:311, in deprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper(*args, **kwargs) 305 if len(args) > num_allow_args: 306 warnings.warn( 307 msg.format(arguments=arguments), 308 FutureWarning, 309 stacklevel=stacklevel, 310 ) --> 311 return func(*args, **kwargs) File ~\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\io\excel\_base.py:457, in read_excel(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, decimal, comment, skipfooter, convert_float, mangle_dupe_cols, storage_options) 455 if not isinstance(io, ExcelFile): 456 should_close = True --> 457 io = ExcelFile(io, storage_options=storage_options, engine=engine) 458 elif engine and engine != io.engine: 459 raise ValueError( 460 "Engine should not be specified when passing " 461 "an ExcelFile - ExcelFile already has the engine set" 462 ) File ~\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\io\excel\_base.py:1376, in ExcelFile.__init__(self, path_or_buffer, engine, storage_options) 1374 ext = "xls" 1375 else: -> 1376 ext = inspect_excel_format( 1377 content_or_path=path_or_buffer, storage_options=storage_options 1378 ) 1379 if ext is None: 1380 raise ValueError( 1381 "Excel file format cannot be determined, you must specify " 1382 "an engine manually." 1383 ) File ~\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\io\excel\_base.py:1250, in inspect_excel_format(content_or_path, storage_options) 1247 if isinstance(content_or_path, bytes): 1248 content_or_path = BytesIO(content_or_path) -> 1250 with get_handle( 1251 content_or_path, "rb", storage_options=storage_options, is_text=False 1252 ) as handle: 1253 stream = handle.handle 1254 stream.seek(0) File ~\AppData\Local\Programs\Python\Python310\lib\site-packages\pandas\io\common.py:798, in get_handle(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options) 789 handle = open( 790 handle, 791 ioargs.mode, (...) 794 newline="", 795 ) 796 else: 797 # Binary mode --> 798 handle = open(handle, ioargs.mode) 799 handles.append(handle) 801 # Convert BytesIO or file objects passed with an encoding FileNotFoundError: [Errno 2] No such file or directory: 'data/Obchodni_denik_2024.xlsx'   z databáze In [39]:         equities = diary.getEquities(start='2024-02-20', end='2024-03-29') #equities = diary.getEquities() # zpracuje vsechny zaznamy nalezene v databazi #equities = diary.getEquities(start='2024-02-21', end='2024-03-29', account='Uxxxxxxx') equities       NOTICE: SQL query >SELECT substr(exitDate,1,11) as date, "NetP/L" FROM diary WHERE strategy="FS" AND exitDate>="2024-02-20" AND exitDate<"2024-03-29" ORDER BY exitDate< returned no data Out[39]: {'FinwinL': Return Date 2024-03-01 3.49 2024-03-04 105.27 2024-03-15 85.31, 'MR3000S': Return Date 2024-02-23 17.27 2024-02-26 117.83 2024-02-27 321.79 2024-02-29 384.18 2024-03-04 366.45 2024-03-05 356.29 2024-03-12 422.93 2024-03-14 564.77 2024-03-19 845.37 2024-03-28 891.69, 'MR3000L': Return Date 2024-02-22 120.75 2024-02-23 161.88 2024-03-06 134.17 2024-03-12 282.45 2024-03-14 135.57 2024-03-15 137.83 2024-03-18 157.86 2024-03-19 158.81 2024-03-26 161.25, 'FinwinS': Return Date 2024-03-04 -60.86 2024-03-05 -6.86 2024-03-07 -38.93 2024-03-08 11.83 2024-03-18 67.21 2024-03-19 52.23 2024-03-21 84.13, 'MicroBreakout': Return Date 2024-02-20 -309.220 2024-02-26 -400.520 2024-02-27 -624.990 2024-02-28 -591.470 2024-02-29 -793.150 2024-03-05 -813.550 2024-03-07 -836.690 2024-03-08 -984.440 2024-03-12 -1006.510 2024-03-13 -1233.920 2024-03-15 -1056.700 2024-03-22 -758.740 2024-03-25 -1086.656 2024-03-26 -1136.138 2024-03-28 128.588, 'MondayBuyer': Return Date 2024-02-26 -42.375 2024-03-28 55.515, 'FL': Return Date 2024-02-22 1130.86 2024-02-23 2429.62 2024-03-04 3288.38, 'TDMR1L': Return Date 2024-02-22 -84.57 2024-02-29 -771.27, 'SMRCA_L': Return Date 2024-02-22 -16.50 2024-02-26 -101.32 2024-02-27 -371.18 2024-03-01 -404.73 2024-03-18 -377.27 2024-03-19 -1053.43, 'SMO NDX': Return Date 2024-03-04 -579.32 2024-03-26 -503.55 2024-03-27 -497.96 2024-03-28 219.02, 'MRS2': Return Date 2024-02-23 -16.41 2024-03-05 2.11 2024-03-07 19.29 2024-03-08 34.17 2024-03-21 20.26, 'SMRR3000_L': Return Date 2024-02-22 -128.86 2024-02-23 -110.68 2024-02-26 -150.50 2024-02-29 -129.11 2024-03-01 -123.85 2024-03-05 -149.79 2024-03-07 -151.39 2024-03-19 -184.14 2024-03-21 -104.01, 'SMRR3000_S': Return Date 2024-02-22 -9.230 2024-02-23 -169.550 2024-02-26 -57.930 2024-03-07 2.500 2024-03-08 15.410 2024-03-12 -101.910 2024-03-14 -164.540 2024-03-15 -121.870 2024-03-18 -122.210 2024-03-19 -116.021 2024-03-20 -78.511 2024-03-21 -36.681 2024-03-26 -34.021 2024-03-28 -110.051}   Vypocet portfolia In [40]:         # definujeme celkovy kapital portfolia diary.setInitEquity(25000) # definujeme ticker pro benchmark benchmark="QQQ" # zobrazi obchodovane strategie, u kterych je nutne definovat vahu equities.keys()     Out[40]: dict_keys(['FinwinL', 'MR3000S', 'MR3000L', 'FinwinS', 'MicroBreakout', 'MondayBuyer', 'FL', 'TDMR1L', 'SMRCA_L', 'SMO NDX', 'MRS2', 'SMRR3000_L', 'SMRR3000_S']) In [41]:         diary.setStrategyValues({ 'SMRUSA_L': 5000, 'SMRUSA_S': 5000, 'SMRCA_L': 5000, 'MPL': 5000, 'MOB': 5000, })       In [42]:         portfolio = diary.getPortfolio(equities, inPercentage=True, benchmark=benchmark) #portfolio = diary.getPortfolio(equities, inPercentage=True, since='2024-01-01', systemEquity=True, benchmark=benchmark) portfolio.tail(3)       --------------------------------------------------------------------------- KeyError Traceback (most recent call last) Input In [42], in <cell line: 1>() ----> 1 portfolio = diary.getPortfolio(equities, inPercentage=True, benchmark=benchmark) 2 #portfolio = diary.getPortfolio(equities, inPercentage=True, since='2024-01-01', systemEquity=True, benchmark=benchmark) 3 portfolio.tail(3) File ~\Desktop\Denik nová verze\diary.py:456, in Diary.getPortfolio(self, equities, inPercentage, systemEquity, benchmark, since) 453 if inPercentage: 454 if self.__initEquity > 0: 455 #capital = self.getMarketValue(strategy=strategy) --> 456 capital = self.__strategyEquity[strategy] 457 if not systemEquity: 458 capital = self.__initEquity KeyError: 'FinwinL'   Grafy In [43]:         # vykonost jednotlivych systemu plt.figure(figsize=(10, 6)) diary.pct_plot(portfolio,grid=3)       --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [43], in <cell line: 3>() 1 # vykonost jednotlivych systemu 2 plt.figure(figsize=(10, 6)) ----> 3 diary.pct_plot(portfolio,grid=3) NameError: name 'portfolio' is not defined   <Figure size 2000x1200 with 0 Axes> In [44]:         # vykonnost portfolia vs benchmark qs.plots.returns(portfolio["Total_chg"], benchmark) #qs.plots.log_returns(portfolio["Total_chg"], 'SPY')       --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [44], in <cell line: 2>() 1 # vykonnost portfolia vs benchmark ----> 2 qs.plots.returns(portfolio["Total_chg"], benchmark) NameError: name 'portfolio' is not defined In [45]:         # drawdown hloubka + délka qs.plots.drawdown(portfolio["Total_chg"])       --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [45], in <cell line: 2>() 1 # drawdown hloubka + délka ----> 2 qs.plots.drawdown(portfolio["Total_chg"]) NameError: name 'portfolio' is not defined In [46]:         diary.ddperiods_plot(portfolio["Total"])       --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [46], in <cell line: 1>() ----> 1 diary.ddperiods_plot(portfolio["Total"]) NameError: name 'portfolio' is not defined In [47]:         # procentální denní pohyb portfolia qs.plots.daily_returns(portfolio["Total_chg"], benchmark)       --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [47], in <cell line: 2>() 1 # procentální denní pohyb portfolia ----> 2 qs.plots.daily_returns(portfolio["Total_chg"], benchmark) NameError: name 'portfolio' is not defined   Statistiky In [48]:         qs.reports.metrics(portfolio["Total_chg"], benchmark)       --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [48], in <cell line: 1>() ----> 1 qs.reports.metrics(portfolio["Total_chg"], benchmark) NameError: name 'portfolio' is not defined In [49]:         qs.plots.monthly_returns(portfolio["Total_chg"])       --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [49], in <cell line: 1>() ----> 1 qs.plots.monthly_returns(portfolio["Total_chg"]) NameError: name 'portfolio' is not defined   Export dat In [50]:         # export deniku do csv souboru diary.export2CSV(delimiter=',')       In [51]:         # export deniku do xls souboru diary.export2EXCEL()       --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [51], in <cell line: 2>() 1 # export deniku do xls souboru ----> 2 diary.export2EXCEL() AttributeError: 'Diary' object has no attribute 'export2EXCEL' In [52]:         # export deniku do Tradingroom Analyzeru diary.export2tradingroom(['MRL','MRS'])       NOTICE: SQL query >SELECT * FROM diary where strategy ="MRL" < returned no data   --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [52], in <cell line: 2>() 1 # export deniku do Tradingroom Analyzeru ----> 2 diary.export2tradingroom(['MRL','MRS']) File ~\Desktop\Denik nová verze\diary.py:669, in Diary.export2tradingroom(self, strategies) 667 for strategy in strategies: 668 data = self.__db.query(sql='SELECT * FROM diary where strategy ="' + strategy + '" ', res2df=True) --> 669 data.rename(columns={'ticker': 'Symbol', 'possition': 'Trade', 'entryDate': 'Date', 'exitDate': 'Ex. Date', 'entryPrice': 'Price', 'exitPrice': 'Ex. Price', 'quantity': 'Shares'}, inplace=True) 670 data['Trade'] = data['Trade'].replace({'SHORT': 'Short', 'LONG': 'Long'}) 672 data['Date'] = pd.to_datetime(data['Date']) AttributeError: 'bool' object has no attribute 'rename' In [53]:         # export ddeniku do analyseru diary.export2analyser(portfolio)       --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [53], in <cell line: 2>() 1 # export ddeniku do analyseru ----> 2 diary.export2analyser(portfolio) NameError: name 'portfolio' is not defined In [54]:         # export portfolia do csv souboru portfolio.to_csv("portfolio.csv")       --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [54], in <cell line: 2>() 1 # export portfolia do csv souboru ----> 2 portfolio.to_csv("portfolio.csv") NameError: name 'portfolio' is not defined   Správa dat In [55]:         diary.getMissedTrades() #diary.getMissedTrades("M3L")     Out[55]:   id datetime acctNumber clientId ticker permId action quantity avgPrice netValue commission value orderRef timestamp price execId exchange realizedPNL processed 0 2984 2023-07-18 15:30:02+02:00 U7404397 0 HGBL 354010407 BOT 223 4.00 892.00 1.16 893.16 MicroBreakout 2023-07-18 20:07:54 4.00 00010129.64b65cb8.01.01 SMART 0 0 1 4494 2024-02-15 18:46:15+01:00 U7404397 0 CRWD 759296841 BOT 8 332.62 2660.96 0.34 2661.30 SMO NDX 2024-02-15 21:02:50 332.62 000100df.65ce2aab.01.01 SMART 0 0 2 4496 2024-02-15 19:30:00+01:00 U7404397 0 MES 1521297978 SLD 1 5100.00 5100.00 0.62 5100.62 FS 2024-02-15 21:02:50 5100.00 0000d8df.65cda627.01.01 CME 0 0 3 4655 2024-03-04 15:31:40+01:00 U7404397 0 MNQ 90554854 BOT 1 18550.00 18550.00 0.62 18550.62 FL 2024-03-04 21:02:17 18550.00 0000d94c.65e518d8.01.01 CME 0 0 4 4835 2024-03-28 14:30:00+01:00 U7404397 0 BRAG 1463457611 BOT 144 6.44 927.36 0.75 928.11 MicroBreakout 2024-03-28 20:19:35 6.44 000100df.66052db0.01.01 SMART 0 0 5 4836 2024-03-28 14:30:00+01:00 U7404397 0 GTH 1463457621 BOT 179 4.02 719.58 0.93 720.51 MicroBreakout 2024-03-28 20:19:35 4.02 00010129.66052b05.01.01 SMART 0 0 6 4837 2024-03-28 14:30:01+01:00 U7404397 0 EEX 1463457616 BOT 16 6.96 111.36 0.37 111.73 MicroBreakout 2024-03-28 20:19:35 6.96 00012dfa.66054537.01.01 SMART 0 0 7 4838 2024-03-28 14:30:01+01:00 U7404397 0 EEX 1463457616 BOT 114 6.96 793.44 0.24 793.68 MicroBreakout 2024-03-28 20:19:35 6.96 00012dfa.66054538.01.01 SMART 0 0 8 4839 2024-03-28 14:31:59+01:00 U7404397 0 W 1463457607 SLD 22 70.11 1542.42 0.34 1542.76 SMRR3000_S 2024-03-28 20:19:35 70.11 00012e19.660546fa.01.01 SMART 0 0 9 4895 2024-04-03 15:30:00+02:00 U7404397 0 GENC 1115859691 BOT 53 16.72 886.16 0.39 886.55 MicroBreakout 2024-04-03 20:01:39 16.72 00014460.660d07fe.01.01 SMART 0 0 In [ ]:        
    • Ahoj, díky, taky mám účet u FIO a vím, že je tam při tak malé platbě poplatek 500,- Kč. Nevíš nebo někdo jiný, jestli se to nedá poslat třeba přes Revolut bez poplatků? Pavel
    • Posílal jsem to Pavle jako zahraniční platbu z FIO banky, byl tam poplatek 500 Kč. Do toho SWIFT kódu jsem musel přidat XXX (to je zkratka pro hlavní centrálu každé banky), bez toho mi to nebralo. A rději jsem do zprávy vyplnil své jméno a číslo účtu. Tady je print screen.
    • Dobrá práce. Zkoumání volume jsem se zatím moc nevěnoval, určitě to může být také cesta. Co se podmínky nebo týče. V Colabu je použit kód pro kombinaci dvou podmínek s pomocí AND. To je tato finální část: daily["Condition"] = daily["Feature"].where(Filter1 & Filter2) & znamená AND Tuto podmínku lze zaměnit za nebo. V Pythonu se používá symbol "pipe". Takto vypadá finální podmínka s využitím nebo logiky: daily["Condition"] = daily["Feature"].where(Filter1 | Filter2) Osobně jsem zatím or v tomto kontextu nepoužíval. Postupuji takto: - Pomocí edge finderu hledám skutečně jen ty nejsilnější kontexty. V posledních týdnech jsem například takto postavil své nové intradenní breakout systémy, které jejichž nasazení živě jsem zde reportoval a ten kontext byl "velký gap". - Následně se přepínám do TradeStation a na striktně in-sample datech /např. 2017-2022/ sleduji, jak vypadají konkrétní parametry ultra jednoduchého systému s daným kontextem - tj. například "dnes je velký gap", otevírám long/short breakout atd.  - Vesměs je myšlenku třeba trochu dotáhnout, aby se zvýšil průměrný obchod. A zde již pracuji i s podmínkami nebo (např. ve stylu - trh včera uzavřel nad high nebo pod low předchozího dne atd). Hledám nuance, které budou v in-sample fungovat na všech indexech a také trzích jako ropa a zlato. Petr
    • Ty kódy jsem vytvářel samostatně a různé roky, tj. podobné drobné odchylky tam být mohou. Není v tom v zásadě žádný rozdíl. Je určitě lepší pracovat s časem >=0935. Já vesměs vstupuji trochu dál od vstupní ceny a nebývá to na první úsečce. A dřívější ukončování obchodů. Také jsem to zkoumal. Ale zdá se mi, že u indexů se vyplatí obchodovat průrazy i odpoledne. Občas přijde zajímavý obchod.
    • Děkuji za odpověď. Existuje tedy, prosím, nějaká možnost, jak si zobrazit výsledky jen pro vybrané strategie, ne jen buď pro jednu anebo pro všechny? Děkuji a mějte se.
    • Zdravím, zakládám účet u TS, prosím tě, jak jsi provedl platbu 50$, stačily k tomu tyto údaje SWIFT BIC a Account Number? A samozřejmě adresa příjemce. Fundoval jsi to bankovním převodem nebo je nějak jinak? Díky, Pavel.
    • Dobrý den, jedná se o funkci export2tradingroom(), viz poslední lekce minikurzu. B.
    • Zdravím, uvedená funkce a upgrade už funguje? Můžete mě nasměrovat? Děkuji.
    • Porovnával jsem Petře nyní kódy uvedené v tomto vláknu, jeden pro vstup na základě GAP podmínky a druhý na základě rostoucí volatility. Při udávání vstupů máte v každém kódu jiné časové podmínky If Time >= 0935 and time<1500 If Time > 0940 and time<1530 Je to čistě jen otázka preference nebo to má nějaký hlubší smysl? Jinak další tip pro zvýšení průměrné velikosti obchodu, můžeme končit vstupy dříve, např. v 13:00, stejně jako u FINWIN.
    • aktuálně zkouším podmínky ke zvýšení pravděpodobnosti volatilních dnů, zatím mi dává smysl jedna, kdy porovnávám  volume předchozího dne s mean hodnotou za předcházejícíh 5 dnů daily["Feature"] = daily["Volume"] /daily["Volume mean5"].shift(1)   a spojením dvou pdmínek, té nahoře a originál Petrova daily["Feature2"] = daily["HL_MAD1"] / daily["HL_MAD2"]     zde už se omezuje počet obchodů, ale snad ještě únosně   dotaz .- inspirace - na Petra rád bych vyzkoušel situaci, kdy je splněna jedna, NEBO druhá podmínka. Současný colab chápu tak, že musí být splněny obě podmínky . Předpokládám , že by se zvýšil počet obchodů a pravděpodobnost by byla někd mezi těma dvěmi podmínkami. (pokud to považujete za neužitečné tak pryč od toho ...). Možná, že tato varianta pak bude na obchodování méně užitečná, ale nedokážu to posoudit.
    • Dobrý den, otevřené pozice se v publikované verzi prozatím nezohledňují, nová tabulka v databázi je přípravou pro další práce na deníku. B.
    • Dobrý den, nedaří se mi v deníku (ipynb) zobrazit výsledky včetně otevřených pozic. Výsledkem je, že stav portfolia mi zobrazuje pouze uzavřené pozice, není tedy přesný.  V tradebook.db3 v tabulce open_positions jsem si všiml, že u otevřených pozic nemám sloupec order ref, může to být příčina? Jak to případně napravit? děkuji za radu…
×
×
  • Vytvořit...