Gleitender Durchschnitt ( Moving Average )

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #93303 quote
    Rim
    Participant
    Average

    Hallo,

    ich würde gerne den Indikator “Gleitender Durchschnitt” in automatisches Handelssystem programmieren.

    Eigentlich ganz einfach, besteht nur aus einer Linie, Aufwärtstrend grün und Abwärtstrend rot.

    Sobald der Aufwärtstrend anfängt, grüne Linie zeichnet sich, kommt es zum Einstieg long.

    Sobald der Abwärtstrend anfängt, rote Linie zeichnet sich, kommt es zum Einstieg short.

    Wenn es geht mit ganzen originalen Einstellungen wie “Berechnungsmethode, Anzahl Perioden” und so weiter wie bis “Angewandt auf”…

    Ideal wären die Standartsachen wie Stop Loss & Take Profit Möglichkeiten einzustellen sowie die Handelszeiten.

    Danke.

    #93333 quote
    Nicolas
    Keymaster
    Master

    Sie können es mit einem einfachen Code wie folgt versuchen: https://www.prorealcode.com/topic/place-orders-when-a-curve-change-colour/#post-19898

    Die Strategie eröffnet Handelspositionen in Abhängigkeit von der Farbänderung eines gleitenden Durchschnitts. Sie können auch Stoploss und Takeprofit einstellen.

    #93398 quote
    Rim
    Participant
    Average

    Danke, ich habe es ausprobiert, es wurde aber nur ein Einstieg in Dax ausgelöst und bei EUR/USD nichts. Timeframe 1 min.

    #93503 quote
    Nicolas
    Keymaster
    Master

    Um Ihnen die genaueste Antwort auf Ihr spezifisches Problem zu geben, geben Sie bitte den vollständigen Code Ihrer Strategie an. Vielen Dank.

    #93549 quote
    Rim
    Participant
    Average

    Ja, gerne. Aber es macht nicht ordentlich, nämlich viele Einstiege und Ausstiege, durcheinander.

    // Festlegen der Code-Parameter
    DEFPARAM CumulateOrders = False // Kumulieren von Positionen deaktiviert

    // Verhindert das Platzieren von neuen Ordern zum Markteintritt oder Vergrößern von Positionen vor einer bestimmten Uhrzeit
    noEntryBeforeTime = 095900
    timeEnterBefore = time >= noEntryBeforeTime

    // Verhindert das Platzieren von neuen Ordern zum Markteintritt oder Vergrößern von Positionen nach einer bestimmten Uhrzeit
    noEntryAfterTime = 213000
    timeEnterAfter = time < noEntryAfterTime

    // Bedingungen zum Einstieg in Long-Positionen
    indicator1 = TriangularAverage[5](close)
    indicator2 = TriangularAverage[5](close)
    c1 = (indicator1 >= indicator2)

    IF c1 AND timeEnterBefore AND timeEnterAfter THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF

    // Bedingungen zum Einstieg in Short-Positionen
    indicator3 = TriangularAverage[5](close)
    indicator4 = TriangularAverage[5](close)
    c2 = (indicator3 <= indicator4)

    IF c2 AND timeEnterBefore AND timeEnterAfter THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF

    // Stops und Targets
    SET STOP pLOSS 6

    #94201 quote
    Rim
    Participant
    Average
    Thanks for your help
    #94202 quote
    Rim
    Participant
    Average

    danke für Ihre hilfe

    #94984 quote
    Rim
    Participant
    Average

    Hallo Nicolas,

    mit der Code hat es geklappt.

    Wie kann ich die ganzen Einstellungen dazu programmieren? (siehe Anhang)

    DEFPARAM CumulateOrders = False // Cumulating positions deactivated
    DEFPARAM FLATBEFORE = 080000
    DEFPARAM FLATAFTER = 180000

    X = 5 //moving average period
    takeprofit = 5 //takeprofit in points
    stoploss = 5 //stoploss in points

    ma = average[X](close)

    // the moving average is changing direction from bearish to bullish
    bullish = ma>ma[1] and ma[1]<ma[2]
    bearish = ma<ma[1] and ma[1]>ma[2]
    if not longonmarket and bullish then
    buy 1 share at market
    endif

    if not shortonmarket and bearish then
    sellshort 1 share at market
    endif

    set target pprofit takeprofit
    set stop ploss stoploss

    settings.png settings.png
    #94996 quote
    Rim
    Participant
    Average

    Ich habe auch bei “Average” geschaut, aber wie geht es mit

    Average[N,M](price)
    #95165 quote
    Nicolas
    Keymaster
    Master

    So verwenden Sie die AVERAGE- Anweisung (siehe das zweite Beispiel der verlinkten Seite). Bitte benutzen Sie den Button "Code einfügen", wenn Sie in den Foren Code eingeben. Um perfekt zu verstehen, was Sie benötigen, posten Sie bitte Screenshots der Einträge und beenden Sie die Codierung.

    #95263 quote
    Rim
    Participant
    Average

    danke , jetzt habe ich verstanden

    #95411 quote
    Rim
    Participant
    Average

    Es funktioniert nicht ganz richtig.

    Eintieg und Ausstieg kommen bei der dritten Kerze, soll aber  bei der  zweiten sein.

    Mein Code:

    DEFPARAM CumulateOrders = False // Cumulating positions deactivated
    DEFPARAM FLATBEFORE = 080000
    DEFPARAM FLATAFTER = 190000
    
    X = 5 //moving average period
    takeprofit = 5 //takeprofit in points
    stoploss =5 //stoploss in points
    
    ma = average[X](low)
    
    // the moving average is changing direction from bearish to bullish
    bullish = ma&gt;ma[1] and ma[1]&lt;ma[2]
    bearish = ma&lt;ma[1] and ma[1]&gt;ma[2]
    
    if not longonmarket and bullish then
    buy 1 share at market
    endif
    
    if not shortonmarket and bearish then
    sellshort 1 share at market
    endif
    
    set target pprofit takeprofit
    set stop ploss stoploss
    ProRealTime-5.png ProRealTime-5.png ProRealTime-4.png ProRealTime-4.png ProRealTime-2.png ProRealTime-2.png
    #95451 quote
    Nicolas
    Keymaster
    Master

    Bitte verwenden Sie die Schaltfläche "Hinzufügen von PRT-Code", wenn Sie Code in Ihren Beitrag einfügen. Bestellungen werden nicht verzögert, der Code wird nur einmal beim Schließen des Kerzenständers gelesen und sie öffnen sich beim nächsten Kerzenständer Öffnen.

    #95581 quote
    Rim
    Participant
    Average

    Ich möchte jetzt mit farbwechsel versuchen. Was ist im code falsch bitte?

    // Bedingungen zum Einstieg in Long-Positionen
    DEFPARAM CumulateOrders = False // Cumulating positions deactivated
    DEFPARAM FLATBEFORE = 080000
    DEFPARAM FLATAFTER = 190000
    
    
    X = 5 //moving average period
    takeprofit = 0 //takeprofit in points
    stoploss =5 //stoploss in points
     
    ma = average[X](low)
     
    // the moving average is changing direction from bearish to bullish
    if bullish then
    mycolor = 1
    elsif bearish then
    mycolor = -1
    endif
    
    bullish = if true then set "mycolor" to 1
    bearish = if true then set "mycolor" to -1
    
    r=50
    g=205
    b=50
    
    if not longonmarket and bullish then
    buy 1 share at market
    endif
     
    if not shortonmarket and bearish then
    sellshort 1 share at market
    endif
    
    RETURN myvalue coloured by mycolor
    
    set target pprofit takeprofit
    set stop ploss stoploss
Viewing 14 posts - 1 through 14 (of 14 total)
  • You must be logged in to reply to this topic.

Gleitender Durchschnitt ( Moving Average )


ProOrder: Automatischer Handel & Backtesting

New Reply
Author
author-avatar
Rim @rim Participant
Summary

This topic contains 13 replies,
has 2 voices, and was last updated by Rim
6 years, 11 months ago.

Topic Details
Forum: ProOrder: Automatischer Handel & Backtesting
Language: German
Started: 03/10/2019
Status: Active
Attachments: 4 files
Logo Logo
Loading...