Mega strategia gry na giełdzie Monday Range

Coraz popularniejsza strategia gry na giełdzie Monday Range może być przyjemniejsza w stosowaniu dzięki poniższemu skryptowi. Chciałbym podzielić się z Tobą, drogi czytelniku, kolejnym skryptem napisanym w języku PineScript, dedykowanym dla platformy TradingView. Na przestrzeni ostatnich tygodni, jak wspominałem, coraz częściej spotykam się ze strategią handlu na rynku kryptowalut, nazywaną Monday Range – w wolnym tłumaczeniu „Zasięg poniedziałku”. Poniższy skrypt napisałem w języku PineScript celem ułatwienia wizualizacji poniedziałkowych zakresów dla wszystkich zainteresowanych. W kolejnych akapitach postaram się wyjaśnić krok po kroku działanie skryptu oraz skrótowo opiszę zasady handlu.

Strategia gry na giełdzie – MONDAY RANGE

Strategia handlu na rynku kryptowalut – Monday Range

Sama strategia jest niezwykle prosta. W pierwszym kroku musimy poczekać na zamknięcie świecy poniedziałkowej. Jeżeli to nastąpił oznaczamy maksymalną i minimalną cenę tego dnia. Następnie przez cały tydzień obserwujemy zachowanie się ceny. Najważniejsze momenty to te w których cena opuści nasz zakres nazywany wcześniej zasięgiem poniedziałku. Na tym etapie trzeba rozpatrzyć 2 warianty:

Cena wzrasta powyżej naszego poniedziałkowego zasięgu

W takiej sytuacji czekamy aż cena z powrotem spadnie do naszego poniedziałkowego zasięgu a miejsce przecięcia jest dla nas niezwykle ważne. Oczekujemy że w kolejnych godzinach cena dokona ponownego testu wyżej wymienionego przecięcia. Będzie to okazja do poszukiwania atrakcyjnego miejsca na otworzenie pozycji krótkiej (short).

Cena spada poniżej naszego poniedziałkowego zasięgu

W takiej sytuacji czekamy aż cena wzrośnie i z powrotem wróci do naszego poniedziałkowego zasięgu. Miejsce przecięcia ceny z poniedziałkowym zasięgiem podobnie jak we wcześniejszym akapicie jest niezwykle ważne. Oczekujemy że w kolejnych godzinach cena dokona ponownego testu wyżej wymienionego przecięcia. Będzie to okazja do poszukiwania okazji do otworzenia pozycji długich (long).

Strategia gry na giełdzie Monday Range w Pine Script

Niezależnie czy już używasz tej strategii handlu na rynku kryptowalut lub planujesz rozpocząć z niej korzystanie poniższy skrypt niewątpliwie ułatwi Ci całe zadanie. Po pierwsze zgodnie z przyjętymi zasadami na początku umieszczamy wszystkie zmienne, którymi później będziemy się posługiwali w skrypcie:

// Configure session with inputs
session  = input.session("0000-0000", title="Trading Session")
timeZone = input.string("UTC", title="Time Zone")
monSession = input.bool(true, title="Mon ", group="Trading Session", inline="d1")
tueSession = input.bool(true, title="Tue ", group="Trading Session", inline="d1")
PureScript

Kolejna część kodu posłuży nam do zdefiniowania dolnej granicy poniedziałkowego zasięgu. Ponad to, wprowadziłem tutaj zmienne dotyczące sesji tradingowych oraz strefy czasowej żeby nasz kod był dużo bardziej uniwersalny.

SessionLow(sessionTime, sessionTimeZone=syminfo.timezone) =>
    insideSession = not na(time(timeframe.period, sessionTime, sessionTimeZone))
    var float sessionLowPrice = na

    if insideSession and not insideSession[1]
        sessionLowPrice := low
    else if insideSession
        sessionLowPrice := math.min(sessionLowPrice, low)
PureScript

Celem wyznaczenia górnej granicy poniedziałkowego zasięgu wystarczy że powielimy w/w część kodu zamieniając wartości low Price na wartości high Price.

SessionHigh(sessionTime, sessionTimeZone=syminfo.timezone) =>
    insideSession = not na(time(timeframe.period, sessionTime, sessionTimeZone))
    var float sessionHighPrice = na

    if insideSession and not insideSession[1]
        sessionHighPrice := high
    else if insideSession
        sessionHighPrice := math.max(sessionHighPrice, high)
    sessionHighPrice
PureScript

Teraz musimy zająć się kwestią wizualną i praktyczną. Do tego celu użyłem prostych warunków “jeżeli” za pomocą których określam dzień tygodnia zgodnie z dokumentacją językową.

// Make a days of week string based on the value of the checkboxes
sessionDays = ""

if monSession
    sessionDays += "2"
if tueSession
    sessionDays += "3"

// Make the session string by joining the time with the days
tradingSession = session + ":" + sessionDays

// Fetch the session low
sessLow = SessionLow(tradingSession, timeZone)
sessHigh = SessionHigh(tradingSession, timeZone)
PureScript

Ostatnia część do wykonania to narysowanie linii które będą widoczne na wykresach i będą ułatwiały nam prace.

// Show the session low on the chart
plot(sessLow, color=color.green, title="Session long")

// Show the session low on the chart
plot(sessHigh, color=color.red, title="Session short")

// To check session low visually, highlight background of session
bgcolor(InSession(tradingSession, timeZone) ? color.new(color.green, 90) : na)

cond_1 = ta.cross(sessHigh,high)
cond_2 = ta.cross(sessLow,low)

if cond_1
    label.new(bar_index,bar_index,"Cond_1",style = label.style_label_up,color = color.orange,size = size.large)
PureScript

Widok skryptu – Monday range

Podsumowując, na poniższym zdjęciu kolorem zielonym jest zaznaczony poniedziałek. Linia czerwona to maksymalna cena z zielonego (poniedziałkowego) obszaru a linia zielona to cena minimalna. Tak powinien wyglądać prawidłowo działający skrypt.

widok gotowego skryptu - strategia gry monday range

Cały opublikowany kod na platformie TradingView znajdziesz: tutaj

Ponad to na blogu znajdziesz inne ułatwiające handel wskaźniki, dedykowane dla praformy TradingView. Na zakończenie, chciałbym zostawić Cię drogi czytelniku z inną bardzo ciekawą propozycją, która może okazać się przydatna. Będzie to wskaźnik dzielący wykres świecowy na tygodnie dzięki czemu łatwiej jest poruszać się w obrębie danej sesji. Wszystkie publikowane skrypty możesz z powodzeniem używać również na innych rynkach finansowych.