请观看如何免费下载自动交易
请在Facebook上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
发布者:
Vladimir Karputov
显示:
2027
等级:
(17)
已发布:
2018.03.16 14:50
NTK 07.mq5 (83.5 KB) 预览
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

思路的作者: Nikolay, mq5 代码作者: barabashkakvn.

这个 EA 交易管理买入和卖出仓位(使用跟踪止损),并且可以设置止损买入和止损卖出订单。

参数

  • Fixed Lot - 挂单手数不是计算得来的,而是使用了人工指定的值 (Money management(资金管理) 参数应当设为 Fixed Lot(固定手数)).

  • Max total lots -仓位和挂单的总交易量 (假定我们有了买入0.03,买入0.04,卖出0.09 和止损买入 0.05,则总交易量为 0.21);

  • Max total Position - 仓位和挂单的最大数量 (假定我们有了买入0.03, 买入0.04, 卖出0.09 和 止损买入 0.05,则总数量为4).

  • Net step - 挂单设置在距离当前价格 Net step 的地方,Net step 不能等于 "0".

  • Take Profit - 如果 Take Profit 设为 "0", 参数就被完全禁用,也就是说,在触发了挂单之后,结果的仓位中获利总是等于 "0".

  • Stop Loss - 如果 Stop Loss 设为 "0", 结果仓位的止损可以使用一种跟踪止损方法来进行修改。

    应该有下面的限制: Stop Loss 不能为0,如果 Money management 参数不是 Fixed Lot

    如果 Stop loss 设为0 (Money management 必须总是等于 Fixed Lot) 并且只有一种 Trailing Stop 方法被启用,这种跟踪将会用作盈亏平衡功能: 仓位的第一个止损将会设在获利区域。

  • Lot increase rate - 后面仓位的手数倍数. 每个后续仓位的交易量计算为 Lot increase rate * 前一个仓位的交易量.

  • 仓位的跟踪

    在 EA 交易中实现了多种修改止损的方法 (几种跟踪止损类型). Trailing Stop 可以是独立的跟踪类型 (Trailing Stop 不等于0, Trailing at High and Low 设为 false 并且 Trailing at Moving Average 设为 false) 或者被用于 (作参数) 在一种跟踪方法中 (Trailing at High and Low 或者 Trailing at Moving Average). 所以, Trailing Stop 不能设为0。

    如果您偶然选择了(除了 Trailing Stop 之外)两种或者更多中跟踪,将会有警告消息弹出,而EA将会从图表上卸载。

    在最高价和最低价跟踪

    • 在每次迭代时,EA会检查仓位是否有利润:
      • 对于买入仓位,EA检查是否可能在柱1最低价设置止损: 如果仓位在柱1的最低价水平有利润,则止损就设置在柱1的最低价;
      • 对于卖出仓位,EA交叉是否可能在柱1最高价设置止损: 如果仓位在柱1的最高价水平还有利润,则止损就设在柱1的最高价。

    在移动平均处跟踪

    • 在每次迭代时,EA检查仓位是否有利润。
    • 当在柱0上和移动平均值之间的距离等于或者大于 Trailing Stop + Trailing Step (在这个EA中, Trailing Step 在用户处被隐藏,永远等于 Trailing Stop 的一半), 就会在柱0生成自动命令来根据移动平均值修改止损值。

    Trailing Stop - 经典的跟踪止损。

    • 在每次迭代时,EA检查仓位是否有利润。
    • 当利润点数等于或者大于 Trailing Stop + Trailing Step (在这个EA中, Trailing Step 在用户处被隐藏,永远等于 Trailing Stop 的一半), 就会自动生成命令来修改止损,与当前价格距离为 Trailing Stop
    • 如果价格移动增加了仓位的利润,止损会与价格一起移动。
    • 否则,仓位就不会被修改。这样,交易仓位的利润就自动锁定了。

  • Money management - 仓位(或者挂单)的交易量可以使用下面三种方法的一种进行计算:

    • Fixed Lot - 固定值 (在 Fixed Lot 参数中人工设置);
    • Fixed Margin - 每次交易的风险 (Risk in % for a deal 参数)是可用保证金的百分比;
    • Fixed Risk - 每次交易风险百分比 (Risk in % for a deal) 。

  • Risk in % for a deal - 每次交易的风险百分比 (只用于 "Fixed Margin" 和 "Fixed Risk)

  • Min FreeMargin - 最小的可用保证金数量. 如果可用保证金数小于 Min FreeMargin, EA 就不再设置新的挂单,并且停止管理仓位。

  • Moving Average - 移动平均指标的参数, 用于 Trailing at Moving Average.

  • Hour start, Hour end - 工作时间设置 (EA 会从 Hour startHour end 进行工作), 只在没有仓位和挂单的时候使用。

  • Period in bars - 设置初始挂单时计算的柱数 (当时没有仓位), 在Period in bars参数中设置的范围的最高价和最低价. 对于范围 (Type of trade),可以选择两种类型的交易. "1" 和 "2" 是一样的值,

  • Type of trade - 交易类型。这个参数只有没有仓位或者挂单的时候有用。可以使用两种类型:

    • trade from edges of range - 从范围的边界进行交易;
    • trade from the centre of range - 从范围的中间进行交易,中间计算方法是 (High + Low) / 2.0 +-1 points (four-digit quotes).

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/19914

Percentage_Crossover_Channel_EA Percentage_Crossover_Channel_EA

在基于 Percentage_Crossover_Channel 指标的通道内进行交易的 EA。

Diff_TF_MA_EA Diff_TF_MA_EA

一个基于 Diff_TF_MA 指标的 EA 交易。

TimeEA TimeEA

一个简单的 EA 交易,会在 EA 参数中指定的时间开启指定类型的仓位。仓位在相应参数指定的时间关闭。

TrailingTakeProfit TrailingTakeProfit

这个EA交易不进行交易,它是设计用于对开启仓位进行简单的跟踪获利的。