信号交易系统
江湖信号 合作信号
差价合约交易具有因杠杆而迅速亏损的重大风险。 因为在差价合约交易中风险因素很高,所以在这种交易中只能使用真正的“风险”资金。 如果您没有可以承受的额外资本损失,则不应在差价合约市场进行交易。差价合约交易涉及巨大的亏损风险,从来没有设计“安全”的交易系统,也没有人能够保证利润或免受损失。 过去的表现并不预示未来的结果。
每个信号提供者获得或失去的点数可能基于迷你或标准手的交易。因此,选择交易与信号提供商所使用的手数不同的客户的表现将有所不同。给出的所有业绩结果仅包括已完成交易的结果,并不反映未平仓头寸的损益。由于各个交易对手提供的买/卖报价不同,如果客户维持其账户的差价合约交易商不同的买/卖价格或由于市场的波动,则可能无法在客户账户中执行在信号提供者账户中执行的所有交易。 同时由于各个交易对手的账户类型不同,客户的盈亏可能与信号提供者不同。客户可能由于账户资金不足而无法交易建议数量的合约。 因此,描绘的结果并不表示一个账户可能已经交易了所有交易者的信号或合约。客户帐户的交易可能与本在线系统上显示的结果会有很大差异。
过去的交易表现并不预示未来的交易结果。 请注意,客户的帐户可能未遵循信号提供者提供的所有交易信号,或未交易建议数量的合约。这些帐户遵循的信号提供者的数量也可能有所不同。 因此,取决于交易的信号和合约的数量,每个帐户的交易结果可能会有很大差异。
使用信号指标的简单交易系统
在前往交易系统测试之前,有一个重要细节应予澄清。如果SignalBar输入变量值等于零,则“EA 交易”会从当前柱获取交易执行信号。但是,在指示趋势(与前柱此信号反向)的变动方面,当前柱信号并不可靠。当前柱上的信号会出现和消失,同时趋势又会向着此类信号的相反方向移动很长一段时间。如根据所有订单号测试“EA 交易”,启用可视化且 SignalBar 变量等于零,则很容易看到这一点。ASCtrend 指标运行可视化为此类情况下的这一事实提供了一个非常明确的证据。
再说一次,只有 "Every tick" (每一订单号)模式适用于利用某种从当前柱接收到的信号进行优化的“EA 交易”。如果要从已经关闭的任何其它柱接收,则 "Open prices only" (仅开仓价)模式足以胜任。如此则极大地加快了交易系统行为分析的速度,而且质量无任何重大损失。
那么,我们利用 EUR/USD 上的默认参数,执行“EA 交易”从年初到 12 月初的测试:
图 5. 利用 EUR/USD H1 上的默认参数测试 Exp_ASCtrend “EA 交易”信号交易系统 的结果
在对策略测试仪中的“EA 交易”参数完成些微更改之后,我们就能非常轻松地找到“EA 交易”参数针对现有历史数据最适当的组合:
图 6. 利用 EUR/USD H1 上的更好参数优化 Exp_ASCtrend “EA 交易” 之后的测试结果
比如说,从 2011 年 1 月到 5 月,EUR/USD H12 图表上呈上升趋势。而且于早期阶段即可轻松检测得到:
图 7. EUR/USD H12 图表(2011 年 1-5 信号交易系统 月)
利用默认设置、以这种时间间隔来测试“EA 交易”也会很有趣,只买入及使用 5% 入金的可能性 (MM=0.05)信号交易系统 。 此为利用此类参数于 H1 图表上测试“EA 交易”的结果:
图 8. 利用默认参数于 EUR/USD H1 上测试 2011 年 1-5 月 Exp_ASCtrend “EA 交易” 的结果(仅买入持仓,MM=0.05)
搭配另一指标使用的交易模块的修改
本文本应到此结束,但是 MetaEditor 又增加了基于即用型交易模块生成“EA 交易”的可能性。创建此类模块的过程要考虑到此处所述的所有材料,非常复杂,需要单独研究。因此,我会将重点放在已经创建的、与我曾建议的交易系统完全类似的交易模块上。之后,我还会根据具体的信号指标(且避免不必要的细节程度),继续讲解上述模块修改的详情。
我们假定现在已经拥有信号系统交易模块的集合(MySignals.zip),而且想要创建针对任何特定货票的类似模块。令其成为 BykovTrendSignal.信号交易系统 mq5 指标 - 一种典型的信号指标。首先,我们应从此集中找到该指标最准确的类似模块 (Indicators.zip)。我们通过观察确定本文中的第一个指标 (ASCtrend) 与其最为相似。 因此,我们会使用此指标的交易模块进行修改。
鉴于其在目标程序代码中的使用,此指标本身 (BykovTrend) 亦有一组输入参数:
而且,我们需要利用指标缓冲区指数存储执行交易的信号。本例中为:0 - 卖出信号,及 1 - 买入信号。
现在,我们知道了应该用哪类模块进行修改,我们从 \MQL5\Include\Expert\Signal\MySignals\ 文件夹中复制出名为 BykovTrendSignal.mqh 的文件,然后再用 MetaEditor 打开。用过的代码中有一个经常碰到的表达式"ASCtrend"(之前的指标名称)。应替换为新指标的名称 - "BykovTrend"。想完成此操作,则同时按下 "Ctrl" 与 "H" 键,并做出必要的改动:
图 9. 替换交易模块代码中的指标名称
首先,我们应在 MQL5 向导交易信号类描述被注释掉的块中做出一些改动:
两个指标包含的RISK输入变量相同,因此可将其保留。但两个指标中的默认值却不同。实际上,这种差异并不重要,可以不予改动。有关 SSP 变量的注释行已经添加:
现在,与输入参数变更相关的所有内容,均应体现于CBykovTrendSignal交易信号类的描述当中。我们已在设置参数中声明了新全局 global m_SSP类变量行:
此后,我们可继续研究 BykovTrend 指标初始化块 - BykovTrendSignal::InitBykovTrend()。此新指标拥有的输入变量数目有所不同,因此,声明的输入参数数组的尺寸亦会有所区别:
ASCtrend与BykovTrend两个指标中的每一个,都拥有两个指标缓冲区。而缓冲区的函数则完全一致。零缓冲区用于存储卖出信号,而指数为1的缓冲区则用于存储买入信号。所以,传递CBykovTrendSignal::LongCondition()和 CBykovTrendSignal::ShortCondition() 交易信号的函数模块中无需任何改动,而交易信号模块修改方面的工作亦可视为已完成。
但总体而言,所有信号指标都有差异,因此,不同信号指标的此类区块之间可能存在着相当大的差别。MySignals.zip 交易模块存档与相应的 Indicators.zip 存档中都包含着创建各种指标的足量示例。检查几次之后,即有可能找到替换过程的细节,以及可能的相应代码版本。
现在,我想将重点放在交易信号模块的 Ind_Timeframe 输入变量上。此变量允许将某个适用的时间表下载到指标。但是,生成的“EA交易”却会根据其被指定的时间表运行。也就是说,Ind_Timeframe 输入变量时间表永远不得超过“EA 交易”运行所赖之图表时段,才能让模块正常运行。
最后,我想告诉大家创建交易信号模块的另一个独特性。自定义枚举有时是在基本指标代码中作为模块输入变量类型实现的。比如说,Smooth_Method自定义枚举就被用作 Candles_Smoothed 指标的 MA_SMethod 变量类型:
此类情况下,该类别的输入变量和交易信号模块中的所有相关元素(Candles_SmoothedSignal.mqh),均应在 int 和 uint 类型变量中进行修改。而且,亦应执行直至“EA 交易”输入函数及必要输入变量类型(ExpM_Candles_Smoothed Expert Advisor) 的反向自定义枚举流程,以方便此输入变量在成品“EA 交易”已经生成的代码中的使用。
本例中是利用 Signal__MA_SMethod 输入变量来完成。
如果您在编辑器中将两个代码版本(ASCtrendSignal.mqh 与 BykovTrendSignal.mqh)都同时打开(一个放在左侧,另一个在右侧),并仔细对比两个代码版本,即可大幅提高代码修改的速度。
我已于本文随附的 Experts.zip 存档中放入了基于信号交易系统的足量“EA 交易”示例,从而让“EA 交易”的新手创建人员能够轻松掌握编写此类代码的所有功能,或者至少也能使用那些采用非常流行的指标的即用型“EA 交易”。
所有随附的“EA 交易”示例,还都会作为交易模块呈现,提供给那些想利用交易策略生成器作为其自用交易系统基础的人们。上述模块均位于 MySignals.zip 中,而基于它们的交易系统则位于 Expertsez.zip 中。“EA 交易”中使用的指标放在 Indicators.zip 中。文件的解压路径如下:
- Experts.zip:"\MQL5\Experts\"; 信号交易系统
- Expertsez.zip:"\MQL5\Experts\";
- MySignals.zip:"\MQL5\Include\Expert\Signal\MySignals\";
- Indicators.zip:"\MQL5\Indicators\"; 信号交易系统
- SmoothAlgorithms.mqh:"\Include\";
- TradeAlgorithms.mqh:"\Include\".
SmoothAlgorithms.mqh是Indicators.zip中某些指标编译的必需文件,而 TradeAlgorithms.mqh 则是 信号交易系统 Experts.zip 中所有“EA 交易”编译的必需文件。
5分钟和30分钟共振期货日内信号交易系统
MA5:MA(CLOSE,5);MA10:MA(CLOSE,10);Ma20:MA(CLOSE,20);Ma30:MA(CLOSE,30);
PART LINE (ma30,ma30 ref(ma30,1) ,RGB(255,0,0)),LINETHICK3;
STICKLINE(Ma30ref(Ma30,1));xx:=BARSLAST(Ma30xx,LLVALL(l)*0.995,LLVALL(l)*0.99,10,10),color006600;
STICKLINE(Ma30,ref(Ma30,1) ,LLVALL(l)*0.995,LLVALL(l)*0.99,10,10),colorred;STICKLINE(信号交易系统 Ma30=ref(Ma30,1) and ddo and c3 o)and o2 c ;t2:=MAX(c ,0 );w1:=c-ABS(c-o)*0.37;STICKLINE( t,w1,t2,7,0),COLOR6633CC;
信号交易系统
从可信任的来源
获得免费的MT4交易信号
另外,VT Market的合作伙伴Trading Central可让我们的客户在拥有真实账户之后,透过客户后台直接登录,便可探索高达35,000笔以上充满交易信息的世界。
VT Markets 精选 交易信号提供商
免责声明: VT Markets不会为客户提供自己的交易信号。任何第三方机构所提供的信号服务均不应被视为由VT Markets给予的投资建议。您依循交易信号的建议所采取的任何行为,后果皆需自行承担。
加入交易者行列
版权所有©2022 VT Markets PtyLtd。保留所有权利。
保证金金融衍生品及 CFDs 差价合约交易具有高风险,未必适用所有投资者。请仔细斟酌您的交易目的,财务状况和承担风险的能力,您的损失有可能超过您的初始投资金额,投资前应当知悉有关保证金的一切风险。请详细阅读我们的法律文件,并确保您在做出任何交易决定之前完全了解可能承受的风险。
VT Markets受英国开曼群岛金融管理局(CIMA),证券投资商业法(SIBL)第1383491号授权并监管
注册地址:Artemis House, 67 Fort St, PO Box 2775, Grand Cayman KY1-1111.
VT Markets| SIBL号1383491
适用于通过vtmarkets-zh.com 和vtmarkets.com加入的客户
联系邮箱 [email protected]
VT Markets隶属于
Vantage Global Prime Pty Ltd
受澳大利亚证券和投资委员会(ASIC)的监管AFSL No. 428901
注册地址: level 29, 31 Market St, Sydney, New South Wales, 2000, Australia.
VT Markets| AFSL编号428901
适用于通过vtmarkets.com.au加入的客户
电子邮件 [email protected]