系统交易

gpfTCPivotLimit:MetaTrader 4的高效交易系统
MetaTrader4
gpfTCPivotLimit:MetaTrader 4的高效交易系统

   gpfTCPivotLimit 是一个基于日内时间级别的交易系统,主要依赖于支撑与阻力位的指标。   交易策略如下:该系统主要在小时图上进行交易;在当前日期的0点后,我们会计算出支撑位和阻力位,包括Pivot、Resist1、Resist2、Resist3、Support1、Support2、Support3;当小时蜡烛(T-2)测试支撑位(Support n)并且小时蜡烛(T-1)收盘在该支撑位之上时,我们会选择买入,并将止损设置在支撑位(Support n1),止盈在阻力位(Resist n);T 是当前小时的时间;我们会使用追踪止损来将止损移动到平仓点;反之,当小时蜡烛(T-2)测试阻力位(Resist n)且蜡烛(T-1)收盘在该阻力位之下时,我们会选择卖出,并将止损设置在阻力位(Resist n1),止盈在支撑位(Support n)。   以下是一些入场参数的说明:变量 TgtProfit 设置止损和止盈的级别,可以取值从1到5;如果 TgtProfit = 1,那么测试的级别(买入/卖出)为 Resist1/Support1,止损(买入/卖出)为 Resist2/Support2,止盈(买入/卖出)为 Support1/Resist1;如果 TgtProfit = 2,那么测试的级别(买入/卖出)为 Resist1/Support1,止损(买入/卖出)为 Resist2/Support2,止盈(买入/卖出)为 Support2/Resist2;如果 TgtProfit = 3,那么测试的级别(买入/卖出)为 Resist2/Support2,止损(买入/卖出)为 Resist3/Support3,止盈(买入/卖出)为 Support1/Resist1;如果 TgtProfit = 4,那么测试的级别(买入/卖出)为 Resist2/Support2,止损(买入/卖出)为 Resist3/Support3,止盈(买入/卖出)为 Support2/Resist2;如果 TgtProfit = 5,那么测试的级别(买入/卖出)为 Resist2/Support2,止损(买入/卖出)为 Resist3/Support3,止盈(买入/卖出)为 Support3/Resist3;变量 isTradeDay 定义了开放头寸的关闭方式。如果 isTradeDay = true,开仓会在交易日结束时强制关闭;否则,头寸会在止损或止盈时关闭;如果将变量 isTrace 设置为 True,则文件会记录所有可能的调试信息,以便于调试交易系统。   测试结果表明,并不是所有交易对在使用该策略时都能达到正收益,但通过追踪止损的使用,通常能实现正收益。

2006.01.25
gpfTCPivotStop:MetaTrader 4 的智能交易系统
MetaTrader4
gpfTCPivotStop:MetaTrader 4 的智能交易系统

    gpfTCPivotStop 是一个基于日内水平突破的交易系统,利用指标 Pivot 来实现盈利。    交易策略如下:在小时图上进行交易;在当前日期的0点后,计算 Pivot、阻力位 Resist1、Resist2、Resist3 和支撑位 Support1、Support2、Support3;若一个小时的蜡烛线收盘在 Pivot 之上,则进行买入,止损设置在支撑位 Support(n),获利目标设在阻力位 Resist(n);采用跟踪止损,将止损调整到盈亏平衡点;若一个小时的蜡烛线收盘在 Pivot 之下,则进行卖出,止损设置在阻力位 Resist(n),获利目标设在支撑位 Support(n)。    下面解释一些入场参数的含义:变量 TgtProfit 表示止损和获利的水平,取值应为 1、2 或 3;若 TgtProfit = 1,则止损(买入/卖出)为 Resist1/Support1,获利(买入/卖出)为 Support1/Resist1;若 TgtProfit = 2,则止损(买入/卖出)为 Resist1/Support1,获利(买入/卖出)为 Support2/Resist2;若 TgtProfit = 3,则止损(买入/卖出)为 Resist2/Support2,获利(买入/卖出)为 Support3/Resist3;变量 isTradeDay 用于定义开仓后如何处理持仓。如果 isTradeDay = true,则当天结束时强制平仓;否则,持仓将在止损或盈利时平仓;设置变量 isTrace = True 时,会记录所有调试信息以便于调试交易系统。    测试结果显示,并非所有货币对在使用这一突破策略时都能达到盈利水平。    在接下来的版本中,该交易系统将基于同一水平的突破进行优化。

2006.01.19
移动平均线:MetaTrader 4 的交易助手
MetaTrader4
移动平均线:MetaTrader 4 的交易助手

大家好!今天我们来聊聊移动平均线(Moving Average),这可是在外汇交易中非常重要的工具,尤其是在 MetaTrader 4 平台上,它是许多交易者的最佳助手。移动平均线交易系统主要依靠一条移动平均线来生成交易信号。当最新的蜡烛(bar index 等于 1)价格与移动平均线相交时,系统就会执行开仓或平仓操作。我们的交易手数会根据一个特定算法进行优化。这个专家顾问会分析移动平均线与市场价格图表之间的关系,具体的检查是通过 CheckForOpen() 函数来完成的。如果移动平均线在蜡烛中处于开盘价之上而平盘价之下,系统就会开仓做多(BUY);反之,如果移动平均线在开盘价之下而平盘价之上,系统就会开仓做空(SELL)。在资金管理方面,我们采用的是一种简单但有效的方法:每个交易头寸的大小会根据之前交易的结果进行调整。这个算法是通过 LotsOptimized() 函数实现的。基本手数的计算基于可接受的最大风险:lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);这里的 MaximumRisk 参数表示每笔交易的基本风险百分比,通常在 0.01(1%)到 1(100%)之间。例如,如果可用保证金(AccountFreeMargin)为 $20,500,而资金管理规则要求风险为 2%,那么基本手数将为 20500 * 0.02 / 1000 = 0.41。控制手数的精确性非常重要,结果需要规范化为允许的值,通常允许以 0.1 为步进的分手数交易。交易量为 0.41 的订单将不会被执行。为此,我们使用 NormalizeDouble() 函数,精确到小数点后 1 位,最终基本手数将规范为 0.4。通过可用保证金来计算基本手数,可以根据交易成功率增加操作的手数,也就是进行再投资。这是提高交易有效性的基本机制。DecreaseFactor 是在连续亏损后减少手数的比例,正常值为 2, 3, 4, 5。如果前面的交易出现亏损,后续的手数会按 DecreaseFactor 的比例减少,以便度过亏损期。这是资金管理算法的主要因素。思路很简单:如果交易成功率提高,系统将以基本手数最大化盈利;但如果出现亏损,系统会“减速”,直到再次产生正收益的交易。若要禁用“减速”功能,只需将 DecreaseFactor 设置为 0。系统将根据交易历史中连续亏损的交易次数来重新计算基本手数:if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);这样,算法能够有效降低由于连续亏损而带来的风险。最后,在函数结束时,手数会强制检查是否符合最小允许手数的标准,以避免计算结果为 0 的情况:if(lot

2005.11.29
首页 上一页 116 117 118 119 120 121