StrategyQuant
Asystent Q AIAlgoCloudQuantAnalyzerQuantDataManager
Darmowy kursFirma
BlogDokumentacjaForumKontakt
BlogMarketplace
Zaloguj się
Załóż bezpłatne konto

Produkt

  • Cennik i licencje
  • Baza wiedzy
  • Marketplace
  • Rozpocznij darmowy okres próbny

Informacje prawne

  • Regulamin
  • Polityka prywatności
  • Pliki cookie

Kontakt

[email protected]

Firma

StrategyQuant s.r.o.

Korunní 2569/108, Vinohrady, 101 00 Praha 10, Czech Republic, EU

IČ: 04000498

DIČ: CZ04000498

Media społecznościowe

  • Nota prawna | PRZETWARZANIE I OCHRONA DANYCH OSOBOWYCH

    Dotychczasowe wyniki nie stanowią gwarancji przyszłych sukcesów. Wszelkie informacje należy traktować wyłącznie jako materiały edukacyjne

    STANY ZJEDNOCZONE Zastrzeżenie prawne wymagane przez Rząd - Commodity Futures Trading Commission informuje: Handel kontraktami futures i opcjami wiąże się z dużymi potencjalnymi zyskami, ale także z ogromnym potencjalnym ryzykiem. Musisz być świadomy tego ryzyka i gotów je zaakceptować, aby inwestować na rynkach kontraktów futures i opcji. Nie handluj środkami, na których utratę nie możesz sobie pozwolić. Nie stanowi to ani zachęty, ani oferty kupna/sprzedaży kontraktów futures, akcji lub opcji na nie. Nie składa się żadnych oświadczeń, że jakiekolwiek konto osiągnie lub ma prawdopodobieństwo osiągnięcia zysków lub strat podobnych do tych omówionych w tym dokumencie. Wyniki osiągane w przeszłości przez jakikolwiek system lub metodologię handlową niekoniecznie wskazują na przyszłe rezultaty.

    REGUŁA CFTC 4.41 - HIPOTETYCZNE LUB SYMULOWANE WYNIKI MAJĄ PEWNE OGRANICZENIA. W PRZECIWIEŃSTWIE DO HISTORII RZECZYWISTYCH WYNIKÓW, WYNIKI SYMULOWANE NIE PRZEDSTAWIAJĄ RZECZYWISTEGO HANDLU. PONADTO, PONIEWAŻ TRANSAKCJE NIE ZOSTAŁY FAKTYCZNIE ZAWARTE, WYNIKI MOGĄ NIE UWZGLĘDNIAĆ WPŁYWU OKREŚLONYCH CZYNNIKÓW RYNKOWYCH, TAKICH JAK BRAK PŁYNNOŚCI. PROGRAMY DO SYMULACJI TRANSAKCJI GENERALNIE PROJEKTUJE SIĘ RÓWNIEŻ Z KORZYŚCIĄ WIEDZY PO FAKCIE (Z PERSPEKTYWY CZASU). NIE SKŁADA SIĘ ŻADNYCH OŚWIADCZEŃ, ŻE JAKIEKOLWIEK KONTO OSIĄGNIE LUB MA PRAWDOPODOBIEŃSTWO OSIĄGNIĘCIA ZYSKÓW LUB STRAT PODOBNYCH DO PRZEDSTAWIONYCH.

    NIE SKŁADA SIĘ ŻADNYCH OŚWIADCZEŃ, ŻE JAKIEKOLWIEK KONTO OSIĄGNIE LUB MA PRAWDOPODOBIEŃSTWO OSIĄGNIĘCIA ZYSKÓW LUB STRAT PODOBNYCH DO TYCH OMÓWIONYCH W TEJ WITRYNIE. JEŚLI ZDECYDUJESZ SIĘ ZAINWESTOWAĆ PRAWDZIWE PIENIĄDZE, WSZYSTKIE DECYZJE HANDLOWE NA RYNKACH FINANSOWYCH POWINNY BYĆ TWOIMI WŁASNYMI.

    © StrategyQuant 2026

    Obsługiwane przez Klaudie.ai

    Wróć do MarketplaceDIGITAL

    CUSUM

    StrategyQuantWskaźniki
    CUSUM

    Wykrywa subtelne, lecz trwałe zmiany w zachowaniu cen przy użyciu analizy sum skumulowanych. Śledzi odchylenia w górę i w dół za pomocą konfigurowalnych progów, generując wiarygodne sygnały transakcyjne.

    Wskaźnik CUSUM w StrategyQuant

    W dzisiejszym wpisie przyjrzymy się bliżej niestandardowej implementacji wskaźnika CUSUM (skumulowanej sumy). Technika CUSUM, często wykorzystywana w statystycznej kontroli procesów, pomaga wykrywać drobne przesunięcia w średnim poziomie szeregu czasowego. Ta konkretna implementacja została zaprojektowana z myślą o integracji ze StrategyQuant, oferując traderom dynamiczny sposób monitorowania i reagowania na zmiany rynkowe.

    Czym jest CUSUM?

    CUSUM to sekwencyjna metoda analizy, która akumuluje odchylenia od wartości docelowej w czasie. Porównanie sumy skumulowanej ze zdefiniowanymi progami ułatwia zauważenie nawet subtelnych zmian w zachowaniu ceny. W naszej implementacji dwa oddzielne akumulatory — jeden dla ruchów w górę (CUSUM Positive) i jeden dla ruchów w dół (CUSUM Negative) — sygnalizują, kiedy zmiana w bazowym szeregu cenowym staje się istotna.

    Omówienie kodu

    Wskaźnik jest zdefiniowany jako klasa Java, która rozszerza

    IndicatorBlock

    , zapewniając bezproblemową integrację z ekosystemem StrategyQuant. Przeanalizujmy kluczowe elementy:

    Parametry i dane wejściowe

    • Dane wykresu: Wskaźnik wykorzystuje wykres (zazwyczaj cenę zamknięcia) jako źródło danych.
    • Okres: Określa rozmiar okna, dla którego obliczana jest średnia krocząca oraz odchylenie standardowe. Jest to kluczowe, ponieważ definiuje czułość wskaźnika.
    • Próg (k): Ustala próg wykrywania. Wyższy próg oznacza mniejszą czułość wskaźnika, co redukuje liczbę fałszywych sygnałów.
    • Dryf (μ): Uwzględnia oczekiwany dryf w procesie, umożliwiając wykrywanie mniejszych, lecz trwałych zmian.
    @Parameter(defaultChartIndex=0)
    public ChartData Chart;
    @Parameter(category="Default", name="Period", minValue=1, maxValue=10000, defaultValue="20", step=1)
    public int Period;
    @Parameter(category="Default", name="Threshold", minValue=0.1, maxValue=100, defaultValue="2", step=0.1)
    @Help("Detection threshold (k) - higher values make the indicator less sensitive")
    public double Threshold;
    @Parameter(category="Default", name="Drift", minValue=0, maxValue=10, defaultValue="0.5", step=0.1)
    @Help("Expected drift in the process (mu) - helps detect smaller persistent changes")
    public double Drift;

    Obliczanie statystyk kroczących

    Dla każdego nowego słupka (lub punktu w czasie) kod oblicza średnią kroczącą i odchylenie standardowe w zdefiniowanym okresie. Te statystyki służą jako linia bazowa do standaryzacji bieżących danych cenowych.

    double sum = 0;
    double sumSquares = 0;
    for (int i = 0; i < Period; i++) {
    double price = Chart.Close(i);
    sum += price;
    sumSquares += price * price;
    }
    double mean = sum / Period;
    double variance = (sumSquares - (sum * sum / Period)) / (Period - 1);
    double stdDev = Math.sqrt(variance);
    // Prevent division by zero
    if (stdDev == 0) {
    stdDev = 1;
    }

    Standaryzacja i obliczanie CUSUM

    Bieżąca cena jest standaryzowana poprzez odjęcie średniej i podzielenie wyniku przez odchylenie standardowe. Zestandaryzowana wartość służy następnie do aktualizacji akumulatorów CUSUM:

    • CUSUM Positive: Akumuluje dodatnie odchylenia.
    • CUSUM Negative: Akumuluje ujemne odchylenia.

    Każda aktualizacja odejmuje zarówno dryf, jak i próg, zapewniając, że do sumy skumulowanej przyczyniają się wyłącznie istotne odchylenia.

    // Get current standardized value
    double currentValue = (Chart.Close(0) - mean) / stdDev;
    // Calculate CUSUM values
    double prevCusumPos = getCurrentBar() > Period ? CusumPos.get(1) : 0;
    double prevCusumNeg = getCurrentBar() > Period ? CusumNeg.get(1) : 0;
    // Upper CUSUM
    CusumPos.set(0, Math.max(0, prevCusumPos + currentValue - Drift - Threshold));
    // Lower CUSUM
    CusumNeg.set(0, Math.max(0, prevCusumNeg - currentValue - Drift - Threshold));

    Obsługa przypadków brzegowych

    Ważnym szczegółem jest sprawdzanie odchylenia standardowego. Gdy dane cenowe są zbyt jednostajne (co daje odchylenie standardowe równe zero), kod resetuje je do wartości 1. To zabezpieczenie zapobiega błędom dzielenia przez zero i zapewnia stabilność wskaźnika w warunkach niskiej zmienności.

    Podsumowanie

    Wskaźnik CUSUM to potężne narzędzie dla traderów chcących wychwycić subtelne, lecz trwałe zmiany w dynamice cen. Dzięki dynamicznemu dostosowywaniu się do ostatnich danych rynkowych (poprzez statystyki kroczące) oraz filtrowaniu szumu za pomocą parametrów progu i dryfu, wskaźnik oferuje zrównoważone podejście do generowania sygnałów.

    Jeśli chcesz wdrożyć ten wskaźnik do swoich strategii handlowych, kod został skonstruowany tak, aby był elastyczny i łatwy w integracji w środowisku StrategyQuant.

    Znacie mnie jako clonex. Nazywam się Ivan Hudec — stworzyłem darmowe bloki, z których tutaj korzystacie, a o stojących za nimi badaniach piszę na algotrading.space. Potrzebujesz dedykowanego rozwiązania? Nawiąż ze mną współpracę.

    Dotychczasowe wyniki nie stanowią gwarancji przyszłych zysków. Wszelkie informacje należy traktować wyłącznie jako materiały edukacyjne Zastrzeżenie wymagane przez rząd STANÓW ZJEDNOCZONYCH – Commodity Futures Trading Commission informuje: Handel kontraktami futures i opcjami wiąże się z potencjalnie wysokimi zyskami, ale także z ogromnym ryzykiem. Należy być świadomym ryzyka i być gotowym je zaakceptować, aby inwestować na rynkach kontraktów futures i opcji. Nie inwestuj pieniędzy, na których stratę nie możesz sobie pozwolić. Niniejszy dokument nie stanowi zachęty ani oferty kupna/sprzedaży kontraktów futures, akcji ani powiązanych z nimi opcji. Nie składa się żadnych oświadczeń, że jakiekolwiek konto osiągnie lub ma szansę osiągnąć zyski lub straty podobne do omówionych w tym dokumencie. Wyniki osiągnięte w przeszłości przez jakikolwiek system lub metodologię handlową niekoniecznie wskazują na przyszłe rezultaty. REGUŁA CFTC 4.41 – HIPOTETYCZNE LUB SYMULOWANE WYNIKI MAJĄ PEWNE OGRANICZENIA. W PRZECIWIEŃSTWIE DO HISTORII RZECZYWISTYCH WYNIKÓW, WYNIKI SYMULOWANE NIE ODZWIERCIEDLAJĄ RZECZYWISTEGO HANDLU. PONADTO, PONIEWAŻ TRANSAKCJE NIE ZOSTAŁY FAKTYCZNIE ZAWARTE, WYNIKI MOGĄ NIE UWZGLĘDNIAĆ WPŁYWU PEWNYCH CZYNNIKÓW RYNKOWYCH, TAKICH JAK BRAK PŁYNNOŚCI. SYMULOWANE PROGRAMY HANDLOWE Z REGUŁY CECHUJE RÓWNIEŻ TO, ŻE SĄ PROJEKTOWANE Z PERSPEKTYWY CZASU. NIE SKŁADA SIĘ ŻADNYCH OŚWIADCZEŃ, ŻE JAKIEKOLWIEK KONTO OSIĄGNIE LUB MA SZANSĘ OSIĄGNĄĆ ZYSKI LUB STRATY PODOBNE DO PRZEDSTAWIONYCH. NIE SKŁADA SIĘ ŻADNYCH OŚWIADCZEŃ, ŻE JAKIEKOLWIEK KONTO OSIĄGNIE LUB MA SZANSĘ OSIĄGNĄĆ ZYSKI LUB STRATY PODOBNE DO OMÓWIONYCH W TYM SERWISIE. W PRZYPADKU DECYZJI O INWESTOWANIU PRAWDZIWYCH PIENIĘDZY, WSZYSTKIE DECYZJE HANDLOWE NA RYNKACH FINANSOWYCH POWINNY BYĆ PODEJMOWANE SAMODZIELNIE.
    Bezpłatne

    Pliki

    • Snippet-CUSUM.sqm15 KBZablokowane

    Pobieranie odblokuje się po zakupie lub z aktywnym poziomem członkostwa.

    Szczegóły
    Wersja1.0.0
    Opublikowano19 października 2026
    Ostatnia aktualizacja2 listopada 2026
    AppSQ
    TypeSnippet
    Authorclonex / Ivan Hudec
    App version145.3058
    Codebase categoryIndicators / Signals