RimParticipant
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.
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.
RimParticipant
Average
Danke, ich habe es ausprobiert, es wurde aber nur ein Einstieg in Dax ausgelöst und bei EUR/USD nichts. Timeframe 1 min.
Um Ihnen die genaueste Antwort auf Ihr spezifisches Problem zu geben, geben Sie bitte den vollständigen Code Ihrer Strategie an. Vielen Dank.
RimParticipant
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
RimParticipant
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
RimParticipant
Average
Ich habe auch bei “Average” geschaut, aber wie geht es mit
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.
RimParticipant
Average
danke , jetzt habe ich verstanden
RimParticipant
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>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
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.
RimParticipant
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