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

Cycle

Cycle i ProBuilder extraherar den cykliska komponenten i en prisserie och oscillerar runt noll för att lyfta fram återkommande marknadsrytmer. Syntax och exempel.

Syntax

probuilder
Cycle(price)

Parametrar

NamnTypStandardBeskrivning
pricepriskällacloseSerie som cykelextraktionen tillämpas på, till exempel close, open, high, low, eller en egen variabel.

Det finns ingen periodparameter. Cykellängden bestäms internt av ProRealTime™.

Formel

ProRealTime™ publicerar inget slutet uttryck för den här indikatorn. Konceptuellt tar funktionen bort trendkomponenten från inserien och returnerar den återstående oscillerande komponenten, så utdatan svänger runt en nollinje. Den exakta metoden för detrending och utjämning är intern i plattformen och kan inte konfigureras.

Så fungerar det

Marknadspriser modelleras ofta som summan av en trend, en cyklisk komponent och brus. Cycle isolerar den mellersta delen: de återkommande swings som sker runt den rådande trenden. Utdatan är en obegränsad oscillator centrerad på noll. När den cykliska komponenten är över noll ligger serien i den övre halvan av sin detekterade swing, när den är under noll ligger den i den nedre halvan.

Eftersom beräkningen är fast används indikatorn mer som en fasdetektor än som en justerbar oscillator. Typiska användningar är att tima entries inom en etablerad trend, eller att flagga när en swing sannolikt är uttöjd. Korsningar av nollinjen markerar övergången från en fas av cykeln till den andra.

Cyklisk analys förutsätter att marknaden faktiskt oscillerar. Under starka enkelriktade trender blir den cykliska komponenten liten i förhållande till trenden, och dess korsningar bär mindre information. Att kombinera oscillatorn med ett trendfilter, som i Exempel 3, är den vanliga lösningen.

Exempel

Exempel 1, Bullish och bearish cykelfaser (Indikator)

probuilder
// Classify the current cycle phase from the sign of the output
c = Cycle(close)
IF c > 0 THEN
  Bullish = 1
  Bearish = 0
ELSE
  Bullish = 0
  Bearish = -1
ENDIF
RETURN Bullish coloured(0,128,0), Bearish coloured(255,20,147)

Visar en grön steglinje vid 1 när den cykliska komponenten är positiv och en rosa steglinje vid -1 när den är negativ, vilket ger en snabb visuell fasöversikt.

Exempel 2, Skanning efter cykel som vänder upp (ProScreener)

probuilder
// List instruments whose cycle component just crossed above zero
c = Cycle(close)
SCREENER[c CROSSES OVER 0](c AS "Cycle")

Returnerar instrument som går in i den positiva fasen av sin cykel på den aktuella baren, en startlista för swing-entries.

Exempel 3, Cykeltiming med ett trendfilter (ProBacktest)

probuilder
// Buy cycle upturns only while price is above the long-term average
trend = Average[200](close)
c = Cycle(close)

IF NOT LongOnMarket AND close > trend AND c CROSSES OVER 0 THEN
  BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND c CROSSES UNDER 0 THEN
  SELL AT MARKET
ENDIF

Medelvärdet över 200 perioder begränsar handeln till uppåtgående trender, och den cykliska komponentens korsningar av nollinjen timar entries och exits inom den trenden.

Tolkning

  • Över noll. Den upptäckta cykeln är i sin uppfas. Stigande värden antyder att uppsvinget fortfarande utvecklas, fallande positiva värden antyder att det mognar.
  • Under noll. Cykeln är i sin nedfas, läses symmetriskt.
  • Korsningar av nollinjen. Markerar fasövergångar och är den vanligaste handelstriggern byggd på den här indikatorn.
  • Amplitud. Utdatan är inte begränsad, så extremvärden är relativa till instrumentets egen senaste historik snarare än fasta tröskelvärden.

Tecknet mäter i sig inte trendstyrkan. Kombinera oscillatorn med ett riktningsfilter för det.

Vanliga fel och fallgropar

  • Att lägga till en period i hakparenteser. Cycle[20](close) kompilerar inte. Funktionen tar endast prisargumentet inom parentes och har ingen användardefinierad period.
  • Inga fasta nivåer för överköpt eller översåld. Till skillnad från RSI eller Stochastic är utdatan obegränsad. Villkor som Cycle(close) > 70 är arbiträra; jämför i stället mot noll eller mot indikatorns egna senaste extremvärden.
  • Svaga signaler i starka trender. När priset trendar kraftigt i en riktning plattas den cykliska komponenten ut och korsningar av nollinjen blir brus. Filtrera på trendriktning innan du agerar på korsningar.
  • Inte en prognos. Funktionen beskriver seriens aktuella cykliska position. Den förutsäger inte att cykeln kommer att upprepas med samma längd eller amplitud.
  • DPO, detrended price oscillator, ett annat sätt att ta bort trenden och blottlägga cykler.
  • TRIX, trippelutjämnad momentum-oscillator runt en nollinje.
  • Stochastic, begränsad oscillator som placerar stängningen inom det senaste intervallet.
  • RSI, begränsad momentum-oscillator med fasta trösklar.
  • Momentum, rå prisskillnad över N barer.
  • ROC, förändringstakt i procent.
  • Average, glidande medelvärde, används som trendfilter i Exempel 3.