Bli medlem idag
Indikatorer/probuilder · probacktest · proorder · proscreener

RocnRoll

RocnRoll i ProBuilder returnerar diskreta handelssignaler, 1 bullish, 2 bearish, -1 exit, byggda på förändringstakt och exponentiella medelvärden. Syntax, exempel.

Syntax

probuilder
RocnRoll(price)

Parametrar

NamnTypStandardBeskrivning
pricepriskällaclosePrisserien som signalen beräknas på, vanligtvis close, även open, high, eller low.

Formel

RocnRoll är en sammansatt signalgenerator snarare än en kontinuerlig oscillator. Internt kombinerar den prisseriens förändringstakt med exponentiella glidande medelvärden för att klassificera den aktuella baren i ett av tre tillstånd. De exakta perioderna och kombinationslogiken är fastställda av plattformen och exponeras inte som parametrar. Utdatamappningen är:

kod
 1 = bullish signal
 2 = bearish signal
-1 = exit signal

Så fungerar det

De flesta momentum-indikatorer returnerar ett värde att tolka. RocnRoll returnerar i stället en beslutskod, vilket gör den mer av en färdig signallinje än en rå mätning. På varje bar utvärderar den inbyggda logiken momentum, via rate of change, mot sitt exponentiella medelvärde och ger ett av de tre tillstånden.

På ett diagram visas indikatorn konventionellt som ett histogram, gröna staplar för tillstånd 1, röda staplar för tillstånd 2 och blå staplar för tillstånd -1. I kod konsumeras tillstånden med enkla likhetstest, vilket håller strategilogiken kort, på bekostnad av transparens, eftersom de interna tröskelvärdena inte kan justeras.

En detalj som spelar roll när tillstånden testas: den nedåtriktade signalen är 2, inte -1 eller 0. Det negativa värdet är reserverat för exittillståndet, så villkor som RocnRoll(close) < 0 matchar bara exitsignalen, inte bearish barer.

Exempel

Exempel 1, Signalhistogram (Indikator)

probuilder
// Compute the RocnRoll state for the closing price
myRocnRoll = RocnRoll(close)
// Display the raw state codes as a histogram
RETURN myRocnRoll STYLE(histogram) AS "RocnRoll signal"

Tillämpar RocnRoll på stängningspriset och ritar tillståndskoderna som ett histogram, staplar på 1 för bullish, 2 för bearish och -1 för exitsignaler.

Exempel 2, System med endast lång styrt av tillståndskoder (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

s = RocnRoll(close)

// Enter on the bullish state
IF NOT LongOnMarket AND s = 1 THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

// Close the position on the exit state or a bearish flip
IF LongOnMarket AND (s = -1 OR s = 2) THEN
  SELL AT MARKET
ENDIF

De tre tillstånden mappar direkt till orderlogik, tillstånd 1 öppnar long-positionen, tillstånd -1 eller 2 stänger den. Inga tröskelvärden eller korsningar behöver definieras.

Exempel 3, Screening efter nya bullish signaler (ProScreener)

probuilder
s = RocnRoll(close)
// State is bullish now and was not bullish on the previous bar
newSignal = s = 1 AND s[1] <> 1
SCREENER[newSignal](close AS "Last price")

Listar instrument vars RocnRoll-tillstånd växlade till bullish på den aktuella baren, och filtrerar bort de som redan har varit i tillstånd 1 under många barer.

Tolkning

VärdeSignalKonventionell visning
1Bullish, villkoren för momentum uppåt är uppfylldaGrönt histogram
2Bearish, villkoren för momentum nedåt är uppfylldaRött histogram
-1Exit, lämna marknadenBlått histogram

Indikatorn ger en kategorisk åsikt, inte ett styrkemått. Två bullish barer i följd är inte starkare än en, och det finns ingen storhet att jämföra mellan instrument. Den används vanligtvis som en trigger inom ett större ramverk, med trendfilter och riskhantering tillförda separat.

Vanliga fel och fallgropar

  • Bearish är 2, inte ett negativt tal. Att testa RocnRoll(close) < 0 fångar bara utgångstillståndet. Bearish barer måste testas med = 2 explicit.
  • Inga justerbara parametrar. Instruktionen tar endast emot priskällan. Perioder och interna tröskelvärden är fasta, så signalen kan inte göras snabbare eller långsammare. Skillnader i beteende måste i stället komma från tidsramen.
  • Att behandla tillståndet som en storhet. Att snitta eller summera koderna, till exempel Average[10](RocnRoll(close)), ger tal som blandar etiketterna 1, 2 och -1 till meningslös aritmetik. Jämför endast med likhet.
  • Ogenomskinlig logik. Eftersom den interna formeln inte är exponerad kan backtest-resultat inte brytas ner i de underliggande ROC- och medelvärdesvillkoren. Det är avgörande att validera signalen på det avsedda instrumentet och i den avsedda tidsramen innan den används live.
  • ROC, oscillatorn för förändringstakt som ligger bakom signalen.
  • RSI, begränsad momentum-oscillator för manuell signalkonstruktion.
  • MACD, momentum baserat på exponentiellt medelvärde med korsningssignaler.
  • ExponentialAverage, utjämningskomponenten i den interna logiken.
  • Momentum, rå prisskillnad över N barer.
  • Stochastic, oscillator för position inom range med egna signalkonventioner.
  • Supertrend, indikator för trendtillstånd, ytterligare en signal av kategorisk typ.
  • SAR, stop and reverse-punkter, en alternativ generator för entry och exit.