Pierwszy program książki rysuje ceny zamknięcia świec. Aby go przygotować, zainstalujesz PyneIDE, utworzysz folder projektu i uruchomisz program na przykładowych danych.

Objaśnienie kodu wiersz po wierszu pojawi się w następnym rozdziale. Tutaj poznasz najpierw edytor i uruchamianie programu.

Czego potrzebujesz?

Komputera obsługującego Visual Studio Code oraz połączenia z internetem do pierwszej instalacji PyneIDE i środowiska wykonawczego. PyneIDE działa z Visual Studio Code w wersji 1.90 lub nowszej.

Cała nauka jest bezpłatna. Edytor Visual Studio Code, rozszerzenie PyneIDE i środowisko PyneCore można bezpłatnie instalować i używać. Za pisanie i uruchamianie przykładów z książki również nic nie płacisz.

Nie potrzebujesz konta PyneSys, klucza API ani płatnej subskrypcji. Pyne code działa lokalnie na twoim komputerze, a do ćwiczeń używamy danych dołączonych do książki.

Instalacja PyneIDE

  1. Jeśli nie masz Visual Studio Code, zainstaluj go z oficjalnej strony.
  2. Uruchom Visual Studio Code i otwórz View → Extensions. Tutaj wyszukujesz rozszerzenia w oficjalnym Visual Studio Code Marketplace.
  3. Wpisz w wyszukiwarkę PyneIDE. Wybierz rozszerzenie PyneIDE wydawcy PyneSys.
  4. Kliknij Install i poczekaj na zakończenie instalacji.
  5. Jeśli edytor poprosi o przeładowanie, wybierz Reload.

Utwórz projekt

Projekt to folder, w którym trzymasz razem programy, dane i wyniki. Utwórz pusty folder pyne-book, a potem otwórz go przez File → Open Folder….

Tworzenie projektu uruchomisz z własnego menu PyneIDE:

  1. Kliknij PyneIDE na pasku stanu u dołu okna, po prawej stronie. Otworzysz menu operacji rozszerzenia.
  2. W polu wyszukiwania u góry menu wpisz Initialize. W ten sposób znajdziesz operację tworzenia projektu.
  3. Kliknij Initialize Pyne Project. Rozpocznie to tworzenie folderów i przykładowych plików.
W menu PyneIDE widać operację Initialize Pyne Project, a w prawym dolnym rogu paska stanu napis PyneIDE.
Napis PyneIDE w prawym dolnym rogu otwiera menu rozszerzenia. Po wyszukaniu Initialize wybierz Initialize Pyne Project, aby utworzyć projekt.

Za pierwszym razem PyneIDE proponuje konfigurację środowiska wykonawczego. Kliknij Setup Now w komunikacie i poczekaj na zakończenie. Instaluje to potrzebnego Pythona i PyneCore w środowisku rozszerzenia. Jeśli wcześniej zamknąłeś komunikat, kliknij ponownie PyneIDE w prawym dolnym rogu i wybierz Setup Environment.

Jeśli PyneIDE zapyta o miejsce struktury folderów, wybierz Use this folder. Projekt powstanie bezpośrednio w otwartym folderze.

Na lewym pasku ikon pojawi się widok Pyne. Otwórz go: znajdziesz tam programy i dane projektu.

Widok Pyne pokazuje grupy Scripts, Data i Output oraz pierwszy program projektu.
Gotowy projekt w widoku Pyne. Scripts zawiera programy, Data dane, a Output wyniki.

Co znalazło się w folderze?

  • Folder scripts zawiera programy. Pliki Pyne code mają rozszerzenie .py.
  • Folder data zawiera dane do przetworzenia. Utworzony demo.ohlcv to dane do nauki.
  • Folder output przechowuje wyniki uruchomień.
  • Folder config zawiera ustawienia środowiska projektu. W tym rozdziale nie trzeba ich zmieniać.

Rozszerzenie .ohlcv oznacza plik danych świec. OHLCV to pięć wartości: cena otwarcia, maksimum, minimum, zamknięcie i wolumen. Dokładniej omówimy je w rozdziale o danych świec.

Napisz pierwszy program

