Słowniczek

PojęcieZnaczenie w książce
ŚwiecaDane podsumowujące otwarcie, maksimum, minimum, zamknięcie i wolumen okresu
InterwałRozdzielczość czasowa świecy, na przykład dzień
OHLCVOpen, High, Low, Close, Volume: pięć podstawowych danych świecy
Wykres cenowyWykres danych w kolejności czasowej
WskaźnikProgram obliczający i wyświetlający wartości z danych
StrategiaProgram przekazujący symulatorowi także reguły zleceń
BacktestUruchomienie strategii na historii w określonym modelu wykonania
ZmiennaNazwa, której program przypisuje wartość
TypRodzaj wartości lub zmiennej, na przykład liczba, logika lub tablica
UDTWłasny typ łączący powiązane dane
ObiektKonkretna instancja typu przechowująca własne pola
PoleDana obiektu dostępna po nazwie
MetodaOperacja związana z konkretnym typem
FunkcjaNazwana operacja lub obliczenie, które można wywołać
ParametrNazwa wejścia w definicji funkcji
ArgumentWartość przekazana parametrowi w wywołaniu
InputWejście programu zmieniane przez użytkownika
ZasięgCzęść kodu, w której nazwa jest dostępna
HistoriaWartość z wcześniejszej świecy lub wykonania stanowego wywołania
StanDane zachowane na następne wykonanie
naBrakująca, niedostępna wartość
SMAProsta średnia krocząca
EMAWykładnicza średnia krocząca
RozgrzewkaEtap zbierania początkowych danych wymaganych do obliczenia
PrzecięcieZmiana wzajemnej kolejności dwóch wartości w określonym kierunku
Punkt przerwaniaMiejsce kodu, gdzie debugger może zatrzymać program
TickNajmniejszy krok ceny rynku
PoślizgOdchylenie pogarszające cenę realizacji w modelu
PozycjaStan posiadania po zrealizowanych wejściach
EquityKapitał rachunku wraz z wartością otwartych pozycji
DrawdownSpadek kapitału od wcześniejszego szczytu

Jakiego zapisu szukasz?

ZadanieZapis w kodzie
Bieżące zamknięcieclose
Zamknięcie poprzedniej świecyclose[1]
Własne obliczenie z historiąvalue: Series[float] = ...
Licznik zachowany między świecamicount: Persistent[int] = 0
Sprawdzenie brakuna(value)
Prosta średnia pięciu świecta.sma(close, 5)
Przecięcie w góręta.crossover(first, second)
Operacja warunkowaif condition:
Wybór dwóch wartościfirst if condition else second
Pięć powtórzeń, indeksy 0–4for index in range(5):
Dodanie elementu na końcu tablicyarray.push(values, value)
Zlecenie wejścia longstrategy.entry("Long", strategy.long)
Rynkowe zamknięcie wskazanego wejściastrategy.close("Long")
Stop i cel jako odległościstrategy.exit("Exit", "Long", loss=100, profit=200)

Tabela pokazuje fragmenty, nie pełne programy. Całe pliki i importy są w odpowiednich rozdziałach oraz paczce przykładów.

Operacje PyneIDE

CelGdzie szukać?
Utworzenie projektuMenu PyneIDE → Initialize Pyne Project
Konfiguracja środowiskaMenu PyneIDE → Setup Environment
Uruchomienie programuRun Pyne code nad kodem
Edycja wejśćKoło Edit Inputs… w prawym górnym rogu edytora
DebugowanieDebug nad kodem
Następna świecaNext Bar na pływającym pasku debuggera
Przejście do wskazanej świecyRun to Bar… na pływającym pasku debuggera
TransakcjeTrades w dolnym panelu wykresu
Krzywa kapitałuPerformance w dolnym panelu wykresu
Szczegółowe statystykiStats w dolnym panelu wykresu
Właściwości strategiiStrategy properties, następnie Properties
Eksport rysowanych wartościOpen plot output CSV na pasku wykresu
Eksport transakcjiOpen trades output CSV na pasku wykresu

Szczegółowa dokumentacja

Wszystkie argumenty funkcji i dodatkowe typy znajdziesz w dokumentacji PyneCore. Do przykładów przydadzą się:

Przy nieznanym wywołaniu sprawdź najpierw typy wejść i wyniku oraz obsługę historii lub stanu. Potem przetestuj je w małym osobnym programie, którego oczekiwany wynik możesz prześledzić ręcznie.