Cotygodniowy system handlu amibrokerem
14 października 2017 r. Dodano 29 lutego 2017 r., Dodatkowe punkty do rozważenia: 1) System ten zależy od dokładnego wypełnienia po cenie otwarcia. Aby uzyskać takie napełnienie, wymagane jest podawanie jakości danych o minimalnym opóźnieniu i zaawansowane umiejętności programowania w celu wdrożenia automatyzacji handlu. 2) Przy ustalaniu ceny wejścia nieznacznie poniżej ceny otwarcia (usiłując poprawić wydajność) system nie działa źle. Nawet poprawa ceny o jeden cent zabija system. To sugeruje, że większość zysku pochodzi z dni, w których cena otwarta była równa dziennej niskim, tzn. Cena wzrosła z poziomu otwartego i nigdy nie spadła poniżej. Oczywiście jest to oczywiste. Aby to potwierdzić, dodałem ten warunek testowy (sprawdza się z wyprzedzeniem), aby wykluczyć dni, w których Open Low: Kup Kup, a nie O L To zabija system i dowodzi, że większość zysku pochodzi z dni, w których OL. Aby to potwierdzić dodałem warunek przeciwny: Buy Buy i O L To daje prawie nieskończone zyski i dowodzi, że większość zysków pochodzi z dni, kiedy cena wzrasta natychmiast z Open i nigdy nie zwraca poniżej. Starając się poprawić cenę wejścia jest błędem, należy wprowadzić na zestawie Stop 1-2 ct powyżej ceny otwarcia, co eliminuje dni, kiedy cena spadnie i nigdy się nie odwróci. To znacząco poprawia wydajność. 3) System ten obsługuje osoby odpowiedzialne za przetrwanie na kolana. Takie wzorce są zwykle utopione przez dużą objętość obrotu, a tym samym system działa znacznie lepiej, gdy wybierasz tickerzy z woluminami od 500.000 do 5.000.000 akcji. To znacznie poprawia wydajność. Dodanie powyższych dwóch funkcji powoduje znacznie większą krzywą niż ta, którą przedstawiono poniżej. Przepraszam, nie mam czasu na dokumentowanie powyższego w bardziej szczegółowy sposób. Powodzenia Ten post przedstawia bardzo prosty pomysł na długi czas, który kupuje w określonym przedziale procentowym poniżej wczoraj lata 8217 nisko i kończy się w następnym dniu otwarcia w roku 8217. Chociaż czasami trudno jest uzyskać dokładną cenę otwartą, wysoka rentowność tego systemu sprawia, że jest dobrym kandydatem do dalszych eksperymentów. System działa dobrze z Watchlists jak N100, SP500, SP1500, Russel 1000 itd. Wydajność na Russel 1000, max. Pozycje otwarte ustawione na 1, na okres 12102003 do 12102017, wyglądają tak: Niektóre z innych Watchlists dają mniejszą ekspozycję (zyski), ale przychodzi z niższych DD. Prowizje wyniosły 0,005 na akcję. Nie użyto marginesu. Nie stosuje się wyraźnego rankingu tickerów na podstawie ich alfabetycznego sortowania na liście obserwowanych. Może to wydawać się dziwne, ale znaczące: odwrócenie tego rodzaju systemu nie powiedzie się. Może to oznaczać, że ze względu na problemy z skanowaniem w czasie rzeczywistym, symbole wymienione na górze tego typu mogą być wymieniane inaczej niż te wymienione na dole. Zwróć uwagę na płynność (możesz handlować więcej niż jedną pozycją) i poślizg (wejście jest raczej wolne od ryzyka, ale wyjścia mogą być problematyczne). DD są znaczące, ale mogą być zrekompensowane poprawionymi wpisami i wyjściami w czasie rzeczywistym. Podczas automatycznego obrotu może być możliwe umieszczenie zleceń OCA DAY-LMT dla wszystkich sygnałów i poczekaj i sprawdź, co wypełnia. Ponieważ wyjścia są trudniejsze niż wpisy, które mogą Cię zainteresować innymi strategiami wyjścia. Wartości domyślne parametrów są wybierane tylko z kapelusza. Prawie z pewnością można je zoptymalizować lub dostosować dynamicznie do poszczególnych tickerów. Krótko sprawdziłem ten system w trybie Walk-Forward, a wyniki były opłacalne przez wszystkie lata testowane. Z wyjątkiem liczby parametrów obrotu akcjami nie są bardzo krytyczne. Nadmierne optymalizowanie doesn8217t wydaje się problemem w tym przypadku. Poniższy kod jest bardzo prosty i wymaga kilku wyjaśnień. Jednak ważne jest, aby zrozumieć, że ten system ma małą przewagę poprzez handel na Open i obliczając TrendMA przy tej samej cenie otwartej. Niektórzy mogą interpretować to jako przyszły wyciek, jednakże, jeśli handlujesz tym systemem w czasie rzeczywistym, to nie. Wielu ludzi nie zdaje sobie sprawy z tego, że jeśli sprzedajesz na Openze, możesz skorzystać z tej ceny w swoich obliczeniach 8212, o ile robisz to w czasie rzeczywistym 8212, gdzie AmiBroker i technologia mogą dać Ci przewagę. Jeśli Ref () cofa TrendMA po jednym pasku, system jest nadal bardzo opłacalny, ale DDs zwiększa się dla niektórych Watchlists. Jeśli używasz inwestycji stałych, różnica jest nieistotna. Procedurą handlową byłoby rozpoczęcie skanowania przed otwarciem rynku i usunięcie tickerów, które są wycenione tak zdalnie, że są mało prawdopodobne, aby spełnić OpenThresh. W ten sposób można rozpocząć skanowanie 1000 symboli, ale bardzo szybko skanowany numer zmniejszy się do zaledwie kilkunastu tickerów. Gdy zbliżasz się 9:30, skanowanie w czasie rzeczywistym będzie bardzo szybkie i będziesz mógł umieścić zamówienie LMT w bardzo zbliżonym stopniu do Open 8211, które może nawet poprawić cenę Open. Pomimo tego, że niektórzy ludzie przyjrzeli się poniższym kodeksowi i nie znaleźli nic złego, zyski wydają się dość wysokie w tak prostym systemie. Zgłoś błędy, które możesz zobaczyć. Zapisano przez Herman o 7:03 pm w ramach pomysłów (eksperymentalnych) Comments Off on EOD Gap-Trading Portfolio system 1 września 2017 Ten pomysł został opublikowany (161332) na głównej liście AmiBroker w dniu 3 lipca 2017. Było wiele doskonałych komentarzy na temat lista i jeśli jesteś zainteresowany pracą nad tym systemem, dobrze czyta się je wszystkie przed rozpoczęciem. Po wysłaniu znalazłem wiele postów w internecie omawiając ten pomysł handlowy, niektóre z nich twierdzą, że sprzedają podobny system z dużym powodzeniem. Odwołałem się do tego systemu 8220Gap Trading8221, ale może to być błąd w tłumaczeniu, 8220Mean reversion8221 może być lepszą klasyfikacją. Googling za to dostaniesz wiele więcej trafień do podobnych systemów. Oto kilka linków: wydaje się, że jest dość szeroko omawianym pomysłem handlowym i sugeruję, abyś sam uczył się czegoś z Googlingiem. Jako użytkownik programu Amibroker masz lepsze narzędzia niż większość przedsiębiorców i masz większą szansę, niż większość, aby wymyślić odmianę, która działa. Być może przy nieco mniejszym zysku, a przy znacznej ilości dodatkowego kodu 8212 wygrałbyś 8217quicky8221 projektu :-) Niektórzy komentowali, że ten system nie będzie działał w prawdziwym obrocie, a oni mogą mieć rację mówiąc innymi programami podobnymi do tej pracy. I didn8217t zakończyć system i can8217t twierdzą wiedzieć, czy jest to zbywalne, czy nie. System Kupuje za pewien procent poniżej wczoraj8217s Niski, na zamówienie LMT i kończy się tego samego dnia na zamknięciu. Zapisano przez Herman o 6:53 pm w Pomysły (Eksperymentalne) Komentarze wyłączone na długim tylko pomysł handlu Gap EOD Używam małych kryteriów konfiguracji, aby skanować moje zasoby. Domyślnie MACD, szukam pasków w dół Histogramu 4 i paska 1 do wyświetlenia sygnału kupna (histogram ustawiony na czerwony na dół i na niebiesko, więc widzę to wyraźnie). MACD powyżej Zero Line RSI Powyżej 30 System ten bazuje na trendzie handlowym. Kupowanie na pullback, gdy rynek nadal trenuje. Aby skanować ustawienia MACD Trend: 1) Wstaw następującą formułę do wykresu. 2) Uruchom Skanowanie w AA przy użyciu SMACDTrend z wszystkimi symbolami. n ostatnich dni. n 1 i Synchronizuj wykres jako wybrane ustawienia. Zapasy spełniające kryteria zostaną wyświetlone na liście wyników. Uwaga: Niektóre warianty reguł konfiguracji mogą definiować sygnały dość rzadkie iw małych bazach danych możliwe jest, że w danym dniu nie będzie żadnych ustawień (stąd żaden raport nie zostanie zgłoszony przez skanowanie). 3) Kliknij dowolny symbol w okienku Wyniki, aby wyświetlić w nim wykres, dla tego symbolu. Uwaga: w tym przykładzie wykorzystano bazę danych szkoleniowych zawierającą tylko dane do 5112007. Pomysł obrotu przez protraderinc. Uwagi i formułka Bill 8211 WaveMechanic. Złożony przez brianz o 11:06 pm w Pomysły (Eksperymentalne) Komentarze wyłączone na MACD Trend System 14 października 2007 Zapisano przez brianz o 10:43 w Pomysły (Eksperymentalne) Komentarze Off on 15-dniowy Performers Trading System 19 sierpnia 2007 To jest pierwszy w serii z KISS (trzymaj to proste, głupie) pomysły handlowe, aby grać z. Wszystkie prezentowane tutaj pomysły są niesprawdzone, niedokończone i mogą zawierać błędy. Mają one wykazywać możliwe wzorce do dalszej eksploracji. Jak zawsze zachęcamy do komentowania i dodawania własnych pomysłów do tej serii. Wolę systemy w czasie rzeczywistym, które szybko handlują, są zautomatyzowane i pozbawione są tradycyjnych wskaźników. Korzystnie, nie powinny mieć optymalnych parametrów, jednak nie zawsze jestem w stanie osiągnąć ten cel. Nie wszystkie systemy będą takie proste, ale niektóre będą używać prostych funkcji uśredniających lub HHVLLV. Pierwszym systemem pokazanym poniżej jest kopia systemu demonstracyjnego, którego używam w celu opracowania procedur handlu - automatyki gdzie indziej na tej stronie. Real-Time Gap-Trading. Aby sprawdzić, jak to działa, należy sprawdzać dane po 1 minutach w okresach 5-60 minut. Pierwszym wrażeniem może być to, że zyski są po prostu spowodowane wzrostem rynku, jednakże długie i krótkie zyski są niemal równe, sugeruje, że jest więcej. Ponieważ 98 wszystkich transakcji wchodzi w okres od 9:30 do 10:30, ten typ systemu jest ładny, jeśli chcesz tylko krótko sprzedawać każdy dzień. Zmniejsza to ryzyko związane z ekspozycją na rynku i daje więcej czasu na korzystanie z innych działań. Badanie to na liście obserwacyjnej NASDAQ-100 (indywidualne testy zwrotne, 15-minutowe okresy) daje zyski pokazane poniżej w okresie od 1 marca 2007 r. Do 17 sierpnia 2007 r. Oznaczenia skrótów są pomijane w celu utrzymania wykresu, a wykres pokazuje jedynie zysk netto pasek dla każdego testera. Średnia ekspozycja na ten system wynosi około 15, dlatego można prowadzić handel portfelami w celu zwiększenia zysków i wygładzania krzywych kapitałów. Należy zachować ostrożność, że w swojej surowej formie wypłaty są nie do przyjęcia i że mogą występować ograniczenia ilościowe dla wielu tickerów. Ponieważ ten system ma niską ekspozycję, może być kandydatem do skanowania rynkowego i obsługi portfela w rankingu. RAR wskazywałyby na bezwzględne maksymalne zyski, jakie można uzyskać, gdyby udało się zwiększyć ekspozycję do blisko 100. Jednakże ruch cen z różnych rynków może być skorelowany, a transakcje z różnych tickerów mogą się pokrywać. Jeśli wielu sprzedawców jednocześnie handluje kartą, trudno byłoby zwiększyć ekspozycję systemu. Zapisano przez Herman o 1:49 w ramach Pomysłów (Eksperymentalne) Komentarze wyłączone na KISS-001: Przerwa w intraday 17 sierpnia 2007 Zapraszamy do zgłaszania linków do pomysłów systemowych w komentarzach do tego posta. Gap Trading Strategies 8211 Stockcharts Intraday Moving Average Crossover z ustawieniem pozycji 8211 NeatTechniczne systemy breakout-break 8211 Traders Log Dziesięć dni HighLow system 8211 StockWeblog Reversion Systems 8211 SeekingAlpha Systems Traders Club. Biuletyny Klubu Tradera. 16 lipca 2007 r. Ta kategoria jest zarezerwowana dla rzeczywistych systemów obrotu w celach handlowych, tzn. Że w pewnym momencie dokonałeś obrotu lub rozważesz handel. Ponieważ kryteria dla handlu różnią się w zależności od osoby, a ponieważ systemy działają czy nie, w zależności od sposobu ich sprzedaży, trudno będzie tutaj skontrolować składki. W odniesieniu do tego, co zostało zamieszczone tutaj, zachowaj otwartą umowę i uważaj, że plakat uważa, że system można dokupić. Możesz wnieść swój wkład poprzez opublikowanie w roli autora (wymaga rejestracji) lub w komentarzu do tego wpisu. Złożone przez Hermanę o godzinie 11:14 w ramach Praktycznych Technologii Handlowych 8211 Praktyczne To gdzie można dzielić się systemami obrotu, które są nieznacznie opłacalne, tzn. Te, które nie powinny być przedmiotem handlu, ponieważ są to takie, które wykazują potencjał. Zazwyczaj byłby to podstawowy system, który byłby opłacalny, ale przynosi 50 punktów. Takie systemy często można poprawić, dodając punkty końcowe, cele, zarządzanie pieniędzmi, techniki portfela itd. W rzeczywistości nie można mieć wiedzy, aby to działa ktoś inny może. Prawie wszyscy z nas znajdziemy pomysły na systemy handlowe w książkach i czasopismach, które następnie kodujemy w AFL w celu oceny. Niektóre z tych systemów mogły być od wielu lat, a inne to nowe pomysły. Po ich kodowaniu, prawie zawsze jesteśmy rozczarowani i wyrwani z systemu (pracy). Zamiast wyrzucić swoją pracę, zachęcamy Cię do opublikowania systemu, aby dać innym programistę szansę naprawienia. Jesteś zaproszony do udziału w roli autora (wymaga rejestracji) lub w komentarzu do tego wpisu. Pomysły na testowanie pomysłów handlowych Jedną z najbardziej użytecznych rzeczy, które można zrobić w oknie analizy, jest sprawdzenie strategii handlowej na dane historyczne. To może dać Ci cenny wgląd w mocnych i słabych punktach systemu przed inwestowaniem w prawdziwe pieniądze. Ta pojedyncza funkcja AmiBroker pozwala zaoszczędzić wiele pieniędzy. Pisanie reguł handlowych Najpierw musisz mieć obiektywne (lub mechaniczne reguły) wejścia i wyjścia z rynku. Ten krok jest podstawą strategii i musisz o niej myśleć, ponieważ system musi odpowiadać Twojej tolerancji na ryzyko, wielkości portfela, technik zarządzania pieniędzmi i wielu innych czynników. Gdy masz własne zasady obrotu, powinieneś je zapisać jako reguły kupna i sprzedaży w AmiBroker Formula Lanugage (plus krótka i pokrywka, jeśli chcesz przetestować również krótki handel). W tym rozdziale przyjrzymy się bardzo podstawowemu systemowi przecięcia średniej ruchomej. System kupiłby kontrakty na akcje, gdy bliska cena wzrośnie powyżej 45-dniowej wykładniczej średniej ruchomej i będzie sprzedawać kontrakty na akcje, gdy bliska cena spadnie poniżej 45-dniowej wykładniczej średniej ruchomej. Wyznaczoną średnią ruchliwą można obliczyć w AFL za pomocą wbudowanej funkcji EMA. Wystarczy podać tablicę wejściową i okres uśredniania, więc 45-dniowa wykładnicza średnia ruchoma kursów zamknięcia może być uzyskana w następującym oświadczeniu: "Ścisły identyfikator" oznacza wbudowaną tablicę utrzymującą ceny zamknięcia aktualnie analizowanego symbolu . Aby sprawdzić, czy cena zamknięcia przekracza średnią ruchową, posłużymy się wbudowaną funkcją krzyżową: kup krzyż (zamknij, ema (blisko, 45)) Powyższe oświadczenie definiuje regułę zakupu kupna. Daje kwot1 kwotowy lub quottruequot, gdy blisko cena przekracza ema (blisko, 45). Następnie możemy napisać regułę sprzedaży, która dałaby kwotę 1 kwot, gdy wystąpi sytuacja odwrotna - cena zamknięcia poniżej ema (blisko, 45): sprzedaj cross (ema (close, 45), close) Proszę zauważyć, że używamy tej samej funkcji poprzecznej, ale przeciwny porządek argumentów. Tak pełna formuła dla długich transakcji będzie wyglądać następująco: kup krzyż (zamknij, ema (blisko, 45)) sprzedaj cross (ema (close, 45), close) UWAGA: Aby utworzyć nową formułę, otwórz Edytor formuł za pomocą Edytora Analysis-gtFormula menu, wpisz formułę i wybierz polecenie Narzędzia - gt Skanuj do menu Analiza w edytorze formuł W celu ponownego testowania systemu kliknij przycisk Wstecz test w oknie Automatyczne analizy. Upewnij się, że wpisałeś formułę zawierającą co najmniej reguły handlowe kupna i sprzedaży (jak pokazano powyżej). Kiedy formuła jest prawidłowa AmiBroker rozpoczyna analizowanie symboli zgodnie z regułami obrotu i generuje listę symulowanych transakcji. Cały proces jest bardzo szybki - możesz w ciągu kilku minut wrócić do testu tysięcy symboli. Okno postępu pokazuje szacowany czas zakończenia. Jeśli chcesz przerwać proces, wystarczy kliknąć przycisk Anuluj w oknie postępu. Po zakończeniu procesu lista symulowanych transakcji jest wyświetlana w dolnej części okna analizy automatycznej. (panel wyników). Możesz sprawdzić, kiedy pojawiły się sygnały kupna i sprzedaży tylko przez dwukrotne kliknięcie w panelu wyników. Daje to surowe lub niefiltrowane sygnały dla każdego słupka, gdy warunki kupna i sprzedaży są spełnione. Jeśli chcesz zobaczyć pojedyncze strzały handlowe (otwieranie i zamykanie wybranego handlu), kliknij dwukrotnie wiersz, przytrzymując naciśnięty klawisz SHIFT. Alternatywnie można wybrać typ wyświetlania, wybierając odpowiednią pozycję z menu kontekstowego wyświetlanego po kliknięciu na okienku wyników przy użyciu prawego przycisku myszy. Oprócz listy wyników możesz uzyskać bardzo szczegółowe statystyki dotyczące skuteczności systemu, klikając przycisk Raport. Aby dowiedzieć się więcej o statystyk raportów, przeczytaj opis okna raportu. Zmiana ustawień testów wstecznych AmiBroker używa pewnych predefiniowanych wartości do wykonywania swoich zadań, w tym rozmiaru portfela, cykliczności (dailyweeklythly), kwoty prowizji, stopy procentowej, maksymalnej straty i zysków, rodzaju transakcji, pól cenowych i tak dalej na. Wszystkie te ustawienia mogą zostać zmienione przez użytkownika przy użyciu okna ustawień. Po zmianie ustawień pamiętaj, aby ponownie uruchomić testy wstecz, jeśli chcesz, aby wyniki były zsynchronizowane z ustawieniami. Na przykład, aby powrócić do testów na paskach tygodniowych, a nie codziennie, kliknij przycisk Ustawienia, a następnie wybierz opcję Tygodniowe zestawy okresowe i kliknij przycisk OK. a następnie uruchom analizę, klikając przycisk Wstecz. Zarezerwowane nazwy zmiennych Poniższa tabela zawiera nazwy zmiennych zarezerwowanych używanych przez automatyczny analizator. Znaczenie i przykłady użycia ich są podane w dalszej części niniejszego rozdziału. Pozwala kontrolować kwotę dolara lub procent portfela zainwestowanego w handel (patrz wyjaśnienia poniżej) Automatyczna analiza (nowa w wersji 3.9) Do tej pory omówiliśmy dość proste użycie testera wstecznego. AmiBroker obsługuje jednak znacznie bardziej wyrafinowane metody i koncepcje, które zostaną omówione później w tym rozdziale. Pamiętaj, że początkujący użytkownik powinien najpierw odtworzyć trochę z łatwiejszymi tematami opisanymi powyżej przed kontynuowaniem. Tak więc, gdy jesteś gotowy, spójrz na następujące niedawno wprowadzone funkcje back-testera: a) hosta skryptów AFL dla zaawansowanych twórców receptur b) zwiększone wsparcie dla krótkich transakcji c) sposób kontrolowania ceny wykonania zlecenia od skrypt d) różne rodzaje przystanków w testerze wstecznym e) pozycjonowanie pozycji f) rozmiar okrągłego partii i rozmiar kleszczu g) konta marginesów h) sprawdzanie kontraktów terminowych hostowanie skryptów AFL to zaawansowany temat, który jest dostępny w oddzielnym dokumencie dostępnym tutaj i nie będę dyskutować w tym dokumencie. Pozostałe funkcje są znacznie łatwiejsze do zrozumienia. W poprzednich wersjach programu AmiBroker, gdybyś chciał testować system za pomocą zarówno długich, jak i krótkich transakcji, można symulować strategię stop-and-reverse. Gdy zamknięto długą pozycję, otworzyła się nowa pozycja krótka. To dlatego, że zarówno dla kupujących, jak i sprzedających zmienne zarezerwowane zostały wykorzystane dla obu rodzajów transakcji. Teraz (z wersją 3.59 lub wyższą) istnieją oddzielne zmienne zastrzeżone dla otwierania i zamykania transakcji długich i krótkich: kupno - quottruequot lub 1 wartość otwiera długi handel - quottruequot lub 1 wartość zamyka długą wymianę handlową - quottruequot lub 1 wartość otwiera krótką sprzedaż - quottruequot lub 1 wartość zamyka krótki handel Som w celu testowania krótkich transakcji, które trzeba przypisać zmiennym krótkim i zmiennym. Jeśli korzystasz z systemu stop-and-reverse (zawsze na rynku), po prostu przypisaj sprzedaż do krótkiej sprzedaży i kupuj ją na pokrycie krótkiej sprzedaży Kup to Symuluje sposób, w jaki działały wersje pre-3.59. Ale teraz AmiBroker umożliwia oddzielne reguły handlowe i długie, jak pokazano w tym prostym przykładzie: reguły wejścia i wyjścia długiego handlu: kup krzyż (cci (), 100) sprzedaj cross (100, cci ()) short reguły wejścia i wyjścia transakcji: krótki krzyż (-100, cci ()) krzyż okrągły (cci (), -100) Należy pamiętać, że w tym przykładzie, jeśli CCI mieści się w przedziale od -100 do 100, jesteś poza rynkiem. Kontrolowanie ceny handlowej AmiBroker udostępnia obecnie cztery nowe zastrzeżone zmienne do określania ceny, w jakiej realizowane są zlecenia kupna, sprzedaży, zwrotu i pokrycia. Te tablice mają następujące nazwy: buyprice, sellprice, shortprice i coverprice. Głównym zastosowaniem tych zmiennych jest kontrolowanie ceny handlowej: BuyPrice IIF (dayofweek () 1, HIGH, CLOSE) w poniedziałek kupuj od wysokiego, w przeciwnym razie kupuj na zamknij Więc możesz napisać następujące rzeczy, aby symulować prawdziwe stop-zlecenia: BuyStop. formuła zakupu stopu SellStop. formuła stopu sprzedaży, jeśli w dowolnym momencie w ciągu dnia ceny wzrosną powyżej poziomu kupna (highgtbuystop), zlecenie kupna ma miejsce (przy buystopu lub niskim, którykolwiek z nich jest wyższy) Kup Cross (High, BuyStop), jeśli w każdej chwili w ciągu dnia ceny spadną poniżej poziomu sprzedaży (niskie sellstop) zlecenie sprzedaży odbywa się (w sellstop lub wysoka co najmniej) Sell Cross (SellPrice, SellStop) BuyPrice max (BuyStop, Low) upewnij się, że cena zakupu nie mniej niż Low SellPreice min (SellStop, High) upewnij się cena sprzedaży nie większa niż wysokość Proszę zauważyć, że AmiBroker ustawia premie premiowe, cenę sprzedaży, premie krótkoterminowe i coverprice z wartościami określonymi w oknie ustawień testu systemu (poniżej), więc możesz nie potrzebować ich zdefiniować w swojej formule. Jeśli nie zdefiniujesz ich, AmiBroker działa tak samo jak w starych wersjach. Podczas testów wstecznych AmiBroker sprawdzi, czy wartości przypisane do buyprice, sellprice, shortprice, coverprice dopasowują się do wysokiego zakresu niskich pasków. Jeśli nie, AmiBroker dostosuje go do wysokiej ceny (jeśli cena tablicowa jest wyższa niż wysoka) lub do niskiej ceny (jeśli wartość tablicy jest niższa niż niska) Zysk zatrzymuje się na drodze Jak widać na powyższym obrazku, nowe ustawienia dla zysk docelowy jest dostępny w oknie ustawień testu systemu. Zyski zatrzymania zysku są realizowane, gdy wysoka cena za dany dzień przekracza stopień, który może być podany w procentach lub w punktach od ceny zakupu. Domyś lnie zatrzymania sĘ ... realizowane po cenach okreś lonych jako tablica cen sprzedaży (dla długich branż) lub tablicowa cena (dla krótkich transakcji). To zachowanie można zmienić, używając polecenia quotExit w funkcji stopquot. ExEx w punkcie stopquot Jeśli zaznaczysz przycisk quotExit w polu stopquot w ustawieniach, zatrzymania będą wykonywane na dokładnym poziomie zatrzymania, tzn. jeśli zdecydujesz stopień docelowego zatrzymania na 10 stopie, a cena kupna była 50-stopiona, zostanie wykonana w 55, nawet jeśli tablicę cen sprzedaży zawiera inną wartość (na przykład cena zamknięcia 56). Maksymalne straty utraty działają w podobny sposób - są wykonywane, gdy niska cena za dany dzień spada poniżej poziomu zatrzymania, który można podać w procentach lub punkcie podwyższać cenę zakupu Ten rodzaj zatrzymania służy do ochrony zysków, ponieważ śledzi twój handel, za każdym razem, gdy wartość pozycji osiągnie nowy poziom, przystanek końcowy jest umieszczony na wyższym poziomie. Kiedy zysk spadnie poniżej dolnego poziomu zatrzymania, pozycja jest zamknięta. Mechanizm ten jest zilustrowany na poniższym rysunku (pokazano 10 przystanek): przykładowa realizacja niskiego poziomu zatrzymania celu zysku w AFL: Kup krzyż (MACD (), Signal ()) dla (i 0 i BarCount i) Jeśli (priceatbuy 0 Kup i) priceatbuy BuyPrice i if (priceatbuy gt 0 SellPrice i gt 1.1 priceatbuy) Sprzedaj i 1 SellPrice i 1.1 priceatbuy priceatbuy 0 else Sprzedaj i 0 Jest to nowa funkcja w wersji 3.9. Pozycjonowanie pozycji w backtesterze jest realizowane za pomocą nowej zarezerwowanej zmiennej PositionSize ltsize arraygt Teraz możesz kontrolować kwotę dolara lub procent portfela, który jest zainwestowany w liczbę dodatnią handlową określającą (dolara) kwotę zainwestowaną w handel, na przykład: PositionSize 1000 invest 1000 w każdym numerze ujemnym w handlu -100 ..- 1 definiowanie procentu: -100 daje 100 obecnych rozmiarów portfela, -33 daje 33 dostępnych kapitałów, na przykład: PositionSize -50 zawsze inwestuje tylko połowę bieżącego przykładu dynamicznego dopasowania wielkości kapitału: PositionSize - 100 RSI (), ponieważ RSI zmienia się od 0..100 powoduje to pozycja w zależności od wartości RSI - gt niskie wartości RSI przyniosą wyższy procent zainwestowany Jeśli zainwestowano mniej niż 100 gotowej gotówki, pozostała kwota otrzyma stopę procentową jak zdefiniowano w ustawieniach. W oknie ustawień AA znajduje się również nowe pole wyboru: kwarc Wielokrotność rozmiaru kursu - to kontroluje sytuację sytuacji, kiedy żądany rozmiar pozycji (za pośrednictwem zmiennej PositionSize) przekracza dostępne środki pieniężne: po sprawdzeniu tej flagi pozycja jest wpisywana z rozmiarem migrowanym do dostępna gotówka, jeśli nie zostanie zaznaczona, nie zostanie wprowadzona pozycja. Aby zobaczyć rzeczywiste rozmiary pozycji, skorzystaj z trybu raportowania w oknie ustawień AA: lista z listą cen i pozycją. sizequot Na koniec tutaj jest przykładowa technika klasyfikowania pozycji ATR opartej na Tharps, oznaczona symbolem AFL: Kup ltyour kupuj formułę heregt Sprzedaj 0 sprzedając tylko stopą TrailStopAmount 2 ATR (20) Kapitał 100000 WAŻNE: Ustaw to również w Ustawieniach: Początkowy Ryzyko związane z inwestycją 0.01Capital PositionSize (RiskTrailStopAmount) BuyPrice ApplyStop (2, 2, TrailStopAmount, 1) Technika może być podsumowana następująco: Całkowity kapitał na jeden symbol wynosi 100.000, ustalamy poziom ryzyka na 1 w kapitale własnym. Poziom ryzyka definiuje się następująco: jeśli stopień przystanku na 50 stanie jest na, powiedzmy, 45 (wartość dwóch ATR względem pozycji), 5 straty dzieli się na 1000 ryzyka, aby 200 akcji kupić. Więc ryzyko utraty wynosi 1000, ale ryzyko alokacji wynosi 200 akcji x 50 lub nawet 10 000. Więc przydzielamy 10 udziałów do zakupu, ale ryzykujemy 1000. (Edytowane fragmenty z listy dyskusyjnej AmiBroker) Okrągły rozmiar partii i rozmiar kleszczu Różne instrumenty są sprzedawane z różnymi jednostkami quottrading lub kwotami blokowymi. Na przykład możesz kupić ułamkową liczbę jednostek funduszu inwestycyjnego, ale nie można nabyć ułamkowej liczby akcji. Czasami trzeba kupić w 10s lub 100s partii. Teraz AmiBroker pozwala określić rozmiar bloku na poziomie globalnym i na symbol. Wielkość okrągłego okrągłego symbolu na karcie Symbol-gtInformation można określić na stronie Symbol-gtInformation (rysunek 3). Wartość zero oznacza, że symbol nie ma specjalnego rozmiaru okrągłego fragmentu i użyje polecenia quotDefault round roundquest (globalne ustawienie) na stronie ustawień analizy automatycznej (rysunek 1). Jeśli domyślny rozmiar jest ustawiony na zero, oznacza to, że dozwolona jest ułamkowa liczba kontraktów. Możesz także sterować rozmiarem okrągłego fragmentu bezpośrednio z formuły AFL za pomocą zmiennej zarezerwowanej RoundLotSize, na przykład: To ustawienie kontroluje minimalny ruch ceny danego symbolu. Możesz zdefiniować ją na poziomie globalnym i na poziomie symboli. Podobnie jak w przypadku okrągłego rozmiaru partii, możesz zdefiniować rozmiar tick-symbolu na stronie Symbol-gtInformation (rysunek 3). Wartość zerowa poleca AmiBrokerowi użycie wielkości sizequot na podstawie podanej w sekcji Ustawienia (rysunek 1) okna Automatic Analysis (Analiza automatyczna). Jeśli domyślny rozmiar kreski jest równy zero oznacza to, że nie ma minimalnego przesunięcia cen. Można ustawić i pobrać rozmiar zaznaczenia również z formuły AFL za pomocą zmiennej zastrzeżonej TickSize, na przykład: Zauważ, że ustawienie rozmiaru kreski dotyczy TYLKO branż wydzielonych przez wbudowane przyciski i lub ApplyStop (). Backtester zakłada, że dane o cenach są zgodne z wymaganiami dotyczącymi rozmiaru kleszczu i nie zmienia tablic ceny dostarczonych przez użytkownika. Zatem określenie rozmiaru kleszczu ma sens tylko wtedy, gdy używasz wbudowanych przystanek, więc punkty wyjścia są generowane przy zastosowaniu kwotowanych poziomów cen zamiast obliczonych. Na przykład w Japonii - nie można mieć ułameknych części jena, więc należy zdefiniować globalne zazębienie na 1, tak więc wbudowane linie zatrzymują się na wyższych poziomach. Ustawienie marginesu rachunku określa wymaganie marginesu procentowego dla całego konta. Wartością domyślną marginesu rachunku wynosi 100. Oznacza to, że musisz podać 100 funduszy na rozpoczęcie handlu, tak jak backtester pracował w poprzednich wersjach. Teraz można symulować konto marginesowe. Kiedy kupujesz na marginesie, po prostu zaciągasz pożyczkę od swojego pośrednika, aby kupić czas. Z obowiązującymi przepisami można umieścić 50 ceny zakupu akcji, którą chcesz kupić i pożyczyć drugą połowę od swojego pośrednika. Aby to symulować, wpisz 50 w polu Margines kont (patrz rys. 1). Jeśli kapitał własny zostanie ustalony na 10000, Twoja moc nabywcza będzie wynosić 20000 i będziesz mógł wejść na większe pozycje. Należy pamiętać, że ustawienia ustawia margines dla całego konta i nie są w ogóle związane z transakcjami futures. Innymi słowy, można sprzedawać akcje na kontach depozytowych. Objaśnienie sygnału wejściowego wymusza wyjście z pola wyboru do ustawień Backtester. Gdy jest włączone (ustawienie domyślne) - backtester działa tak samo jak w poprzednich wersjach i zamykanie już otwarte pozycja, jeśli napotkano nowy sygnał wejściowy w kierunku odwrotnym. Jeśli przełącznik jest WYŁĄCZONY - nawet wtedy, gdy występuje sygnał odwrotny, backtester utrzymuje aktualnie otwarty handel i nie zamyka się dopóki nie zostanie wygenerowany sygnał normalnego wyjścia (sprzedaŜ lub pokrycie). Innymi słowy, gdy ten przełącznik jest wyłączony, backtester ignoruje krótkie sygnały podczas długich transakcji i ignoruje sygnały Kup podczas krótkich transakcji. --Align (Wyjście z paska jednego paska) - Ta opcja jest włączona (ustawienia domyślne) - możliwość wejścia i wyjścia na tym samym pasku jest dozwolona (podobnie jak w poprzednich wersjach), jeśli jest wyłączona - wyjście może się rozpocząć od tylko następny pasek (dotyczy to zwykłych sygnałów, istnieje osobne ustawienie dla wyjść z programu ApplyStop). Przełączenie na OFF umożliwia odtworzenie zachowania się MS backtester, który nie jest w stanie obsłużyć tego samego dnia. quotActivate zatrzymuje się natychmiastKonfigura ta rozwiązuje problem testowania systemów, które wchodzą na rynek otwarte. W wersjach przed 4.09 backtester zakładał, że wprowadzasz transakcje na rynku zamkniętym, więc wbudowane przystanki zostały aktywowane od następnego dnia. Problem polegał na tym, że w rzeczywistości określono cenę otwartą jako cenę wejścia handlowego - wtedy wahania cen w tym samym dniu nie spowodowały zatrzymania. Było kilka opublikowanych obejść na podstawie kodu AFL, ale teraz nie musisz ich używać. Po prostu, jeśli handlujesz na otwartym, należy zaznaczyć kwadratowe przyciski natychmiastowych atrybutów (rysunek 1). Możesz zapytać, dlaczego nie po prostu sprawdzić tablicę buyprice lub shortprice, jeśli jest to cena otwarta. Niespodziewanie to nie działa. Dlaczego po prostu dlatego, że istnieją dni doji, kiedy cena otwarta jest bliska, a następnie backtester nigdy nie będzie wiadomo, czy handel został wprowadzony na rynek otwarty lub zamknięty. Więc naprawdę potrzebujemy osobnego ustawienia. QuickUnpt QuickAFLquotQuickAFL (tm) jest funkcją, która pozwala na szybsze obliczanie AFL w pewnych warunkach. Początkowo (od 2003 r.) Był dostępny tylko dla wskaźników, od wersji 5.14 jest również dostępny w Automatycznej analizie. Początkowo pomysł polegał na umożliwieniu szybszego odświeżania wykresów poprzez obliczanie formuły AFL tylko dla tej części, która jest widoczna na wykresie. W podobny sposób okno analizy automatycznej może posłużyć się podzbiorem dostępnych kwot, aby obliczyć współczynnik AFL, jeśli wybrany parametr 8220range8221 jest mniejszy niż 8220All notowania kwot. Szczegółowe wyjaśnienie, jak funkcjonuje program QuickAFL i jak go kontrolować, znajduje się w artykule z bazy wiedzy: amibrokerkb20080703quickafl Należy zauważyć, że ta opcja działa nie tylko w backtesterze, ale także w optymalizacjach, badaniach i skanowaniach. January 11th, 2017 middot 20 Komentarze middot Backtest Długoterminowe trendy Poniżej znajduje się często określenie jako doskonała i prosta alternatywa dla kupowania i trzymania dla pojedynczych przedsiębiorców. Dla inwestorów, którzy chcą podejść do DIY, strategia aktywna może przynieść lepsze wyniki 8211, ale wymaga dużo aktywniejszego zaangażowania. In the case of an End-of-Day Trend Following system trading a global portfolio, the requirements to check the markets and system every day, potentially several times a day, might be incompatible with individual investors8217 lifestyle (job, family, etc.). A more practical 8211 monthly 8211 system might suit some individual traders8217 requirements better. But can these monthly systems achieve decent performances Daily vs Monthly Data This post will be looking at the results of one system traded on two different frequencies . One common approach when testing a monthlyweekly system is to use the corresponding timeframe for the data fed to the back-testing system. This can sound intuitively correct but testing a system on monthly data has some drawbacks. We still want to be able to 8220see what happened8221 in between each monthly trading decision (i. e. chart the intra-month equity curve), which is not possible with monthly data. Moreover, the reporting frequency does affect the system statistics (an illustration with Max Drawdown being described in this paper by David Harding pdf 8211 covered in this post ). In order to perform an apples-to-apples comparison of both frequencies on the same system, daily data needs to be used in each case . System Rules A viable monthly system needs to be relatively long term: no point in trading a 3-day swing trading system on a monthly basis8230 For the purpose of this post, the classical Golden Cross system is used (a. k.a. the 200-50 Moving Average Cross-Over system 8211 featured in the State of Trend Following report ). In its daily incarnation, the system is traded exactly as per the monthly report: Buy when Short MA Long MA, Sell when Short MA Global Futures Broker Check the list of global futures markets Wisdom Trading offer access to, from Maize in South Africa, Palm Oil in Malaysia to Korean Won, Brazilian Real or Japanese Kerosene to name a few, it is impressive and great to benefit from diversification. AmiBroker Code for TransDow System I have been trying to replicate ETF HQ8217s TransDow strategy. It is a neat idea, and the simplicity appeals to me. Beyond that, I8217ve been working with AmiBroker to get better at coding in multiple time frames. Because this strategy uses weekly closes, I thought it would be good practice. The problem is that I cannot get my results to be any where near ETF HQ8217s results. My guess is that my code has an error, but for the life of me, I cannot figure it out. After emailing with ETF HQ, I was able to determine that their coding has the week close on Monday while my code uses Friday as the last day of the week. This should not make that much of a difference. The AmiBroker code is below. I have put it within the WordPress quote function, so it should be able to be cut and pasted without error. Update It will not cut and paste without error. The problem seems to stem from the quotation marks. I8217ll leave the code here so that others can peruse it. Email me woodshedder73 at google mail and I8217ll send the. afl file as an attachment. TransDow as described by Derry Brown: etfhqblog20170504market-timing-through-market-dominance-transdowutmsourcefeedburneramputmmediumfeedamputmcampaignFeed3AEtfHq28ETFHQ29 Boilerplate options SetTradeDelays( 0, 0, 0, 0 ) SetOption( InitialEquity, 10000 ) SetOption( MinShares, 1 ) SetOption( MinPosValue, 0 ) SetOption( FuturesMode, False ) SetOption( AllowPositionShrinking, True ) SetOption( ActivateStopsImmediately, False ) SetOption( ReverseSignalForcesExit, False ) SetOption( AllowSameBarExit, False ) SetOption( CommissionMode, 3 ) SetOption( CommissionAmount, 0.0 ) SetOption( InterestRate, 0 ) SetOption( MarginRequirement, 100 ) SetOption( MaxOpenPositions, 1 ) SetOption( UsePrevBarEquityForPosSizing, True ) RoundLotSize 1 0 for Funds, 100 for Stocks TickSize 0 0 for no min. size MarginDeposit 0 Totalpositions 1 PositionSize -100TotalPositions Weekly Bars TimeinWeekly TimeFrameSet(Time) DJIForeign(DJI, C) DJTForeign(DJT, C) RatioDJTDJI Ratio10MA(Ratio,10) TimeFrameRestore() RestorePriceArrays() Plot(Ratio, Ratio, colorYellow, styleLine) Plot(Ratio10, Ratio10,colorGreen, styleLine) FilterTrue AddColumn(Ratio, Ratio,1.5) AddColumn(Ratio10, SMA108243,1.5) AddColumn(Buy, Buy) AddColumn(Sell, Sell) Let me know in the comments if there are any questions about the code. My data provider uses DJI for the Dow Jones Industrial Average and DJT for the Dow Jones Transportation Index. These symbols may have to replaced with whatever symbol your data provider uses for the DJI and DJT. If you enjoy the content at iBankCoin, please like our Facebook page Well, so far I can8217t get this system to work at all. It underperforms the DJT from the beginning. I am using the closest trading day to Friday for the weekly close buy at that day8217s close when the signal is positive and hold for the week, otherwise in cash. I honestly don8217t know what a 4 stop-loss means under these conditions 8211 don8217t buy again until the system cycles through a complete set of in-out signals, or just sit out a week if the signal is still positive, or what Still can8217t make this work. I should add that weekly closes (based on DJ data) are usually Saturdays up to about 1945 sometimes Saturday and sometimes Friday until 1952, and Fridays after that. Except for days the market was closed on Fridays, or Saturdays, or Thursdays, or two or three days. And except for a couple of events like 911, when the weekly close was the prior Monday. Giving us one three day week, two five day weeks, many six and eight day weeks, two nine day weeks, and one 13 day week. Find all kinds of interesting stuff looking at 5000 lines of data. But probably not the main reason I can8217t get it to work.
Comments
Post a Comment