跟单EA MT4
外汇MT4_EA智能系统MQ4编写详细举例
创建一简易的人工智能系统举例说明让我们将MACD指标同获利能力、支撑移动止损位以及操作安全等因素结合起来考虑以创建人工智能系统。
下面的例子是开立和控制一个单独的头寸。
<BR><BR>交易原则:<BR><BR>. 做多(买入)信号——即当MACD 指针是在0轴在以下,为向上的趋势并与向下的信号线相交(金叉) <BR><BR>. 做空(卖出) 信号——即当MACD 指针是在0轴以上,为向下趋势并与向上的信号线相交(死叉) <BR><BR>. 多头平仓信号——即执行限价平仓指令或移动止损指令以获得利润或者在MACD指针与信号线相交(MACD指针在0轴以上且为向下趋势并与向上趋势的信号线相交)时平仓 <BR><BR>. 空头平仓信号——即执行限价平仓指令或移动止损指令以获得利润或者在MACD指针与信号线相交(MACD指针在0轴以下且为向上趋势并与向下趋势的信号线相交)时平仓 <BR><BR>重要提示: <BR><BR> 在我们分析MACD指标时,为了排除MACD指示中一些并不重要的变化情况(即图表中的细微“小丘”),下面我们另外引荐一种控制“小丘”大小的方法: <BR><BR>指示范围至少为5个最小单位(5点,即USD/CHF=0.0005,USD/JPY=0.05) <BR><BR><BR><BR>第一步:撰写人工智能系统说明 <BR><BR><BR>将鼠标指在导航窗口的人工智能系统,点击鼠标右键在弹出的菜单中CREATE A NEW EXPERT(创建一个智能系统)命令. 正在初始化的WISARD OF EXPERT ADVISOR 会问你是否要输入数据.在弹出的窗口中你得写下NAME名字(人工智能系统的名字) 、AUTHOR作者、与你的网址链接、须知—人工智能系统的测试样本.你也可以设定你想要的Lots(交易单位), Stop Loss(止损点), Take Profit(平仓) 和 Trailing Stop(移动止损)的默认值. <BR><BR><BR><BR>第二步:创立程序的初步结构 <BR><BR>测试系统的代码仅仅为几页纸,即使是这几页纸仍然是难以理解的,特别是在我们这些不是专业的程序员的眼里是非常难的.不然,我们也不必写下这段说明,不是吗? <BR><BR>为了了解标准的人工智能系统的结构,我们来看一下下面的解释: <BR><BR>1.初始资料检查 <BR><BR>.检查图表,图表上棍的数量 <BR><BR>.检查外部变数值:LOTS,S/L,T/P,T/S <BR><BR>2.设置为快速数据存取的内部变量 <BR><BR>3检查交易终端—是否有空间?如果有,然后 <BR><BR>.检查账户中的可用资金 <BR><BR>.是否可以做多(买入) <BR><BR>.建仓买入和平仓 <BR><BR>.是否可以做空(卖出) <BR><BR>.建仓卖出和平仓 <BR><BR>4. 定期控制已开立的头寸<BR><BR>..若是多头合约 <BR><BR> .是否要平仓 <BR><BR>.是否要重新设定移动止损点 <BR><BR>..若是空头合约 <BR><BR>.是否要平仓 <BR><BR>.是否要重新设定移动止损点 <BR><BR>这是相对简单的样板,仅仅只有4个主要单元. <BR><BR>现在我们来试着逐渐将结构表中的每一部分的代码做出来: <BR><BR>1.初始资料检查 <BR><BR>这一块的数据通常是经过稍稍修改后从一个系统移至另一系统的—这实际上是一单元检查. <BR><BR>If Bars<200 Then Exit; // the chart has less than 200 bars - exit <BR><BR>If TakeProfit<10 Then Exit; // wrong takeprofit parameters 收益小于10点退出<BR><BR>2设置为快速数据存取的内部变量 <BR><BR>在程序代码中,有的是经常需要存取的指示值和操做的计算值.为了简化译码和加速存取,数据最初便在内部变数中嵌套进去<BR><BR>.MacdCurrent=iMACD(12,26,9,MODE_MAIN,0); // MACD value on the current bar <BR><BR>MacdPrevious=iMACD(12,26,9,MODE_MAIN,1); // MACD value on the previous bar <BR><BR>SignalCurrent=iMACD(12,26,9,MODE_SIGNAL,0); // Signal Line value on the current bar <BR><BR>SignalPrevious=iMACD(12,26,9,MODE_SIGNAL,1);//Signal Line value on the previous bar<BR><BR>MaCurrent=iMA(MATrendPeriod,MODE_EMA,0); // moving average value on the current bar <BR><BR>MaPrevious=iMA(MATrendPeriod,MODE_EMA,1); // moving average value on the previous bar <BR><BR>现在,我们以在程序中简单的写入字符MacdCurrent代替晦涩难懂的iMACD(12,26,9,MODE_MAIN,0).所有的人工智能系统中的变量都依据MQL II语言进行基本的解释. <BR><BR>var: MacdCurrent(0), MacdPrevious(0), SignalCurrent(0), SignalPrevious(0); <BR><BR>var: MaCurrent(0), MaPrevious(0); <BR><BR>MQL II语言还另外推出一种的用户自定义变量,它可以在程序外设定而无须任何系统程序下的源程序正文的参考.这个特点使程序更具灵活性MATrendPeriod变量就是一个这种类型的用户自定义变量,因此,我们在程序的开头加入这段说明. <BR><BR>defines:MATrendPeriod(56); <BR><BR ><BR ><P>3. 检查交易终端是否有空间?如果有,然后 <BR><BR>在我们的人工智能系统中,我们只能使用现时头寸而不能操作延迟的买卖盘.为了安全起见,我们介绍一种核对过去交易终端已下买卖盘的程序. <BR><BR>If TotalTrades<1 then // no opened orders identified <BR><BR>{ <BR><BR>3.检查: 账户的可用资金……. 在分析市场状况之前最好先检查一下你的账户的资金情况, 以确保账户中有开立头寸的资金. <BR><BR>If FreeMargin<1000 then Exit; // no funds – exit <BR><BR><BR>. 是否可以做多(买入) <BR><BR> 买入的条件信号:MACD指标在0轴以下,为向上趋势且与向下趋势的信号线相交。
MT4平台EA交易程序
周期选择小时级别,小时级别属于不短不长的周期,稳定性十分强。
单数:建议偶数倍,这样在有较大盈利时,可以先只赢一部分,让另一部分盈利继续
大家也可以选取其它 周期 或均线,选择短期的交易 比如15分钟 60均线。
安装方法 : 前两个是EA指标安装EA放置在文件夹里,后一个是指标,安装指标放置。
后重启软件 运行 EA 再把报警指标添加到图表参数ቤተ መጻሕፍቲ ባይዱ置60(就是价格穿越60均线会报警
,来提示,当然这个指标也可以不安装。)
优化策略 : 本EA 精髓,就是利用价格穿越 均线多少点数来做单。
MT4自带的EA详解(MA和MACD)
1、MT4 自带EA(MA)解析与实战分析2、MT4 自带EA(MACD)解析与实战分析1、MT4 自带EA(MA)解析与实战分析一、均线穿越交易系统EA详解MT4 平台自带了一个自动交易的EA 指标,那就是Moving Average ,下面详细解释该系统每条语句的功能说明,以便深入认识EA 的编程内核。
//+------------------------------------------------------------------+//| Moving Average.mq4 |//| Copyright ?2005, MetaQuotes Software Corp. |//| / |//+------------------------------------------------------------------+#define MAGICMA 20050610//定义本EA 操作的订单的唯一标识号码,由此可以实现在同一账户上多系统操作,各操作EA 的订单标识码不同,就不会互相误操作。
凡是EA 皆不可缺少,非常非常重要!extern double Lots = 0.1; //每单的交易量extern double MaximumRisk = 0.02;//本系统最大风险系数,即可以动用总资金的2%extern double DecreaseFactor = 3; //下跌因素个数extern double MovingPeriod = 12; //均线的计算周期=12 根K 线;extern double MovingShift = 6; //均线在K 线图中向右显示的偏移量=6 根K 线;//extern 确定从外部程序输入的变量,会直接显现输入数据窗口。
数列本身不能作为外部变量。
注意:iMA 中的MovingShift(均线偏移量)是指均线指标在图上绘制时向左、右移动的K线个数,主要为了使图中结果更好看,并不会对MA 的计算数值产生变化。
【都哥说汇】【MT4指标】【EA交易】自动设置止损止盈EA说明
自动设置止损止盈EA说明:
该EA说明:当EA运行的时候,每当下单就是自动设置止损,止盈和追踪止损,我一般把该EA运行在服务器24小时运行。
该指标可以预防你不设置止损的习惯,也有效避免黑天鹅。
止损的重要性都明白。
各参数说明:
止损:就是你设置的止损点,一般是小点计算,比如300,就是30点,欧美来说就是1.1500到1.1530
止赢:就是你设置的止盈点数,比如下图的1000,就是100点
第二个止赢:是追踪止损的设置,比如500,代表就是每当盈利50个点,就追踪止损
下面的参数是,字体大小,颜色,很好理解。
百度搜索:都哥说汇,免费下载更多精彩文章和指标。
MT4平台基本操作介绍
MT4平台基本操作介绍MetaTrader 4(MT4)是一种流行的外汇和差价合约(CFD)交易平台,让交易者能够通过互联网进行在线交易。
以下是MT4平台的基本操作介绍,帮助交易者了解和使用该平台。
2.主界面MT4的主界面由多个窗口和工具栏组成。
主窗口显示交易图表和指标,可以通过右键单击进行调整和自定义。
工具栏包括常用的交易功能,如打开新订单、修改订单和关闭订单等。
3.导航窗口导航窗口位于左侧,提供了所有交易账户的概述。
它显示了已连接经纪商的所有交易品种以及已打开的交易订单和历史订单。
您还可以在这里添加自定义指标和脚本。
4.交易窗口交易窗口位于下方,默认情况下它显示了市场报价的即时报价列表。
您可以通过右键单击报价,选择交易操作,如购买(买入)或卖出(卖出)。
您还可以在这里查看实时报价图表,并对其进行技术分析。
5.下单在MT4平台上下单非常简单。
您可以从市场报价列表中选择一个品种,右键单击选择交易操作,然后输入交易数量和其他可选参数,如止损和获利水平。
最后,点击"下定单"按钮以执行交易。
6.图表和指标7.历史数据和报表8.提示和警报9.自动交易和EAMT4平台支持自动交易,可以使用专门的交易机器人或专家顾问(EA)来执行交易策略。
交易者可以编写自己的EA,或从MT4市场购买和租赁现成的EA。
通过自动交易,交易者可以在没有人为干预的情况下进行交易,并利用市场的机会。
总结:MT4平台是一个功能强大且易于使用的交易平台,非常适合外汇和差价合约交易。
通过了解和熟悉MT4平台的基本操作,交易者可以更好地利用其功能和工具,制定和执行有效的交易策略。
无论您是新手还是有经验的交易者,MT4平台都提供了丰富的功能和资源,帮助您在市场中取得成功。
mt4 ea调用指标
mt4 ea调用指标在MT4平台中,EA(智能交易系统)可以调用指标来进行交易策略的编写和实现。
要实现这一功能,需要了解MT4平台的相关操作和MQL4编程语言。
以下是MT4 EA调用指标的一般步骤:1. 首先,在MT4平台中安装并导入所需指标。
指标文件通常位于“MT4/indicators”文件夹中。
2. 在编写EA时,使用MQL4语言编写一个策略,该策略可以根据指标的信号来进行交易。
例如,如果你想要根据移动平均线交叉信号来进行交易,可以使用以下代码:```mql4input int FastMAPeriod = 5; // 快速移动平均线周期input int SlowMAPeriod = 10; // 慢速移动平均线周期input double TakeProfit = 10; // 止盈设置input double StopLoss = 5; // 止损设置int OnInit(){// 初始化指标FastMA := IndicatorBuilder(FastMAPeriod, 0, 0, 0, 0, 0);SlowMA := IndicatorBuilder(SlowMAPeriod, 0, 0, 0, 0, 0);// 检查指标是否已绘制if (FastMA.IsReady() && SlowMA.IsReady()){// 设置图表上的移动平均线Chart->Plot(FastMA.GetResult(), "FastMA", 0, 0, 0, 1);Chart->Plot(SlowMA.GetResult(), "SlowMA", 0, 0, 0, 1);}return(INIT_SUCCEEDED);}void OnTick(){// 获取指标数据FastMA_Data FastMA_Data = FastMA.GetData();SlowMA_Data SlowMA_Data = SlowMA.GetData();// 检查快速和慢速移动平均线的交叉情况if (FastMA_Data.PeriodCross(SlowMA_Data, 0, 0, 0, 0)){// 创建交易订单OrderSend(OrderType.BUY, 1000, Ask, TakeProfit, StopLoss, 0, 0, 0, 0, clrGreen);}}```3. 在编写完EA后,将其复制到MT4平台的“Experts”文件夹中。
mt4ea源码指标
mt4ea源码指标MT4 EA 指标简介MT4 EA 指标是MetaTrader 4 平台中使用的一种技术指标,用于辅助外汇交易员进行交易决策。
该指标基于历史价格数据,并根据特定的算法计算出来。
下面将对MT4 EA 指标的功能和优势进行介绍。
MT4 EA 指标的主要功能是通过分析历史价格数据来预测未来价格的走势。
它使用了多种技术分析方法,如移动平均线、相对强弱指数和布林带等。
通过计算这些指标,交易员可以获得关于市场趋势和价格波动的信息,从而制定交易策略。
MT4 EA 指标的优势在于其高度可定制性和灵活性。
交易员可以根据自己的交易需求和偏好来选择适合自己的指标。
他们可以根据不同的交易品种和时间周期来使用不同的指标,并根据市场状况进行调整。
此外,MT4 EA 指标还提供了一系列的参数设置,交易员可以根据自己的需求来调整指标的灵敏度和准确性。
MT4 EA 指标的应用范围广泛,可以用于各种交易策略。
例如,交易员可以使用趋势指标来捕捉市场的长期趋势,或者使用震荡指标来寻找市场的短期波动。
此外,MT4 EA 指标还可以用于判断买入或卖出的时机,以及设置止损和止盈的水平。
MT4 EA 指标是MetaTrader 4 平台中非常有用的工具,可以帮助交易员进行更准确的交易决策。
通过分析历史价格数据和应用技术分析方法,交易员可以获得关于市场趋势和价格波动的信息,并根据这些信息来制定交易策略。
MT4 EA 指标的高度可定制性和灵活性使其适用于各种交易策略,并可以根据市场状况进行调整。
无论是新手还是经验丰富的交易员,都可以从MT4 EA 指标中受益,并提高他们的交易水平。
反向跟单EAMT4
#property copyright "由联邦基金提供QQ:462079360"#property link "/"extern string 是否跟注释参数= "如果跟就选择true,不跟就选择false";extern bool 是否跟注释= TRUE;extern string 是否跟挂单参数= "如果跟就选择true,不跟就选择false";extern bool 是否跟挂单= TRUE;extern bool 是否跟修改定单= TRUE;extern bool 是否最优价跟单= FALSE;double gd_108 = 0.0;extern string temp1 = "----------------------------------";extern string 跟单下单量类型参数= "1 为固定下单量, 2为缩放下单量, 3为资金比例"; extern int 跟单下单量类型= 2;extern double 固定下单量= 0.1;extern string 缩放倍数参数= "下单量缩放倍数= 跟单手数/喊单手数";extern double 下单量缩放倍数= 1.0;extern string 资金比例参数= "资金比例:1000下1标准手为100%";extern double 资金比例= 10.0;extern string temp2 = "----------------------------------";extern string 是否有黄金商品参数= "如果有就选择true,否则选择false";extern bool 是否有黄金商品= TRUE;extern string 喊单帐户黄金商品名称参数= "黄金商品名称如GOLD ,XAUUSD ,SPT_GLD 等等注意字母必须是大写";extern string 喊单帐户黄金商品名称= "XAUUSD";extern string 跟单帐户黄金商品名称= "XAUUSD";int gia_220[];bool gi_224;double gd_228;double g_lotstep_236;double gd_244;double gd_252;int g_slippage_260 = 10;int g_slippage_264 = 10;int gi_268;string gs_272;string gs_280;int gia_288[];int gi_292;int gi_296;double gd_300;double gd_308;bool gi_316;int g_file_320;int g_count_324;int g_index_328;int g_index_332;int g_index_336;double gd_340;double gda_348[];double gd_352;double g_price_360;double gda_368[];double gd_372;double gd_380;double g_price_388;double gda_396[];double gd_400;double gda_408[];string gsa_412[];string gs_416;string gs_424;string gsa_432[];double g_ask_436;double g_bid_444;double gd_452;double g_point_460;double gd_468;double gd_476;double gd_484;bool g_bool_492;bool gi_496;bool g_bool_500;bool gi_504;bool gi_508;bool g_bool_512;bool g_bool_516;bool g_bool_520;int gi_524;string gs_528 = "";string gs_536 = "";string gs_544 = "";void init() {gd_484 = gd_108;g_bool_500 = 是否最优价跟单;gd_228 = 下单量缩放倍数;gs_536 = 喊单帐户黄金商品名称;gs_528 = 跟单帐户黄金商品名称;gi_524 = 跟单下单量类型;g_bool_492 = 是否跟修改定单;g_bool_512 = 是否有黄金商品;g_bool_516 = 是否跟注释;g_bool_520 = 是否跟挂单;ArrayResize(gsa_412, 100);ArrayResize(gia_288, 100);ArrayResize(gda_408, 100);ArrayResize(gda_348, 100);ArrayResize(gda_368, 100);ArrayResize(gda_396, 100);ArrayResize(gia_220, 100);for (g_count_324 = 0; g_count_324 < 100; g_count_324++) { gsa_412[g_index_332] = "";gia_288[g_index_332] = 0;gda_408[g_index_332] = 0;gda_348[g_index_332] = 0;gda_368[g_index_332] = 0;gda_396[g_index_332] = 0;gia_220[g_index_332] = 0;}if (Digits == 3 || Digits == 5) {g_slippage_260 = 10 * g_slippage_260;g_slippage_264 = 10 * g_slippage_264;gd_484 = 10.0 * gd_484;}if (g_bool_500) g_slippage_264 = 0;gi_296 = StringLen(Symbol()) - 6;if (gi_296 > 0) gs_544 = StringSubstr(Symbol(), 6, gi_296);g_lotstep_236 = MarketInfo(Symbol(), MODE_LOTSTEP);gd_244 = MarketInfo(Symbol(), MODE_MINLOT);gd_252 = MarketInfo(Symbol(), MODE_MAXLOT);if (g_lotstep_236 == 0.01) gi_268 = 2;if (g_lotstep_236 == 0.1) gi_268 = 1;g_file_320 = FileOpen("mySendOrder.TXT", FILE_CSV|FILE_READ);if (g_file_320 < 0) {g_file_320 = FileOpen("mySendOrder.TXT", FILE_CSV|FILE_WRITE);FileWrite(g_file_320, "1268019531;1;AUDUSD;10;0;0;0;1268019453;");FileClose(g_file_320);}gs_280 = FileReadNumber(g_file_320);Print("联邦基金远程本地跟单系统");ObjectCreate("handan", OBJ_LABEL, 0, 0, 0);ObjectSet("handan", OBJPROP_XDISTANCE, 10);ObjectSet("handan", OBJPROP_YDISTANCE, 15);ObjectSetText("handan", "联邦基金远程本地智能跟单系统", 16, "宋体", White);ObjectCreate("handan1", OBJ_LABEL, 0, 0, 0);ObjectSet("handan1", OBJPROP_XDISTANCE, 10);ObjectSet("handan1", OBJPROP_YDISTANCE, 55);ObjectSetText("handan1", "禁止使用此图表进行分析交易!", 16, "宋体", White);ObjectCreate("handan2", OBJ_LABEL, 0, 0, 0);ObjectSet("handan2", OBJPROP_XDISTANCE, 10);ObjectSet("handan2", OBJPROP_YDISTANCE, 95);ObjectSetText("handan2", "反向跟单EA运行中......", 16, "宋体", White);Print("可以开始跟单了!");while (true) {gi_496 = TRUE;RefreshRates();FileSeek(g_file_320, 0, SEEK_SET);gs_272 = FileReadNumber(g_file_320);if (gs_272 != gs_280) {gs_416 = FileReadString(g_file_320);gi_292 = FileReadNumber(g_file_320);gd_308 = FileReadNumber(g_file_320);gd_340 = FileReadNumber(g_file_320);gd_400 = FileReadNumber(g_file_320);gd_372 = FileReadNumber(g_file_320);gi_224 = FileReadNumber(g_file_320);gs_424 = FileReadString(g_file_320);if (gs_416 == gs_536) {if (g_bool_512) gs_416 = gs_528;else gi_224 = FALSE;} else gs_416 = StringSubstr(gs_416, 0, 6) + gs_544;if (gi_524 == 1) gd_300 = 固定下单量;if (gi_524 == 2) gd_300 = NormalizeDouble(gd_308 * gd_228, gi_268);if (gi_524 == 3) gd_300 = NormalizeDouble(资金比例* AccountBalance() / MarketInfo(Symbol(), MODE_LOTSIZE), gi_268);if (gd_300 < gd_244) gd_300 = gd_244;if (gd_300 > gd_252) gd_300 = gd_252;gi_504 = FALSE;for (g_index_328 = 0; g_index_328 < 100; g_index_328++) {if (gia_220[g_index_328] == gi_224) {if (gi_292 == 10 && gia_288[g_index_328] != 16) {gia_220[g_index_328] = 0;gi_504 = TRUE;break;}if (gi_292 == 16) {gda_368[g_index_328] = gd_372;gda_396[g_index_328] = gd_400;gi_504 = TRUE;break;}}}if ((!gi_504 && gi_292 != 16) || (g_bool_492 && gi_292 == 16)) {for (g_index_332 = 0; g_index_332 < 100; g_index_332++) {if (gia_220[g_index_332] == 0) {gsa_412[g_index_332] = gs_416;gia_288[g_index_332] = gi_292;gda_408[g_index_332] = gd_300;gda_348[g_index_332] = gd_340;gda_368[g_index_332] = gd_372;gda_396[g_index_332] = gd_400;gia_220[g_index_332] = gi_224;if (g_bool_516 == TRUE) {gsa_432[g_index_332] = gs_424;break;}gsa_432[g_index_332] = "";break;}}}gs_280 = gs_272;}if ((!IsTradeContextBusy()) && IsConnected()) {for (g_index_336 = 0; g_index_336 < 100; g_index_336++) {if (gia_220[g_index_336] != 0) {g_bid_444 = MarketInfo(gsa_412[g_index_336], MODE_BID);g_ask_436 = MarketInfo(gsa_412[g_index_336], MODE_ASK);gd_452 = MarketInfo(gsa_412[g_index_336], MODE_STOPLEVEL);g_point_460 = MarketInfo(gsa_412[g_index_336], MODE_POINT);gd_468 = MarketInfo(gsa_412[g_index_336], MODE_SPREAD);if (gia_288[g_index_336] == 1) {if (!g_bool_500 || (g_bool_500 && gda_348[g_index_336] - g_bid_444 >= gd_484 * g_point_460)) {gi_316 = OrderSend(gsa_412[g_index_336], OP_BUY, gda_408[g_index_336], g_ask_436, g_slippage_264, 0, 0, gsa_432[g_index_336],if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_368[g_index_336] == 0.0 && gda_396[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}}if (gia_288[g_index_336] == 0) {if (!g_bool_500 || (g_bool_500 && g_ask_436 - gda_348[g_index_336] >= gd_484 * g_point_460)) {gi_316 = OrderSend(gsa_412[g_index_336], OP_SELL, gda_408[g_index_336], g_bid_444, g_slippage_264, 0, 0, gsa_432[g_index_336], gia_220[g_index_336], 0, Red);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_368[g_index_336] == 0.0 && gda_396[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}}if (gia_288[g_index_336] == 5 && g_bool_520 == TRUE) {gi_316 = OrderSend(gsa_412[g_index_336], OP_BUYLIMIT, gda_408[g_index_336], gda_348[g_index_336], 0, 0, 0, gsa_432[g_index_336], gia_220[g_index_336], 0, Blue);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_368[g_index_336] == 0.0 && gda_396[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}if (gia_288[g_index_336] == 4 && g_bool_520 == TRUE) {gi_316 = OrderSend(gsa_412[g_index_336], OP_SELLLIMIT, gda_408[g_index_336], gda_348[g_index_336], 0, 0, 0, gsa_432[g_index_336], gia_220[g_index_336], 0, Red);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_368[g_index_336] == 0.0 && gda_396[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}if (gia_288[g_index_336] == 3 && g_bool_520 == TRUE) {gi_316 = OrderSend(gsa_412[g_index_336], OP_BUYSTOP, gda_408[g_index_336], gda_348[g_index_336], 0, 0, 0, gsa_432[g_index_336],if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_368[g_index_336] == 0.0 && gda_396[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}if (gia_288[g_index_336] == 2 && g_bool_520 == TRUE) {gi_316 = OrderSend(gsa_412[g_index_336], OP_SELLSTOP, gda_408[g_index_336], gda_348[g_index_336], 0, 0, 0, gsa_432[g_index_336], gia_220[g_index_336], 0, Red);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_368[g_index_336] == 0.0 && gda_396[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}Print("下单类型=" + gia_288[g_index_336]);if (gia_288[g_index_336] == 10) {gi_508 = FALSE;for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);if (OrderMagicNumber() == gia_220[g_index_336]) {gi_508 = TRUE;if (OrderType() > OP_SELL) gi_316 = OrderDelete(OrderTicket());if (OrderType() <= OP_SELL) gi_316 = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), g_slippage_260, PaleVioletRed);if (gi_316 > 0) {gia_220[g_index_336] = 0;break;}}}if (!gi_508) gia_220[g_index_336] = 0;}if (gia_288[g_index_336] == 16) {gi_508 = FALSE;for (pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);if (OrderMagicNumber() == gia_220[g_index_336]) {gi_508 = TRUE;g_price_360 = OrderStopLoss();g_price_388 = OrderTakeProfit();gd_476 = gd_452 * g_point_460;if (gda_368[g_index_336] == 0.0) {gd_352 = 0;g_price_360 = 0;}if (gda_396[g_index_336] == 0.0) {gd_380 = 0;g_price_388 = 0;}if (gda_368[g_index_336] != 0.0 && OrderType() == OP_SELL) gd_352 = gda_368[g_index_336] + gd_468 * g_point_460;if (gda_396[g_index_336] != 0.0 && OrderType() == OP_SELL) gd_380 = gda_396[g_index_336] + gd_468 * g_point_460;if (gda_368[g_index_336] != 0.0 && OrderType() == OP_SELLSTOP) gd_352 = gda_368[g_index_336] + gd_468 * g_point_460;if (gda_396[g_index_336] != 0.0 && OrderType() == OP_SELLSTOP) gd_380 = gda_396[g_index_336] + gd_468 * g_point_460;if (gda_368[g_index_336] != 0.0 && OrderType() == OP_SELLLIMIT) gd_352 = gda_368[g_index_336] + gd_468 * g_point_460;if (gda_396[g_index_336] != 0.0 && OrderType() == OP_SELLLIMIT) gd_380 = gda_396[g_index_336] + gd_468 * g_point_460;if (gda_368[g_index_336] != 0.0 && OrderType() == OP_BUY) gd_352 = gda_368[g_index_336] - gd_468 * g_point_460;if (gda_396[g_index_336] != 0.0 && OrderType() == OP_BUY) gd_380 = gda_396[g_index_336] - gd_468 * g_point_460;if (gda_368[g_index_336] != 0.0 && OrderType() == OP_BUYSTOP) gd_352 = gda_368[g_index_336] - gd_468 * g_point_460;if (gda_396[g_index_336] != 0.0 && OrderType() == OP_BUYSTOP) gd_380 = gda_396[g_index_336] - gd_468 * g_point_460;if (gda_368[g_index_336] != 0.0 && OrderType() == OP_BUYLIMIT) gd_352 = gda_368[g_index_336] - gd_468 * g_point_460;if (gda_396[g_index_336] != 0.0 && OrderType() == OP_BUYLIMIT) gd_380 = gda_396[g_index_336] - gd_468 * g_point_460;if (OrderType() == OP_BUY) {if (g_bid_444 - gd_352 > gd_476 && gd_352 != 0.0) g_price_360 = gd_352;if (gd_380 - g_bid_444 > gd_476 && gd_380 != 0.0) g_price_388 = gd_380;}if (OrderType() == OP_BUYSTOP) {if (g_bid_444 - gd_352 > gd_476 && gd_352 != 0.0) g_price_360 = gd_352;if (gd_380 - g_bid_444 > gd_476 && gd_380 != 0.0) g_price_388 = gd_380;}if (OrderType() == OP_BUYLIMIT) {if (g_bid_444 - gd_352 > gd_476 && gd_352 != 0.0) g_price_360 = gd_352;if (gd_380 - g_bid_444 > gd_476 && gd_380 != 0.0) g_price_388 = gd_380;}if (OrderType() == OP_SELL) {if (gd_352 - g_ask_436 > gd_476 && gd_352 != 0.0) g_price_360 = gd_352;if (g_ask_436 - gd_380 > gd_476 && gd_380 != 0.0) g_price_388 = gd_380;}if (OrderType() == OP_SELLSTOP) {if (gd_352 - g_ask_436 > gd_476 && gd_352 != 0.0) g_price_360 = gd_352;if (g_ask_436 - gd_380 > gd_476 && gd_380 != 0.0) g_price_388 = gd_380;}if (OrderType() == OP_SELLLIMIT) {if (gd_352 - g_ask_436 > gd_476 && gd_352 != 0.0) g_price_360 = gd_352;if (g_ask_436 - gd_380 > gd_476 && gd_380 != 0.0) g_price_388 = gd_380;}if (g_price_360 != OrderStopLoss() || g_price_388 != OrderTakeProfit()) {gi_316 = OrderModify(OrderTicket(), OrderOpenPrice(), g_price_360, g_price_388, 0, Yellow);if (gi_316 > 0 && g_price_360 == gd_352 && g_price_388 == gd_380) {gia_220[g_index_336] = 0;break;}}}}if (!gi_508) gia_220[g_index_336] = 0;}gi_496 = FALSE;}}}if (gi_496) Sleep(100);Sleep(100);}}int start() {init();return (0); }。
MT4自带的EA详解(MA和MACD)
//---- return orders volume-返回订单数目 if(buys>0) return(buys); //如果 多单>0,则返回(多单数)
else return(-sells); //否则,返回(-空单数) //本函数返回查询计算结束时的持仓单的个数.这种模式返回是假设不存在锁单的。 }
订单编号,标上红色箭头)
return; //返回 }
//---- buy conditions-买入条件
if(Open[1]<ma && Close[1]>ma) //如果前 1 根 K 线上穿均线(即 K 线的开盘价小于均线值、收盘价大于均线值) { res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue); //发送仓单(当前货币对,买入方向,开仓量计算(),卖价,滑点=3,无止损,无止赢,
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue; //如果 订单的货币对不是当前货币对,或者 订单类型为挂单时,继续运行 // 订 单 类 型 为 整 数 型 , 0-BUY , 1-SELL , 2-BUYLIMT , 3-BUYSTOP , 4-SELLLIMT , 5-SELLSTOP,其中“>OP_SELL”代表挂单
//+------------------------------------------------------------------+
MT4下如何正确安装与测试EA
MT4下如何正确安装与测试EAMT4软件安装EA其实非常简单,下面就是一系列步骤:1.首先,你要有一个EA,必须要有以ex4为扩展名的,如果只有mq4文件的话,就要用MetaTrader自带的编辑器MetaEditor打开(主菜单命令“工具—MQ语言编辑器”或者是快捷键F4完成同样操作),将mq4通过编译(compile)并且要不出现错误,才能在原存放mq4的文件夹下面得到一个同名的ex4文件。
2.将这个ex4文件复制到MetaTrader 4所在的文件夹下面的experts文件夹下,比如:C:Program FilesFxPro MetaTraderexperts,关闭并重新打开MetaTrader 4。
3.在“导航”下面的“智能交易系统”下面右键点击你想要使用的EA,这里以10点盈利系统举例,点“附加到图表”,如:4.将会出现下面的弹出窗口:特别要注意这里的选择,如果没有钩选“允许实时自动交易”,那么你的智能系统就不会自动交易。
5.在自动成交方面,MT4还有一个总开关,就是“工具”菜单下面的“选项”中:6.还有一个地方必须选择“启动”:上图最后面的变成这样的就是已经启动了智能交易系统。
7.在完成了上面的所有设置后,看看你的图表的右上角一定会出现你的智能交易系统的文件名和一个笑脸。
出现这样就算是当前的图表已经启用了智能交易系统了。
这时,你就可以去睡觉或者去喝酒喝茶健身了。
8.如果你要停止你的智能交易系统,最好的办法是点击这个图上面的“智能交易”图标。
不过这样一来,你的所有图表上面的智能交易就全部停止了。
所有图表右上角的笑脸都变成了叉:如果只要停止当前图表上面的EA,你应该按F7 键,就会弹出如下的窗口:点击将“允许实时自动交易”前面的钩去掉,然后确定,这样就使当前图表上面的EA停止了。
图表上面会出现“哭丧的脸”:如果要完全将当前图表上面的EA消除,可以右键点击图表区域,会出现:点“智能交易系统”,然后点“消除”。
什么是EA?
什么是EA?外汇EA是⼀种智能交易系统,英⽂名称Expert Advisor。
⽬前主流的外汇交易软件为mt4/mt5,我们通常所说的ea是指采⽤MQL4/MQL5语⾔开发的⽤于mt4/mt5平台下的⾃动交易处理程序。
当然也有⼀些交易商采⽤其它交易软件时也有相应的智能交易处理程序。
EA各种功能的实现都是基于交易者对交易的需求,交易者将⾃⾝的交易需求⽤合理的逻辑构建出来并编写成程序就成了EA。
EA本⾝只是⼀个名词,⼀个程序的简称,其灵魂是则是交易者对交易的感悟、需求形成的策略。
EA主要功能有以下⼏点:1. 可以实现全⾃动交易外汇、⾦属、原油、指数等产品,这是EA的最⼤亮点。
如各种趋势、马丁、⽹格挂单等策略开发的⾃动交易EA。
2. 可以批量处理订单。
如⼀键开平仓、⼀键挂单、各种移动⽌损、修改⽌损⽌盈、分批平仓及账号总体盈亏清仓系列的EA。
3. 可以实现各种信号综合分析或信号报警系统。
如各种采⽤独特算法或调⽤指标信号开发的交易分析系统。
4. 可以实现多账户同步跟单。
如本地或⽹络跟单EA。
5. 可以⽤于交易盈亏的综合分析或持仓报警。
如各种持仓统计EA。
6. 可以实现交易状态的输出并对接其它程序。
等等。
EA的优缺点:1. 在批量处理或综合计算分析⽅⾯,EA有着⼈⼯⽆法⽐拟的优势。
⽐如100个订单要修改⽌损和⽌盈或者去统计这100个订单的盈亏,⽤EA去执⾏时间以秒计算,⼈⼯执⾏的话则远远慢于EA,⽽且⼈⼯执⾏出错的概率也⼤。
2. 在交易信号或风控规则的执⾏⽅⾯,EA是机械的执⾏,⼈⼯则容易受到盘⾯临时波动或其它因素的影响。
3. EA的缺点主要是表现在不能随机应变。
市场是千变万化的,没有⼀种规则能够永远有效。
成熟的交易者有着⾜够的经验应对各种变化。
所以现在很多半⾃动EA较为流⾏。
⽤EA辅助⼈⼯交易或将更能发挥EA本⾝的优势。
MT4自编指标和EA的注意事项
MT4自编指标和EA的注意事项
2017-08-07 11:42:16
MT4可以自己编写指标或者EA自动交易系统,投资人有实力并且会编程的话就可以自己编写,当然如果不会编程的话,也可以找人来进行编写,下面我们就来看一下MT4自编指标和EA的注意事项。
MT4自编指标注意事项
借助或复杂或简单的数学方法对轮廓形状、方向趋势、快慢力度、长短高低、跃变累积等特征提取时,人们一般大多从模仿修改已有指标开始。
开发中要注意(1)重点要表示那类特征;(2)在单边趋势、突变、振荡三类情况下的表现如何;(3)优点和缺点;(4)什么情况下最有效,什么情况下无效;(5)时间特征如何。
MT4自编EA注意事项
交易系统要解决很多问题,二不仅是写个公式那么简单,因为它要考虑很多因素。
(1)时间周期和货币种类;(2)对各种单边趋势、突变、振荡的适合程度;(3)如何降低失效的损失;(4)如何优化市场成长为活的系统。
编程要考虑(1)判断下单策略;(2)止赢止损跟踪策略;(3)仓位控制;(4)平仓策略;(5)动态调整策略。
事实上,即便是相同指标,不同人使用也是不同的结果。
而且成功持续稳定赢利的实际交易往往需要多指标的综合使用和判断。
每个指标和交易系统都有自己的长处和不足,每个交易者还有自己的个性和交易经验和习惯,它们的合适配合,才会增加赢利的可能,否则,任何指标或交易系统都毫无价值。
mt4ea编写指标
mt4ea编写指标1. 什么是MT4EA?在MT4(MetaTrader 4)平台上,EA(Expert Advisor)是一种自动交易系统,能够根据预设的参数进行交易操作。
MT4EA可以根据技术指标、价格动能和其他条件来触发交易,以帮助交易者实现快速、准确的交易执行。
2. MT4EA编写的基本原则在编写MT4EA时,我们需要遵循一些基本的原则,以确保编写的指标具有高效性、可重复性和可靠性。
2.1 策略明确首先,在编写MT4EA之前,我们需要明确所使用的交易策略。
交易策略应该基于明确的规则和逻辑,能够清楚地定义何时买入和卖出。
这有助于确保MT4EA的行为一致,并减少人为的主观判断。
2.2 参数可调整MT4EA编写时,应尽量将参数固化,使其能够根据实际情况进行调整。
这样可以在不同的市场环境下灵活应对,并提高MT4EA的适应性和稳定性。
2.3 有效的止损和止盈机制在MT4EA中,止损和止盈是非常重要的因素,能够保护账户免受不利的市场波动。
编写MT4EA时,应设定有效的止损和止盈机制,以确保风险控制和利润保护。
3. MT4EA编写的步骤3.1 确定交易策略首先,我们需要确定MT4EA的交易策略。
交易策略应该基于技术指标、价格动能和其他可靠的指标。
这些指标可以帮助我们预测市场趋势和价格变动,从而决定何时买入和卖出。
3.2 编写代码在确定交易策略后,我们可以开始编写MT4EA的代码。
在MT4平台上,我们可以使用MQL4语言来编写自动交易系统。
编写MT4EA的代码时,我们需要将交易策略转化为具体的代码逻辑。
我们可以使用if语句、循环、变量等来实现我们的交易策略。
代码应该清晰、简洁,并且易于阅读和理解。
3.3 测试和优化在编写完成MT4EA的代码后,我们需要对其进行测试和优化。
我们可以使用历史数据来测试MT4EA的表现,并根据测试结果对代码进行优化。
测试和优化是确保MT4EA有效性的关键步骤。
通过测试和优化,我们可以发现代码中的问题和潜在的风险,并对其进行修正和改进。
MT4交易使用说明完整版
MT4交易使用说明完整版MT4(MetaTrader 4)是一款非常流行的外汇交易平台,提供了多种功能和工具,使交易者能够进行及时的交易决策和实时监控市场动态。
下面是MT4交易使用的详细说明:2.登录账户:成功创建账户后,使用提供的用户名和密码登录账户。
在登录成功后,可以看到平台主界面,包括价格图表、交易工具和交易终端。
3.监控市场:在MT4平台上,可以选择不同的市场来监控并进行交易。
点击“市场观察”窗口,可以选择所需的市场品种,并查看其实时行情。
4.创建交易订单:要创建一个新的交易订单,可以在“工具栏”或“交易终端”中找到下单面板。
在下单面板中,选择交易品种、交易量和订单类型,并设置止损和止盈水平。
5.管理已有订单:通过“交易终端”的“交易记录”选项卡,可以管理已有的交易订单。
可以查看已有的订单,修改止损和止盈水平,或者关闭订单。
6.使用技术指标:MT4提供了多种常用的技术指标,用于分析市场行情和预测未来走势。
点击“插入”菜单,选择“指标”,然后选择所需的指标来应用在价格图表上。
7.添加图形对象:MT4还提供了绘制图形对象的功能,如水平线、垂直线、趋势线等。
在“插入”菜单中,选择所需的图形对象并在价格图表上绘制。
8.使用图表模板:为了方便分析和交易,MT4允许用户保存和加载自定义的图表模板。
用户可以保存自己的分析设置和图表模板,并在需要时加载使用。
9.添加自定义指标:如果标准的技术指标无法满足交易者的需求,MT4还允许用户添加自定义指标。
用户可以编写自己的指标脚本,然后将其添加到MT4平台上使用。
10. 使用EA(Expert Advisor):MT4还支持使用EA进行自动交易。
EA是一种基于预设交易规则的自动交易系统,可以根据预设的条件进行交易决策和下单操作。
11.分析历史数据:MT4可以导入历史数据并进行分析,以帮助交易者了解市场行情的历史走势和模式。
点击“工具栏”上的“历史中心”按钮以加载历史数据。
mt4ea编写指标
mt4ea编写指标MT4EA编写指标的基本步骤和注意事项随着外汇交易的发展,投资者需要有各种各样的工具来协助他们进行交易分析和决策。
其中,MT4EA(MetaTrader 4 Expert Advisors)编写指标就是一种非常重要的工具。
它可以帮助投资者根据交易策略来制定交易决策,并自动执行交易操作。
下面是关于如何编写MT4EA指标的基本步骤和注意事项。
第一步:明确指标的目的和功能在编写MT4EA指标之前,首先需要明确指标的目的和功能。
这包括确定指标的计算方法、所涉及的数据和指标的输出结果等。
例如,如果你希望编写一个用于确定买入和卖出信号的指标,你需要决定是使用哪些技术指标或价格模式来计算买卖信号,并确定指标的输出结果是一个具体的数值还是一个图表。
第二步:编写指标代码在MT4平台中,你可以使用MQL4编程语言来编写MT4EA指标。
MQL4是一种功能强大的编程语言,可以帮助你实现各种复杂的交易策略和指标。
在编写指标代码时,你需要使用MQL4提供的各种函数和指令,来计算指标的数值或图表,并输出给MT4平台进行显示。
在编写指标代码时,需要注意以下几点:1.确保指标的计算过程正确和高效。
在编写指标代码之前,最好先将其思路和计算过程画图或进行模拟,以确保它可以正确地计算出预期的结果,并且计算过程不会因为数据的增加而变得非常缓慢。
2.尽量减少指标的计算时间和资源占用。
指标的计算过程可能需要一些复杂的数学运算或历史数据的读取,这可能会消耗很多计算资源。
因此,在编写指标代码时,要尽量优化计算过程,减少计算的时间和资源占用。
3.添加适当的参数和选项。
为了使指标更加灵活和适应不同的交易策略,你可以添加一些参数和选项,以便投资者可以根据自己的需求来进行设置。
第三步:测试和优化指标在编写完指标代码之后,需要对其进行测试和优化,以确保其适用性和可靠性。
测试可以通过回测或实时交易来进行。
在测试指标时,要尽量多地使用不同的交易策略和数据周期,以验证指标的性能和准确度。
MT4插件定制——外汇MT4 EA交易
MT4插件定制——外汇MT4 EA交易EA是Expert advisor的缩写,它是MT4平台上常见的一种外汇交易程序,被投资者们称为外汇智能交易系统。
它是由交易员们经过对交易策略的反复完善之后开发的一种外汇自动交易解决方案。
学会使用EA也就意味着交易员实现了从手动交易到自动化交易的飞跃。
其自动化交易的特点不仅免去了交易员们大量追踪行情的时间,还使得他们从熬夜盯盘的劳累中解放了出来,EA交易也因此而备受欢迎。
据悉,目前华尔街有60%以上的交易都是由程序化交易完成的。
举个例子,交易员可以为EA事先设定一个参数,在价格突破200日均线时发出提醒。
同时,还可以指示该程序在某一个条件,比如5日均线死叉10日均线时立刻做空,等价格达到某一个目标价位后止损或止盈。
而EA大受交易员欢迎的原因远不止于此,它另一个重要的优点在于:一旦交易员为某一个EA设定了入场的条件、止损和止盈的价格,程序将严格的执行。
这就使得交易员可以避免受到恐慌或贪婪等情绪因素的影响,进而可以严格的执行自己的交易策略。
由于EA本身是要建立在一定的交易策略和交易风格上的,而为完善交易策略,来自全世界各地的交易员们源源不断的将自己的EA程序发布到网上以供交流学习,这就使得EA本身也成为一种交流和完善交易策略的载体。
一些交易员在对前人EA进行改善后也能够取得不错的成绩。
但EA也绝非完美。
首先,它需要用户掌握一定的MQL4语言,否则用户将无法进行EA的编程工作。
其次,价格的波动存在许多“杂音”或毛刺,而这些因素有时也会被EA认为是有效的价格信号而采纳,这也会导致一些错误的交易和亏损。
这就对用户挑选或编写EA的能力提出了一定的要求。
有鉴于此,在遵从简单易用和门槛低的原则的基础上,Vantage FX万致近期对数千种EA程序进行了测试和检验,最终给投资者带来了上百个有效实用的EA模板,其中相当大一部分都是当前最为流行的EA模板。
这无疑将使得交易员们如虎添翼,带动他们的交易生涯更上一层楼。
MT4平台自动交易程度安装及使用说明
MT4平台自动交易程度安装及使用说明MT4是一种常见的外汇交易平台,它提供了许多方便和高效的交易工具,其中之一就是自动交易。
自动交易可以帮助交易者自动执行交易策略,无需手动操作。
本文将介绍MT4平台自动交易程度的安装及使用方法。
一、安装自动交易程度2.找到适合的自动交易程度在MT4平台的导航栏上找到"市场"选项,并点击进入市场。
在市场中适合您的交易策略的自动交易程度或者EA(Expert Advisor)。
您可以根据程度的评级、评论和价格等方面进行筛选和比较。
4.安装自动交易程度5.配置自动交易程度在MT4平台的导航栏中找到"工具"选项,并点击进入"选项"。
然后在"顾问"选项卡中,确保启用自动交易程度,并启用DLL导入选项。
保存更改并重新启动MT4平台。
二、使用自动交易程度1.打开自动交易面板2.配置交易参数在自动交易面板中,您可以对交易参数进行配置。
根据自己的交易策略和风险承受能力,设置止损、止盈、交易量等参数。
请详细阅读自动交易程度的使用说明,以充分了解不同参数的含义和影响。
3.启用自动交易一旦您完成了交易参数的配置,就可以启用自动交易。
点击自动交易面板上的"自动交易"按钮即可开始办法自动交易。
4.监控交易情况总结:MT4平台的自动交易程度可以帮助外汇交易者自动执行交易策略,提高交易效率。
在安装和使用自动交易程度时,需要注意找到适合的程度、正确安装并配置交易参数。
同时,保持对交易情况的监控和及时调整也是十分重要的。
希望本文的说明能够帮助您更好地使用MT4平台的自动交易功能。
FXBlue跟单EA简易操作手册 v0.1 20170906
写在最前面 (1)如果你连EA都是第一次用。
(2)从下载开始,先做一个简单的测试 (3)更高级的功能和需要注意的事项 (5)常见的问题 (11)写在最前面作者:GPGP当前版本:v0.1 20170906欢迎关注我的微信公众号:寻找交易高手碰巧路过这里不明白这个东西是干嘛的?点击这里如果你英文比较6,不建议浪费时间看本文档。
经常有人问我怎么用,我就准备写个文档。
纯友情,不保证说的对。
如果有关于FXBlue跟单软件的使用问题找我,我没理你,说明那天我很正常。
如果我理你了,说明我那天心情太好。
先把这个文档看完,还有问题再问。
提问的时候把问题说清楚,把接收端和发送端的EA日志发出来。
把接收端和发送端的状态栏也发出来。
最好上面的菜单,左边的报价窗口,导航都能看到如果你连EA都是第一次用。
如果你连EA都是第一次用,可以看看这里。
首先MT4上面的工具分为:指标、EA、脚本三类。
脚本运行一次就结束了(比如一键平仓),而EA和技术指标是一直运行的。
而我们这个FXBlue 软件用的就是EA,会一直运行,需要电脑一直开着。
每个图表可以加载一个EA,比如下图中有三个图表,那么每个图表都可以加载一个EA。
如果当前图表上已经有一个EA,你又加载了一个新的EA,就会把原先的EA给替换掉。
很多EA加载在什么周期或者什么货币对上效果是一样的。
比如这个FXBlue跟单EA加载在XAUUSD这个图表上,其实他对所有货币对都是跟单的。
EA加载的时候,会需要输入参数。
如果后续需要修改EA的参数,如下图通过右键的方式去修改,而不是重新加载一遍(拖拽到图表中)EA能不能下单,有2个开关。
一个叫全局设置(上方叫“自动交易”的按钮),对所有的图表都是有效的,类似于一个总开关。
另一个是单个EA的设置,只针对这个EA能不能下单。
需要说明的是有些EA只是读数据,或者报警,那么不勾选这两个也行。
比如我们的发送端EA,其实就不需要勾选。
从下载开始,先做一个简单的测试下载FXBluePersonalTradeCopierSetup,安装时,如果你电脑上装了多个MT4就会让你选装在哪个MT4上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#property copyright " 由联邦基金提供QQ:462079360"#property link "/"extern string 是否跟注释参数= "如果跟就选择true,不跟就选择false";extern bool 是否跟注释= TRUE;extern string 是否跟挂单参数= "如果跟就选择true,不跟就选择false";extern bool 是否跟挂单= TRUE;extern bool 是否跟修改定单= TRUE;extern bool 是否最优价跟单= FALSE;extern double 最优价几个点= 0.0;extern string temp1 = "----------------------------------";extern string 跟单下单量类型参数= "1 为固定下单量, 2为缩放下单量, 3为资金比例"; extern int 跟单下单量类型= 2;extern double 固定下单量= 0.1;extern string 缩放倍数参数= "下单量缩放倍数= 跟单手数/喊单手数";extern double 下单量缩放倍数= 1.0;extern string 资金比例参数= "资金比例:1000下1标准手为100%";extern double 资金比例= 10.0;extern string temp2 = "----------------------------------";extern string 是否有黄金商品参数= "如果有就选择true,否则选择false";extern bool 是否有黄金商品= FALSE;extern string 喊单帐户黄金商品名称参数= "黄金商品名称如GOLD ,XAUUSD ,SPT_GLD 等等注意字母必须是大写";extern string 喊单帐户黄金商品名称= "XAUUSD";extern string 跟单帐户黄金商品名称= "XAUUSD";int gia_220[];bool gi_224;double gd_228;double g_lotstep_236;double gd_244;double gd_252;int g_slippage_260 = 5;int g_slippage_264 = 5;int gi_268;string gs_272;string gs_280;int gia_288[];int gi_292;int gi_296;double gd_300;double gd_308;bool gi_316;int g_file_320;int g_count_324;int g_index_328;int g_index_332;int g_index_336;double gd_340;double gda_348[];double g_order_stoploss_352;double gda_360[];double gd_364;double g_order_takeprofit_372; double gda_380[];double gd_384;double gda_392[];string gsa_396[];string gs_400;string gs_408;string gsa_416[];double g_ask_420;double g_bid_428;double gd_436;double g_point_444;double gd_452;double gd_460;bool g_bool_468;bool gi_472;bool g_bool_476;bool gi_480;bool gi_484;bool g_bool_488;bool g_bool_492;bool g_bool_496;int gi_500;string gs_504 = "";string gs_512 = "";string gs_520 = "";void init() {gd_460 = 最优价几个点;g_bool_476 = 是否最优价跟单;gd_228 = 下单量缩放倍数;gs_512 = 喊单帐户黄金商品名称;gs_504 = 跟单帐户黄金商品名称;gi_500 = 跟单下单量类型;g_bool_468 = 是否跟修改定单;g_bool_488 = 是否有黄金商品;g_bool_492 = 是否跟注释;g_bool_496 = 是否跟挂单;ArrayResize(gsa_396, 100);ArrayResize(gia_288, 100);ArrayResize(gda_392, 100);ArrayResize(gda_348, 100);ArrayResize(gda_360, 100);ArrayResize(gda_380, 100);ArrayResize(gia_220, 100);for (g_count_324 = 0; g_count_324 < 100; g_count_324++) {gsa_396[g_index_332] = "";gia_288[g_index_332] = 0;gda_392[g_index_332] = 0;gda_348[g_index_332] = 0;gda_360[g_index_332] = 0;gda_380[g_index_332] = 0;gia_220[g_index_332] = 0;}if (Digits == 3 || Digits == 5) {g_slippage_260 = 10 * g_slippage_260;g_slippage_264 = 10 * g_slippage_264;gd_460 = 10.0 * gd_460;}if (g_bool_476) g_slippage_264 = 0;gi_296 = StringLen(Symbol()) - 6;if (gi_296 > 0) gs_520 = StringSubstr(Symbol(), 6, gi_296);g_lotstep_236 = MarketInfo(Symbol(), MODE_LOTSTEP);gd_244 = MarketInfo(Symbol(), MODE_MINLOT);gd_252 = MarketInfo(Symbol(), MODE_MAXLOT);if (g_lotstep_236 == 0.01) gi_268 = 2;if (g_lotstep_236 == 0.1) gi_268 = 1;g_file_320 = FileOpen("mySendOrder.TXT", FILE_CSV|FILE_READ);if (g_file_320 < 0) {g_file_320 = FileOpen("mySendOrder.TXT", FILE_CSV|FILE_WRITE);FileWrite(g_file_320, "1268019531;AUDUSD;10;0;0;0;1268019453;");FileClose(g_file_320);}gs_280 = FileReadNumber(g_file_320);Print("联邦基金远程本地跟单系统");ObjectCreate("Gendan", OBJ_LABEL, 0, 0, 0);ObjectSet("Gendan", OBJPROP_XDISTANCE, 10);ObjectSet("Gendan", OBJPROP_YDISTANCE, 15);ObjectSetText("Gendan", "联邦基金远程本地智能跟单系统", 16, "宋体", White); ObjectCreate("Gendan1", OBJ_LABEL, 0, 0, 0);ObjectSet("Gendan1", OBJPROP_XDISTANCE, 10);ObjectSet("Gendan1", OBJPROP_YDISTANCE, 55);ObjectSetText("Gendan1", "禁止使用此图表进行分析交易!", 16, "宋体", White);ObjectCreate("Gendan2", OBJ_LABEL, 0, 0, 0);ObjectSet("Gendan2", OBJPROP_XDISTANCE, 10);ObjectSet("Gendan2", OBJPROP_YDISTANCE, 95);ObjectSetText("Gendan2", "跟单EA运行中......", 16, "宋体", White);Print("可以开始跟单了!");while (true) {gi_472 = TRUE;RefreshRates();FileSeek(g_file_320, 0, SEEK_SET);gs_272 = FileReadNumber(g_file_320);if (gs_272 != gs_280) {gs_400 = FileReadString(g_file_320);gi_292 = FileReadNumber(g_file_320);gd_308 = FileReadNumber(g_file_320);gd_340 = FileReadNumber(g_file_320);gd_364 = FileReadNumber(g_file_320);gd_384 = FileReadNumber(g_file_320);gi_224 = FileReadNumber(g_file_320);gs_408 = FileReadString(g_file_320);if (gs_400 == gs_512) {if (g_bool_488) gs_400 = gs_504;else gi_224 = FALSE;} else gs_400 = StringSubstr(gs_400, 0, 6) + gs_520;if (gi_500 == 1) gd_300 = 固定下单量;if (gi_500 == 2) gd_300 = NormalizeDouble(gd_308 * gd_228, gi_268);if (gi_500 == 3) gd_300 = NormalizeDouble(资金比例* AccountBalance() / MarketInfo(Symbol(), MODE_LOTSIZE), gi_268);if (gd_300 < gd_244) gd_300 = gd_244;if (gd_300 > gd_252) gd_300 = gd_252;gi_480 = FALSE;for (g_index_328 = 0; g_index_328 < 100; g_index_328++) {if (gia_220[g_index_328] == gi_224) {if (gi_292 == 10 && gia_288[g_index_328] != 16) {gia_220[g_index_328] = 0;gi_480 = TRUE;break;}if (gi_292 == 16) {gda_360[g_index_328] = gd_364;gda_380[g_index_328] = gd_384;gi_480 = TRUE;break;}}}if ((!gi_480 && gi_292 != 16) || (g_bool_468 && gi_292 == 16)) {for (g_index_332 = 0; g_index_332 < 100; g_index_332++) {if (gia_220[g_index_332] == 0) {gsa_396[g_index_332] = gs_400;gia_288[g_index_332] = gi_292;gda_392[g_index_332] = gd_300;gda_348[g_index_332] = gd_340;gda_360[g_index_332] = gd_364;gda_380[g_index_332] = gd_384;gia_220[g_index_332] = gi_224;if (g_bool_492 == TRUE) {gsa_416[g_index_332] = gs_408;break;}gsa_416[g_index_332] = "";break;}}}gs_280 = gs_272;}if ((!IsTradeContextBusy()) && IsConnected()) {for (g_index_336 = 0; g_index_336 < 100; g_index_336++) {if (gia_220[g_index_336] != 0) {g_bid_428 = MarketInfo(gsa_396[g_index_336], MODE_BID);g_ask_420 = MarketInfo(gsa_396[g_index_336], MODE_ASK);gd_436 = MarketInfo(gsa_396[g_index_336], MODE_STOPLEVEL);g_point_444 = MarketInfo(gsa_396[g_index_336], MODE_POINT);if (gia_288[g_index_336] == 0) {if (!g_bool_476 || (g_bool_476 && gda_348[g_index_336] - g_ask_420 >= gd_460 * g_point_444)) {gi_316 = OrderSend(gsa_396[g_index_336], OP_BUY, gda_392[g_index_336], g_ask_420, g_slippage_264, 0, 0, gsa_416[g_index_336], gia_220[g_index_336], 0, Blue);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_360[g_index_336] == 0.0 && gda_380[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}}if (gia_288[g_index_336] == 1) {if (!g_bool_476 || (g_bool_476 && g_bid_428 - gda_348[g_index_336] >= gd_460 * g_point_444)) {gi_316 = OrderSend(gsa_396[g_index_336], OP_SELL, gda_392[g_index_336], g_bid_428, g_slippage_264, 0, 0, gsa_416[g_index_336], gia_220[g_index_336], 0, Red);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_360[g_index_336] == 0.0 && gda_380[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}}if (gia_288[g_index_336] == 2 && g_bool_496 == TRUE) {gi_316 = OrderSend(gsa_396[g_index_336], OP_BUYLIMIT, gda_392[g_index_336], gda_348[g_index_336], 0, 0, 0, gsa_416[g_index_336], gia_220[g_index_336], 0, Blue);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_360[g_index_336] == 0.0 && gda_380[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}if (gia_288[g_index_336] == 3 && g_bool_496 == TRUE) {gi_316 = OrderSend(gsa_396[g_index_336], OP_SELLLIMIT, gda_392[g_index_336], gda_348[g_index_336], 0, 0, 0, gsa_416[g_index_336], gia_220[g_index_336], 0, Red);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_360[g_index_336] == 0.0 && gda_380[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}if (gia_288[g_index_336] == 4 && g_bool_496 == TRUE) {gi_316 = OrderSend(gsa_396[g_index_336], OP_BUYSTOP, gda_392[g_index_336], gda_348[g_index_336], 0, 0, 0, gsa_416[g_index_336], gia_220[g_index_336], 0, Blue);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_360[g_index_336] == 0.0 && gda_380[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}if (gia_288[g_index_336] == 5 && g_bool_496 == TRUE) {gi_316 = OrderSend(gsa_396[g_index_336], OP_SELLSTOP, gda_392[g_index_336], gda_348[g_index_336], 0, 0, 0, gsa_416[g_index_336], gia_220[g_index_336], 0, Red);if (gi_316 > 0) {gia_288[g_index_336] = 16;if (gda_360[g_index_336] == 0.0 && gda_380[g_index_336] == 0.0) gia_220[g_index_336] = 0;}}if (gia_288[g_index_336] == 10) {gi_484 = FALSE;for (int pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);if (OrderMagicNumber() == gia_220[g_index_336]) {gi_484 = TRUE;gi_316 = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), g_slippage_260, PaleVioletRed);if (OrderType() > OP_SELL) {if (OrderDelete(OrderTicket())) {gia_220[g_index_336] = 0;break;}}if (gi_316 > 0) {gia_220[g_index_336] = 0;break;}}}if (!gi_484) gia_220[g_index_336] = 0;}if (gia_288[g_index_336] == 16) {gi_484 = FALSE;for (pos_0 = OrdersTotal() - 1; pos_0 >= 0; pos_0--) {OrderSelect(pos_0, SELECT_BY_POS, MODE_TRADES);if (OrderMagicNumber() == gia_220[g_index_336]) {gi_484 = TRUE;g_order_stoploss_352 = OrderStopLoss();g_order_takeprofit_372 = OrderTakeProfit();gd_452 = gd_436 * g_point_444;if (OrderType() == OP_BUY) {if (g_bid_428 - gda_360[g_index_336] > gd_452) g_order_stoploss_352 = gda_360[g_index_336];if (gda_380[g_index_336] - g_bid_428 > gd_452) g_order_takeprofit_372 = gda_380[g_index_336];}if (OrderType() == OP_BUYLIMIT) {if (g_bid_428 - gda_360[g_index_336] > gd_452) g_order_stoploss_352 = gda_360[g_index_336];if (gda_380[g_index_336] - g_bid_428 > gd_452) g_order_takeprofit_372 = gda_380[g_index_336];}if (OrderType() == OP_BUYSTOP) {if (g_bid_428 - gda_360[g_index_336] > gd_452) g_order_stoploss_352 = gda_360[g_index_336];if (gda_380[g_index_336] - g_bid_428 > gd_452) g_order_takeprofit_372 = gda_380[g_index_336];}if (OrderType() == OP_SELL) {if (gda_360[g_index_336] - g_ask_420 > gd_452) g_order_stoploss_352 = gda_360[g_index_336];if (g_ask_420 - gda_380[g_index_336] > gd_452) g_order_takeprofit_372 = gda_380[g_index_336];}if (OrderType() == OP_SELLLIMIT) {if (gda_360[g_index_336] - g_ask_420 > gd_452) g_order_stoploss_352 = gda_360[g_index_336];if (g_ask_420 - gda_380[g_index_336] > gd_452) g_order_takeprofit_372 = gda_380[g_index_336];}if (OrderType() == OP_SELLSTOP) {if (gda_360[g_index_336] - g_ask_420 > gd_452) g_order_stoploss_352 = gda_360[g_index_336];if (g_ask_420 - gda_380[g_index_336] > gd_452) g_order_takeprofit_372 = gda_380[g_index_336];}if (g_order_stoploss_352 != OrderStopLoss() || g_order_takeprofit_372 != OrderTakeProfit()) {gi_316 = OrderModify(OrderTicket(), OrderOpenPrice(), g_order_stoploss_352, g_order_takeprofit_372, 0, Yellow);if (gi_316 > 0 && g_order_stoploss_352 == gda_360[g_index_336] && g_order_takeprofit_372 == gda_380[g_index_336]) {gia_220[g_index_336] = 0;break;}}}}if (!gi_484) gia_220[g_index_336] = 0;}gi_472 = FALSE;}}}if (gi_472) Sleep(100);Sleep(100);}}int start() {init();return (0);}。