Tuesday 5 December 2017

System obrotu pesymistycznego afl


Relative Momentum Index jest znormalizowanym oscylatorem pędu podobnym do RSI i mieści się w zakresie od 0 do 100. Ma on pomóc w określeniu siły trendów cenowych, a także w celu uwidocznienia potencjalnych krótkoterminowych wykupów i wyprzedaży. Kiedy rynki są w silnym trendzie, RMI na jakiś czas pozostanie na poziomie przewyższonym lub zbyt wysokim. W przeciwnym razie oscyluje pomiędzy poziomem wykupienia od 70 do 90 a poziomem wyprzedania od 10 do 30. Ponieważ RMI opiera się na RSI. można zastosować wiele takich samych metod interpretacji RSI. Przykład: rmi (14, 4) tworzy wskaźnik Względnego Wskaźnika Momentu przez 14 dni z wykorzystaniem czterodniowego rozpędu. Dni (Okresy): liczba całkowita określająca liczbę dni, które należy uwzględnić w obliczeniach. Pęd. Liczba całkowita identyfikująca okres pędu. Jak wspomniano, RMI jest odmianą wskaźnika RSI. Zamiast liczenia dni w górę i w dół od bliskich do bliskich, jak robi to RSI, RMI liczy się w górę iw dół dni od zamknięcia względem zamknięcia x-dni temu (gdzie x nie musi być 1 zgodnie z wymaganiami RSI). Jak wskazuje wskaźnik, 8220momentum8221 zostaje zastąpiony przez 8220strength.8221 Tagi: oscylator, system handlowy, amibroker Dodane przez kaiji około 7 lat temu Podobne formuły Moment przyspieszenia: umożliwia kickowanie opon z AmiBroker Część I Opracowanie wskaźników i strategii jest świetne, wprowadzając je do stress test autorstwa mr. Rynek jest lepszy. Ale jak to się mówi, thinkDesktop nie ma nakrętek i śrub, aby wykonać odpowiednią analizę historyczną. Po dłuższej analizie postanowiłem zainwestować prawie 500 sztuk, kupując pakiet AmiBroker Professional na przełomie roku. Następnie znalazłem się z powrotem w szkole podstawowej, ucząc się pisać ponownie. Przez ostatnie kilka tygodni studiuję AmiBroker8217s Formula Language (AFL), tak jak jutro nie ma. Na szczęście wstęp do AmiBroker autorstwa Howarda Bandy'ego (do pobrania za darmo) to świetna lektura, a AFL ma ogromną i hojną bazę użytkowników zgromadzoną na Liście AmiBroker User8217s na Yahoo. Wreszcie Tomasz Janeczko8217 jest obszerny UsersGuide z przytłaczającą ilością przykładów. Ten post dotyczy wyłącznie weryfikacji historycznej. Właściwie prawdopodobnie będzie to pierwszy w serii prezentacji niektórych z backtesting możliwości AmiBroker ma do zaoferowania. I podczas gdy odkrywamy AmiBroker Backtester, szanse możemy spotkać jakieś dość schludne strategie portfolio po drodze. Bądź na bieżąco Jak stwierdzono w poprzednich postach, anomalia momentu jest znana od wieków. Istotą anomalii momentum jest to, że aktywa często kontynuują swój impet cenowy, zdefiniowany jako zmiana ceny w danym okresie ważności. Momentum działa dobrze w różnych klasach zasobów, jak również w nich. Tak więc tempo wzrostu naprawdę polega na śledzeniu pieniędzy. Poszukiwacz "poszukując alfa" Marc Cohn opublikował różne strategie dotyczące obrotu opartego na pędzie. Jeden z nich, Return Like A Stock, Risk Like A Bond: 15,5 CAGR Z 17 Drawdown wykorzystuje tak zwane Paired Switching (patrz tutaj dla papieru SSRN) pomiędzy dwoma funduszami giełdowymi: SPY i TLT. Kompleksowy system Marcs to strategia TAA w najprostszym wyglądzie. W skrócie: strategia jest długotrwała i przerywana, a cały kapitał jest zrównoważony z najlepszymi wynikami EFT, a nie tylko SPY (akcje) i TLT (obligacje). Marc zastosował dzienne okresy w celu wyrównywania portfela, więc zacznijmy tam też. Później okresowość zostanie rozszerzona na cotygodniowe, miesięczne, a nawet kwartalne ramy czasowe. Ostatecznie wybierz okres, który najlepiej pasuje do Twojego osobistego stylu handlowego lub 401 (k). Klasyczny 40 akcji 60 portfeli obligacji kupna i sprzedaży jest benchmarkiem porównującym wyniki testów wyników. Kapitał zakładowy wynosi 100 000. AmiBroker pozwala na optymalizację systemu transakcyjnego: proces znajdowania optymalnych wartości dla jednego lub zestawu parametrów (dając najwyższy zysk lub inną metrykę z systemu) dla danego symbolu (lub portfolio symboli). Optymalizacja x-dni posortowanych według Net Profit (dodać 100 000 jako kapitał początkowy, aby uzyskać kapitał końcowy) przedstawia następujący przegląd: Grafika 3D górskich Optymalizacja skutecznie polega na węszeniu danych, dlatego ryzyko dopasowania krzywych jest wabiące. Tak więc najważniejsza jest tu uwaga, rozwaga i ostrożność. Optymalna wartość może być po prostu szczęśliwym wyborem. Aby sprawdzić trwałość znalezionych wartości, wyniki optymalizatora można graficznie demonstrować w grafice górskiej 3D. Aby wyświetlić wykres optymalizacji 3D, AmiBroker potrzebuje dwóch zmiennych optymalizujących. W tym przypadku odpowiednia jest średnia długość dla wygładzania danych cenowych. Okresy dzienne SPY-TLT Najlepiej szukać szerokiego płaskowyżu górskiego zamiast pojedynczych szczytów, aby zwiększyć prawdopodobieństwo uzyskania wiarygodnych wyników w przyszłości lub wartości znalezionych podczas testów wstecznych w okresach poza okresem próbki. Solidne ustawienia to regiony na wykresie 3D, które wykazują stopniowe, a nie gwałtowne zmiany na wykresie powierzchni. Radykalne zmiany (lub skoki) na wykresach optymalizacji 3D pokazują wyraźnie obszary nadmiernego optymalizowania. Co by się stało, gdyby SPY został zastąpiony MDY. Szeroki i szeroki płaskowyż wskazuje na konsystencję. MDY-TLT Daily PeriodicityMomentum System rotacyjny Kod AmiBroker Ive otrzymał kilka próśb o szczegóły dotyczące kodu AmiBroker (AB) i ustawień użytych do testu historycznego pokazanego w moim kwietniowym poście: Momentum Rotation 60 Day Wyniki ROC System. Ten post użył kodu AmiBroker Formula Language (AFL) z mojego artykułu w marcu 2018. To było dawno temu, więc tutaj jest znów system AFL z momentem 60-dniowym: Możesz pobrać powyższy kod AFL z mojego Dysku Google: 0060DayMomentum. afl Jest to dość prosty kod AFL, ale podkreśliłem cztery kluczowe obszary: Linia 1 - Dla tego systemu należy aktywować handel obrotowy Linia 24 - Opóźnienia w handlu są ustawione na 1, co oznacza, że ​​transakcje są wprowadzane jeden dzień po sygnale generowana linia 43 - zmienna LastDayOfMonth faktycznie przechowuje drugą do ostatniego dnia miesiąca. Powoduje to obliczenie sygnału rankingu rotacji od drugiego do ostatniego dnia miesiąca. Ponieważ nasze opóźnienie w handlu wynosi jeden, transakcja odbywa się następnego dnia, ostatniego dnia miesiąca. Linia 47 - Jeśli ROC (60) jest ujemny, to PositionScore jest ustawiony na 0, w przeciwnym razie PositionScore jest ustawiony na ROC (60 ) W drugiej do ostatniego dnia handlowego miesiąca. strategia ta oblicza 60-dniową ROC dla każdego produktu w portfelu na podstawie cen zamknięcia w tym dniu. Jeśli 60-dniowa ROC jest ujemna, system ustawia PositionScore na 0 dla tego produktu. Następnie klasyfikuje wszystkie produkty w portfelu, wybierając produkt o najwyższej rangi. Jeśli wszystkie produkty mają rangę 0, system przeniesie się do gotówki. W ostatnim dniu handlowym miesiąca. wykonuje zlecenia kupna i sprzedaży na zamkniętym rynku przy zamkniętych zamówieniach w obrocie na żywo. Oprócz powyższego kodu AFL użyłem ustawień AB pokazanych poniżej. Aby powielić moje wyniki, musisz zaktualizować ustawienia AB, aby pasowały do ​​mojego. Ustawienia AmiBroker Backtester - zakładka Ogólne (kliknij, aby powiększyć) Ustawienia AmiBroker Backtester - zakłady Trades (kliknij, aby powiększyć) AmiBroker Backtester Settings - zakładka Stop (kliknij, aby powiększyć) Ustawienia AmiBroker Backtester - zakładka Report (kliknij, aby powiększyć) AmiBroker Backtester Settings - Zakładka Portfolio (kliknij, aby powiększyć) AmiBroker Backtester Settings - Karta Walk Forward (kliknij, aby powiększyć) Ustawienia AmiBroker Backtester - Karta Monte Carlo (kliknij, aby powiększyć) AmiBroker Backtester Filter Settings (kliknij, aby powiększyć) Aby uruchomić mój AFL podczas instalacji AmiBrokera: Plik AFL Otwórz kartę Analiza AB Wybierz mój plik AFL w polu Formuła na karcie Analiza Uaktualnij ustawienia filtra (pokazane powyżej), aby uruchamiać tę strategię tylko dla określonej listy obserwowanych Zmień zakres na daty Od do Do, a następnie wybierz Zakres dat Na koniec wybierz przycisk Backtest, aby uruchomić strategię. Po skonfigurowaniu i uruchomieniu testowania wstecznego, kolejnym krokiem jest zautomatyzowanie aktualizacji wyceny i generowania sygnału. Używam programu narzędziowego Task Scheduler do wywoływania skryptów JS, które z kolei uruchamiają AB i AmiQuote. Ten temat wykracza poza zakres tego artykułu, ale w przyszłości mogę go omówić. Pobieraj bloga przez e-mail, kanał RSS lub Twitter (DTRTrading). Wszystkie opcje są dostępne w górnej części prawej kolumny nawigacyjnej pod nagłówkami Subskrybuj kanały RSS, wiadomości e-mail i Twitter. 3 komentarze: Dzięki za dzielenie się, nadążaj za dobrą pracą. Dzięki za świetny post Czy natkniesz się na problemy z wynikami za styczeń każdego roku, używając kodu, który wydaje mi się, że nigdy nie otrzymuję zwrotów w styczniu, gdy przeglądasz wyniki w tabeli chartsprofit. W styczniu nie miałem żadnych problemów z zyskami. Po prostu to pewnie, uruchomiłem ten kod już teraz i przeglądałem raport AB w biegu. W tym roku od stycznia 2006 r. co roku odbywały się zwroty. Wyglądał bardzo podobny do tabeli zysków w tym poście: dtr-trading. blogspotsearchupdated-max2018-07-06T07: 00: 00-06: 00 ampmax-results3 Napisz komentarz Ta witryna jest przeznaczona wyłącznie do celów edukacyjnych i rozrywkowych. INFORMACJE I ANALIZA NA TEJ STRONIE SĄ DOSTARCZANE TYLKO DO CELÓW INFORMACYJNYCH. NINIEJSZYCH NINIEJSZYCH NINIEJSZYCH NINIEJSZYCH POWIADOMIEĆ, JEŚLI ZNAJDOWAĆ INSTRUMENTY INWESTYCYJNE. W ŻADNYM PRZYPADKU INFORMACJE NALEŻY ZALECAĆ KUPY, SPRZEDAJĄC LUB ZAPEWNIAĆ JAKĄKOLWIEK BEZPIECZEŃSTWA. OSTATECZNA WYDAJNOŚĆ NIE JEST NIEZBĘDNY WYNIKIEM PRZYSZŁYCH WYNIKÓW, A WSZYSTKIE INWESTYCJE DOTYCZĄ RYZYKA. NIE ZAPEWNIA ŻADNEGO OŚWIADCZENIA, ŻE WSZELKIE RACHUNKI BĘDĄ OSIĄGNĄĆ WYNIKI PODOBNE DO TYCH PRZEDSTAWIONYCH. ŻADNE INFORMACJE NA TEMAT NINIEJSZEJ STRONIE NIE GWARANTOWANE JEST PRAWIDŁOWE, A JAKIEKOLWIEK PISEMNIE NALEŻY BYĆ PRZEDSTAWIONE WERYFIKACJĘ. TY I TYLKO JESTEŚCIE SĄ WYŁĄCZNIE ODPOWIEDZIALNI ZA WSZYSTKIE DECYZJE INWESTYCYJNE, JAKIEGO ZROBIĆ. Szybki system obrotu zyskami AFL dla Amibroker Szybki system transakcyjny to kompletny system transakcyjny na wykresie jednopanelowym w serwisie Amibroker. Daje dobre sygnały sprzedaży kupującego, czyszcząc poziomy docelowe (trailing stoploss) i cele. Najlepsza rama czasowa dla tego systemu to 15 minut. Nigdy nie używaj tego AFL do Trading Positional, ponieważ wskaźniki i wzory użyte w tym artykule dotyczą tylko Transakcji Intraday. Używaj systemu AFL do szybkiego obrotu tylko w transakcjach w ciągu dnia w MCX Commodity, NCDEX Agriculture Commodity, NSE Equity Cash Stocks, Nifty Future, Bank Nifty Future, Nifty Options, najbardziej aktywne akcje, Futures, opcje walutowe itd. SECTIONBEGIN (8220Quick Profit Trading System8221) SetBarsRequired (100000,0) GraphXSpace 15 SetChartOptions (0, chartShowArrowschartShowDates) SetChartBkColor (ParamColor (8220bkcolor8221, ColorRGB (0,0, 0))) GfxSetBkMode (0) GfxSetOverlayMode (1) SetBarFillColor (IIf (CgtO, ParamColor (8220Candle UP Color8221, colorGreen), IIf (CltO, ParamColor (8220Candle Down Color8221, colorRed), colorLightGrey))) Wykres (C, 8221nCena 8221, IIf (CgtO, ParamColor (8220Wick UP Color8221, colorDarkGreen), IIf (CltO, ParamColor (8220Wick Down Color8221 , colorDightGrey), 64,0,0,0,0) N (Tytuł StrFormat (8220 8211 Open g, Hi g, Lo g, Zamknij g (.1f) 8221, O, H, L, C, SelectedValue (ROC (C, 1)))) FactorParam (8220Factor8221,2,1,10,0.1) PdParam (8220ATR okresy8221,11,1,100,1) Góra (HL ) 2 (FactorATR (Pd)) Dn (HL) 2- (FactorATR (Pd)) iATRATR (Pd) TrendUpTrendDownNull trend01 changeOfTrend0 flagflagh0 dla (i 1 i ltBarCount-1 i) TrendUpi Null TrendDowni Null, jeśli (CloseigtUpi-1) trendi1, jeśli (tendi-1 -1) changeOfTrend 1 else if (trendy-1) changeiIntrend 1 if if (trendi-1) changeOfTrend 1 else if (trendi-1) changeOfTrend 1 else if (trendi-1) trendi-1 changeOfTrend 0 Kup trend1 Selltrend-1 BuyExRem (Kup, sprzedaj) SellExRem (Sprzedaj, Kup) ShortSell CoverBuy BuyPriceValueKiedy (Kup, C) SellPriceValueKiedy (Sprzedaj, C) ShortPriceValueGdy (Short, C) CoverPriceValueGdy (Cover, C) Tytuł EncodeColor (colorWhite) 8220 Skrótowy system obrotu zyskiem8221 8221 8211 8221 Nazwa () 8221 8211 8221 Interwał EncodeColor (colorRed) (2) EncodeColor (colorWhite) 8221 82119 8221 Data () 8221 8211 82208221n8221 EncodeColor (colorRed) 8221Op-8220O8221 82208221Hi-8220H8221 82208221Lo-8220L8221 8220 8220Cl - 8220C8221 8220 8220Vol 8220 WriteVal (V) 8221n8221 EncodeColor (colorLime) WriteIf (Kup. 8221 GO LONG Sygnał zwrotny pod 8220C8221 8220,82218221) WriteIf (sprzedam 8221 EXIT LONG Reverse Signal pod 8220C8221 8220,82218221) 8221n8221EncodeColor (colorYellow) WriteIf (Sprzedaj 8220 Total ProfitLoss for the Last Trade Rs8221 (C-BuyPrice) 82218221, 82218221) WriteIf (Kup 8220 Total ProfitLoss for the Last trade Rs.8221 (SellPrice-C) 82218221,82218221) PlotShapes (IIf (Kup, shapeSquare, shapeNone), colorGreen, 0, L, Offset-40) PlotShapes (IIf (Kup , shapeSquare, shapeNone), colorLime, 0, L, Offset-50) PlotShapes (IIf (Kup, shapeUpArrow, shapeNone), colorWhite, 0, L, Offset-45) PlotShapes (IIf (Short, shapeSquare, shapeNone), colorRed, 0, H, Offset40) PlotShapes (IIf (Short, shapeSquare, shapeNone), colorOrange, 0, H, Offset50) PlotShapes (IIf (Short, shapeDownArrow, shapeNone), colorWhite, 0, H, Offset-45) for (iBarCount - 1igt1i8211) jeśli wpis (Buyi 1) Ci sig 8220BUY8221 sl TrendSLi pozycja tar1 (pozycja .0050) pozycja tar2 (pozycja .0092) pozycja tar3 (pozycja .0179) słupki ii 0 jeśli (Selli 1) sig 8220SELL8221 pozycja Ci sl TrendSLi pozycja tar1 pozycja 8211 (pozycja .0050) pozycja tar2 8211 (pozycja .0112) pozycja tar3 wpis 8211 (pozycja .0212) takty ii 0 przesunięcie 20 Clr IIf (sig 8220BUY8221, colorLime, colorRed) ssl IIf (słupki BarCount-1, TrendSLBarCount-1, Ref (TrendSL, -1)) sl ssLBarCount-1 Plot (LineArray (paski-przesunięcie, tar1, BarCount, tar1,1), 82208221, Clr, styleLinestyleDots, Null, Null, przesunięcie) Wykres (LineArray (paski - Offset, tar2, BarCount, tar2,1), 82208221, Clr, styleLinestyleDots, Null, Null, Offset) Wykres (LineArray (paski-przesunięcie, tar3, BarCount, tar3,1), 82208221, Clr, styleLinestyleDots, Null, Null , Offset) messageboard ParamToggle (8220Message Board8221,8221ShowHide8221,1) if (messageboard 1) GfxSelectBontMode (1) GfxSetTextColor (colorWhite) if (sig 8221BUY8221) GfxSelectSolidBrush (colordarkgreen) else GfxSelectSolidBrush (colorRed) pxHeight Status (8220pxchartheight8221) xx Stan (8220pxchartwidth8221) Lewy 1100 szerokość 310 x 5 x2 290 GfxSelectPen (co lorGreen, 1) GfxRoundRect (x, y 8211 98, x2, y. 7, 7) GfxTextOut ((8220szybki system handlowy Profit 8221), 13, y-100) GfxTextOut ((8221 8220), 27, y-100) GfxTextOut ((8220-końcowy 8221 sig 8221: Sygnał osiągnął 8221 (BarCount-bars-1) Interval () 60 8221 min temu 8221), 13, y-80) Położenie formatu tekstowego GfxTextOut ((82208221 WriteIf (sig 8221BUY8221, sig 8221 8220, sig 8221 8221) 8221. 8221 wpis), 13, y-60) GfxTextOut (( 8220 Traza SL 8221 Ref (TrendSL, -1) 8221 (8221 WriteVal (IIf (sig 8220SELL8221, entry-sl, sl-entry), 2.2) 8220) 8221), 13, y-40) GfxTextOut ((8220 bieżący PL. 8221) WriteVal (IIf (sig 8220BUY8221, (C-entry), (entry-C)), 2.2)), 13, y-22) FSParam (8220Font Size8221,30,11,100,1) GfxSelectFont (8220Times New Roman8221, FS, 700 , True) GfxSetBkMode (colorWhite) GfxSetTextColor (ParamColor (8220Color 8221, colorGreen)) HorParam (8220 Pozycja pozioma 8221,940,1,1200,1) VerParam (pozycja 8220Vertical8221,12,1,830,1) GfxTextOut (82208221C, Hor. Ver) YCTimeFrameGetPrice ( 8220C8221, inDaily, -1) DDPrec (C-YC, 2) xxPrec ((DDYC) 100,2) GfxSelect Czcionka (8220Times New Roman8221, 11, 700, True) GfxSetBkMode (colorBlack) GfxSetTextColor (ParamColor (8220Color 8221, colorYellow)) GfxTextOut (82208221DD8221 (8220xx8221) 8221, Hor. Ver45) SECTIONBEGIN (8220Time Left8221) function GetSecondNum () Time Now (4) Seconds int (Czas 100) Minuty int (Czas 100 100) Godziny int (Czas 10000 100) SecondNum int (Godziny 60 60 Minut 60 sekund) return SecondNum RequestTimedRefresh 1) Przedział czasowy () SecNumber GetSecondNum () Nowy okres Secnumber TimeFrame 0 SecsLeft SecNumber 8211 int (SecNumber TimeFrame) TimeFrame SecsToGo ramka czasowa 8211 SecsLeft GfxSelectSolidBrush (ColorRGB (230, 230, 230)) GfxSelectPen (ColorRGB (230, 230, 230), 2 ) if (NewPeriod) GfxSelectSolidBrush (colorYellow) GfxSelectPen (colorYellow, 2) Say (8220New period8221) GfxSelectFont (8220Arial8221, 14, 700, False) GfxSetTextColor (colorRed) GfxTextOut (Pozostało 8220Time: 8221SecsToGo82218221, x, y) SEKCJAEND () Udostępnij :

No comments:

Post a Comment