Własny program możesz utworzyć bezpośrednio w widoku Pyne:

  1. Najedź myszą na wiersz grupy Scripts. Po prawej pojawi się przycisk +.
  2. Kliknij +, aby otworzyć wybór typu nowego programu.
  3. Kliknij Pyne Indicator. Tworzymy wskaźnik napisany w Pyne code.
  4. Wpisz nazwę first_chart i naciśnij Enter. PyneIDE automatycznie doda .py, utworzy scripts/first_chart.py i otworzy plik w edytorze.
Grupa Scripts w widoku Pyne z przyciskiem plus po prawej i przykładowym programem demo.py poniżej.
Po najechaniu na Scripts po prawej pojawia się przycisk plus do tworzenia programu.

Otwarty plik zawiera szablon wskaźnika. Zaznacz całą zawartość i zastąp ją poniższym kodem. Podkreślenie łączy dwa słowa w nazwie pliku; .py jest rozszerzeniem pliku ze składnią Pythona.

Wklej pełny kod i zapisz plik:

"""
@pyne edge
"""
from pynecore.lib import close, color, plot, script

@script.indicator("My First Chart", overlay=True)
def main():
    plot(close, "Close", color=color.blue, linewidth=2)

Wiersz pod def main(): zaczyna się cztery spacje dalej. Wcięcie jest częścią kodu; zachowaj je przy kopiowaniu.

Uruchom program

Nad kodem pojawi się operacja Run Pyne code. Kliknij ją. Jeśli PyneIDE poprosi o dane, wybierz demo z opisem DEMOBTC @ 1D. To plik demo.ohlcv.

Wybór danych pokazuje wiersz demo z opisem DEMOBTC @ 1D.
Wiersz demo wybiera przykładowe dane. DEMOBTC jest nazwą demonstracji, a 1D oznacza świece dzienne.

Wybór danych określa, które świece ma przetwarzać program. Obecny kod zawsze rysuje ceny zamknięcia wybranych danych.

Obok kodu first_chart.py widać wykres świec DEMO i niebieską linię Close.
Po uruchomieniu first_chart.py niebieska linia łączy ceny zamknięcia świec.

Na wykresie cenowym czas biegnie od lewej do prawej. Niebieska linia łączy zamknięcia kolejnych świec.

Ilustracja używa tych samych danych demonstracyjnych, które PyneIDE tworzy przy zakładaniu projektu. Nie trzeba pobierać ani kopiować osobnych danych. Sprawdź, czy przy każdej świecy linia przechodzi przez cenę zamknięcia.

Jeśli wykres się nie pojawił

Najpierw zobacz błędy zgłaszane przez edytor. Sprawdź miejsce i rozszerzenie pliku, pierwsze trzy wiersze kodu oraz wcięcie wiersza z plot. Jeśli przepisywałeś kod ręcznie, spróbuj ponownie wkleić cały przykład.

Jeśli nie widać Run Pyne code, sprawdź, czy PyneIDE jest zainstalowane i włączone, a początek pliku dokładnie odpowiada przykładowi.

Jeśli środowisko nie jest gotowe, otwórz PyneIDE: Setup Environment. Podczas uruchamiania dokończ również wybór danych: otwarte okno wyboru czeka na twoją decyzję.

Spróbuj samodzielnie

Znajdź w kodzie "My First Chart" i zamień na:

"My Price Line"

Przed uruchomieniem zastanów się: zmieni się kształt linii czy nazwa programu?

Zapisz plik i uruchom ponownie na tych samych danych.

Rozwiązanie zadania

Zmieniony wiersz:

@script.indicator("My Price Line", overlay=True)

Zmieni się tytuł programu. Obliczenia i dane pozostają takie same, więc kształt linii także się nie zmienia.

Zanim przejdziesz dalej

Czy po ponownym otwarciu projektu potrafisz znaleźć first_chart.py i uruchomić go na danych przykładowych? Spróbuj bez czytania instrukcji. Jeśli utkniesz, znajdź odpowiednią część rozdziału.

W następnym rozdziale przyjrzymy się wierszom programu i obok ceny zamknięcia narysujemy otwarcie.