Mon approche est relativement simple et s'appuie sur 3 timeframes: 5, 15 et 30 min
Elle consiste a rentrer en position lorsque les macd se croise dans le meme sens sur les 3 graphes, tant en long qu'en short.
Je suis pas programmeur mais j'ai fait au mieux, et j'obtiens ce message: J'imagine que pour certains d'entre vous c'est trois fois rien, mais ca dépasse mes petites compétences
Ci joint le code:
// Définition des paramètres du code
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position avant l'heure spécifiée
noEntryBeforeTime = 090000
timeEnterBefore = time >= noEntryBeforeTime
// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiée
noEntryAfterTime = 090100
timeEnterAfter = time < noEntryAfterTime
// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
TIMEFRAME(30 minutes)
// Conditions pour ouvrir une position acheteuse
indicator1 = MACDline[7,13,5](close)
indicator2 = MACDSignal[7,13,5](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Conditions pour fermer une position acheteuse
indicator3 = rsi[10](close)
c2 = (indicator3 CROSSES OVER 79)
indicator4 = BollingerUp[20](close)
c3 = (close CROSSES OVER indicator4)
IF c2 OR c3 THEN
SELL AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
indicator5 = MACDline[7,13,5](close)
indicator6 = MACDSignal[7,13,5](close)
c4 = (indicator5 CROSSES UNDER indicator6)
IF c4 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Conditions pour fermer une position en vente à découvert
indicator7 = rsi[10](close)
c5 = (indicator7 CROSSES UNDER 29)
indicator8 = BollingerDown[20](close)
c6 = (close CROSSES UNDER indicator8)
IF c5 OR c6 THEN
EXITSHORT AT MARKET
ENDIF
TIMEFRAME(15 minutes)
// Conditions pour ouvrir une position acheteuse
indicator1 = MACDline[7,13,5](close)
indicator2 = MACDSignal[7,13,5](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Conditions pour fermer une position acheteuse
indicator3 = rsi[10](close)
c2 = (indicator3 CROSSES OVER 79)
indicator4 = BollingerUp[20](close)
c3 = (close CROSSES OVER indicator4)
IF c2 OR c3 THEN
SELL AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
indicator5 = MACDline[7,13,5](close)
indicator6 = MACDSignal[7,13,5](close)
c4 = (indicator5 CROSSES UNDER indicator6)
IF c4 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Conditions pour fermer une position en vente à découvert
indicator7 = rsi[10](close)
c5 = (indicator7 CROSSES UNDER 29)
indicator8 = BollingerDown[20](close)
c6 = (close CROSSES UNDER indicator8)
IF c5 OR c6 THEN
EXITSHORT AT MARKET
ENDIF
TIMEFRAME(5 minutes)
// Conditions pour ouvrir une position acheteuse
indicator1 = MACDline[7,13,5](close)
indicator2 = MACDSignal[7,13,5](close)
c1 = (indicator1 CROSSES OVER indicator2)
IF c1 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Conditions pour fermer une position acheteuse
indicator3 = rsi[10](close)
c2 = (indicator3 CROSSES OVER 79)
indicator4 = BollingerUp[20](close)
c3 = (close CROSSES OVER indicator4)
IF c2 OR c3 THEN
SELL AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
indicator5 = MACDline[7,13,5](close)
indicator6 = MACDSignal[7,13,5](close)
c4 = (indicator5 CROSSES UNDER indicator6)
IF c4 AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Conditions pour fermer une position en vente à découvert
indicator7 = rsi[10](close)
c5 = (indicator7 CROSSES UNDER 29)
indicator8 = BollingerDown[20](close)
c6 = (close CROSSES UNDER indicator8)
IF c5 OR c6 THEN
EXITSHORT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 10
SET TARGET pPROFIT 30
Quelqu'un aurait il la bonté de me donner un coup de pouce ?
Merci à l'avance
car je suis bien incapable de corriger le programme