När priset har svängt mer än 45 pip bort från sin senaste berörning av 8 EMA lägger systemet en limitorder tillbaka nära det genomsnittet. Det köper pullbacks efter starka uppsvingar och säljer rallyn efter starka nedsvingar. Varje affär har en stop på 30 punkter och ett mål på 25 punkter.
Bästa körning av 5. Gold, 3 min, spread 0.6, från körning pf:2026-09-15-GOLD-3m.tsv:1.
| Period | Fram till 2026-09-15 |
| Instrument | Gold, 3 minuter |
| Spread | 0.6 punkter |
| 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-15 |
| swingPeriod EMA-längd som swingen mäts från | 8 |
| seedPeriod Barer som används för att initiera swing high / low på första baren | 8 |
| swingTargetPips Swing-storlek i pip som aktiverar en entry | 45 |
| baseCapital Belopp som läggs till strategins vinst före dimensionering | 3000 |
| riskFraction Andel av kapitalet som används i dimensioneringsformeln | 0.02 |
| capitalPerContract Pengar per kontrakt i dimensioneringsformeln | 30 |
| minPositionSize Minsta antal kontrakt per affär | 1 |
| stopLossPoints Skyddande stop i punkter | 30 |
| takeProfitPoints Vinstmål i punkter | 25 |
Varje körning
| Marknad | Tidsram | PF | Affärer | Träff % | Netto | Max DD |
|---|---|---|---|---|---|---|
| GuldBästa körning | 3 min | 1.26 | 253 | 60.08 | 1,894 EUR | -596 |
| Guld | 2 min | 1.23 | 209 | 59.81 | 1,350 EUR | -708 |
| Guld | 5 min | 1.19 | 285 | 58.60 | 1,516 EUR | -774 |
| Guld | 1 timme | 1.13 | 389 | 58.35 | 1,644 EUR | -1,199 |
| Guld | 1 min | n/a | 63 | 63.49 | 620 EUR | -350 |
Diagram
Över 1.0 gav vinst, under 1.0 gav förlust.
Koden
// ============================================================ // EMA Swing Limit Entry // ProRealAlgos Strategy Library | prorealalgos.com // Type: Momentum // Direction: Long & short // Timeframe tested: 3 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = true DEFPARAM PreloadBars = 10000 // --- Parameters --- swingPeriod = 8 // EMA the swing is measured from seedPeriod = 8 // bars used to seed the swing high / low on the first bar swingTargetPips = 45 // swing size that arms an entry baseCapital = 3000 // added to strategy profit before sizing riskFraction = 0.02 // share of that capital put at risk capitalPerContract = 30 // money per contract in the sizing formula minPositionSize = 1 // never trade fewer contracts than this stopLossPoints = 30 // protective stop takeProfitPoints = 25 // profit target // --- Indicators --- ONCE swingHigh = Highest[seedPeriod](high) ONCE swingLow = Lowest[seedPeriod](low) swingMA = ExponentialAverage[swingPeriod](close) swingTarget = swingTargetPips * PipSize // Each touch of the EMA restarts the swing measurement. IF high > swingMA AND low < swingMA THEN touchBar = BarIndex touchPrice = swingMA swingHigh = swingMA swingLow = swingMA ENDIF IF low > swingMA THEN barsSinceTouch = max(1, BarIndex - touchBar) swingHigh = Highest[barsSinceTouch](high) swingLow = swingMA ENDIF IF high < swingMA THEN barsSinceTouch = max(1, BarIndex - touchBar) swingLow = Lowest[barsSinceTouch](low) swingHigh = swingMA ENDIF IF (swingHigh - touchPrice) > swingTarget AND swingHigh > swingMA THEN buySetup = 1 ENDIF IF (swingHigh - touchPrice) <= swingTarget THEN buySetup = 0 ENDIF IF (touchPrice - swingLow) > swingTarget AND swingLow < swingMA THEN sellSetup = -1 ENDIF IF (touchPrice - swingLow) <= swingTarget THEN sellSetup = 0 ENDIF // Limit orders sit one EMA slope beyond the EMA. slopeOffset = abs(round(swingMA - swingMA[1])) positionSize = max(minPositionSize, round(((StrategyProfit + baseCapital) * riskFraction) / capitalPerContract))
16 rader till: entry- och exitreglerna.
Uppsättning
Frågor
Ja. Entryer är limitordrar och stoppen och målet är kodade, så den körs obevakad när den väl är inladdad.
Gold 3 minuter gav 1,893.8 EUR över 253 affärer. Diagrammen för 2 minuter, 5 minuter och 1 timme var också positiva med profit factor mellan 1.13 och 1.23.
Den värsta drawdown på Gold 3 minuter var 596.1 EUR. Eftersom storleken växer med vinsten kan en drawdown sent i en körning bli större än tidigt.
Swingen på 45 pip och målet på 25 punkter passar snabba intraday-rörelser i Gold. 3-minutersdiagrammet hade bäst profit factor av de testade tidsramarna.
Relaterat
ProRealAlgos-communityn får de fullständiga reglerna, den kompletta koden och den automatiserade portföljen.