ProRealCode - Trading & Coding with ProRealTime™
Hallo!
Anbei eine überarbeitete Version meines kürzlich vorgestellten modularen Algorithmus-Systems.
Features:
– Market Data Definition DAX / DJI (neu; enthält ua Trailing-Stop-Faktor)
– Hexensabbat-Filter
– Moving-Average-Clustering-Filter
– Xetra-Pivot-Point-Berechnung
– Strategy-Stop-Code + Money-Management
– Monthly/Weekly/Daily-Positionsize-Modifier-Code DAX/DJI (erweitert um DJI)
– Robustness-Test-Code
– Trailing-Stop-Code für Long/Short/Risk-Trades und Target Profit (erweitert um Target Profit)
– S2/R2-BreakOut-Filter
– Moving-Average-Cross-Flag-Funktion (20/50 und 100/200; neu)
– DayTrend-Flag (neu; TrendUp + TrendDown)
Zum Einstieg:
– 30min Simple BreakOut Trader (neu; für DAX 1min)
Das System ist so konzipiert, daß es möglichst mit unterschiedlichsten Trading-Algorithmen auf unterschiedlichsten Märkten kombiniert und schnell angepasst werden kann.
Die Bilder zeigen die Performance des beigefügten Codes auf DAX 1min 1€ Micro-Contract.
Beste Grüße
Stefan
//*************************************************************************//
//Modular Algorithm Library V1.01 //
//*************************************************************************//
//Modules:
//Market-Data-Definition+Parameter
///Monthly/Weekly/Daily-Modifiers, Xetra-HLC-Correction, Strategy-Stop-Code mit Money-Management
//Moving-Average-Clustering-Filter, Robustness-Test, Stop-Loss/Trailing-Routines Long/Short/Risk
//Long/Short-Support2/Resistance2-Break-Filter, HexenSabbat-Filter, MA-Cross-Flag, Trend-Flag
//Trading Code
//*************************************************************************//
//Parameter //
//*************************************************************************//
DEFPARAM PreLoadBars = 5000
DEFPARAM CumulateOrders = False
DEFPARAM FlatBefore = 080000
DEFPARAM FlatAfter = 220000
ONCE ClusterSave = 1 // 0=OFF 1=ON MovingAverage-Clustering-Filter
ONCE startingsize = 1 // starting position size
ONCE ForbiddenLSFlag = 2 // 0=OFF 1=ON 2=Reverse S2/Short-R2/Long-Filter
ONCE RobustnessTest = 0 // 0=OFF 1=ON Robustness-Test
ONCE SSC = 1 // 0=OFF 1=ON Strategy-Stop-Code
ONCE StartingCapital = 1000 // Startkapital
ONCE Modifiers = 1 // 0=OFF 1=ON Modifikatoren auf PositionSize
ONCE HexSabFilter = 1 // 0=OFF 1=ON HexenSabbatFilter
ONCE MarketFlag = 1 //1=DAX 2=DJI Marktauswahl
//*************************************************************************//
//Market Data //
//*************************************************************************//
Opening = 080000 // Eröffnungszeit DAX
Closing = 220000 // Schlusszeit DAX
TF = 1 // TimeFrame in Minuten DAX
SpreadGeb = 3 // Spread+Gebühren DAX
FaktorTS = 1 // Trailing-Stop-Multiplikator
ZielProfit = 150 // Target Profit
IF MarketFlag = 1 THEN
Opening = 080000 // Eröffnungszeit DAX
Closing = 220000 // Schlusszeit DAX
TF = 1 // TimeFrame in Minuten DAX
SpreadGeb = 3 // Spread+Gebühren DAX
FaktorTS = 1 // Trailing-Stop-Multiplikator
ZielProfit = 150
ENDIF
IF MarketFlag = 2 THEN
Opening = 080000 // Eröffnungszeit DJI
Closing = 220000 // Schlusszeit DJI
TF = 1 // TimeFrame in Minuten DJI
SpreadGeb = 5 // Spread+Gebühren DJI
FaktorTS = 2 // Trailing-Stop-Multiplikator
ZielProfit = 200
ENDIF
Tradeday = OpenDayOfWeek > 0 AND OpenDayOfWeek < 6 AND NOT ((Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)))
//Flat Failsave
If ONMARKET AND (Time < Opening OR Time > Closing) THEN
SELL AT Market
EXITSHORT AT Market
ENDIF
//*************************************************************************//
//Algorithm Robustness-Test //
//*************************************************************************//
StartDate = 20000101 // Parameter
Qty = 5 // Parameter
Rndom = 3 // Parameter
once j = 0
once flag = 1
IF RobustnessTest = 1 THEN
if flag = 1 then
j = j + 1
if j > qty then
flag = -1
j = j - 1
endif
endif
if flag = -1 then
j = j - 1
if j = 0 then
j = j + rndom
flag = 1
endif
endif
if opendate >= startdate AND (barindex mod qty = 0 or barindex mod qty = j) then
tradeon = 1
ELSIF opendate >= startdate AND NOT (barindex mod qty = 0 or barindex mod qty = j) then
tradeon = 0
ENDIF
ELSIF RobustnessTest = 0 THEN
TradeOn = 1
ENDIF
//*************************************************************************//
//Strategy-Stop-Code, Money Management/ReInvest //
//*************************************************************************//
barsbeforenextcheck = 30 // number of bars between performance checks
drawdownquitting = 1 // drawdown quitting on or off (on=1 off=0)
winratequit = 40 // minimum win rate in % allowed before quitting (0 = off)
tradesbeforewrquit = 50 // number of trades required before a win rate stop of strategy is allowed to happen
increase = 0 // position size increasing on or off (on=1 off=0)
decrease = 0 // position size decreasing on or off (on=1 off=0)
capital = StartingCapital // starting capital
startingsize = 1 // starting position size
minpossize = 0.2 // minimum position size allowed
gaintoinc = 5 // % profit rise needed before an increase in position size is made
losstodec = 5 // % loss needed before a decrease in position size is made
maxdrawdown = 30 // maximum % draw down allowed from highest ever equity before stopping strategy
maxcapitaldrop = 25 // maximum % starting capital lost before stopping strategy
once MMpositionsize = 1
once psperc = MMpositionsize / capital
IF SSC = 1 THEN
if strategyprofit <> strategyprofit[1] then
highestprofit = max(strategyprofit, highestprofit)
if count < tradesbeforewrquit OR winrate > winratequit/100 then
count = count + 1
if strategyprofit > strategyprofit[1] then
win = win + 1
endif
ENDIF
winrate = win/count
ENDIF
if count >= tradesbeforewrquit AND winrate < winratequit/100 then
quit
endif
if barindex mod barsbeforenextcheck = 0 AND drawdownquitting AND highestprofit <> 0 then
if (capital + strategyprofit) <= (capital + highestprofit) - ((capital + highestprofit)*(maxdrawdown/100)) then
quit
endif
endif
if count >= tradesbeforewrquit AND highestprofit = 0 then
if (capital + strategyprofit) <= capital - (capital * (maxcapitaldrop/100)) then
quit
endif
ENDIF
equity = capital + strategyprofit
if increase then
if equity/lastequity >= (1+(gaintoinc/100)) then
MMpositionsize = (max(minpossize,equity*psperc))
lastequity = equity
endif
ENDIF
if decrease then
if equity/lastequity <= (1-(losstodec/100)) then
MMpositionsize = (max(minpossize,equity*psperc))
lastequity = equity
endif
ENDIF
ENDIF
//*******************************************************************************************//
//Position Size,Monthly,Weekly,Daily,Intra,Trend,Reversal Modifiers, (optional) //
//*******************************************************************************************//
//Berechnung am Schluss löschen ( auf 1 setzen) für Löschen des Modifikators
ONCE DaySLFlag = 0
ONCE PSizeL = startingsize
ONCE PSizeS = startingsize
ONCE MonthSizeL = 0
ONCE MonthSizeS = 0
ONCE WeekSizeL = 0
ONCE WeekSizeS = 0
ONCE DaySizeL = 0
ONCE DaySizeS = 0
ONCE Monatsanfang = 0
ONCE Monatsende = 0
ONCE IntraSizeL = 0
ONCE IntraSizeS = 0
IF Modifiers = 1 THEN
IF MarketFlag = 1 THEN
IF CurrentMonth = 1 OR CurrentMonth = 2 THEN
MonthSizeS = 0.25
MonthSizeL = 0
ELSIF CurrentMonth = 3 OR CurrentMonth = 4 THEN
MonthSizeS = 0
PMonthSizeL = 0.25
ELSIF CurrentMonth = 5 THEN
MonthSizeS = 0
MonthSizeL = 0
ELSIF CurrentMonth = 6 THEN
MonthSizeS = 0.25
MonthSizeL = 0
ELSIF CurrentMonth = 7 THEN
MonthSizeS = 0
MonthSizeL = 0.25
ELSIF CurrentMonth = 8 THEN
MonthSizeS = 0
MonthSizeL = 0
ELSIF CurrentMonth >= 9 AND CurrentMonth <= 10 THEN
MonthSizeS = 0.25
MonthSizeL = 0
ELSIF CurrentMonth >= 11 AND CurrentMonth <= 12 THEN
MonthSizeS = 0
MonthSizeL = 0.5
ENDIF
ELSIF MarketFlag = 2 THEN
IF CurrentMonth = 1 THEN
MonthSizeS = 0.25
MonthSizeL = 0
ELSIF CurrentMonth = 3 OR CurrentMonth = 4 OR CurrentMonth = 5 THEN
MonthSizeS = 0
PMonthSizeL = 0.25
ELSIF CurrentMonth = 6 THEN
MonthSizeS = 0.25
MonthSizeL = 0
ELSIF CurrentMonth = 7 OR CurrentMonth = 8 THEN
MonthSizeS = 0
MonthSizeL = 0
ELSIF CurrentMonth = 9 THEN
MonthSizeS = 0.25
MonthSizeL = 0
ELSIF CurrentMonth = 10 THEN
MonthSizeS = 0
MonthSizeL = 0
ELSIF CurrentMonth >= 11 AND CurrentMonth <= 12 THEN
MonthSizeS = 0
MonthSizeL = 0.5
ENDIF
ENDIF
//Datumsliste jährlich anpassen und ggf erweitern!
IF Time = Opening THEN
If (OpenDay >= 03012019 AND Openday <= 07012019) OR (OpenDay >= 03012020 AND Openday <= 07012020) OR (OpenDay >= 03012021 AND Openday <= 07012021) OR (OpenDay >= 03012022 AND Openday <= 07012022) THEN
Monatsanfang = 1
ELSIF (OpenDay >= 01022019 AND Openday <= 05022019) OR (OpenDay >= 01022020 AND Openday <= 05022020) OR (OpenDay >= 01022021 AND Openday <= 05022021) OR (OpenDay >= 01022022 AND Openday <= 04022022) THEN
Monatsanfang = 1
ELSIF (OpenDay >= 01032019 AND Openday <= 05032019) OR (OpenDay >= 01032020 AND Openday <= 05032020) OR (OpenDay >= 01032021 AND Openday <= 05032021) OR (OpenDay >= 01032022 AND Openday <= 04032022) THEN
Monatsanfang = 1
ELSIF (OpenDay >= 01042019 AND Openday <= 05042019) OR (OpenDay >= 01042020 AND Openday <= 05042020) OR (OpenDay >= 01042021 AND Openday <= 05042021) OR (OpenDay >= 01042022 AND Openday <= 08042022) THEN
Monatsanfang = 1
ELSIF (OpenDay >= 01102019 AND Openday <= 05102019) OR (OpenDay >= 01102020 AND Openday <= 05102020) OR (OpenDay >= 01102021 AND Openday <= 05102021) OR (OpenDay >= 01102022 AND Openday <= 07102022) THEN
Monatsanfang = 1
ELSIF (OpenDay >= 01112019 AND Openday <= 05112019) OR (OpenDay >= 01112020 AND Openday <= 05112020) OR (OpenDay >= 01112021 AND Openday <= 05112021) OR (OpenDay >= 01112022 AND Openday <= 04112022) THEN
Monatsanfang = 1
ELSIF (OpenDay >= 01122019 AND Openday <= 05122019) OR (OpenDay >= 01122020 AND Openday <= 05122020) OR (OpenDay >= 01122021 AND Openday <= 05122021) OR (OpenDay >= 01122022 AND Openday <= 05122022) THEN
Monatsanfang = 1
ENDIF
ELSIF Time = Closing THEN
Monatsanfang = 0
Monatsende = 0
ENDIF
If Monatsanfang = 1 THEN
WeekSizeL = 0.0
ENDIF
If Monatsende = 1 THEN
WeekSizeL = 0.25
ENDIF
IF OpenDayofWeek = 1 THEN
DaySizeL = 0.25
DaySizeS = 0
ELSIF OpenDayofWeek = 5 Then
DaySizeL = 0
DaySizeS = 0.25
ELSIF OpenDayofWeek <1 OR (OpenDayofWeek >= 2 AND OpenDayOfWeek <= 4) OR OpenDayofWeek = 6 THEN
DaySizeL = 0
DaySizeS = 0
ENDIF
IF Close < DLow(1) AND DaySLFlag = 1 THEN
IntraSizeL = 0.25
IntraSizeS = 0
ELSIF Close > DHigh(1) AND DaySLFlag = 1 THEN
IntraSizeL = 0
IntraSizeS = 0.25
ELSIF DaySLFlag = 0 THEN
IntraSizeL = 0
IntraSizeS = 0
ENDIF
IF Time >= Opening AND Time <= Closing THEN
IF Close > ResR2 THEN
IDReversalL = 0.25
ELSIF Close > ResR3 THEN
IDReversalL = 0.5
ELSIF Close < SupS2 THEN
IDReversalS = 0.25
ELSIF Close > SupS3 THEN
IDReversalS = 0.5
ELSIF Close < ResR2 AND Close > SupS2 THEN
IDReversalL = 0
IDReversalS = 0
ENDIF
ENDIF
IF Time = Closing THEN
TrendSizeUp = 0
TrendSizeDown = 0
ENDIF
IF Time = Opening THEN
IF DHigh(1) > DHigh(2) AND DLow(1) > DLow(2) THEN
TrendSizeUp = 0.25
TrendSizeDown = 0
ELSIF DHigh(1) < DHigh(2) AND DLow(1) < DLow(2) THEN
TrendSizeUp = 0
TrendSizeDown = 0.25
ELSIF NOT (DHigh(1) > DHigh(2) AND DLow(1) > DLow(2)) AND NOT (DHigh(1) < DHigh(2) AND DLow(1) < DLow(2)) THEN
TrendSizeUp = 0
TrendSizeDown = 0
ENDIF
ENDIF
//Einzelne Komponenten können nach belieben hier gelöscht werden, um die Modifikationen an eigene Vorstellungen anzupassen
PositionSizeLong = (PSizeL+TrendSizeUp+IDReversalL+IntraSizeL+DaySizeL+WeekSizeL+MonthSizeL)*MMpositionsize
PositionSizeShort = (PSizeS+TrendSizeDown+IDReversalS+IntraSizeS+DaySizeS+WeekSizeL+MonthSizeS)*MMpositionsize
ELSIF Modifiers = 0 THEN
PositionSizeLong = PSizeL*MMpositionsize
PositionSizeShort = PSizeS*MMpositionsize
ENDIF
//*************************************************************************//
//Xetra-Korrektur High Low Close, Pivot, Resistance, Support //
//*************************************************************************//
if Time = Closing AND OPENDAYOFWEEK <6 AND OPENDAYOFWEEK >0 AND Tradeday then
DayClose = Close
DayHigh = Highest[(840/TF)](close[1])
DayLow = Lowest[(840/TF)](close[1])
ENDIF
Pivot= (DayHigh + DayLow + DayClose) / 3
ResR1 = Pivot + (Pivot - DayLow)
ResR2 = Pivot + (Dayhigh - Daylow)
ResR3 = Dayhigh + (2 * (Pivot - Daylow))
SupS1 = Pivot - (Dayhigh - Pivot)
SupS2 = Pivot - (Dayhigh - Daylow)
SupS3 = Daylow - (2 * (Dayhigh - Pivot))
//*************************************************************************//
//Moving-Average-Clustering-FilterCode (optional) //
//*************************************************************************//
x = 10*pipsize //10-pip range
ma5 = average[5,0](close)
ma50 = average[50,0](close)
ma100 = average[100,0](close)
ma200 = average[200,0](close)
MaxMA = max(ma5,max(ma50,max(ma100,ma200)))
MinMA = min(ma5,min(ma50,min(ma100,ma200)))
IF ClusterSave = 1 THEN
IF (MaxMA - MinMA) <= x THEN
Tradeon = 0
ELSIF (MaxMA - MinMA) > x THEN
IF RobustnessTest = 0 THEN
Tradeon = 1
ELSIF opendate >= startdate AND NOT (barindex mod qty = 0 or barindex mod qty = j) THEN
Tradeon = 0
ENDIF
ENDIF
ENDIF
//*************************************************************************//
//R2-Long/S2-Short Filter (optional) //
//*************************************************************************//
IF ForbiddenLSFlag = 1 THEN
ForbiddenLong = Close < SupS2
ForbiddenShort = Close > ResR2
ELSIF ForbiddenLSFlag = 2 THEN
ForbiddenLong = Close > ResR2
ForbiddenShort = Close < SupS2
ELSIF ForbiddenLSFlag = 0 THEN
ForbiddenLong = 0
ForbiddenShort = 0
ENDIF
//*************************************************************************//
//HexenSabbat-Filter //
//*************************************************************************//
//Datumsliste ggf jährlich anpassen
IF HexSabFilter = 1 THEN
IF Date = (15032019 OR 21062019 OR 20092019 OR 20122019 OR 20032020 OR 19062020 OR 18092020 OR 18122020 OR 19032021 OR 18062021 OR 17092021 OR 17122021 OR 18032022 OR 17062022 OR 16092022 OR 16122022) THEN
Tradeon = 0
ELSIF RobustnessTest = 0 AND Opening AND Tradeday THEN
TradeON = 1
ENDIF
ENDIF
//*************************************************************************//
//MA20/MA50- MA100/200- Cross-Flag //
//*************************************************************************//
MA20 = Average[20](close)
MA50 = Average[50](close)
MA100 = Average[100](close)
MA200 = Average[200](close)
MA20over = (MA20 crosses over MA50)
MA20under = (MA20 crosses under MA50)
MA100over = (MA100 > MA200)
MA100under = (MA100 < MA200)
//*************************************************************************//
//Daytrend-Flag //
//*************************************************************************//
IF Time = Opening THEN
IF DHigh(1) > DHigh(2) AND DLow(1) > DLow(2) THEN
TrendFlag = 1
ELSIF DHigh(1) < DHigh(2) AND DLow(1) < DLow(2) THEN
TrendFlag = -1
ELSIF NOT (DHigh(1) > DHigh(2) AND DLow(1) > DLow(2)) AND NOT (DHigh(1) < DHigh(2) AND DLow(1) < DLow(2)) THEN
TrendFlag = 0
ENDIF
ENDIF
TrendUp = (TrendFlag = 1)
TrendDown = (TrendFlag = -1)
//*************************************************************************//
//trailing stop function Risk, Long, Short //
//*************************************************************************//
//wenn gewünscht die Parameter ändern oder die SET STOP-CODES löschen
// TrailingFlag = 0 Spezial (Code im Modul)
// TrailingFlag = 1 Normal
// TrailingFlag = 2 Risk
trailingstartL = 25*FaktorTS //LONG trailing will start @trailinstart points profit, TrailingFlag = 0
trailingstartS = 25*FaktorTS //SHORT trailing will start @trailinstart points profit, TrailingFlag = 0
trailingL = 20*FaktorTS //trailing to move the "stoploss"
trailingS= 20*FaktorTS //trailing to move the "stoploss"
trailingR= 15*FaktorTS //trailing start+to move the "stoploss" for risky positions, TrailingFlag = 2
SaveDistanceL = 10 //Minimum Stop-Abstand 10 lt IG
SaveDistanceS = 10 //Minimum Stop-Abstand 10 lt IG
SaveDistanceR = 10 //Minimum Stop-Abstand 10 lt IG
MinimumPlus = SpreadGeb //Anzahl Pips zum Breakeven inkl. Spread+Gebühren
SET TARGET pProfit ZielProfit //Target Profit
//reset the stoploss value
IF NOT ONMARKET THEN
TrailingFlag = 0
NewSL = 0
ENDIF
//************************//
//manage long positions //
//***********************//
IF LOngONMarket AND TrailingFlag = 1 THEN
newSL = tradeprice(1)-(trailingstartL*pipsize)
SET STOP pLOSS TrailingstartL
ENDIF
//breakeven
IF (close-tradeprice(1)) >= ((MinimumPlus+SaveDistanceL)*pipsize) AND TrailingFlag = 1 THEN
TrailingFlag = 3
newSL = tradeprice(1)+(MinimumPlus*pipsize)
SET STOP pTrailing TrailingL
ENDIF
IF (close-newSL) >= ((trailingL)*pipsize) AND TrailingFlag = 3 THEN
newSL = close-(trailingL*pipsize)
ENDIF
IF LongOnMarket AND TrailingFlag = 2 THEN
newSL = tradeprice(1)-(trailingR*pipsize)
SET STOP pLOSS trailingR
//breakeven
IF (close-tradeprice(1)) >= ((MinimumPlus+SaveDistanceR)*pipsize) THEN
newSL = tradeprice(1)+(MinimumPlus*pipsize)
TrailingFlag = 4
SET STOP pTrailing TrailingR
ENDIF
IF (close-newSL) >= (trailingR*pipsize) AND TrailingFlag = 4 THEN
newSL = close-(trailingR*pipsize)
ENDIF
ENDIF
//************************//
//manage Short positions //
//************************//
IF ShortONMarket AND TrailingFlag = 1 THEN
newSL = tradeprice(1)+(trailingstartS*pipsize)
SET STOP pLOSS TrailingstartS
ENDIF
//breakeven
IF (tradeprice(1)-close) >= ((MinimumPlus+SaveDistanceS)*pipsize) AND TrailingFlag = 1 THEN
TrailingFlag = 3
newSL = tradeprice(1)-(MinimumPlus*pipsize)
ENDIF
IF (newSL-close) >= (trailingS*pipsize) AND TrailingFlag = 3 THEN
newSL = close+(trailingS*pipsize)
SET STOP pTrailing TrailingS
ENDIF
IF ShortOnMarket AND TrailingFlag = 2 THEN
SET STOP pLOSS trailingR
newSL = tradeprice(1)+(trailingR*pipsize)
ENDIF
//breakeven
IF (tradeprice(1)-close) >= ((MinimumPlus+SaveDistanceR)*pipsize) THEN
newSL = tradeprice(1)-(MinimumPlus*pipsize)
SET STOP pTrailing TrailingR
TrailingFlag = 4
ENDIF
IF (newSL-close) >= (trailingR*pipsize) AND TrailingFlag = 4 THEN
newSL = close+(trailingR*pipsize)
ENDIF
//stop order to exit the positions
IF LONGOnMarket AND newSL > 0 AND Close <= newSL THEN
SELL AT MARKET
ELSIF ShortOnMarket AND newSL > 0 AND Close >= newSL THEN
EXITSHORT AT MARKET
ENDIF
//*************************************************************************//
//Simple BreakOut und Trendfolge M/W/D: o/o/o //
//*************************************************************************//
AmplitudeMin = 20
hi = Highest[30](close[1])
lo = Lowest[30](close[1])
IF Time >= 080000 AND Time <= 220000 AND TradeDay AND TRADEON AND (hi - lo) > AmplitudeMin THEN
//up
IF NOT ONMARKET AND NOT ForbiddenLong AND Close > hi THEN
IF RSI > 75 AND MACD > 2 AND Close > Average[10](close) AND Close > Close[1] AND Close[1] > Close[2] AND AroonUp > 70 AND MA20over AND TrendUp AND Close > Supertrend THEN
TrailingFlag = 1
BUY PositionsizeLong CONTRACTS AT MARKET
ENDIF
ENDIF
//down
IF NOT ONMARKET AND NOT ForbiddenShort AND Close < lo THEN
IF RSI < 35 AND MACD < -2 AND Close < Average[10](close) AND Close < Close[1] AND Close[1] < Close[2] AND AroonDown > 70 AND MA20under AND TrendDown AND Close < Supertrend THEN
TrailingFlag = 1
SellShort PositionsizeShort CONTRACTS AT MARKET
ENDIF
ENDIF
ENDIF
Last Minute Änderung:
HexenSabbat-Filter Daten für 2019 korrigiert (Copy/Paste-Schlendrian).
Ergebnisse nun minimal anders (57,xx Hit Rate und 1,83 Gewinn/Verlust-Ratio).
Sorry.
Danke fürs teilen 🙂
Gerne! 🙂
Allgemein sind Feedback und/oder Anregungen sehr willkommen! 😉
ich habe dieses Problem hier
Modular Algo System V1.0 + 30min-Range-BreakOut
This topic contains 4 replies,
has 3 voices, and was last updated by bertrandpinoy
3 years, 10 months ago.
| Forum: | ProOrder: Automatischer Handel & Backtesting |
| Language: | German |
| Started: | 02/06/2022 |
| Status: | Active |
| Attachments: | 3 files |
The information collected on this form is stored in a computer file by ProRealCode to create and access your ProRealCode profile. This data is kept in a secure database for the duration of the member's membership. They will be kept as long as you use our services and will be automatically deleted after 3 years of inactivity. Your personal data is used to create your private profile on ProRealCode. This data is maintained by SAS ProRealCode, 407 rue Freycinet, 59151 Arleux, France. If you subscribe to our newsletters, your email address is provided to our service provider "MailChimp" located in the United States, with whom we have signed a confidentiality agreement. This company is also compliant with the EU/Swiss Privacy Shield, and the GDPR. For any request for correction or deletion concerning your data, you can directly contact the ProRealCode team by email at privacy@prorealcode.com If you would like to lodge a complaint regarding the use of your personal data, you can contact your data protection supervisory authority.