Fehlermeldung beim Code für Oil Strategie
Forums › ProRealTime Deutsch forum › ProOrder Support › Fehlermeldung beim Code für Oil Strategie
-
-
03/13/2025 at 4:27 PM #244911
Hallo zusammen.
Könnt Ihr mir helfen? Ich möchte eine Strategie Backtesten und benötige den richtigen Code dafür. Mithilfe von Copilot habe ich die Strategie-Parameter in einen Code schreiben lassen. Jedoch funktioniert er nicht. Könnte jemand bitte mal rüber schauen?
Strategie:
Handelsstrategie für Brent Oil (5-Minuten-Chart) in ProRealTime
1. Basiswerte & Indikatoren
Instrument: Brent Oil
Zeiteinheit: 5-Minuten-Chart
Indikatoren:
Bollinger Bänder (Standard-Einstellungen)
SMA200 (Gleitender Durchschnitt mit Periode 200)
2. Einstiegskriterien (Order-Platzierung um 9:55 Uhr)
Long Order:Bedingung: Schlusskurs des 9:50-Uhr-Kerzenbalkens liegt über dem SMA200.
Einstieg: Oberes Bollinger Band von 9:50 Uhr.
Ordertyp:
Limit Buy Order, falls der aktuelle Kurs um 9:55 Uhr unter dem oberen Bollinger Band liegt.
Stop Buy Order, falls der aktuelle Kurs um 9:55 Uhr über dem oberen Bollinger Band liegt.
Short Order:Bedingung: Schlusskurs des 9:50-Uhr-Kerzenbalkens liegt unter dem SMA200.
Einstieg: Unteres Bollinger Band von 9:50 Uhr.
Ordertyp:
Limit Sell Order, falls der aktuelle Kurs um 9:55 Uhr über dem unteren Bollinger Band liegt.
Stop Sell Order, falls der aktuelle Kurs um 9:55 Uhr unter dem unteren Bollinger Band liegt.
3. Stop-Loss & Take-Profit (CRV 2:1)
Stop-Loss:Long Order: Stop-Loss auf dem unteren Bollinger Band von 9:50 Uhr.
Short Order: Stop-Loss auf dem oberen Bollinger Band von 9:50 Uhr.
Take-Profit:Berechnung der Bandbreite:
Bandbreite
=
Oberes Bollinger Band
−
Unteres Bollinger Band
Bandbreite=Oberes Bollinger Band−Unteres Bollinger Band
Long Order: Take-Profit = Einstiegspreis + (2 × Bandbreite).
Short Order: Take-Profit = Einstiegspreis – (2 × Bandbreite).
4. Ausstiegsregeln (Falls Trade oder Order noch offen ist)
Falls der Trade um 21:40 Uhr noch offen ist:
Market-Exit (Trade wird unabhängig vom Gewinn/Verlust geschlossen).
Falls die Order bis 18:00 Uhr nicht ausgeführt wurde:
Order wird storniert, inklusive Stop-Loss und Take-Profit.
Zusätzliche Punkte:
✔ Jeden Tag nur eine Order: Entweder Long oder Short, basierend auf der SMA200-Bedingung.
✔ Trading nach festen Uhrzeiten: Alle Berechnungen basieren auf den Daten von 9:50 Uhr, Orderplatzierung um 9:55 Uhr.
✔ Striktes Risikomanagement: Stop-Loss immer festgelegt, Take-Profit mit festem CRV von 2:1.Der Code wurde erstellt aber leider mit Fehlermeldung:
// Indikatoren
indicator(“Handelsstrategie für Brent Oil”, shorttitle=”Brent Strategy”, overlay=true)
SMA200 = sma[close](200)
BollingerUp = bbands[close](20, 2)[1]
BollingerLow = bbands[close](20, 2)[2]
// Variablen für Zeit und Preis
var float entryPrice = na
var float stopLoss = na
var float takeProfit = na
var float bandWidth = na
// Bedingung für Long Order
if (hour(timenow) == 9 and minute(timenow) == 50)
if (close > SMA200)
entryPrice = BollingerUp
stopLoss = BollingerLow
bandWidth = BollingerUp – BollingerLow
takeProfit = entryPrice + 2 * bandWidth
if (close < BollingerUp)
buy 1 contract at limit entryPrice
else
buy 1 contract at stop entryPrice
// Bedingung für Short Order
if (hour(timenow) == 9 and minute(timenow) == 50)
if (close < SMA200)
entryPrice = BollingerLow
stopLoss = BollingerUp
bandWidth = BollingerUp – BollingerLow
takeProfit = entryPrice – 2 * bandWidth
if (close > BollingerLow)
sell 1 contract at limit entryPrice
else
sell 1 contract at stop entryPrice
// Exit Regeln
if (marketposition != 0)
if (time > timenow(21, 40, 0))
exitshort “Market Exit” from entry(“”), close
if (time > timenow(18, 0, 0))
exitshort “Cancel Order” from entry(“”), close
if (marketposition == 1)
exitlong from entry(“”), stoploss(“Stop Loss”, stopLoss)
exitlong from entry(“”), takeprofit(“Take Profit”, takeProfit)
else if (marketposition == -1)
exitshort from entry(“”), stoploss(“Stop Loss”, stopLoss)
exitshort from entry(“”), takeprofit(“Take Profit”, takeProfit)
03/14/2025 at 11:40 AM #244924Hola. Hier ist ein Code:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546defparam FLATAFTER=214000SMA200 = average[200](close)BBup = BollingerUp[20](close)BBdn = BollingerDown[20](close)bandWidth = BBup - BBdnstartTime=095000endTime=180000if opentime>=startTime and opentime[1]<startTime and close>sma200 and close<BBUp thentradeLong=1tradeShort=0entryPrice = BBupstopLoss = BBdntakeProfit = entryPrice + 2 * bandWidthelsif opentime>=startTime and opentime[1]<startTime and close<sma200 and close>BBdn thentradeLong=0tradeShort=1entryPrice = BBdnstopLoss = BBuptakeProfit = entryPrice - 2 * bandWidthendifcount=(longtriggered or shorttriggered)+countif not onmarket and opentime>=startTime and opentime<endTime and tradeLong and count=0 thenbuy 1 contract at entryPrice stop //limitelsif not onmarket and opentime>=startTime and opentime<endTime and tradeShort and count=0 thensellshort 1 contract at entryPrice stop //limitelsif opentime>=endTime thencount=0tradeLong=0tradeShort=0endifset stop price stopLossset target price takeProfitgraphonprice sma200 as "SMA" coloured("blue")graphonprice BBup as "Bollinger Up" coloured("fuchsia")graphonprice BBDn as "Bollinger Dn" coloured("fuchsia")graphonprice takeProfit as "TP" coloured("green")graphonprice stopLoss as "SL" coloured("red")graphonprice entryPrice as "buyP" coloured("darkblue") -
AuthorPosts
Find exclusive trading pro-tools on