ThinkScript for TOS Made Simple ThinkScript: Jak programować własne strategie dotyczące własnych badań Jeśli jesteś użytkownikiem systemu TOS (Think lub Swim), ta strona pomoże ci nauczyć się języka ThinkScript, języka, którego możesz używać do tworzenia własnych niestandardowych strategii 8220studies8221 i handlowych. Kiedy zastosujesz Studium do wykresu, możesz wykreślić różne wartości średnich ruchomych linii. Gdy zastosujesz strategię, możesz oznaczyć konkretne rekomendacje kupna i sprzedaży na wykresie giełdowym. Jednym z najlepszych sposobów uczenia się ThinkScript jest gra z przykładami, uczenie się, jak działają, a następnie ich modyfikowanie. Zadanie nr 1. Utwórz badanie postępując zgodnie ze wskazówkami "krok po kroku" poniżej. Otwórz tabelę TOS i kliknij Badania. następnie Edytuj badania W lewym dolnym rogu okna, które się pojawi, kliknij New8230 Pojawi się okno edycji badania z tym kodem, już w nim: wykres Zamknij dane Jeśli jest to twoje pierwsze badanie, zobaczysz nazwę badania na górze okna edycji. Prawdopodobnie powie: NewStudy0 (Programiści są zabawnymi facetami, którzy lubią zaczynać od zera.) Kliknij gdzie jest napisane 8220NewStudy08243 i zmień nazwę na coś znaczącego. Proponuję nazwę AAAtest, ponieważ litery AAA ułatwią badanie tego testu na górze listy badań dla łatwego dostępu. It8217 jest zabawny programować w ThinkScript, ponieważ skanujesz natychmiast wyniki z wykresami na wykresie. W przypadku pierwszego badania sugeruję skopiowanie i wklejenie następującego skryptu do nowego badania, zastępując kod, który już tam jest: długość wejściowa 8 wejściowa średniaType ŚredniaType. EXPONENTIAL fabuła MovAvg MovingAverage (averageType, close, length) Po ustawieniu nazwę badania i wklejenie w kodzie, kliknij OK. Następnie znajdź nazwę badania na swojej liście badań, jeśli używasz nazwy zaczynającej się od 8220AAA, 8221 prawdopodobnie zobaczysz nazwę u góry. Kliknij nazwę raz, a następnie kliknij Dodaj studium u dołu ekranu, jak pokazano tutaj: Po kliknięciu Dodaj badanie możesz ustawić różne opcje wprowadzania danych do badania, klikając ikonę koła zębatego po prawej stronie. Zobacz poniżej: Po kliknięciu ikony koła zębatego możesz ustawić różne opcje, takie jak: Kolor wykresu średniej ruchomej Okres średniej kroczącej. Typ ruchomej średniej 8212, na przykład Prosty lub Wykładniczy Po zakończeniu ustawiania tych opcji, kliknij OK, a następnie OK. (UWAGA: nie musisz kliknąć Zastosuj, ale możesz, jeśli chcesz sprawdzić wyniki przed zapisaniem kodu, klikając OK.) Zauważ, że Zastosuj stosuje jakiekolwiek zmiany, ale nie zamyka okna edycji OK zapisze i zamknie edycję window.) Teraz, gdy dodajesz swoje pierwsze badanie do wykresu, let8217 przyjrzyj się, co to oznacza i rozważ niektóre z zasad gramatyki ThinkorSwim. Postęp Sprawdź długość wejściową 8 input averageType AverageType. EXPONENTIAL plot MovAvg MovingAverage (averageType, close, length) Zwróć uwagę, że każda linia kończy się na. Sprawdź swoją odpowiedź poniżej: Każda linia kończy się średnikiem. Jeśli zapomnisz zrobić to, będziesz żałować, że nie udało ci się prawidłowo pracować. Kiedy używasz słowa 8220input8221 w skrypcie, które pozwala użytkownikowi klikać ikonę koła zębatego (jak to robiłeś wcześniej, aby zmodyfikować przypisania wartości). Zauważ, że słowo 8220 length 8221 w połączeniu z 8220input8221 definiuje zmienną, która może być użyta później w scenariusz. Rozważmy następujący wiersz: input averageType AverageType. ODPOWIEDZIALNY Ta linia definiuje zmienną o nazwie 8220averageType8221 i przypisuje jej predefiniowaną wartość stałą, którą TOS interpretuje jako 8220exponential.8221. Zwróć uwagę na format: AverageType 8212, a następnie kropka 8212, a następnie słowo EXPONENTIAL. Słowo przed kropką określa rodzinę 82208221, do której należy stała. Słowo po kropce podaje nazwę stałej. To jest trochę ezoteryczne, wiem, ale stanie się jasne, że przejdziesz przez ten samouczek i zobaczysz więcej przykładów. Kto wiedział, że stałe mogą mieć rodziny. Przypuśćmy, że chcesz powiedzieć TOS w swoim skrypcie, aby ustawić zmienną averageType na prostą średnią ruchomą. Której linii kodu użyjesz What8217s nie tak z innymi a) input averageType AverageType. EXPONENTIAL b) input averageType AveerageType. SIMPLE c) input averageType AverageTypeSIMPLE d) input averageType SIMPLE Drugi wybór jest poprawny. Wybór a) ustawił wartość averageType na stałą dla wykładniczych średnich kroczących. Wybór c) brakuje średnika Wybór d) doesn8217t określa rodzinę, do której należy stała. Hej, rodziny są ważne, jeśli chodzi o stałe. Teraz let8217 rozpatrują trzecią linię kodu wyświetlaną na czerwono: długość wejściowa 8 wejściowa średniaType AverageType. EXPONENTIAL plot MovAvg MovingAverage (averageType, close, length) Dla mnie jest to trochę dziwne, ale ThinkScript lubi łączyć fabułę i ustawienie głośności MovAvg na jedną linię. Prototypem dla tego wiersza kodu może być: fabuła-zmienna-namegt MovingAverage (P1, P2, P3) What8217s to prototyp It8217s to przewodnik do tworzenia linii kodu, ale prototyp musi zostać zmodyfikowany, aby pasował do twoich potrzeb. Dla przykładu, musisz zmienić ltsome-varialbe-namegt na coś innego. I musisz zastąpić P1, P2 i P3 czymś znaczącym. MovingAverag0e jest funkcją w języku ThinkScript. Zawsze zajmuje 3 parmy (zwane również argumentami). Parm (skrót od parametru jest wejściem do funkcji) Argument jest także wprowadzeniem do funkcji P1 określa, jaka jest średnia ruchoma P2 określa, czy używać wysokiego, niskiego, otwartego lub zamkniętego dla obliczeń P3 mówi liczba słupków (lub okresów) używanych do obliczenia. Sprawdzenie postępu Spróbuj wypróbować, który z nich byłby sposobem na wykreślenie prostej 50-okresowej średniej ruchomej ceny otwarcia, biorąc pod uwagę tę prototypową działkę zmiennej-zmiennej-namegt MovingAverage (P1, P2, P3) a) fabuła MovingPhil MovingAverage (AverageType. SIMPLE, open, 50) b) fabuła MovAvg MovingAverage (AverageType. SIMPLE, open, 50) c) wykres MoveAvg MovingAverage (SIMPLE, open, 50) O dziwo, pierwszym wyborem jest poprawny. Nie musisz używać MoveAvg jako słowa po 8220plot.8221 Możesz użyć dowolnego słowa, pod warunkiem, że nie jest ono jakimś zarezerwowanym słowem. Dla twojej edycji, oto lista zarezerwowanych słów, których używa język ThinkScript Ponieważ nazywam się Phil Seyer, wybrałem 8220MovingPhil8221 jako nazwę zmiennej, podobnie jak wewnątrz żartu 8212, aby nauczyć cię, że może być użyta jakakolwiek poprawna nazwa zmiennej . Wybór b) byłby poprawny, gdyby na końcu był średnik. c) Wybór c jest nieprawidłowy, ponieważ nie zawiera nazwy 8220 rodziny 8221 stałej. Pamiętaj, że constant8217 są przyjazne dla rodzin, tak jak wszyscy dobrzy obywatele. Teraz spójrz na ten kod: długość wejściowa 8 danych wejściowych L 50 input averageType AverageType. EXPONENTIAL input avgtype50 AverageType. SIMPLE plot MovAvg MovingAverage (averageType, close, length) plot Avg50 MovingAverage (avgtype50, close, L) Assignment 2: Proponuję ci skopiuj i wklej ten kod do badania i ustaw kolory dla dwóch ruchomych średnich, klikając ikonę koła zębatego po dodaniu badania do wykresu. Do czego służy ten kod? Dlaczego L jest używane w wierszu 2. Ten kod przedstawia dwie średnie ruchome, jedną jest ośmioletnia wykładnicza średnia krocząca. Druga to prosta 50-krotna średnia ruchoma. Zmienna L służy do kontrolowania okresu prostej średniej kroczącej. Zwróć uwagę, że 8 wykładnicza średnia ruchoma jest czasami nazywana linią wyzwalającą. Kiedy zapasy spadają poniżej tej granicy, często dobrym pomysłem jest ich sprzedaż. Kiedy sprzedaje się powyżej linii wyzwalającej sygnałem zakupu świecy, Steve Bigalow z candlestickforum często poleca ten towar jako możliwy zakup, jeśli handluje on wyżej następnego dnia. Odwrotnie, linia T może być wykorzystana do sygnału sprzedaży, jeśli zapasy są zamykane poniżej linii T i pokazują sygnał sprzedaży świec. Do tej pory nie zrobiliśmy niczego wymyślnego z własnymi studiami, równie dobrze moglibyśmy z góry zdefiniować badania na wykresie, który robi to samo. Ale hej Uczymy się tworzyć własne badania i musimy zacząć od małych kroków i robić to krok po kroku. Let8217s obejmują Gradus Ad Parnassum (łacina po krokach do perfekcji) Jeśli instrukcje If w ThinkScript są dziwne w mojej opcji. Spójrz: wykres Maximum3, jeśli close gt open Maximum3 zamknij else Maximum3 open Pierwsza instrukcja mówi, aby narysować wykres do punktu określonego przez Maximum3. Ale Maximum3 nie zostało jeszcze zdefiniowane W większości języków programowania powodowałoby to zmienny niezdefiniowany błąd. Ale program ThinkScript nie działa. Po prostu odczytuje kod, aby dowiedzieć się, jakiej wartości użyć dla Maximum3. 1. Jeśli świeca zamyka się powyżej 8220, co spowoduje ustawienie wartości Maximum3 na wartość 2. Jeśli świeca zamyka się poniżej otworu, to jaka wartość zostanie ustawiona na wartość maksymalnie 1? Jeśli świeca zamknie się nad otworem 8232, wartość Maximum3 zostanie ustawiona na 8220close8221. 2. Jeśli świeca zamyka się niżej niż otwarta 8232, wartość Maximum3 należy ustawić na 8220open8221. Zauważ, że prototyp instrukcji if ustawia zmienną. Jednym z moich pomysłów jest to, że kiedy Tline przekracza 20-miesięczną wykładniczą średnią kroczącą, może to być czas na sprzedaż. To nie działa zawsze, ponieważ nadal można uzyskać biczowanie, więc dobrze jest przyjrzeć się innym czynnikom. Na przykład, jeśli ten sygnał wystąpi, gdy giełda przełamie trend, najprawdopodobniej zadziała. Ponadto, jeśli jesteś w dobrej koniunkturze, myślę, że może to być przydatne do oglądania i trzymania akcji tak długo, jak długo Tline pozostanie powyżej 20 punktów doświadczenia. Sprzedawaj, gdy Tline przekracza wartość 20 EXP. Ale, hej, musisz podjąć własną decyzję. Here8217s to prosty kod w języku ThinkScript służący do wykreślania kropki na wykresie, gdy nastąpi skrzyżowanie. Sporządza także wykres średnich ruchomych, aby przekonać się, kiedy nastąpi krzyż: Przypisanie 3: Sugestia: skopiuj ten kod do badania i zobacz, co robi. Następnie przeczytaj dyskusję poniżej kodu. fabuła Crossover ExpAverage (close, 8) krzyżuje ExpAverage (close, 20) Crossover. SetPaintingStrategy (PaintingStrategy. BOOLEANPOINTS) fabuła Tline ExpAverage (close, 8) fabuła Twenty ExpAverage (close, 20) Część pierwszego stwierdzenia, która mówi8230 Expover Exposure ( close, 8) przecina ExpAverage (close, 20). 8230 ustawi Crossover na 1, jeśli doszło do skrzyżowania. Jeśli nie nastąpiło przejście, zmienna Crossover zostanie ustawiona na zero. W programowaniu komputerowym wyrażenie zwróci 1, jeśli jest prawdziwe, lub 0, jeśli jest fałszywe. Na przykład 8230 zwróci 0. I. Dni 365 365 8230 powróci 1 (jeśli DayinYear ma poprawną wartość) Linia, która czyta 8230, instruuje system TOS, jak wykonać wykres. SetPaintingStragety jest funkcją. Kiedy podasz mu argument PaintingStrategy. BOOLEANPOINTS), będzie on wiedział, jak malować kropkę na pasku, jeśli wartość jest naniesiona na wykres 1. Jeśli nie zrobiłeś tego, spróbuj umieścić to w badaniu i przetestować. Zauważ, że kropka jest wykreślona na pasku PO wykonaniu krzyża. Tutaj jeszcze raz kod dla wygody: fabuła Crossover ExpAverage (close, 8) krzyże ExpAverage (close, 20) Crossover. SetPaintingStrategy (PaintingStrategy. BOOLEANPOINTS) fabuła Tline ExpAverage (close, 8) fabuła 20 ExpAverage (close, 20) Tworzenie transakcji Strategie z sygnałami BuySell Do tej pory na poprzednich lekcjach, właśnie narysowaliśmy linie na wykresie z badaniami. Podczas tej lekcji nauczysz się, jak tworzyć strategie. Strategia to rodzaj badań, które mają wyraźne sygnały kupna i sprzedaży. Rzeczywiste zamówienia na żywo nie są wysyłane do TOS. ze strategiami, ale możesz przetestować strategię, aby zobaczyć, jak działałaby w przeszłości. Podczas tworzenia strategii kroki są nieco inne. Oto jak zacząć: Otwórz tabelę TOS i kliknij Badania. następnie Edytuj badania Kliknij zakładkę Strategie. (patrz poniżej) Otworzy się okno edycji strategii. W tym oknie możesz wprowadzić kod ThinkScript dla strategii. We8217ll utworzymy przykładową strategię za chwilę, ale najpierw let8217 spojrzą na funkcję AddOrder. Jest to funkcja, której możesz użyć do pokazania, gdzie chcesz umieścić sygnał kupna lub sprzedaży na wykresie. Oto prototyp funkcji AddOrder: AddOrder (typ, warunek, cena, tradeSize, tickColor, arrowColor, nazwa) Pamiętaj, że pozycje w nawiasach po nazwie funkcji nazywają się parms (parametry). Te pliki dostarczają funkcji istotnych informacji, aby mogła wykonywać swoją pracę. Let8217 patrzą na każdy z tych parm: typ 8212 ten parm mówi jaki rodzaj zamówienia, na przykład: kup, sprzedaj, sprzedaj krótko lub kup na pokrycie. warunek 8212 określa warunki, które muszą zostać spełnione przed wydaniem Zlecenia. cena 8212 kiedy zlecenie 8212 zostanie domyślnie ustawione na otwarciu następnego paska. tradeSize 8212 Ile akcji do handlu. tickColor 8212 jaki kolor, aby zaznaczyć, co to jest strzałka odkreślania Kolor 8212 jakiego koloru użyć dla strzałki, która pojawia się na wykresie pokazującym handel. name 8212 Jaką nazwę wyświetlić na wykresie za pomocą strzałki. Domyślnie nazwa będzie taka sama, jak nazwa podana w pierwszym pliku. Podczas określania typu parm, używamy predefiniowanej stałej w rodzinie 8220OrderType8221. Oto różne stałe, których możemy użyć: OrderType. SELLTOOPEN 8212 Otwórz transakcję, sprzedając krótko. OrderType. BUYTOCLOSE 8212 Zamknij krótką pozycję OrderType. BUYTOOPEN 8212 Kup zapas, aby otworzyć transakcję. OrderType. SELLTOCLOSE 8212 Sprzedaj towar, który wcześniej kupiłeś Dwie inne stałe typu: OrderType. BUYAUTO 8212 kupię akcje (albo kupisz, aby pokryć, albo kupić, aby otworzyć nowy handel.) Słowo AUTO pomaga nam dowiedzieć się, że TOS automatycznie opieka nad kupnem na pokrycie lub zakupem w celu otwarcia handlu 8212 i OrderType. SPRZEDAJ AUTO zajmie się sprzedażą krótką lub sprzedażą istniejącej pozycji długiej .. OrderType. SELLAUTO 8212 sprzedaż istniejącego holdingu lub sprzedaży show, aby otworzyć nowy handel. buduj w języku angielskim, a dwie ważniejsze to: Teraz pozwólcie, że spójrzcie na kod, który używa 8220 krzyżyków powyżej.8221 Umieści strzałkę w górę na wykresie wraz ze słowem 8220Buy8221, gdy Tline przekroczy 20 EXP. strzałka będzie koloru żółtego, więc jest łatwo zobaczyć, a tyk jest również kolorowy żółty Pamiętaj, że Tline to 8EXP AddOrder (OrderType. BUYAUTO, Tline przekracza powyżej 20, open-1, 100, Color. YELLOW, Color. YELLOW, Buy) Zwróć uwagę, jak użyliśmy tego stały OrderType. BUYAUTO, aby określić typ zamówienia. Zmodyfikuj powyższy kod, aby złożyć zamówienie sprzedaży za pomocą czerwonej strzałki i czerwonego znacznika wyboru. Następnie sprawdź odpowiedź poniżej: Here8217s kod zamówienia sprzedaży. I8217ve podkreślił zmiany potrzebne do przekształcenia zlecenia kupna w zlecenie sprzedaży: You8217ve prawdopodobnie zauważył wartość -1 po otwarciu w kodzie. I8217m nie wiem, dlaczego jest to potrzebne 8212 Rozważam tutaj kodowanie kompletnej strategii, która kreśli sygnały kupna i sprzedaży na wykresie na podstawie średniej ruchomej, którą omawialiśmy: cena wejściowa close input Tlength 8 input SlowLength 20 def Tline ExpAverage (price, Tlength) def Twenty ExpAverage (price, SlowLength) AddOrder (OrderType. BUYAUTO, Tline przekracza powyżej 20, open-1, 100, Color. YELLOW, Color. YELLOW, Buy) AddOrder (OrderType. SELLAUTO, Tline krzyże poniżej Twenty, open-1, 100, Color. RED, Color. RED, Sell) Sugestia: Utwórz strategię za pomocą tego kodu. Pamiętaj, aby rozpocząć: Otwórz tabelę TOS i kliknij Badania. następnie Edytuj badania Kliknij zakładkę Strategie. (patrz poniżej) Kliknij przycisk Nowy u dołu okna. Wkleiłem powyższy kod do strategii Podaj strategię znaczącą nazwą zaczynającą się od AA, więc łatwo ją znaleźć. Kliknij OK, aby zapisać i wyświetlić strategię na bieżącym wykresie. Uwaga: ta strategia nie wyświetla żadnych ruchomych średnich. Sugeruję, abyś również zastosował poprzednie badanie, abyś mógł również zobaczyć, jak działa Twoja własna strategia. BackTesting Poniżej znajduje się raport wykorzystujący tę strategię zastosowany do NFLX. WAŻNE. Wyniki na NFLX są dość dobre, ale tylko dlatego, że strategia działa dobrze na jednym magazynie w określonym przedziale czasowym, nie oznacza, że będzie dobrze działać na dowolnym losowym magazynie podczas analizy historycznej lub w przyszłości. Aby uzyskać najlepsze wyniki, przetestuj wiele zasobów i pomyśl o sobie Oznaczenie ogólnego trendu zapasów It8217 jest bardzo przydatny, aby szybko sprawdzić, czy trend akcji jest wyższy lub niższy. Oto prototyp do dodania etykiety w lewym górnym rogu wykresu: Zwróć uwagę, że ta funkcja ma 2 parmy: Możesz ustawić pierwszy parm na tak, jeśli chcesz, aby podpis był wyświetlany. Tak jest stała w języku ThinkScript oznaczającym 8220True8221 lub 1. (Programiści lubią używać wartości 1 dla wartości True lub 0 dla wartości False, więc jeśli chcesz wyświetlić, powiedzmy, 8220Uptrend8221, możesz użyć tej linii kodu: Ale lepszym sposobem jest użycie instrukcja if, aby ustalić, który napis ma być wyświetlony. Plik ThinkScript umożliwia osadzanie instrukcji If bezpośrednio jako drugi plik funkcji. Prototyp dla instrukcji if: ifititiongt następnie Caption1 Else Caption2 Progress Check Załóżmy, że twój stan jest : EXPAverage (close, 8) gt ExpAverage (close, 20) Napisz wiersz kodu za pomocą funkcji AddLabel, aby wyświetlić 8220Uptrend8221, jeśli warunek jest prawdziwy lub 8220Downtrend8221, jeśli warunek jest fałszywy Sprawdź odpowiedź poniżej: AddLabel (tak, jeśli EXPAverage (close, 8) gt ExpAverage (close, 20), następnie 8220Uptrend8221 else 8220Downtrend8221) Wykreślanie strzałek w badaniach (nie strategie) Pamiętaj, że strategia może dawać sygnały kupna i sprzedaży, a ty możesz uzyskać raport z testu wstecznego ze strategii, klikając kupuje zalecenia w strategii. Ale czasami możesz chcieć narysować różne rzeczy na wykresie w badaniu. Na przykład po prostu pokazałem ci, jak możesz użyć funkcji AddCaption w badaniu, aby wyświetlić etykietę w lewej górnej części wykresu. Następnie pokażemy Ci, jak tworzyć strzałki w górę lub w dół w badaniu. Przypuśćmy, że chcesz wykreślić strzałkę w górę, gdy akcje przekraczają linię Tline lub strzałkę w dół, gdy przechodzi ona poniżej Tline ThinkScript ma dwie przydatne wskazówki dla strzałek w górę iw dół: Obie te stałe należą do tej samej rodziny stałych. Która rodzina jest tym samym Oboje należą do rodziny stałych Photostrategy. Aby użyć tych stałych, używamy funkcji SetPaintingStrategy. Prototypem tego jest: Załóżmy, że chcemy użyć IsGreen jako naszej nazwy zmiennej. Moglibyśmy wtedy napisać: jednak to samo nie zadziałałoby, ponieważ ThinkScript nie wiedziałby, do czego odnosi się IsGreen. Najpierw musimy powiedzieć: fabuła jest bliska Green krzyżuje się powyżej ExpAverage (close, 8) 8230 co oznacza 8220Plot IsGreen za każdym razem, gdy zamknięcie przekroczy linię Tline Aby wyjaśnić, czym powinien być IsGreen, kontynuujemy funkcję PaintStrategy. Potrzebujemy więc dwóch stwierdzeń: fabuła jest bliska zielonym krzyżom powyżej ExpAverage (close, 8) isGreen. SetPaintingStrategy (PaintingStrategy. BOOLEANARROWUP) Co jest pierwsze? Polecenie plot lub SetPaintingStrategy Zauważ, że instrukcja fabuły musi być pierwsza, ponieważ pomaga zdefiniować zmienną isGreen . UWAGA: nie musisz używać isGreen jako nazwy zmiennej. Możesz użyć dowolnej nazwy zmiennej, która nie jest słowem zastrzeżonym. Sprawdzenie postępu Napisz kod, który wykreśli strzałkę w górę, gdy cena zamknięcia akcji przekroczy wartość 8Exp, a strzałka w dół, gdy spadnie poniżej. Podpowiedź: najpierw napisz obie instrukcje wydruku. Następnie wywołaj funkcję SetPaintingStrategy. fabuła ma zielone krzyże powyżej wykresu ExpAverage (zamknij, 8) isRed zamyka krzyżyki poniżej ExpAverage (close, 8) isGreen. SetPaintingStrategy (PaintingStrategy. BOOLEANARROWUP) isRed. SetPaintingStrategy (PaintingStrategy. BOOLEANARROWDOWN (więcej, wkrótce) Phil Seyer, Director of Professionals Gildia Poniżej znajduje się kilka linków sponsorowanych, które możesz chcieć zbadać: Ta książka omawia 16 prostych strategii kluczowych dla sukcesu każdego inwestora lub inwestora, które zostały sprawdzone zarówno do 2008 roku, jak i zostały sprzedane przez Larry'ego i jego zespół w różnych warunkach rynkowych Sugestia: zdobądź tę książkę i wykorzystaj w niej strategie tworzenia własnych badań i strategii przy użyciu ThinkScript Przegląd czytelnika: nowa książka Larry'ego Connorsa o strategiach krótkoterminowych siedzi w honorowym miejscu na mojej półce z książkami wraz z małą garstką książek, które naprawdę pomogły mi w moim handlu w ciągu ostatnich 20 lat. Co doceniam w badaniach Larrys to to, że nie robi tego • spójrz na ładne wzory na wykresie. Zamiast tego znajduje krawędzie, o których prawie nikt w świecie handlu ani w mediach finansowych nie zna i nie buduje strategii z prostymi regułami, które każdy przedsiębiorca może zastosować. Ta książka zawiera liczne strategie akcji i ETF, które, moim zdaniem, są warte tysiące dolarów dla każdego przedsiębiorcy, który poświęci czas, aby się ich nauczyć. Kopia praw autorskich 2017 Porady dotyczące handlu akcjami Wszystkie prawa zastrzeżone. Dla tych z Państwa, którzy pytali o moje sesje na żywo co tydzień w witrynie Prostszych Opcji, tutaj znajduje się link do obecnego 7 - 30 dniowego okresu próbnego. Spędziłem ostatnie dwa lata w pokoju handlowym na żywo i osobiście uważam, że jest to najlepszy pokój handlowy wokół. Mówię w każdy poniedziałek i piątek od 11: 00-12: 00 CST i środę od 1: 00-1: 30 CST. Mam nadzieję, że się tam zobaczymy. - Eric Kup członkostwo Lifetime Pro i uzyskaj pełen dostęp do forum i pobierania zasobów. AKTUALIZUJ TERAZ Forum Społeczności ThinkScripter - Daj Pomoc, Uzyskaj Pomoc, Płać Dalej ForwardHere8217s skrypt, który pokazuje, jak wyzwolić alarm na ruchomym średnim crossoverze, ale dopiero po zakończeniu paska, który spowodował przejście. Mam strzałkę wykreśloną w środku, jeśli średnie przecinają się, i znikają, jeśli nie przekreślają. To samo może się zdarzyć z alertami opartymi na skrzyżowaniu, dając ci alert, który zostanie później unieważniony. Sposób obejścia go polega na tym, aby ostrzeżenie wyglądało o jeden pasek z powrotem, więc będzie on wyzwalał aż do pierwszego tiknięcia po zakończeniu paska crossover. Skrypt nazywa się 8220MACrossoverwAlertsSTUDY. ts8221 i jest bezpłatny w mojej witrynie Google pod hasłem 8220Released Thinkscript Studies8221. W ten sposób: Po nawigacji Pozostaw odpowiedź Anuluj odpowiedź Dziękuję To jest bardzo pomocne, zwłaszcza, że dopiero się uczę TS, hej, świetny alert. Naprawdę doceniam pracę, którą wkładasz. Zastanawiałem się, czy istnieje jakikolwiek sposób na zmianę sma do ema..i użyj 2 emas dla mojego alertu crossover. Nie jestem technologiczną osobą, więc nie miałbym pojęcia, jak to zrobić. thx alot, Phill You zasadniczo zmienia średnią () na expmovingavg (). Podoba mi się pomysł wywołania alarmu. Czy byłoby to możliwe, aby napisać mój telefon zbyt łatwo Łatwe kodowanie dla handlowców. Jak zbudować własny wskaźnik Powrót w pierwszych dniach thinkorswimreg, handlowcy domagali się więcej narzędzi do tworzenia wykresów, takich jak badania techniczne i testowanie strategii. Pierwotnie zespół programistów napisał te indywidualne narzędzia na platformach, a raczej skomplikowany język programowania. To było świetne dla wydajności, ale nieporęczne dla prostszych pomysłów, takich jak odejmij 10-dniową średnią ruchomą od 30-dniowej średniej kroczącej. Dziś nasi programiści wciąż mogą to robić. Ale dlaczego nie dać handlowcom możliwości zrobienia tego samemu, podczas tworzenia własnych danych wykresu za pomocą prostego języka Z tym błyskawicznym pomysłem narodził się thinkScript. Nie, thinkScript nie jest dodatkiem, wtyczką ani czymś do pobrania. A co najważniejsze, nie musisz być geekem komputerowym, aby się tego nauczyć. Oznacza to, że zwykli handlowcy, tacy jak Ty i ja, mogą nauczyć się wystarczająco dużo o thinkScript, aby nasze codzienne zadania były łatwiejsze. Na dzwonku zamykającym ten artykuł jest dla zwykłych ludzi. Nie programistów. MySQL Get Crackin jest najczęściej wykorzystywany na kartach Charts i MarketWatch. Pomyśl o uzyskaniu dostępu do niego w taki sam sposób, jak do badania technicznego, ponieważ edytor thinkScript, który umożliwia pisanie kodu ThinkScript, istnieje na stronie Badania i cytaty. 1. Kliknij przycisk Badania. 2. Wybierz Edytuj badania w nowym oknie, które się otworzy (Rysunek 1). 3. Kliknij przycisk Nowy w lewym dolnym rogu. To otwiera edytor thinkScript z domyślną enkodą kodową thinkScript Data close inside. Możesz usunąć ten kod i zacząć wpisywać własne w tym polu. RYSUNEK 1: thinkScript Editor w thinkorswm Charts. Tylko w celach ilustracyjnych. Zauważ menu poleceń i funkcji thinkScript po prawej stronie okna edytora. Jest to biblioteka thinkScript z szybkimi definicjami każdej z funkcji. 1. W zakładce MarketWatch kliknij Cytaty w górnym menu. 2. Na stronie Cytaty kliknij małą kropkę w lewym górnym rogu obok słowa Symbol. 3. Z rozwijanego menu wybierz Dostosuj. 4. Przewiń listę dostępnych elementów i kliknij jedną z ponumerowanych kolumn niestandardowych. 5. Kliknij dwukrotnie, aby otworzyć to samo okno edytora ThinkScript na wykresie (rysunek 1). 6. Kiedy skończysz pisać swój kod thinkScript, naciśnij Zastosuj, aby wyświetlić go na wykresie lub zobaczyć go jako kolumnę na stronie Cytaty. Jak już wspomniałem, możesz pisać scenariusz o wszystkim, co chcesz, nie na platformie (oczywiście w granicach rozsądku). Na początek przyjrzyjmy się kilku fajnym przykładom, które możesz chcieć wypróbować. RYSUNEK 2: Kiedy już stworzysz swój osobisty wskaźnik w thinkorswim, możesz go zobaczyć na wykresach. Powyższy wykres pochodzi ze skryptu na rysunku 1. Tylko w celach ilustracyjnych. 1. Wskaźnik techniczny: ruchoma średnia Crossover Przede wszystkim thinkScript został opracowany do analizy technicznej. Jest to kod dla ruchomej średniej crossover pokazanej na rysunku 1, na której można zobaczyć średnie ruchy 10-dniowe i 30-dniowe na wykresie. Wykonaj kroki opisane powyżej dla skryptów wykresów i wprowadź następujące informacje: Huh Pozwala utworzyć kopię zapasową i wyjaśnić warunki. def Definiuje coś w thinkScript. Mówi, że zdefiniowanie tej rzeczy zwanej tenday odwołuje się do badania simplemovingavg, które wykorzystuje 10 dni danych. def definiuje również dzień trzydziestu jako średnią ruchomą, która wykorzystuje 30 dni danych. reference Polecenie sorts, które ściąga badania do twojego kodu napisane już w thinkScript. Jak wiesz, twórcy stworzyli już setki badań. Oszczędź czas i skorzystaj z informacji, kiedy tylko możesz. Tutaj thinkScript pobiera badanie zwane simplemovingavg. Możesz znaleźć simplemovingavg na liście badań na mapach thinkorswim. Po znalezieniu badania odwołaj się do niego w kodzie. W tym ruchomym średnim kodzie crossover, tenday mówi do prostego badania, by użyć długości 10. Oznacza to zastosowanie 10 dni cen w obliczeniach średniej ruchomej. Długość 30 oznacza średnią 30-letnią prostą ruchomą, która wykorzystuje 30 dni danych dotyczących cen. fabuła Po zdefiniowaniu rzeczy na wykresie, wyświetl je za pomocą polecenia fabuły. W tym ruchomym średnim crossoverze kreślono dwie linie 10-dniowej średniej ruchomej i 30-dniową średnią ruchomą. Więc, trzeba stworzyć dwie działki i nazwać je różnymi rzeczami. Właśnie utworzyłem dane z wykresu1 i dane z wykresu2 i kazałem im wyświetlić to, co właśnie zdefiniowaliśmy. fabuła danych 1 oznacza, że polecenie fabuły wyświetli to coś o nazwie data1, które zdefiniowaliśmy powyżej jako tenday. fabuła data2 thirtyday robi to samo dla 30-dniowej średniej prostej. Nawiasem mówiąc, na końcu każdej linii kodu thinkScript zauważysz średnik (). To mówi thinkScript, że to polecenie jest zakończone. Również wyszkolony programista może napisać kod ThinkScript dla kolorów i wszelkiego rodzaju innych rzeczy na ruchomym średnim crossoverze. Nie martw się tym na razie. Naucz się tylko tyle myślenia, aby zacząć. Zaczynasz walić, próbując wszystko rozgryźć naraz. 2. Zmienność niestandardowa: percentyl IV Jeśli chcesz uzyskać dane opcji, które obecnie nie funkcjonują jako funkcje platformy, możesz je sam utworzyć. Inna poręczna metoda myślenia skryptowego pozwala karcie Market-Watch wyświetlać dane dotyczące listy zapasów na stronie Cytaty. Być może znasz już Bieżący Percentyl IV w sekcji "Informacje o transakcjach w dzisiejszych czasach". Liczba ta pokazuje aktualną ogólną zmienność implikowaną opcji na akcje, w stosunku do jej ubiegłego roku, w przedziale od wysokiego do niskiego. Ale co, jeśli chcesz zobaczyć percentyl IV na inne ramy czasowe, powiedzmy 3 miesiące (patrz rysunek 3). RYSUNEK 3: OCZYSZCZANIE NIESTANDARDOWYM Nie chcesz 12 miesięcy zmienności Napisz scenariusz, aby otrzymać trzy. Tylko w celach ilustracyjnych. Wykonując kroki opisane dla skryptów Quotes, wprowadź: Ten kod thinkScript definiuje cztery rzeczyivol, lowvol, highvol i currentvol i opiera je na wartości nietykalności. Impvolatility to badanie, które daje ci liczbę Vol Index Platform, która jest opcją ogólną implikowanej zmienności. Jeśli IsNaN zwróci zero, jeśli indeks Vol jest niedostępny dla symbolu. Najniższe i najwyższe są polecenia, które nakazują thinkScriptowi znalezienie najniższego lub najwyższego ivolu w ciągu ostatnich 60 dni. Polecenie fabuła wyświetla wyniki formuły, korzystając z rzeczy, które zdefiniowaliśmy. Możesz zmienić 60 na dowolną liczbę, dla której chcesz zobaczyć zasięg. Należy pamiętać, że każdy miesiąc ma około 20 dni handlowych, więc 60 dni handlowych to około trzy miesiące. Jeśli chcesz wyświetlać roczną liczbę, użyj 262, czyli około lat handlowych. Aby uzyskać to na liście obserwacyjnej, wykonaj następujące kroki na karcie Obserwacja rynku: 1. Kliknij na pod-kartę Kwoty. 2. Kliknij kropkę po lewej stronie słowa Symbol, w lewym górnym rogu zakładki Cytaty. 3. Z rozwijanego menu wybierz Dostosuj. 4. Po otwarciu okna Customize Quotes kliknij jedną z opcji niestandardowych na liście dostępnych elementów. To otwiera okno Formuła wyceny niestandardowej, w którym można kliknąć zakładkę edytora thinkScript i wpisać kod. Pamiętaj, aby nazwać swój kod thinkScript, aby móc go dodać do listy notowań. thinkScript jest również używany na wykresach thinkorswim jako narzędzie analizy wstecznej analizy technicznej. Dzięki tej funkcji można zobaczyć potencjalny zysk i stratę dla hipotetycznych transakcji generowanych na sygnały techniczne. Pamiętaj, że nie uwzględnia to kosztów prowizji, które wpłyną na twoje prawdziwe PL. RYSUNEK 4: OPROGRAMOWANIE Z THINKSCRIPT. Możesz zmienić swoje wskaźniki w test strategii. W scenariuszu 10- i 30-dniowych średnich kroczących na rysunkach 1 i 2 można na przykład wykreślić liczbę przekroczeń w danym okresie. Tylko w celach ilustracyjnych. Zobacz rysunek 4. Pozwala na ocenę wyników strategii, które są długie (kupuj akcje lub opcję), gdy 10-dniowa średnia ruchoma przekracza średnią ruchomą wynoszącą 30 dni i staje się krótka (sprzedaż akcji lub opcji), gdy 30-dniowa zmiana średnie krzyże powyżej 10-dniowej średniej kroczącej. Aby to zrobić, musimy napisać dwa skrypty i je rozdzielić. Aby połączyć oba i dodać ten skrypt analizy historycznej do wykresu, wykonaj następujące czynności: 1. Kliknij prawym przyciskiem myszy na wykresie i wybierz Studia, a następnie Edytuj badania. 2. Tym razem kliknij kartę Strategie w lewym górnym rogu. 3. Następnie kliknij Nowy w lewym dolnym rogu. Po otwarciu zakładki thinkScript Editor wprowadź kod pod thinkScript 1 powyżej. 4. Podaj łatwą nazwę, na przykład MovingAvgBuy. 5. Kliknij przycisk OK w prawym dolnym rogu, aby zamknąć edytor thinkScript. 6. Ponownie kliknij Nowy. 7. Wprowadź nazwę, na przykład MovingAvgSell. 9. Poszukaj właśnie napisanych przez siebie skryptów ThinkScript na liście Strategie. Kliknij dwukrotnie, aby zobaczyć je w oknie Dodatkowe badania i strategie. Zauważ, że na wykresie na rysunku 4 zobaczysz sygnały kupna i sprzedaży. Aby zobaczyć zysk, ostrożnie kliknij prawym przyciskiem jeden z wykresów sygnałów handlowych. Następnie wybierz opcję Pokaż raport z rozwijanego menu. Kod thinkScript wykonuje to za pomocą polecenia AddOrder. Ten kod określa BuyAuto, gdy sma10 jest większy niż sma30, a SellAuto, gdy sma10 jest mniejszy niż sma30. Razem tworzą wykresy hipotetyczne kupuje i sprzedaje. thinkScript also has commands for opening and closing buy-and-sell orders so you can create specific testing scenarios. The tickColor, arrowColor, and GetColor are commands thinkScript uses to add color to buy-and-sell signals. The numbers 5 and 6 refer respectively to red and green. Bonus Script: Script Alerts Being tied into the markets doesnt mean being tied to your computer. If youre out and about, and dont have time to watch the SPUs on TD Ameritrades mobile trading apps, the alert functionality on the thinkorswim platform lets you write custom technical indicators and have messages sent to your phone or mobile device when the indicator reaches a certain level or value. 1. On the Market Watch tab, click on the Alerts sub-tab. 2. Click the Study Alert button in the upper-right-hand corner. 3.When the Study Alerts box opens, click the thinkScript editor tab. 4. Youll be presented with SimpleMovingAvg( ) to get you started. Delete that if you dont want to be alerted on a moving average. But as an example, this is the code you would write to be alerted if the 30-day moving average moves above the 10-day moving average. There are other controls in the Study Alerts box, like the Aggregation period at the top that lets you choose intraday, daily, weekly, or monthly data. Theres also the Trigger if drop-down menu that alerts you if the value of your thinkScript study meets certain conditions. When youre done, click on the Create Alert button in the lower right, and youre almost done. To make sure you get messages with triggered alerts: 1. Click on Application Settings in the platforms upper-right corner. 2. Click the Notifications sub-tab. 3. In the Notify about list, choose Alert is triggered. 4. Check a notification method under Alert settings such as email or SMS. Youll need a confirmed email address or phone number for SMS to set up alert notifications, which youll do at the top of the Notifications sub-tab. There you have it. Use thinkScripts for alerts, and youll never have to miss a trading signal again Okay, we couldnt help but get a little bit geeky on that last script, but weve only scratched the surface of what thinkScript can do. If you have an idea for your own proprietary study, or want to tweak an existing one, thinkScript is about the most convenient and efficient way to do it. And you just might have fun doing it. Get to Know thinkScript If youre stuck or just want to explore all the thinkScript has to offer, there are a couple of places to go. 2. Listen to David Mr. Script Kier in the thinkScript Lounge. Log in to thinkorswim from TD Ameritrade. Click the Chat tab, then thinkScript Lounge. Inside this issue: Backtesting is the evaluation of a particular trading strategy using historical data. Przedstawione wyniki są hipotetyczne, w rzeczywistości nie miały miejsca i mogą nie uwzględniać wszystkich opłat transakcyjnych lub podatków, które można ponieść w rzeczywistej transakcji. I tak jak poprzednie osiągnięcia bezpieczeństwa nie gwarantują przyszłych wyników, przeszłe wykonanie strategii nie gwarantuje, że strategia odniesie sukces w przyszłości. Wyniki mogą się znacznie różnić, a straty mogą spowodować. Zmienność rynku, wielkość i dostępność systemu mogą opóźnić dostęp do kont i wykonywanie transakcji. Dotychczasowe wyniki zabezpieczeń lub strategii nie gwarantują przyszłych wyników ani sukcesu. Opcje nie są odpowiednie dla wszystkich inwestorów, ponieważ szczególne ryzyko związane z obrotem opcjami może narazić inwestorów na potencjalnie szybkie i znaczne straty. Obrót opcjami podlega przeglądowi i zatwierdzeniu przez TD Ameritrade. Przed inwestowaniem w opcje należy zapoznać się z Charakterystyką i ryzykiem standardowych opcji. Dokumentacja pomocnicza dotycząca wszelkich roszczeń, porównań, statystyk lub innych danych technicznych zostanie dostarczona na żądanie. Informacje te nie stanowią porady inwestycyjnej ani nie są interpretowane jako rekomendacja lub poparcie dla żadnej konkretnej strategii inwestycyjnej lub inwestycyjnej i służą wyłącznie celom ilustracyjnym. Konieczne jest zrozumienie wszystkich zagrożeń związanych z każdą strategią, w tym kosztów prowizyjnych, przed przystąpieniem do zawierania jakichkolwiek transakcji. Przed transakcją klienci muszą wziąć pod uwagę wszystkie istotne czynniki ryzyka, w tym ich własną sytuację finansową. TD Ameritrade, Inc. członek FINRA SIPC. TD Ameritrade jest znakiem handlowym będącym wspólną własnością TD Ameritrade IP Company, Inc. i The Toronto-Dominion Bank. 2017 TD Ameritrade.
Comments
Post a Comment