|
Expert Advisor 的想法是我的。Expert Advisor 的代码由Sergey Diubakin编写。9 U8 z6 B8 o7 x+ L' p# M
( W5 N: ?0 x" V& ?! |
此版本的 Expert Advisor 用于在 PAMM 账户上进行交易。由于人为因素(即我),净利润为 20%。可达到的最大利润为初始存款的 84%。
( E# Z0 z) r% m ?3 g; W- Q+ y
; {" Z/ }( A5 Y1 u* }实际交易时间:23.02.2015 至 23.07.2015。
l2 O$ f3 G, O7 }; o
' K5 R8 d5 u, N) d6 U2 {+ a O根据我的观察,使用此 Expert Advisor 进行交易需要大量存款(最低 15 000 - 20 000)。
/ A6 v7 U3 L, M, A6 o
# I1 m- ?; W p说明:
- a$ U+ ~. F7 h0 ]0 i/ i/ l移动平均线指标值用于交易。如果快速移动平均线高于慢速移动平均线,并且这两条线之间的距离大于指定值,则开立买单。
5 P1 }& K) l5 {' B" _& o7 w* P* R
指标的相反值用于开卖单。订单平仓根据移动平均线指标值发生。
3 R7 i. [9 Z% w1 [. ^7 S! R0 }+ C
6 f. B- \; p6 v* g1 J' h此 EA 还具有额外的插件模块:快速和慢速移动平均线之间的距离、获利、止损、移动止损、订单之间的距离(向上和向下)、获利平均方法、交易时间、转弯、增加第一手主要手数,以防前手以亏损收盘。
$ v. y2 d1 q, ~ N5 b1 y/ Z/ c
. ~- E) {1 A) i+ |. T8 D专家顾问设置:# W8 K* C' k( U2 \9 P9 f) [
操作模式:
; }- ^! n# p: h7 |( X7 B1 — 如果趋势发生变化,则关闭所有已打开的订单并打开相反的订单;
' E3 E7 N: J" M4 P. D& Y, |( K& @2 — 如果趋势发生变化,则未平仓的订单(EA 等待直到达到获利、止损或“手动”平仓)。
" |, R5 ?+ Y1 f0 pFast MA — 移动平均线指标插件的设置:周期、偏移量、МА 方法。使用 MetaTrader 4 终端中包含的移动平均线。" p( U8 i2 y ?9 \% K# |
: T% ~! B% X, e% }8 E6 k! }, y
Slow MA — 移动平均线指标插件的设置:周期、偏移量、МА 方法。使用 MetaTrader 4 终端中包含的移动平均线。
9 P: i" \2 K& ~8 z& E5 I5 a( Q7 B( s; |' b e
初始批次% `9 ^* ~/ }' i
- `* ?. B" Y0 Z. z9 h
8 L. z9 a& U- ]& Q1 w G4.1。初始批次
5 u) B( ?+ `$ {3 Y4 iLotConst_or_not — 允许用户选择是从同一手开始交易还是根据存款变化重新计算初始手数:- k; b/ w( u7 ?8 `3 u+ u6 d% R
true — 第一手将保持不变并等于 Lots 的值,具体如下;
5 K. v( @" n. {false — 第一手将根据存款的变化动态变化,并将取决于 RiskPercent 参数和存款的大小。手数 =AccountBalance() * (RiskPercent / 100.0) / 10000.0, m( X9 s/ L% O# m/ F" ?
手数——设置交易的初始手数;6 ~6 N+ U' a5 A5 y
RiskPercent — 根据存款设置初始手数。3 C& B$ g7 D/ @9 z
4.2. 手数增加" l# b9 W# P, ]3 U- i! w x
FirstLotMultiplicator — 在前一个主订单亏损关闭(通过止损、“手动”或仅亏损关闭)的情况下,负责每个后续第一个主订单的增加比率的参数;/ h5 a5 W+ M; Q4 S8 \2 M) ~2 J
First_LotSize — 如果第一个主订单达到此行中指定的值,则 EA 将止盈置于下一行 (First_LotSize_TakeProfit) 中设置的水平,但不在 EA 设置的第 5 点;' u$ L4 r x/ G+ w8 _
First_LotSize_TakeProfit — 第一个主订单的“新”获利水平,以防它达到 First_LotSize 行中设置的大小;3 t& |, w9 \$ P0 i6 ]2 m3 |% O
First_MaxLotSize — EA 将第一个主订单增加到的最大值。如果要放置的第一个主订单的大小大于此行中指定的值,则 EA 会根据 p.3.1 放置第一个主订单。EA 设置。+ k N- X, g: D0 Q" o5 m- K
Fast MA和Slow MA之间距离的设置# b2 A+ C: Q+ x# g6 Z% O
距离— Fast MA 和 Slow MA 之间打开订单所需的距离,以 EA 所附图表的点数衡量。9 U: Q; {. w1 P% u8 Z* A) X
true — 距离模块已激活(打开),
, H* H; I9 v& j* m3 H2 `4 Pfalse — 距离模块已停用(关闭)。1 ]0 I: h2 A' S# z
点数利润 — TP
. n4 }' H! C1 G0 q$ `TakeProfit — 关闭一个订单或一组订单时期望的利润值(以点为单位)。- _) @3 K! G! n- _
true — TakeProfit 模块已激活(打开),: k5 a; |) y% {% c6 ]
false — TakeProfit 模块已停用(关闭)。
' h$ X y) h0 F$ w& V9 N, L平均方法 — Varyant — TakeProfit 水平平均方法的变体(可在 1 或 2 之间选择)。
% M+ a; ~4 c- I7 B变体 1.水平的平均根据此公式发生:(开盘价 1 + 开盘价 2 + 开盘价 3 + 开盘价 N)/ N + 获利水平,在 EA 设置中指定。! }/ p8 `$ {9 K* ?! M
变体 2.水平平均发生如下:EA 确定每个头寸的“无损水平”(考虑每次掉期和订单佣金,由 EA 在止盈水平平均时打开)并添加 Take EA 设置中指定的利润水平到该价格。2 [, c$ B9 G" ]! `
止损点 — SL
~9 n: m5 O/ bStopLoss ― 以点为单位的损失值,如果价格向相反方向(打开的订单)移动,则可能会收到。! o1 b+ H5 ?! r- c1 h
true — 止损模块被激活(打开),5 v. w, R5 ]8 z1 ^1 w" t
false — 止损模块被停用(关闭)。
/ o$ C1 z6 k) ]7 g: O6 A订单之间的距离 (Step Up) — 订单网格中打开的订单之间的距离(间隔),沿着“趋势”设置。3 Y. z N* h( I- w, Z0 Y
' t' | G( Y S3 \8 R# ftrue — Step Up 模块已激活(打开),* f4 e2 V) j# U0 v5 l" W+ N1 U% O
false — Step Up 模块已停用(关闭)。
5 D6 R5 W6 J0 M/ z' w4 l8 D5 X' D8 E) \) `* U
9.1. 追踪止损— 可移动的止损水平。
( X; X9 V4 `" Z4 r$ L/ _# G
% L' D. z5 o+ y1 T0 p' m! ^true — 追踪止损模块已激活(开启),
' x1 m' U0 x/ p. T' n5 P( I* Sfalse — 追踪止损模块已停用(关闭)。
% |) k# y2 ~) ]8 Y! E- t$ V p$ i& s) JDistance between orders (Step Down) ― 订单网格中打开的订单之间的距离(间隔),根据“趋势”设置。5 i1 B5 _+ i6 s Z3 v2 r3 r
% f" @0 w v2 t4 b$ J+ Htrue — Step Down 模块已激活(打开), Z! t8 R/ E( B
false — Step Down 模块已停用(关闭)。0 A' D" `- l* f3 L# e1 p1 {; K
1 I9 Q/ a' @2 D" u4 o: h
EA 订单的标识符——Magic(幻数) ——该参数帮助 EA 在一个终端中交易时识别他们的订单。
" b$ l$ Z p8 }
$ Q" g$ y% s: r) @徽标和数据输出 — ShowTableOnTesting — 该参数允许打开和关闭表格(今天、昨天的收益等):true - 打开,false - 关闭。8 c- p0 W, P. ]4 k4 U8 u' F
/ @/ o" O9 q( N+ R时间范围― 确定 EA 将使用哪个图表时间范围进行交易的程序代码。
+ f0 ^) {4 ]4 ~ Y" z当前 ― 在终端中指定的图表时间范围。
# I( G, Y2 A) y4 _6 PM1、M5、M15、M30、H1、H4、D1、W1、MN1 — 固定时间范围。
, B, S( s7 o4 ?- k0 ?交易时间― 用于在特定时间打开第一个主订单的模块。
, Z' g/ ]; E: ^9 [0 i% }. C6 Z6 l( l% e; n: H2 H& Z
true — 交易时间模块已激活(打开),& c$ v4 Y a% z& Z# |
false — 交易时间模块已停用(关闭)。. F# _1 i- E4 H( T
" {3 p) f) J- s/ ]+ bTurn ― 根据第一个主订单的止损水平在相反方向下限价订单。. J, u# S0 K6 u% p2 f
$ Z5 g$ _! U. ]9 ~true — Turn 模块已激活(打开),
* Q: @. M0 n# Z" S+ Mfalse — Turn 模块已停用(关闭)。
. c: j% R" }2 mTurn ― 放置相反挂单的距离。6 k& J6 }% d* b/ K
LotMultiplicator — 负责 Turn 模块所下订单的增加比率的参数,以防先前的订单因亏损而平仓(通过止损平仓,“手动”或简单地因亏损而平仓);
& b6 @* `7 [, LTurn_TakeProfit — Turn 模块所下订单的获利水平;7 b3 d4 Y7 ?/ D5 N
Turn_LotSize — 如果 Turn 模块要放置的订单超过该行中设置的值,则该订单将使用新的获利水平,该水平由 Turn 模块在下一行指定,但不在 Turn_TakeProfit 行中指定;+ J' z U/ \8 V+ M; ~) t" z4 A
Turn_LotSize_TakeProfit — Turn 模块订单的新获利水平,以防要放置的订单超过 Turn_LotSize 行中指定的大小;
2 [* c5 r9 {- k/ FTurn_MaxLotSize — Turn 模块下单的最大尺寸。如果要下的订单超过指定的大小,则 EA 不会下订单。& f( w6 S, v0 B& L3 Z$ y, P9 F
9 z; P2 x: z, {0 |' } |
|