Twój pierwszy projekt
Zainstalujesz i skonfigurujesz PyneIDE, utworzysz projekt i uruchomisz pierwszy własny program.
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
- Jeśli nie masz Visual Studio Code, zainstaluj go z oficjalnej strony.
- Uruchom Visual Studio Code i otwórz View → Extensions. Tutaj wyszukujesz rozszerzenia w oficjalnym Visual Studio Code Marketplace.
- Wpisz w wyszukiwarkę
PyneIDE. Wybierz rozszerzenie PyneIDE wydawcy PyneSys. - Kliknij Install i poczekaj na zakończenie instalacji.
- 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:
- Kliknij PyneIDE na pasku stanu u dołu okna, po prawej stronie. Otworzysz menu operacji rozszerzenia.
- W polu wyszukiwania u góry menu wpisz
Initialize. W ten sposób znajdziesz operację tworzenia projektu. - Kliknij Initialize Pyne Project. Rozpocznie to tworzenie folderów i przykładowych plików.

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.

Co znalazło się w folderze?
- Folder
scriptszawiera programy. Pliki Pyne code mają rozszerzenie.py. - Folder
datazawiera dane do przetworzenia. Utworzonydemo.ohlcvto dane do nauki. - Folder
outputprzechowuje wyniki uruchomień. - Folder
configzawiera ustawienia środowiska projektu. W tym rozdziale nie trzeba ich zmieniać.
.py? .py jest zwykłym rozszerzeniem plików Pythona. Pyne code ma składnię Pythona, więc można go używać także w środowisku Pythona z zainstalowanym PyneCore. Wykonanie świeca po świecy i własne mechanizmy Pyne zapewnia PyneCore. Oprócz programu trzeba podać również dane. W książce uruchamiamy to operacją Run Pyne code w PyneIDE.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:
- Najedź myszą na wiersz grupy Scripts. Po prawej pojawi się przycisk +.
- Kliknij +, aby otworzyć wybór typu nowego programu.
- Kliknij Pyne Indicator. Tworzymy wskaźnik napisany w Pyne code.
- Wpisz nazwę
first_charti naciśnij Enter. PyneIDE automatycznie doda.py, utworzyscripts/first_chart.pyi otworzy plik w edytorze.

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.
scripts, kliknij New File i wpisz pełną nazwę: first_chart.py. Plik pojawi się również w widoku Pyne.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 określa, które świece ma przetwarzać program. Obecny kod zawsze rysuje ceny zamknięcia wybranych danych.

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.