Wednesday 6 December 2017

M okres ruchomy średniej


Przenosząca się średnia prognoza. Initrodukcja Jak można się spodziewać, patrzymy na niektóre z najbardziej prymitywnych podejść do prognozowania. Ale miejmy nadzieję, że są to przynajmniej warte wprowadzenia do niektórych zagadnień związanych z komputerem w związku z wdrażaniem prognoz w arkuszach kalkulacyjnych. W tej trosce będziemy kontynuować począwszy od początku i zacznij pracę z Prognozami Ruchoma Przeciętne Prognozy Wszyscy znają średnie ruchome prognozy, niezależnie od tego, czy uważają, że są Wszyscy studenci czynią je przez cały czas Pomyśl o swoich testach w trakcie, w którym zamierzasz mają cztery testy w semestrze Załóżmy, że masz 85 lat na pierwszym testie. Jaki byłby przewidywany Twój drugi wynik testu. Jak myślisz, jaki byłby Twój nauczyciel przewidywał następny wynik testu. Jak myślisz, że Twoi przyjaciele mogą przewidzieć za kolejny wynik testu. Jak myślisz, że Twoi rodzice mogli przewidzieć następny wynik testu. Niezależnie od blabbingu, jaki możesz zrobić dla swojego jaja i rodzice, oni i nauczyciel bardzo oczekują, że dostaniesz coś w tej dziedzinie, którą właśnie dostałeś. Pozdrawiam teraz, że pomimo twojej samopomocności do przyjaciół, oszacujesz siebie a rysunek można studiować mniej w drugim teście, a więc masz 73. Teraz co są wszystkie zainteresowane i nie przejmowane spodziewać się dostaniesz na swój trzeci test Istnieją dwa bardzo prawdopodobne podejścia do nich opracować szacunek niezależnie od czy będą się dzielić z tobą. Mogą powiedzieć sobie, Ten facet zawsze dmucha dymu o jego inteligencje On ma zamiar uzyskać kolejne 73, jeśli ma szczęście. Może rodzice będą starali się być bardziej wspierający i powiedz: "Cóż, więc doszedłeś do 85 i 73, więc może powinieneś się dowiedzieć na temat 85 73 2 79 Nie wiem, może gdybyś się mniej bawił i nie żartował łasic w całym miejscu, a jeśli zaczniesz robić dużo więcej studiów można uzyskać wyższy score. Both tych szacunków są rzeczywiste średnie prognozy ruchu. Pierwszy wykorzystuje tylko swój najnowszy wynik, aby prognozować przyszłe wyniki. Nazywa się to ruchomą średnią prognozą przy użyciu jednego okresu danych. Druga to również prognoza średniej ruchomej, ale przy użyciu dwóch okresów danych. że wszyscy ci ludzie popychają do twojego wielkiego umysłu, wkurza cię i decydujesz się na trzecim testie z własnego powodu i położyć wyższy wynik przed swoimi sojusznikami Bierzesz test, a Twój wynik jest rzeczywiście 89 Wszyscy, łącznie z sobą, są pod wrażeniem. Teraz masz ostatni test semestru nadchodzącego i jak zwykle masz wrażenie, że musimy nakłonić wszystkich do stworzenia swoich przepowiedni na temat tego, jak zrobisz na ostatnim testie Cóż, miejmy nadzieję, że widzisz pattern. Now, miejmy nadzieję, że możesz zobaczyć wzór Który z Twoich opinii uważasz za najdokładniejszy. Podczas pracy Pracujemy teraz wracamy do naszej nowej firmy zajmującej się sprzątaniem, którą rozpoczęła Twoja ukochana siostra o nazwie Gwizdek Podczas pracy Pracujesz w przeszłości reprezentowane przez następującą sekcję z arkusza kalkulacyjnego Najpierw przedstawiamy dane dla trzech średnich okresów prognoz. Wpis w komórce C6 powinien być. Będzie można skopiować tę formułę komórki do innych komórek C7 do C11.Notice jak średnia przenosi w odniesieniu do najnowszych danych historycznych, ale wykorzystuje dokładnie trzy ostatnie okresy dostępne dla każdej prognozy. Należy również zauważyć, że nie musimy naprawdę przewidzieć ostatnich okresów w celu opracowania naszej najnowszej prognozy. To zdecydowanie różni się od model wygładzania wykładniczego I ve zawiera przeszłości prognozy, ponieważ będziemy używać ich na następnej stronie internetowej w celu pomiaru ważności przewidywania. Now chcę przedstawić analogiczne wyniki dla dwóch okres ruchomych średniej prognozy. Wpis dla komórki C5 powinno być. Będzie może skopiować tę formułę komórki do innych komórek od C6 do C11.Notice jak teraz tylko dwa najnowsze dane historyczne są wykorzystywane do każdego przewidywania Ponownie mam dołączyć d poprzednie przepowiednie do celów ilustracyjnych i do późniejszego wykorzystania w walidacji prognozy. Masz inne rzeczy, które są istotne do zauważenia. Dla m-okresowej ruchomych średniej prognozy tylko m najnowocześniejszych wartości danych są wykorzystywane do przewidywania Nic innego jest konieczne Dla średniej prognozy średniej w okresie m, podczas dokonywania wcześniejszych prognoz, zauważ, że pierwsza przewidywania występują w okresie m 1. Wszystkie te kwestie będą bardzo istotne podczas opracowywania naszego kodu. Rozwój funkcji średniej ruchomej Teraz musimy rozwijać kod prognozy średniej ruchomej, którą można używać bardziej elastycznie Kod śledzić Zauważ, że dane wejściowe są dla liczby okresów, których chcesz użyć w prognozie i tablicę wartości historycznych Możesz je zapisać w dowolnej skoroszycie, którą chcesz. Funkcja MovingAverage Historyczne, NumberOfPeriods jako pojedynczy Deklarowanie i inicjowanie zmiennych Dim Item as Variant Dim Counter jako Integer Dim Accumulation jako Single Dim HistoricalSize Jako Integer. Inicjalizacja zmiennych Licznik 1 Akumulacja 0. Określenie rozmiaru historycznej tablicy HistoricalSize. For Counter 1 To NumberOfPeriods. Zbierając odpowiednią liczbę ostatnich poprzednio obserwowanych wartości. Kumulacja Akumulacja Historical HistoricalSize - licznik NumberOfPeriods. MovingAverage Akumulacja NumberOfPeriods. Kodeks zostanie wyjaśniony w klasie Chcesz umieścić funkcję w arkuszu kalkulacyjnym tak, aby wynik obliczeń pojawił się tam, gdzie powinien jak poniżej. MetaTrader 5 - Systemy transakcyjne. Adaptive Trading Systems i ich wykorzystanie w terminalu klienta MetaTrader 5. Setki tysięcy handlowców na całym świecie korzystają z platform transakcyjnych opracowanych przez MetaQuotes Software Corp Kluczowym czynnikiem prowadzącym do sukcesu jest technologia wyższość oparta na doświadczeniu wielu lat i najlepszych rozwiązań software. Mych ludzi już oszacował nowe możliwości, które stały się dostępne w nowym języku MQL5 Jego kluczowe cechy to wysoka wydajność i możliwość korzystania z programowania obiektowego Oprócz tego, z pojawieniem się testu strategii wielowalutowej r w terminalu klienta MetaTrader 5 wiele przedsiębiorców nabyło unikalne narzędzia do rozwijania, uczenia się i korzystania ze złożonych systemów obrotu. Rozpoczęte jesienią tego roku handel automatami handlowymi rozpoczną się tysiące robotów handlowych z MQL5. Doradca eksperta, który zarabia maksymalny zysk w trakcie konkursu wygra Ale jaka strategia okaże się najbardziej skuteczna. Tester strategii terminala MetaTrader 5 pozwala na znalezienie najlepszego zestawu parametrów, przy użyciu którego system zarabia maksymalną kwotę zysku w określonym przedziale czasu odbywa się to w czasie rzeczywistym Pomysł wirtualnego obrotu przy użyciu kilku strategii w Doradcy Specjalistycznym został uwzględniony w Konkursie Doradców Specjalistycznych wewnątrz artykułu eksperta Doradcy, który zawiera jego implementację w MQL4. W tym artykule pokażemy że w MQL5 stało się znacznie łatwiejsze tworzenie i analiza strategii adaptacyjnych dzięki zastosowaniu programowania obiektowego klasy do pracy z danymi i klasami handlowymi Biblioteki Standardowej.1 Adaptacyjne strategie handlowe. Zmiany rynkowe są ciągle Strategia handlowa wymaga ich dostosowania do aktualnych warunków rynkowych. Wartości parametrów, które dają maksymalną rentowność strategii można znaleźć bez użycia optymalizacja poprzez sekwencyjną zmianę parametrów i analizę wyników testów. Wykres 1 przedstawia wykresy sław dla dziesięciu Doradców Profesjonalnych MA3 MA93, z których każdy obraca się według strategii średnich kroczących, ale z różnymi okresami 3.13 93 Testy przeprowadzono przy EURUSD H1 , okres testowania wynosi 4 01 2017-20 08 2017. Kształt 1 Wykresy krzywych kapitałowych dziesięciu doradców specjalistycznych na koncie. Jak widać na rysunku 1, doradcy ekspertów osiągnęli prawie takie same wyniki w pierwszych dwóch tygodniach ale dalsze ich zyski zaczęły się znacząco różnić Po zakończeniu testów najlepsze wyniki handlowe zostały przedstawione przez ekspertów z okresu 63, 53 i 43. Rynek wybrał najlepsze Dlaczego nie powinniśmy postępować zgodnie z wyborem Co zrobić, jeśli połączymy wszystkie dziesięć strategii w jednym Doradcy Eksperta, zapewnij możliwość wirtualnego obrotu dla każdej strategii i okresowo na przykład na początku każdy nowy pasek określa najlepszą strategię dla prawdziwego handlu i handlu zgodnie z jej sygnałami. Wyniki uzyskanej adaptacyjnej strategii przedstawiono na rysunku 2 Krzywa słupów na koncie z transakcją adaptacyjną jest oznaczona kolorem czerwonym Uwaga, że ​​w czasie ponad połowa okresu kształt krzywej słodkiej dla strategii adaptacyjnej jest taki sam jak strategia MA63, która w końcu okazała się być zwycięzcą. Wykres 2 Wykresy akcji na koncie z adaptacyjną strategią wykorzystującą sygnały 10 systemów handlu. Krzywe równowagi mają podobną dynamikę Rys. 3.Faktura 3 Wykresy równowagi strategii adaptacyjnej, które wykorzystują sygnały 10 systemów handlu. Jeśli żadna strategia nie przynosi zysku w chwili obecnej, reklama systemy awaryjne nie powinny wykonywać operacji handlowych Przykład takiego przypadku pokazano na rysunku 4 w okresie od 4 do 22 stycznia 2017. Ilustracja 4 Okres, w którym strategia adaptacyjna przestała otwierać nowe stanowiska ze względu na brak zysków Strategie. Począwszy od stycznia 2017 r. najlepsza skuteczność jest wykazywana w strategii MA3 Ponieważ poziom MA3 niebieski osiągnął maksymalną ilość pieniędzy zarobionych w tej chwili, strategia adaptacyjna czerwona po jej sygnałach W okresie od 8 do 20 stycznia wszystkie rozważane strategie miały negatywny wynik, dlatego strategia adaptacyjna nie otworzyła nowych pozycji handlowych. Jeśli wszystkie strategie mają negatywny wynik, lepiej trzymać się z dala od handlu To jest ważna rzecz, która pozwala na zatrzymanie nieopłacalnego handlu i utrzymywania oszczędzanie pieniędzy.2 Wdrażanie Adaptacyjnej Strategii Handlowej. W tej części rozważymy strukturę strategii adaptacyjnej, która realizuje wirtualne transakcje handlowe przy użyciu kilku transakcji strategie równoczesne i wybierają najbardziej opłacalne transakcje w handlu realnym zgodnie ze swoimi sygnałami Zauważ, że użycie podejścia zorientowanego obiektowo znacznie ułatwia rozwiązanie tego problemu. Najpierw zajmiemy się kwestią adaptacyjnego doradcy ekspertów , następnie przejdziemy do szczegółowego spojrzenia na CAdaptiveStrategy, w którym wdrożona jest funkcjonalność systemu adaptacyjnego, a następnie pokażemy strukturę klasy CSampleStrategy - klasę bazową strategii handlowych, w których wdrożono funkcjonalność wirtualnego handlu . Następnie rozważymy kodeks dwóch swoich dzieci - klasy CStrategyMA i CStrategyStoch, które reprezentują strategie handlu ruchem średnim i stochastycznym oscylatorem Po analizie ich struktury będziesz mógł łatwo pisać i dodawać własne klasy które realizują strategie2. 1 Kodeks Doradcy Profesora. Kodeks Doradcy ds. Ekspertów wygląda bardzo prosto. Pierwsze trzy l ines definiują właściwości programu, a następnie dołączają dyrektywę include, która mówi, że preprocesor zawiera wsporniki kątowe pliku określają, że plik powinien być pobrany ze standardowego katalogu, zazwyczaj jest to pakiet terminali MQL5 Include. Kolejna linia zawiera deklarację AdaptiveExpert instancja obiektu klasy CAdaptiveStrategy oraz kod funkcji OnInit OnDeinit i OnTick Expert Advisor składa się z wywołań odpowiadających im funkcji ExpertOnInit, ExpertOnDeInit i ExpertOnTick oraz obiektu AdaptiveExpert.2 2 Klasa CAdaptiveStrategy. klasa thr adaptive Expert Advisor Klasa CAdaptiveStrategy znajduje się w pliku Zacznijmy od plików dołączonych. Powodem, dla którego umieścimy plik, jest wygodna praca z klasami różnych strategii używających obiektu klasy CArrayObj, która reprezentuje dynamiczną tablicę wskaźników do klasy instancje wywołane przez klasę podstawową CObject i jej potomków Ten obiekt ma llstrategies, zostanie użyty jako kontener strategicznych strategii handlowych. Każda strategia jest reprezentowana jako klasa W tym przypadku włączono pliki, które zawierają klasy CStrategyMA i CStrategyStoch, które reprezentują strategie handlu poprzez przenoszenie średnich i handlu przez stochastyczny oscylator. W przypadku żądania właściwości bieżących pozycji i wykonywania operacji handlowych używamy klas CPositionInfo i CTrade biblioteki standardowej, dlatego uwzględnimy pliki i pliki. Pozwalamy spojrzeć na strukturę klasy CAdaptiveStrategy. Aby wdrożyć zjednoczone podejście do obiektów różnych klas, strategie handlowe, a raczej instancje ich klas, są przechowywane w dynamicznych macierzach typu CArrayObj, które są używane jako kontenery klas strategii. klasa strategii handlowych SampleStrategy powstaje z klasy CObject. Funkcja ProceedSignalReal implementuje synchronizację kierunek i objętość rzeczywistej pozycji z danym kierunkiem i objętością. Zwróć uwagę, że łatwiej jest pracować z pozycją handlową przy użyciu klas handlowych Używaliśmy obiektów klasy CPositionInfo i CTrade do żądania właściwości pozycji rynkowej i wykonywania transakcji odpowiednio, funkcje RealPositionDirection żądają parametrów prawdziwej otwartej pozycji i zwracają jej kierunek. Teraz przejrzymy główne funkcje klasy AdaptiveStrategy. Zaczynamy od funkcji ExpertOnInit. Zestaw strategii handlowych przygotowany w funkcji ExpertOnInit Tworzy się przede wszystkim obiekt dynamicznej tablicy mallstrategies. W tym przypadku stworzyliśmy dziesięć instancji klasy CStrategyMA. Każda z nich została zainicjowana w tym przypadku, ustawiamy różne okresy i dopuszczamy wirtualny handel, używając Funkcja inicjalizacji. Następnie przy użyciu funkcji SetStrategyInfo ustawiamy instrument finansowy, nazwę strategii i komentarz. Jeśli jest to konieczne , przy użyciu funkcji SetStops TP, SL możemy określić wartość w punktach Take Profit i Stop Loss, które będą realizowane podczas wirtualnego handlu. Ta linia została skomentowana. Po utworzeniu i skorygowaniu klasy strategii dodamy ją do strategie handlowe powinny zawierać funkcję CheckTradeConditions, która przeprowadza kontrole warunków handlowych W klasie strategii adaptacyjnej ta funkcja jest nazywana na początku każdego nowego paska, dzięki czemu strategie umożliwiają sprawdzenie wartości wskaźników i do przeprowadzenia wirtualnych operacji handlowych. Zamiast dziesięciu wskazanych średnich kroczących 3, 13, 23 93 możemy dodać setki średnich kroków, jeśli klasa CStrategyMA. Możemy dodać klasy strategii, które działają przez sygnały stochastyczne przypadki oscylatora klasy CStrategyStoch. W tym przypadku kontener zawiera 10 strategii średnich kroczących i 5 strategii stochastycznego oscylatora. Przypadki klamer sesje strategii handlowych powinny być dziećmi klasy CObject i powinny zawierać funkcję CheckTradeConditions Lepiej je odziedziczyć w klasach klasy CSampleStrategy, które implementują strategie handlowe mogą być różne, a ich liczba nie jest ograniczona. Funkcja ExpertOnInit kończy się na liście strategie obecne w kontenerze mallstrategies Zauważ, że wszystkie strategie w kontenerze są uważane za dzieci klasy CSampleStrategy Klasy strategii handlowych CStrategyMA i CStrategyStoch są również jego dziećmi. Ta sama sztuczka jest używana w funkcji ExpertOnDeInit W kontenera, nazywamy funkcją SaveVirtualDeals dla każdej strategii przechowującej historię wykonanych transakcji wirtualnych. Używamy nazwy strategii dla nazwy pliku, która jest przekazywana jako parametr. Następnie deinitializujemy strategie, wywołując funkcję Deinitialization i usuwając kontenery mallstrategies Jeśli nie musisz wiedzieć o wirtualnych transakcjach, wykonaj ed przez strategie, usuń linię, na której jest zwany Uwaga, że ​​podczas używania testera strategii pliki są zapisywane do katalogu plików testerdirectory. Za rozważyć funkcję ExpertOnTick w klasie CAdaptiveStrategy, która jest wywoływana za każdym razem, gdy pojawia się nowy kod. Kod jest bardzo prosta Każda strategia znajdująca się w kontenerze musi być w stanie przeliczyć bieżący wynik finansowy swoich wirtualnych pozycji przy użyciu aktualnych cen Dokonane przez wywołanie funkcji UpdatePositionData Tutaj ponownie nazywamy strategie jako spadkobiercy klasy CSampleStrategy Wszystkie operacje handlowe są wykonywane na początku nowego paska, funkcja IsNewBar umożliwia określenie tej chwili oraz innych metod sprawdzania nowego paska W tym przypadku koniec tworzenia paska oznacza, że ​​wszystkie dane poprzedniego paska ceny i wartości wskaźników nie uległy zmianie, więc można je analizować na korespondencję do warunków handlowych Do wszystkich strategii dajemy możliwość perf orm to sprawdzenie i przeprowadzenie wirtualnych operacji handlowych poprzez wywołanie ich funkcji CheckTradeConditions. Teraz powinniśmy znaleźć najskuteczniejszą strategię wśród wszystkich strategii w macierzy mallstrategies Aby to osiągnąć, użyliśmy tablicy wyników, wartości zwracanych przez funkcję StrategyPerformance każdej strategii jest umieszczana w niej Klasa bazowa CSampleStrategy zawiera tę funkcję jako różnicę między aktualnymi wartościami wirtualnego kapitału własnego a saldem. Wyszukanie indeksu najbardziej udanej strategii jest realizowane przy użyciu funkcji ArrayMaximum Jeśli najlepsza strategia ma ujemny zysk w tej chwili i nie ma prawdziwie otwartych pozycji, to lepiej nie robić handlu, to jest powód, dla którego wychodzimy z funkcji, patrz sekcja 1. Ponadto, prosimy o kierunek wirtualnej pozycji tej strategii o najlepszej drodze Jeśli to różni się od aktualnego kierunku rzeczywistej pozycji, wówczas aktualny kierunek rzeczywistej pozycji zostanie poprawiony przy użyciu Procee dSignalReal zgodnie z najlepszym kierunkiem2. 3 Klasa CSampleStrategy. Strategie umieszczone w kontenerze mallstrategies zostały uznane za spadkobierców klasy CSampleStrategy. Klasa ta jest podstawą strategii handlowej zawierającej implementację wirtualnego handlu W tym artykule rozważymy uproszczony przypadek wirtualnej wymiany handlowej, zastanawiane swapy Klasy strategii handlowych powinny być dziedziczone z klasy CSampleStrategy. Poniższa tabela przedstawia strukturę tej klasy. Wygrałem analizę szczegółowego opisu dodatkowych informacji znajduje się w pliku Tam można sprawdzić funkcję sprawdzania nowego paska - IsNewBar.3 Klasy strategii handlu. Część ta poświęcona jest strukturze klas strategii handlowej stosowanych w Adaptive Expert Advisor.3 1 Klasa CStrategyMA - strategia handlu drogą średnią ruchoma. Klasa CStrategyMA jest dzieckiem klasy CSampleStrategy, w której cały system jonalność wirtualnego handlu jest realizowana. Sekcja chroniona zawiera zmienne wewnętrzne, które będą stosowane w klasie strategii Są to uchwyty wskaźnika iMA, okres mnożenia średniej ruchomej, mvalues ​​- tablica, która będzie używana w Funkcja CheckTradeConditions umożliwiająca uzyskanie bieżących wartości wskaźnika. Sekcja publiczna zawiera trzy funkcje, które zapewniają wdrożenie strategii handlowej. Inicjalizacja funkcji Inicjalizacja strategii Jeśli konieczne jest utworzenie wskaźników, utwórz je tutaj. Funkcje Deinitalizacyjne Strategia jest deinitializowana tutaj Uruchomienie wskaźników jest tutaj publikowane. Funkcje heckTradeConditions Tutaj strategia sprawdza warunki transakcji i generuje sygnały handlowe wykorzystywane do wirtualnego obrotu. Aby wykonać operacje wirtualnego handlu, funkcja SetSignalState klasy CStrategy nadrzędnej jest nazywana jednym z czterech następuje przekazanie sygnałów handlowych. Sygnał do otwarcia długiego poz SIGNALOPENLONG. Sygnał do otwarcia krótkiej pozycji SIGNALOPENSHORT. Sygnał do zamykania długiej pozycji SIGNALCLOSELONG. Sygnał do zamykania krótkiej pozycji SIGNALCLOSESHORT. Koncepcja jest prosta - na podstawie stanów wskaźników i cen określa się stan sygnału typu newstate , wówczas wymagany jest aktualny stan wirtualnego handlu za pomocą funkcji GetSignalState i jeśli nie są takie same, funkcja SetSignalState jest wywoływana do korygowania pozycji wirtualnej.3 2 Klasa CStrategyStoch - strategia handlu przez Stochastic. klasy, która wykonuje transakcje na podstawie przecięcia głównych i sygnałów linii oscylatora iStochastic jest podana poniżej. Jak widzisz, jedynymi różnicami między strukturą klasy CStrategyStoch a CStrategyMA są funkcje inicjalizacji różnych parametrów, użyty typ wskaźnika i sygnały handlowe. W tym celu użyj swoich strategii w Adaptive Expert Advisor, aby przepisać w formie klas tego rodzaju i załadować je do kontraktu na mallstrategies.4 Wyniki analizy Adaptacyjnych Strategii Handlowych W tej części omówimy kilka aspektów praktycznego wykorzystania strategii adaptacyjnych i metod poprawy 4. Ulepszenie systemu przy użyciu strategii, które wykorzystują odwrócone sygnały. Średnia roczna nie jest dobra, gdy nie istnieją żadne trendy. Już spotkaliśmy się z taką sytuacją - na rysunku 3 widać, że w tym okresie nie było tendencji 8 do 20 stycznia, więc wszystkie 10 strategii wykorzystujących średnie ruchome w handlu miało wirtualną stratę System adaptacyjny zatrzymał się w wyniku braku strategii z dodatnią kwotą pieniędzy Czy istnieje jakiś sposób na uniknięcie takich negatywnych Efekt. Dodać do naszych 10 strategii MA3, MA13 MA93 kolejne 10 klas CStrategyMAinv, których sygnały handlowe są odwrócone, warunki są takie same, ale SIGNALOPENLONG SIGNALOPENSHORT i SIGNALCLOSELONG SIGNALCLOSESHORT wymieniają eir places W związku z tym, oprócz dziesięciu strategii trenowania przypadków klasy CStrategyMA, mamy jeszcze dziesięć kontrtranskrypcyjnych instancji klasy CStrategyMAinv. Wynik wykorzystania adaptacyjnego systemu składającego się z dwudziestu strategii przedstawiono na rysunku 5. Rysunek 5 Wykresy kapitałowe z uwzględnieniem strategii adaptacyjnej, w której wykorzystano 20 sygnałów handlowych 10 średnich ruchów CAdaptiveMA i 10 odbitek CAdaptiveMAinv. Jak widać na rysunku 5, w okresie, w którym wszystkie strategie CAdaptiveMA miały negatywny wynik, po Strategie CAdaptiveMAinv pozwoliły Expertowi Doradcy uniknąć niepożądanych wycofań na samym początku handlu. Rysunek 6 Okres, w którym strategia adaptacyjna wykorzystywała sygnały kontrtranskrypcyjnych strategii CAdaptiveMAinv. Ten rodzaj podejścia może wydawać się niedopuszczalny, ponieważ utrata depozytu jest tylko kwestia czasu, kiedy używamy strategii kontrtranskrypnej W naszym przypadku nie ograniczamy się tylko do jednej strategii Rynek wie lepiej w hich strategie są w tej chwili skuteczne. Silna strona systemów adaptacyjnych to rynek sugerujący samą strategię, która powinna być wykorzystana, a kiedy powinna ona być wykorzystana. Daje to możliwość abstrakcji z logiki strategii - jeśli strategia jest skuteczna, to sposób jego działania nie ma znaczenia Podejście adaptacyjne wykorzystuje jedyne kryterium sukcesu strategii - jej skuteczność.4 2 Czy warto odwrócić sygnały najgorszej strategii. Sztuczka z inwersją pokazaną powyżej prowadzi do przemyślenia potencjalna możliwość wykorzystania sygnałów najgorszej strategii Jeśli strategia jest nieopłacalna i najgorsza w tym, to możemy zyskać dzięki działaniu na odwrót. Możemy przekształcić strategię przegraną w rentowną przez prostą zmianę jego sygnały Aby odpowiedzieć na to pytanie, musimy zmienić ArrayMaximum z ArrayMinimum w funkcji ExpertOnTick w klasie CAdaptiveStrategy, a także wprowadzić zmiany kierunku przez mnożenie wartości BestDire ction o -1. Ponadto musimy skomentować ograniczenie wirtualnego obrotu w przypadku negatywnej skuteczności, ponieważ przeanalizujemy wynik najgorszej strategii. Diagram kapitału Adaptive Advisor, który wykorzystuje odwrócone sygnały najgorsza strategia została pokazana na rysunku 7. Rysunek 7 Diagramy kapitału własnego na rachunkach dziesięciu strategii i systemu adaptacyjnego, które wykorzystują odwrócone sygnały najgorszego systemu. W tym przypadku najskuteczniejsza strategia przez większość czasu była jeden na podstawie przecięcia średnich kroczących z okresem 3 MA3 Jak widać na rysunku 7, istnieje odwrotna korelacja pomiędzy niebieską barwą MA3 a strategią adaptacyjną na czerwono, ale wynik finansowy systemu adaptacyjnego nie przynosi efektu. Kopiowanie i odwrócenie sygnały najgorszej strategii nie doprowadzą do poprawy efektywności handlu.4 2 Dlaczego kilka średnich kroczących nie jest tak efektywne, jak się wydaje. Zamiast 10 średnich kroczących można używać partii z nich przez dodanie kolejnych setek strategii CStrategyMA z różnymi okresami do kontraktu na mallstrategies. W tym celu zmień nieco kod w klasie CAdaptiveStrategy. Należy jednak pamiętać, że średnie ruchome średnie ruchy nieuchronnie przecinają się z liderem i stale zmieniają się, a adaptacyjne system przełącza swoje stany i otwiera zamykane miejsca częściej niż jest to konieczne W wyniku tego charakterystyka systemu adaptacyjnego stanie się gorsza Możesz się upewnić, sam w sobie poprzez porównanie statystycznych charakterystyk systemu na karcie Wyniki programu tester strategii. Nie lepiej, aby nie tworzyć adaptacyjnych systemów opartych na wielu strategiach z bliskimi parametrami.5 Co należy rozważyć. Katalog pojemników mallstrategies może zawierać tysiące przypadków sugerowanych strategii, nawet można dodać wszystkie strategie o różnych parametrach, aby wygrać Automated Trading Championship 2017 musisz rozwijać zaawansowany system zarządzania pieniędzmi em Zauważ, że używaliśmy wolumenu handlowego równego 0 1 partii do testowania danych historii i kodu klas.5 1 Jak zwiększyć zyskowność Adaptive Expert Advisor. Klasa CSampleStrategy posiada wirtualną funkcję MoneyManagementCalculateLots. To zarządzać woluminu do obrotu, możesz użyć informacji statystycznych o wynikach i cechach transakcji wirtualnych zapisanych w tablicy mdealshistory. Jeśli potrzebujesz zwiększyć głośność, na przykład podwoić ją, jeśli ostatnie wirtualne transakcje w mdealshistory są przynoszące zyski lub zmniejszyć ją należy odpowiednio zmienić wartość zwracaną.5 2 Korzystanie ze statystyk dotyczących ofert do obliczania skuteczności strategii Funkcja StrategyPerformance, realizowana w klasie CSampleStrategy służy do obliczania skuteczności strategii. Wzór skuteczności strategia może być bardziej skomplikowana i na przykład zawierać skuteczność wprowadzania, wychodzenia, skuteczność transakcji, zyski, wypłaty itp. Kalkulacja skuteczności wprowadzania, wychodzenia i skuteczności transakcji pola entryeff, exiteff i tradeeff struktur tablicy mdealshistory odbywa się automatycznie podczas wirtualnego handlu, patrz klasa CSampeStrategy Ta informacja statystyczna może być używana do tworzenia własnych, bardziej złożonych stawek skuteczności strategii. Na przykład, jako cechy efektywności można wykorzystać zysk z ostatnich trzech transakcji użyj pola posProfit z archiwum transakcji mdealshistory. Jeśli chcesz zmienić tę funkcję, zmienić ją tylko w klasie CSampleStrategy, to musi być takie samo dla wszystkich strategii handlowych systemu adaptacyjnego Należy jednak pamiętać, że różnica między kapitałem własnym a saldo jest również dobrym czynnikiem skuteczności.5 3 Korzystanie z zysków i utrata ich utraty. Możesz zmienić skuteczność systemów obrotu poprzez ustalenie stałych poziomów zatrzymania, które można wykonać poprzez wywołanie funkcji SetStops, która umożliwia ustawienie stopień zatrzymania w punktach wirtualnego obrotu Jeśli poziomy są określone, zamykanie wirtualnych pozycji zostanie wykonane automatycznie ta funkcja jest realizowana w klasie CSampleStrategy. W naszym przykładzie zobacz 2 2, funkcje klas przenoszenia średnich, funkcja ustawiania stopień jest komentowany.5 4 Okresowe zerowanie skumulowanego zysku wirtualnego. Kluczowe podejście ma tę samą wadę, co wspólne strategie. Jeśli wiodąca strategia zaczyna się tracić, system adaptacyjny zaczyna również gubić. Dlatego też czasami trzeba zerować rezultaty pracy wszystkich strategii i zamykania wszystkich swoich wirtualnych pozycji. W tym celu w klasie CSampleStrategy są realizowane następujące funkcje. Kontrola tego typu może być użyta od czasu do czasu, na przykład po każdym bicie N. Należy pamiętać że system adaptacyjny nie jest graalem USDJPY H1, 4 01 2017-20 08 2017.Rysunek 8 Krzywe bilansu i kapitału własnego systemu adaptacyjnego wykorzystującego sygnały z najlepsza z 10 strategii kursu USDJPY H1.Według wszystkich strategii przedstawiono rysunek 9. Kształt 9 Wykresy akcji na koncie z systemem adaptacyjnym opartym na 10 strategiach USDJPY H1.Jeśli w systemie adaptacyjnym nie ma korzystnych strategii, korzystanie z nich nie jest skuteczne Korzystaj z korzystnych strategii. Powinniśmy rozważyć inną ważną i interesującą rzeczą Zwróć uwagę na zachowanie strategii adaptacyjnej na samym początku handlu. Wykres 10 Wykresy akcji na koncie z 10 strategiami strategii adaptacyjnej. , wszystkie strategie miały negatywne skutki, a strategia adaptacyjna przestała się handlować, a następnie zaczęła się zmieniać między strategiami, które miały pozytywny wynik, a następnie wszystkie strategie stały się nieopłacalne ponownie. Wszystkie strategie mają taką samą równowagę na początku i dopiero po pewnym czasie lub inna strategia staje się liderem, zaleca się zatem ustalić ograniczenie strategii adaptacyjnej, aby uniknąć obrotu na pierwszych barach. Aby to zrobić, uzupełnij e funkcja ExpertOnTick klasy CAdaptiveStrategy ze zmienną, której wartość wzrasta za każdym razem, gdy pojawia się nowy pasek. Na początku, dopóki rynek nie zdecyduje się na najlepszą strategię, powinieneś trzymać się z daleka od prawdziwego obrotu. W tym artykule rozważaliśmy przykład systemu adaptacyjnego, który składa się z wielu strategii, z których każda tworzy własne wirtualne transakcje handlowe Prawdziwe handel jest realizowany zgodnie z sygnałami najbardziej opłacalnej strategii w chwili obecnej. Dzięki zastosowaniu podejścia zorientowanego obiektowo, klasy do pracy with data and trade classes of the Standard library, the architecture of the system appeared to be simple and scalable now you can easily create and analyze the adaptive systems that include hundreds of trade strategies. PS For the convenience analysis of behavior of adaptive systems, the debug version of the CSampleStrategy class is attached the archive The difference of this version is creation of text files during its working they contain the su mmary reports on the dynamics of changing of virtual balance equity of the strategies included in the system. Chart Studies. Chart Studies use a stock s price movements, volume, and other historical information to attempt to find patterns that may indicate shifting price trends. By learning what a particular study may be indicating and then applying that study to your charts, you may be able to identify trading opportunities, points of support or resistance at certain price thresholds, price trends, and more. Stock symbols and price and volume data shown here and in the software are for illustrative purposes only Charles Schwab Co Inc its parent or affiliates, and or its employees and or directors may have positions in securities referenced herein, and may, as principal or agent, buy from or sell to clients. Add studies to a chart from the Chart Settings panel on the right side of the Chart tool You can also right-click in the chart and select Add Study Or for more on using studies in chart s, see Chart Settings Studies. Get a demonstration and more information on Chart Studies. When selected with an intraday chart, a line will display indicating the prior day s close price. Uses the previous day high, low, and close price to generate a pivot line, two support levels S1 S2 , and two resistance levels R1 R2 This study is only displayed on Intraday charts In the studies settings right-click on the study and select Edit , you may check the lines you wish to view R2, R1, Pivot, S1, S2.Pivot Point lines may not be visible depending on the price scale you have set in the chart settings and the price discrepancy between the previous and the current trading day. Pivot Points are calculated. Pivot YesterdaysHigh YesterdaysLow YesterdaysClose 3 0.S1 2 0 Pivot - YesterdaysHigh. R1 2 0 Pivot - YesterdaysLow. S2 Pivot - R1 - S1.R2 Pivot R1 - S1.Adaptive RSI Relative Strength Index. Adapts the standard RSI to a smoothing constant Customizable default of 14 periods. For calculation purposes, Ada ptive RSI is somewhat similar to an exponential moving average, but instead of averaging prior values using a fixed percentage, it uses a variable percentage based on the RSI. where and n is the RSI period i e an n-period RSI. Money Flow keeps a running total of the money flowing into and out of a security The direction of the Money Flow line is the important component to watch, not the actual dollar amount This indicator can be used to confirm underlying strength or weakness of a price trend. The formula for an n-period Money Flow is. Money Flow Percent. Money Flow Percent normalizes the Money Flow calculation above by dividing by the cumulative volume for the period You can change the periods used in the calculation from the default of 14.The formula for an n-period Money Flow Percent is. Put Call Ratio - Open Interest. Shows the number of puts divided by the number of calls based on open interest for individual stocks or indices The ratio is often used as a contrary market indicator, which means that a high ratio may be a bullish indicator while a low ratio is often interpreted as a bearish indicator. The put call ratio study can display the P C Actual value, where each individual data point represents the raw put call data, or the P C SMA simple moving average the average of the raw data over the selected time period of the study. Available for daily, weekly and monthly charts for optionable securities. Relative Strength Index. Indicates the degree of positive and negative movement by the stock on a scale of 0 weakest to 100 strongest Determined by figuring the ratio of the average up closes for the last 14 days using today s current price for the 15th day divided by the sum of the average up closes and the average down closes for the same period This ratio is multiplied by 100 You can change the number of periods used in the calculation from the default of 14, and you can chose which Average price to base the study on Close, Open, etc from the study settings. The initial v alue of an n-period RSI is based on the price action for the first n periods Subsequent values are determined using an inductive formula, analogous to the EMA formula described earlier. The formula for the initial value of RSI is. where for all. Subsequent values of RSI are determined using the formula. Average True Range. Measures a security s volatility by averaging the True Range over a period of time you specify when setting up the study True Range is the greatest of the following. The current high minus the current low. The absolute value of the current high less the previous close. The absolute value of the current low less the previous close. Customizable default of 14 periods. The ATR formula is an exponential average of the true range True range takes into account any gap up or down from the previous day as well as the high and low for the current day The formula is. where TR is the largest of the absolute values of High-Low , High-Yesterdays Close , and Yesterdays Close-Low. The Upper an d Lower lines are placed n-standard deviations above and below the Mid line simple moving average Since standard deviations are a measure of volatility, the bands widen during volatile price action and contract when volatility drops You can change the variables used in the calculation from the defaults of period 20 and n 2 standard deviations above and below. Rather than two bands that are always an equal percentage away from the central average, Bollinger Bands expand and contract based on the standard deviation of the historical volatility of the price action. The formulas for the upper and lower bands are. where m is the number of standard deviations and the formula for is. Implied Volatility Avg Calls Puts. The theoretical value in designed to represent the forecasted volatility of the security or index as determined by the prices of multiple call and put options using the Black-Scholes pricing model. Choose to view the Average of Puts Calls Avg , Average of Puts Puts , or Average of Cal ls Calls Also, choose whether to view actual implied volatility IV Actual or a simple moving average of implied volatility IV SMA Customizable default period for the IV SMA is 20.Implied Volatility studies are only available on daily, weekly, and monthly charts for optionable securities Implied Volatility values are computed using the Black-Scholes model and may not be available on all underlying securities The Schwab Avg Implied Volatility, Call - Implied Volatility, and Put - Implied Volatility, while based on the Robert E Whaley calculation, are derived using methods that may differ from those used by other data providers. The formula used in calculating this value is.2 in-the-money calls nearest to the current underlying price.2 in-the-money puts nearest to the current underlying price for the two nearest expiration months.2 out-of-the-money calls nearest to the current underlying price.2 out-of-the-money puts nearest to the current underlying price for the 2 nearest expiration mont hs 16.The formula used in calculating this value is.2 in-the-money calls puts nearest to the current underlying price for the two nearest expiration months.2 out of the money calls puts nearest to the current underlying price for the two nearest expiration months 8.Keltner Channels consist of two bands that are not equidistant from the EMA. Rather than two bands that are always an equal percentage away from the EMA, Keltner Channels expand and contract based on a moving average of the True Range TR. Customizable default of 20 periods, 10 ATR Average True Range Periods, and an ATR factor of 2.The formulas for the upper and lower bands are. where F is a factor. Use SSPro4 calculation StreetSmart Edge uses the modern calculation for Keltner Channels, which uses EMA rather than SMA as the signal line However, if you want Keltner Channels to continue using SMA as the signal line, check this box. True Range is the greatest of the following. The current high minus the current low. The absolute value of the current high less the previous close. The absolute value of the current low less the previous close. On Balance Volume OBV. This indicator relates volume to price changes by adding volume to a running total when the price closes up for a period, then subtracts the volume if the stock closes down for a period You can overlay the study on or underneath the price chart.

No comments:

Post a Comment