// UT = 15 minutes, NSQ 100
// A lancer en UT 5 de base (pour gestion du MULTI TIMEFRAME)
DEFPARAM CumulateOrders = False // Cumul des positions désactivé
//Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".
//DEFPARAM FLATBEFORE = 080000
////////// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
//DEFPARAM FLATAFTER = 223000
DEFPARAM Preloadbars = 1000
ONCE MEMSTOPPRICE = 0
ONCE MEMOSTOP = 0
If not Onmarket Then
step = 0
MemoIndex = 0
Endif
CapitalInitial = 50000 // Capital initial
CapitalReinvest = CapitalInitial+Strategyprofit
// nombre de contrat
TailleContrat = 1 // Nbr lot (minimum 0.5)
// réinvestissement des gains
ReinvestActif = 1 // activé ?
If ReinvestActif = 0 then
nblot = TailleContrat
endif
If ReinvestActif = 1 then
nblot = (CapitalReinvest/CapitalInitial)*TailleContrat
Endif
If nblot < 0.5 then
nblot = 0.5
Endif
nblot = 1
// ----------------------------------------------------------------------------------------------------------------------------
TimeFrame(15 minutes, updateonclose)
// parameters
Period = 10
FastPeriod = 2
SlowPeriod = 30
// ER = Efficient Ratio
Xadaptative = AdaptiveAverage[Period,FastPeriod,SlowPeriod](TypicalPrice) // Même résultat si close () !!
// Calcul de l'angle de la courbe Xadaptative
Periode = Period //Période de la MM
nbChandelier= Period // Nombre de chandeliers sur lesquels on évalue la pente
MM = Xadaptative
ADJASUROPPO = (MM-MM[nbchandelier]) / nbChandelier
ANGLE = (ATAN(ADJASUROPPO)) // Varie en positif ou en négatif
b1 = Typicalprice crosses over Xadaptative
b2 = 1
b3 = 1
b4 = 1
b5 = 1
b6 = 1
b7 = 1
Btotal = b1 and b2 and b3 and b4 and b5 and b6 and b7 and Not OnMarket
TimeFrame(default)
IF btotal THEN
BUY nblot CONTRACT AT MARKET
Set Target pprofit 0
SET STOP LOSS 35 // Temporaire
MEMSTOPPRICE = Typicalprice-35
Endif
// Ajustement du STOPLOSS une fois le prix d'ouverture de la bougie d'ordre connue
IF Longonmarket and BarIndex = TradeIndex(1) and step = 0 then
MEMOSTOP = Tradeprice(1)-MEMSTOPPRICE // STOPLOSS en Nbr de point
SET STOP LOSS MEMOSTOP
graph MEMOSTOP
BuyN1 = Tradeprice(1)
MemBE = BuyN1+8
step = 1
MemoBar = BarIndex
Endif
If Longonmarket and step = 1 Then
If Memobar+1 < Barindex and Typicalprice > MemBe Then // AU moins une bougie d'éloignement
SELL AT MemBE STOP
step = 2
EndIf
EndIf
If Longonmarket and step = 2 Then // Rafraîchissement de la vente stop BE
SELL AT MemBE STOP
step = 2
Endif
//TP1 = 80% valeur du STOPLOSS
If Longonmarket and step = 2 then
If Close crosses under Xadaptative Then
Sell 0.5 Contracts at Market
MemoIndex = Barindex
MemBE = MemBE + Round((Close-MemBe)/2)
step = 3
Endif
Endif
// Ajustement du BE en STOP suiveur typé "cale" pour verrouiller niveau de gain si rechute vers BE initiale
If Longonmarket and step = 3 then
SELL AT MemBE STOP
Endif
//// TP2
If LongonMarket and step = 3 and Close crosses under average[30,1](close) Then
// Solde le restant de la postion
Sell at market
step = 0
Endif