Combined Supertrend går in i trendens riktning när dagsstängningen ligger över (eller under) tre olika trendlinjer samtidigt. Den kräver också att ATR-linjen och procentlinjen ligger mer än 7 punkter från varandra under två barer. Affärer stängs när de två linjerna närmar sig varandra igen eller när priset korsar tillbaka genom alla linjerna.
Bästa körning av 3. USD/JPY, Dag, spread 1, från körning sweeps:2026-09-16-USDJPY-D-opt.tsv:2.
| Period | Till och med 2026-09-16 |
| Instrument | USD/JPY, Dag |
| Spread | 1 punkter |
| Kontrakt | 1 |
| Startkapital | 1,000,000 |
| Kostnader | Endast spread. Courtage och overnight-finansiering ingår inte. |
| Barer | Upp till 200,000 barer, färre där instrumentet har kortare historik |
| Senast testad | 2026-09-16 |
| positionSize Kontrakt per affär | 1 |
| lookbackPeriod Fönster för ATR-trendlinjen | 21 |
| atrMultiplier ATR-multipel för ATR-trendlinjen | 3 |
| pctStopFactor Avstånd för procent-supertrenden, som en andel av stängningen | 0.005 |
| rsqPeriod R-kvadratfönster för den adaptiva supertrenden | 10 |
| rsqMultiplier Multiplikator för den adaptiva supertrenden | 2 |
| rsqCentre R-kvadratvärde där den adaptiva längden är lika med rsqPeriod | 0.25 |
| exitStFactor Multiplikator för den vanliga supertrend som används i exits | 3 |
| exitStPeriod Längd på den vanliga supertrend som används i exits | 5 |
| minGapPoints Trendlinjerna måste ligga minst så här långt från varandra för att handla | 7 |
| pctDirection Procent-supertrenden startar i upp-läge | 1 |
| prevStopLong Föregående long-stopp för procent-supertrenden | 0 |
| prevStopShort Föregående short-stopp, initierat mycket högt | 1000000000000 |
Varje körning
| Marknad | Tidsram | PF | Affärer | Träff % | Netto | Max DD |
|---|---|---|---|---|---|---|
| USD/JPYBästa körning | Dag | n/a | 53 | 52.83 | 1,613,780 JPY | -1,041,500 |
| EUR/USD | Dag | n/a | 25 | 60.00 | 83,943 USD | -82,640 |
| GBP/USD | Dag | n/a | 44 | 43.18 | 12,847 USD | -11,278 |
Diagram
Koden
// ============================================================ // Combined Supertrend // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long & short // Timeframe tested: Daily // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 10000 // --- Parameters --- positionSize = 1 // contracts per trade lookbackPeriod = 21 // window for the ATR trend line atrMultiplier = 3 // ATR multiple for the ATR trend line pctStopFactor = 0.005 // percentage supertrend distance, as a fraction of close rsqPeriod = 10 // r-squared window for the adaptive supertrend rsqMultiplier = 2 // multiplier of the adaptive supertrend rsqCentre = 0.25 // r-squared value where the adaptive length equals rsqPeriod exitStFactor = 3 // multiplier of the standard supertrend used in exits exitStPeriod = 5 // length of the standard supertrend used in exits minGapPoints = 7 // trend lines must be at least this far apart to trade ONCE pctDirection = 1 // percentage supertrend starts in up mode ONCE prevStopLong = 0 // previous long stop of the percentage supertrend ONCE prevStopShort = 1000000000000 // previous short stop, seeded very high // --- Indicators --- // Line one: ATR trend line, the channel extreme minus or plus a weighted ATR band. weightedAtr = WeightedAverage[lookbackPeriod](AverageTrueRange[1](close)) recentHigh = Highest[lookbackPeriod](high) recentLow = Lowest[lookbackPeriod](low) upperLimit = recentHigh[1]-(weightedAtr[1]*atrMultiplier) lowerLimit = recentLow[1]+(weightedAtr[1]*atrMultiplier) IF (close > upperLimit AND close > lowerLimit) THEN atrTrendLine = upperLimit ELSIF (close < lowerLimit AND close < upperLimit) THEN atrTrendLine = lowerLimit ELSE atrTrendLine = atrTrendLine[1] ENDIF // Line two: simplified percentage supertrend around the median price. pctDistance = close * pctStopFactor pctStopLong = MedianPrice - pctDistance pctStopShort = MedianPrice + pctDistance IF pctDirection = 1 AND pctStopLong < prevStopLong THEN pctStopLong = prevStopLong ENDIF IF pctDirection = -1 AND pctStopShort > prevStopShort THEN pctStopShort = prevStopShort ENDIF IF pctDirection = 1 AND close < pctStopLong THEN pctDirection = -1 ENDIF IF pctDirection = -1 AND close > pctStopShort THEN pctDirection = 1 ENDIF prevStopLong = pctStopLong prevStopShort = pctStopShort IF pctDirection = 1 THEN pctTrendLine = pctStopLong ELSE pctTrendLine = pctStopShort ENDIF // Line three: supertrend whose length adapts to the r-squared of recent closes. sourcePrice = CustomClose sumX = 0 sumXX = 0 sumXY = 0 sumYY = 0 sumY = 0 IF BarIndex > rsqPeriod THEN FOR k = 0 TO rsqPeriod-1 DO barPrice = sourcePrice[k] sumX = sumX+(k+1) sumXX = sumXX+((k+1)*(k+1)) sumXY = sumXY+((k+1)*barPrice) sumYY = sumYY+(barPrice*barPrice) sumY = sumY+barPrice NEXT covarianceXY = sumXY - sumX*sumY/rsqPeriod varianceX = sumXX - sumX*sumX/rsqPeriod varianceY = sumYY - sumY*sumY/rsqPeriod rSquared = ((covarianceXY*covarianceXY)/(varianceX*varianceY)) adaptiveSt = Supertrend[rsqMultiplier,round(rsqPeriod+rsqPeriod*(rSquared-rsqCentre))] ENDIF exitSt = Supertrend[exitStFactor,exitStPeriod] gapMargin = minGapPoints*PointSize
28 rader till: entry- och exitreglerna.
Uppsättning
Frågor
Koden körs automatiskt i ProOrder. Den har ingen stop loss, så lägg till skydd på kontonivå om du handlar den.
USD/JPY Dag gav 1,613,780 JPY över 53 affärer, EUR/USD Dag 83,943 USD över 25 affärer och GBP/USD Dag 12,846.80 USD över 44 affärer, allt med 1 kontrakt.
Med 1 kontrakt föll körningen på USD/JPY 1,041,500 JPY från toppen och GBP/USD föll 11,278.40 USD. Minska storleken om de siffrorna är för stora för ditt konto.
Gapet på 7 punkter mellan linjerna och ATR-linjen på 21 barer är anpassade för långsamma rörelser. På dagsdiagram handlar systemet bara några gånger per år.
Relaterat
ProRealAlgos-communityn får de fullständiga reglerna, den kompletta koden och den automatiserade portföljen.