Ulepszony wolumen w Trading View wersja 3.0
Witam w już trzeciej wersji ulepszonego skryptu wolumenu do Trading View. Ten wpis zaprezentuje tylko nowości w skrypcie by oszczędzać Wasz czas. Plus kilka ważnych ustawień w konfiguracji wyświetlania wykresów w Trading View. Ja tworzę każdy skrypt na zasadzie: nic nie kasuje tylko dodaje. Zatem wszystkie dawne ulepszenia nadal dostępne i są opisane pod poniższym linkiem z wersją 2.0 skryptu. Wolumen jest bardzo ważny, więc cały skrypt jest tworzony z naciskiem na praktyczne użytkowanie.
Lista nowości, które zostaną omówione w dalszej części wpisu:
- Dodanie wygładzenia wybranej średniej kroczącej za pomocą wyliczania kolejnej średniej z obliczonych już wcześniej średnich kroczących,
- Wyświetlanie kolorów słupków na podstawie cen zamknięcia lub koloru świecy,
- Opisy wyświetlanych liczb po najechaniu kursorem,
- Pełne spolszczenie skryptu,
- Zamiana domyślnej precyzji z jedności na części dziesiętne (z 0 na 1). Dzięki temu wielokrotność słupka wolumenu do średniej zamiast 3 jest przykładowo 3,4. Otrzymujemy dużo wyższą dokładność. Wcześniej też dało się to zmienić, ale teraz jest to domyślne.
Wygładzanie średniej
Skrypt zawiera pięć podstawowych typów średnich kroczących (definicje z Trading View, Squaber + moje dopowiedzenia):
- Prosta średnia krocząca (SMA) to nieważona średnia krocząca. Oznacza to, że każdy okres w zbiorze danych ma takie samo znaczenie i jest ważony w równym stopniu. Po zakończeniu każdego okresu najstarszy punkt danych zostaje odrzucony, a najnowszy jest dodawany do początku serii. Należy zauważyć, że ze wszystkich średnich kroczących, SMA jest najbardziej opóźnioną średnią względem ceny.
Najprostsza średnia polegająca po prostu na zsumowaniu wszystkich liczb i podzieleniu przez ich liczbę. - Exponential Moving Average (EMA, po polsku: Wykładnicza Średnia Ruchoma) jest bardzo podobna do (i jest rodzajem) WMA. Główną różnicą w stosunku do EMA jest to, że stare punkty danych nigdy nie opuszczają średniej. Aby wyjaśnić, stare punkty danych zachowują mnożnik (chociaż spada prawie do zera), nawet jeśli znajdują się poza długością wybranej serii danych.
EMA podobnie jak WMA nadaje coraz wyższą wagę nowszym notowaniom tyle, że nie w sposób równomierny, a wykładniczy. Zatem najważniejsza jest najnowsza wartość, a im dalsza tym mniej. Ta zmienna szybciej rośnie i spada przy dużych skokach wolumenu od SMA i WMA. - Smoothed Moving Average (SMMA, po polsku: Wygładzona średnia krocząca) wygładzanie polega na przypisywaniu mniejszych wag starszym wynikom, aby zmniejszyć szum rynkowy. Same wyniki jednak nie są usuwane z obliczeń, ale mają coraz mniejszy wpływ na wynik.
Pod tym linkiem jest ona wyjaśniona i porównana do SMA: https://www.forex.in.rs/smoothed-moving-average/
Ta średnia jest bardzo praktyczna i dobra do wygładzania innych średnich, bądź stosowania samodzielnie bez wygładzania inną średnią. Sama w sobie takie wygładzenie zawiera, ale jest ono słabsze on wygładzania średniej za pomocą innej średniej.
Jej wzór to:
SMMA = (1/n) * Σ(Close(t – i))
gdzie:- SMMA – wygładzona średnia krocząca
- n – liczba okresów
- Close(t – i) – cena zamknięcia instrumentu finansowego w okresie t – i
- Weighted Moving Average (WMA, po polsku: Ważona Średnia Ruchoma) jest podobna do SMA, z tym wyjątkiem, że WMA dodaje znaczenia nowszym punktom danych. Każdemu punktowi w okresie przypisany jest mnożnik (największy mnożnik dla najnowszego punktu danych, a następnie malejący w kolejności), który zmienia wagę lub znaczenie tego konkretnego punktu danych. Następnie, podobnie jak w SMA, po dodaniu nowego punktu danych na początku, najstarszy punkt danych jest odrzucany.
W praktyce jest to średnia pomiędzy SMA, a EMA. Ja jej nie stosuje, ale ma ona też swoich mocnych zwolenników. - Volume Weighted Moving Average (VWMA, po polsku: Ważona Średnia Krocząca Wolumenu) kładzie nacisk na wolumen transakcji poprzez przypisywanie największych wartości wagowych cenom (i wolumenowi) odpowiadającym okresom wzmożonej aktywności na rynku z danego zakresu czasowego. Ceny odpowiadające okresom wysokiej aktywności na rynku mają większe znaczenie, niż ceny z okresów charakteryzujących się niską aktywnością na rynku. Narzędzie to pozwala użytkownikom na ustawienie zakresu, wybrania źródła danych oraz offsetu. Dla okresów charakteryzujących się niskim wolumenem prosta średnia krocząca oraz VWMA mają zbliżone wartości. Wskaźnik ten może być stosowany od identyfikowania trendów i handlowania zgodnie z ich kierunkiem. Przecięcia z linią ceny mogą wskazywać na zmiany kierunku trendu. Wskaźnik ten stosowany jest najczęściej w połączeniu z innymi sygnałami i technikami analitycznymi.
Analogiczna do ważonej średniej kroczącej (WMA), z tym, że wagi cen są przypisane do wolumenu obrotu. Wyższy wolumen = wyższa waga ceny zamknięcia użytej do obliczenia średniej. Najprościej znajdźcie duży wolumen, włączcie tą średnią i macie wpływy Smart Money na żywo. Poza wolumenem ta średnia jest bardzo mocna do wyznaczania wsparć i oporów.
Wygładzanie, czyli po prostu obliczamy średnią ze średniej. Polecam, żeby długość średniej była większa od długości wygładzenia, ale nawet jak ten warunek nie będzie spełniony to i tak oczywiście wynik wyliczy. Można bez przeszkód eksperymentować.
Kolory słupków wolumenu
Lub kolory innego stylu wyświetlania wolumenu. Można i cały wolumen zrobić w jednym kolorze. Co kto preferuje. Jak ktoś chce sprawdzić, czy jest drugi człowiek mocny w Analizie Technicznej to go pyta:
Co to jest down – bar?
No i jeśli ten mu odpowie, że to jest bar (świeca), którego cena jest poniżej ceny zamknięcia poprzedniego bara to znaczy, iż wie o co chodzi. Czyli może być on zielony, ale na pasku notowań wynik będzie w procentach wyświetlał się na czerwono. Taki sam będzie kolor paska wolumenu w domyślnych, profesjonalnych 😉 ustawieniach skryptu. Czyli kolor na podstawie ceny zamknięcia. Ponieważ niektórym to przeszkadza teraz da się to skonfigurować w skrypcie odznaczając poniższą opcję:
Opisy wartości i precyzja
Język, w którym napisany jest skrypt, czyli Pine Script V5 jest ciągle aktualizowany. Jedną z nowości są poniższe informacje, które się wyświetlają po najechaniu kursorem. Wtedy wiemy, na co dokładnie patrzymy. Wersja 3.0 skryptu dodaje wszystkie brakujące opisy i je spolszcza.
Na powyższym wykresie widać jak się to wyświetla + nowa, dokładniejsza wielokrotność średniej. Jeszcze jedna ważna rzecz z konfiguracją pokazana niżej:
Kolejność:
- W górnym prawym rogu na ustawieniach wykresu klikamy na Koło Zębate,
- Potem menu Linia Statusu,
- I w grupie Wskaźniki odznaczamy opcję Argumenty. Dzięki temu mamy dużo czystsze wyświetlanie wolumenu.
- Dla grających na akcjach polecam jeszcze zmienić na dole słupki wolumenowe na Regularne godziny handlu (RTH).
Skrypt na oknie kursu
Niestety nadal nie ma dynamicznych wartości ustawiania w osobnym oknie lub na oknie kursu. Jednak pamiętajcie, że profesjonaliści zawsze mają wolumen w oddzielnym oknie. Nawet rozszerzony na 1/3 wysokości ekranu! Pokażę Wam jak samu sobie zrobić wykres na oknie ceny, ale niestety jest to uciążliwe, ponieważ wraz z większymi zmianami cen wolumen trzeba przestawiać. Ten mankament dotyczy głównie niskich interwałów (poniżej dniówek).
Tak, więc:
- Nachodzimy kursorem na Wolumen i opcja Więcej (Trzy kropki poziome),
- Opcja w menu kontekstowym Przejdź do,
- I wybieramy Okno powyżej,
- Skala powinna się fabrycznie pojawić po lewej stronie. Jeśli nie to opcją Przypnij do skali zmieniamy na lewą. Przesuwając skale dopasowujemy rozmiary do wykresu ceny,
- Klikając na słupki wolumenowe bezpośrednio już na wykresie z kursem przesuwamy je względem pozycji ceny.
Kod skryptu
Tradycyjnie cały kod skryptu w wersji 3.0! Sami możecie testować i ulepszać.
//@version=5
indicator(title='Wolumen Pr0 3.0', shorttitle='Wolumen', format=format.volume, precision = 1, overlay = false)
//Kolory
czerwony = input(#ff7f7f, title='Kolor większego spadkowego wolumenu:')
jasnoczerwony = input(#ffa8a8, title='Kolor mniejszego spadkowego wolumenu:') //domyślna czerwień na trading view
zielony = input(#7fbf7f, title='Kolor większego wzrostowego wolumenu:')
jasnozielony = input(#a5d7a7, title='Kolor mniejszego wzrostowego wolumenu:') //domyślna zieleń na trading view
Kolor_MA = input(#4b66cf, title='Kolor pierwszej średniej kroczącej:')
Kolor_MA2 = input(#5d606b, title='Kolor drugiej średniej kroczącej:') //domyślna czerń na trading view
//Liczenie kolumn spełniających warunek wyższego wolumenu od aktualnie badanej
ile = input.int(title='Ilość świec z wyższym wolumenem (1 do 31):', defval=2, minval=1, maxval=31)
wwol = 0
for i = 0 to ile - 1 by 1
if volume[i + 1] > volume
wwol += 1
wwol
plot(wwol, color=color.new(color.aqua, 100), title = "Niższy wolumen od aktualnego") // Tutaj po najechaniu widzimy ile świec w badanym zakresie jest niższych od obecnej
KS = input(true, 'Kolor na podstawie poprzedniego zamknięcia')
plot(volume, color=color(KS == true ? ile == wwol ? close[1] > close ? jasnoczerwony : jasnozielony : close[1] > close ? czerwony : zielony:
ile == wwol ? open > close ? jasnoczerwony : jasnozielony : open > close ? czerwony : zielony), style=plot.style_columns, title='Wolumen')
//Wybrana średnia kroczącza (domyślnie włączona)
ma(source, length, type) =>
switch type
"Wyłączona" => na
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
"Wyłączone" => na
maTyp = input.string("SMA", title="Typ średniej:", options=["Wyłączona", "SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Pierwsza średnia:")
maLong = input.int(20, minval=1, title="Długość średniej:", group="Pierwsza średnia:")
volMA = ma(volume, maLong, maTyp)
maTypWg = input.string("Wyłączone", title="Typ wygładzenia średniej:", options=["Wyłączone", "SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Pierwsza średnia:")
maLongWg = input.int(5, minval=1, title="Długość wygładzenia średniej:", group="Pierwsza średnia:")
volMAWg = ma(volMA, maLongWg, maTypWg)
plot(maTypWg == "Wyłączone" ? volMA : volMAWg, style=plot.style_line, color=color(Kolor_MA), title='Pierwsza średnia')
//Druga średnia krocząca (domyślnie wyłączona)
ma2(source, length, type) =>
switch type
"Wyłączona" => na
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
"Wyłączone" => na
maTyp2 = input.string("Wyłączona", title="Typ drugiej średniej:", options=["Wyłączona", "SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Druga średnia:")
maLong2 = input.int(10, minval=1, title="Długość drugiej średniej:", group="Druga średnia:")
volMA2 = ma2(volume, maLong2, maTyp2)
maTypWg2 = input.string("Wyłączone", title="Typ wygładzenia drugiej średniej:", options=["Wyłączone", "SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Druga średnia:")
maLongWg2 = input.int(5, minval=1, title="Długość wygładzenia drugiej średniej:", group="Druga średnia:")
volMAWg2 = ma2(volMA2, maLongWg2, maTypWg2)
plot(maTypWg2 == "Wyłączone" ? volMA2 : volMAWg2, style=plot.style_line, color=color(Kolor_MA2), title='Druga średnia')
//Wielokrotność pierwszej średniej kroczącej
XW = input(true, 'Pokazywać wielokrotność w przybliżeniu do pierwszej średniej kroczącej?', group="Pierwsza średnia:")
var X = 0.0
if maTypWg == "Wyłączone"
X := volume / volMA
else
X := volume / volMAWg
plot(XW ? X : na, color=color.new(color.navy, 100), title="Wielokrotność pierwszej średniej")
Zaproszenie
Tradycyjnie dodałem aktualizacje zatem każdy kto używa skryptu korzysta już z nowej wersji.
Wolumen VSA 🙂 by Lukas_3000 on TradingView.com
W razie pytań i sugestii zapraszam do komentarza. Jak coś nowego przyjdzie mi na myśl, albo coś podsuniecie to zrobię kolejną aktualizację skryptu.
Pozdrawiam 🙂
Testuje już chwilę – fajnie, że rozwijasz projekt i się nim dzielisz!
Jak więcej mi nowych pomysłów wpadnie to kolejna aktualizacja.
Jednak skrypt musi być użyteczny, a nie zagmatwany.