1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//-------------------------------------------------------------------------
// Code principal : Dax Short 15'
//-------------------------------------------------------------------------
//-----------------------------------
// Code principal : Dax Short 15'
//-------------------------------------------------------------------------
// Définition des paramètres du code
// From Inertia
//Last optimization 26/07/2017
DEFPARAM Preloadbars = 3000
DEFPARAM CumulateOrders = False
DEFPARAM FLATBEFORE = 091500
DEFPARAM FLATAFTER = 213000
noEntryBeforeTime = 091500
timeEnterBefore = time >= noEntryBeforeTime
noEntryAfterTime = 213000
timeEnterAfter = time < noEntryAfterTime
daysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
REM Variables
ordersize = 1
mafilter = 2000 // 2000
TS = 30 // 30
SL = 45 // 45
TP = 110 // 110
//MACD settings
a = 12 // 12
b = 26 // 26
c = 9 // 9
// Conditions pour ouvrir une position en vente à découvert
indicator1 = MACD[a,b,c](close)
c1 = (indicator1 CROSSES UNDER 0)
indicator2 = MACDline[a,b,c](close)
c2 = (indicator2 < 0)
indicator3 = ExponentialAverage[mafilter](close)
c3 = (close < indicator3)
indicator4 = ExponentialAverage[mafilter](close)
indicator5 = ExponentialAverage[mafilter](close)
c4 = (indicator4 < indicator5[1])
IF (c1 AND c2 AND c3 AND c4) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
SELLSHORT ordersize CONTRACT AT MARKET
ENDIF
//trailing stop
trailingstop = TS//Best 30
//resetting variables when no trades are on market
if not onmarket then
MINPRICE = close
priceexit = 0
endif
//case SHORT order
if shortonmarket then
MINPRICE = MIN(MINPRICE,close) //saving the MFE of the current trade
if tradeprice(1)-MINPRICE>=trailingstop*pointsize then //if the MFE is higher than the trailingstop then
priceexit = MINPRICE+trailingstop*pointsize //set the exit price at the MFE + trailing stop price level
endif
endif
//exit on trailing stop price levels
if onmarket and priceexit>0 then
EXITSHORT AT priceexit STOP
SELL AT priceexit STOP
endif
SET STOP Ploss SL
Set Target PProfit TP