Fehler wenn ich das System live schalte
Forums › ProRealTime Deutsch forum › ProOrder Support › Fehler wenn ich das System live schalte
- This topic has 9 replies, 3 voices, and was last updated 4 years ago by phoentzs.
-
-
04/30/2020 at 8:38 AM #128931
Hallo,
ich habe mir aus verschiedenen Codes ein Breakout-system gebastelt. Backtest funktioniert bestens, aber wenn ich es live schalte, stoppt die Plattform sofort das System mit der Meldung “es ist ein Fehler im Programm”.
Ich habe ihn aber noch nicht gefunden.
Kann mir bitte jemand helfen und sagen woran es liegt?
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138// Es werden keine Daten vor Start des Handelssystems geladen.// Im Fall eines ersten Starts dieses Handelssystems an einem Nachmittag, wird auf diese// Weise der nächste Tag abgewartet, um mögliche Kauf- und Verkauf-Order festzulegen.DEFPARAM PreLoadBars = 0// Die Position wird um 21 Uhr 45 (lokale Zeitzone) glattgestellt.DEFPARAM FlatAfter = 214500// Keine neue Position nach dem Candlestick, der um 17 Uhr 15 schließt.LimitEntryTime = 150000// Marktanalyse beginnt mit dem 15 Minuten-Candlestick, der um 9 Uhr 15 schließt.StartTime = 091500// Feiertage wie 24. und 31. Dezember werden ausgeschlossen.IF (Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)) THENTradingDay = 0ELSETradingDay = 1ENDIF// Die Variablen können je nach Wunsch individuell angepasst werdenPositionSize = 1AmplitudeMax = 73 //80 82AmplitudeMin = 31 //33OrderDistance = 2 //2MinPercent = 1.7 //1// Diese Variable wird ein einziges Mal vor dem Start des Handelssystems initialisiert.ONCE StartTradingDay = -1// Die während des Tages sich verändernden Variablen werden// beim ersten Balken jeden neuen Börsentages initialisiert.IF (Time <= StartTime AND StartTradingDay <> 0) OR IntradayBarIndex = 0 THENBuyLevel = 0SellLevel = 0BuyPosition = 0SellPosition = 0StartTradingDay = 0ELSIF Time >= StartTime AND StartTradingDay = 0 AND TradingDay = 1 THEN// Der Index des ersten Balkens des Börsentages wird gespeichert.IndexStartDay = IntradayBarIndexStartTradingDay = 1ELSIF StartTradingDay = 1 AND Time <= LimitEntryTime THEN// Für jeden Börsentag legen wir alle 15 Minuten fest:// höchster und niedrigster Kurs des Instrumentes seit StartTime// solange die Kauf- und Verkauf-Levels nicht festgelegt sind.IF BuyLevel = 0 OR SellLevel = 0 THENUpperLevel = Highest[IntradayBarIndex - IndexStartDay + 1](High)LowerLevel = Lowest [IntradayBarIndex - IndexStartDay + 1](Low)// Berechnung des Abstands zwischen höchsten Wert// und niedrigstem Wert des Instrumentes seit StartTimeDayDistance = UpperLevel - LowerLevel// Berechnung des gewünschten geringsten Abstands zur Berücksichtigung eines Durchbruchs// der höchsten oder der niedrigsten Werte durch Kurse für einen signifikanten Durchbruch.EcartMin = DayDistance * MinPercent / 100// Berechnung der Kauf- und Verkauf-Levels des Tages, sollten die Bedingungen vorliegen.IF DayDistance <= AmplitudeMax THENIF SellLevel = 0 AND (Close - LowerLevel) >= EcartMin THENSellLevel = LowerLevel + OrderDistanceENDIFIF BuyLevel = 0 AND (UpperLevel - Close) >= EcartMin THENBuyLevel = UpperLevel - OrderDistanceENDIFENDIFENDIF// Erstellen der Kauf- und Leerverkauf-Order für den Tag, wenn die Bedingungen vorliegenIF SellLevel > 0 AND BuyLevel > 0 AND (BuyLevel - SellLevel) >= AmplitudeMin THENIF BuyPosition = 0 THENIF LongOnMarket THENBuyPosition = 1ELSEBUY PositionSize CONTRACT AT BuyLevel STOPENDIFENDIFIF SellPosition = 0 THENIF ShortOnMarket THENSellPosition = 1ELSESELLSHORT PositionSize CONTRACT AT SellLevel STOPENDIFENDIFENDIFENDIF// Festlegung der Ausstiegsbedingungen, wenn Kauf-Position oder Leerverkauf-Position eingenommen wurde.IF LongOnMarket AND ((Time <= LimitEntryTime AND SellPosition = 1) OR Time > LimitEntryTime) THENSELL AT SellLevel STOPELSIF ShortOnMarket AND ((Time <= LimitEntryTime AND BuyPosition = 1) OR Time > LimitEntryTime) THENEXITSHORT AT BuyLevel STOPENDIFsuper = Supertrend[2.6,4]superl = close crosses under supersupers = close crosses over superif longonmarket and superl thensell at marketendifif shortonmarket and supers thenexitshort at marketendif// Festlegen des höchsten Verlustrisikos pro Position// im Falle eines ungünstigen Kursverlaufs des InstrumentsSET STOP LOSS AmplitudeMaxSET TARGET %PROFIT 2.1 //120 2.1//************************************************************************//trailing stop functiontrailingstart = 9 //9 trailing will start @trailinstart points profittrailingstep = 3 //2 trailing step to move the "stoploss"//reset the stoploss valueIF NOT ONMARKET THENnewSL=0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THENnewSL = tradeprice(1)+trailingstep*pipsizeENDIF//next movesIF newSL>0 AND close-newSL>=trailingstep*pipsize THENnewSL = newSL+trailingstep*pipsizeENDIFENDIF//manage short positionsIF SHORTONMARKET THEN//first move (breakeven)IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THENnewSL = tradeprice(1)-trailingstep*pipsizeENDIF//next movesIF newSL>0 AND newSL-close>=trailingstep*pipsize THENnewSL = newSL-trailingstep*pipsizeENDIFENDIF//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIF04/30/2020 at 1:18 PM #129013Es ist schwierig, ohne die wirklich genaue Fehlermeldung zu antworten, aber versuchen Sie, die Zeilen 44 und 45 zu ändern mit:
12UpperLevel = Highest[max(1,IntradayBarIndex - IndexStartDay + 1)](High)LowerLevel = Lowest [max(1,IntradayBarIndex - IndexStartDay + 1)](Low)1 user thanked author for this post.
04/30/2020 at 2:31 PM #12904104/30/2020 at 2:36 PM #12904304/30/2020 at 4:18 PM #12907304/30/2020 at 4:28 PM #12907704/30/2020 at 7:13 PM #12911304/30/2020 at 7:27 PM #129117Ich habe die Codes nochmal verglichen mit denen, die ähnlich hier auf der Plattform sind. Es muss irgendetwas mit meinen zugefügten Codes zu tun habe, denk ich. Bin leider kein Programmierer.
Entweder mein Supertrendstop oder der BE-Trailing-Code.
1 user thanked author for this post.
04/30/2020 at 8:42 PM #129136Versuchen Sie, Zeile 4 zu entfernen.
Möglicherweise sind nicht genügend Balken vorhanden, um SuperTrend und Highest / Lowest zu berechnen.
1 user thanked author for this post.
05/01/2020 at 8:06 PM #129307 -
AuthorPosts
Find exclusive trading pro-tools on