Trade Nummer im Backtest

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #184917 quote
    Vjper
    Participant
    Junior

    Guten Morgen,

    im Backtest werden jegliche geöffnete und geschlossene Positionen nummeriert.

    Wie kann ich auf diese nummern zugreifen?

    Im Beispiel werden nach der Schließung weitere Longpositionen geöffnet. Dies möchte ich unterbinden, indem ich auf den letzten Shorttrade zugreife und somit dies als Bedingung für einen weiteren Longtrade einsetze.

    Hab viel von Tradeindex und Barindex gefunden. Kann aber die Befehle nicht umsetzen.

    Gruß

    Vjper

    // Festlegen der Code-Parameter
    DEFPARAM CumulateOrders = false
    
    // Bedingungen zum Einstieg in Long-Positionen
    a=1
    indicator1 = MACD[50,200,28](close)
    c1 = (0.99*indicator1[a] > (indicator1[a+1]))
     
    IF c1 AND Not longOnMarket THEN
    BUY 1 CONTRACT AT MARKET
    
    ENDIF
     
    // Bedingungen zum Ausstieg von Long-Positionen
    
    indicator2 = MACD[50,200,28](close)
    c2 = indicator2 < indicator2[1]
    
     
    IF c2  and LongOnMarket THEN
    SELL AT MARKET
    ENDIF
    
    #184928 quote
    robertogozzi
    Moderator
    Master

    Sie haben das Beispiel vergessen. Können Sie nähere Angaben machen?

    #184938 quote
    Vjper
    Participant
    Junior

    Oh sorry!

    unten das Beispiel.

    Ich versuche es nochmals zu beschreiben.

    Im Beispiel werden nach der Schließung weitere Longpositionen geöffnet. Dies möchte ich unterbinden, indem ich auf den letzten Shorttrade zugreife und somit dies als Bedingung für einen weiteren Longtrade einsetze.

    Meine Frage lautet: Kann ich im Backtest auf die Tradenummer zugreifen um sie für mein Code zu verwenden?

     

     

     

     

     

    // Festlegen der Code-Parameter
    DEFPARAM CumulateOrders = false

    // Bedingungen zum Einstieg in Long-Positionen
    a=1
    indicator1 = MACD[50,200,28](close)
    c1 = (0.99*indicator1[a] > (indicator1[a+1]))

    IF c1 AND Not longOnMarket THEN
    BUY 1 CONTRACT AT MARKET

    ENDIF

    // Bedingungen zum Ausstieg von Long-Positionen

    indicator2 = MACD[50,200,28](close)
    c2 = indicator2 < indicator2[1]

    IF c2 and LongOnMarket THEN
    SELL AT MARKET
    ENDIF

    #185213 quote
    robertogozzi
    Moderator
    Master

    Auf diese Nummern kann nicht zugegriffen werden, aber Sie können Ihre eigene Liste erstellen.

    Dieser Code füllt das Array $TradeArray mit dem BarIndex-Wert für jeden neu eröffneten Trade. Die Variable ArrayElement behält die Gesamtzahl der geöffneten Trades:

    ONCE ArrayElement = 0
    NewTrade = (OnMarket AND Not OnMarket[1]) OR (LongOnMarket AND ShortOnMarket[1]) OR (LongOnMarket[1] AND ShortOnMarket) OR (Not OnMarket AND Not OnMarket[1] AND (StrategyProfit <> StrategyProfit[1]))
    IF NewTrade THEN
       ArrayElement              = ArrayElement  + 1
       $TradeArray[ArrayElement] = BarIndex
    ENDIF
    #185305 quote
    Vjper
    Participant
    Junior

    Vielen, vielen Dank

    Gruß

    Michi

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

Trade Nummer im Backtest


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
author-avatar
Vjper @vjper Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by Vjper
4 years ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 01/09/2022
Status: Active
Attachments: No files
Logo Logo
Loading...