• 新添加量子混沌系统板块,欢迎大家访问!---“量子混沌系统”
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏我们吧

本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA

指标下载 qchaos.009 3个月前 (11-06) 6755 复制链接

指标名称:本地跟单软件

版本:MT4 ver. 2.01(EA)

我们经常在一些论坛或网站上看到一些朋友提供的观摩账户吧,可以看到别人的账户情况,遇到有实力的交易者,很是羡慕啊。

如果我们自己的账户可以跟着他们下单多好呢?今天就给大家免费共享一款智能交易EA。

本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA

可以进行本地跟单,速度快还全免费哦。

跟单EA分为发射端和接收端

  • 发射端-挂在喊单信号账户上
  • 接收端-跟单的账户

本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA

怎么安装,这个在EA安装教程里已经经过,这里不过多介绍,有不明白的,可以去看教程。教程在哪里?就在下一篇文章里。

1.安装发射端

打开喊单的MT4软件,双击导航里的:跟单软件发射端,然后按照以下提示勾选内容,点击确认即可。

本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA

安装好了,右上角会显示笑脸,如果没显示,检查自动交易和选项里的设置有没有正确设置。

本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA

本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA

本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA

这样,喊单软件就安装好了。

2.安装接受端

打开跟单的MT4软件,双击导航里的:跟单软件接收端,然后按照发射端一样的提示勾选内容,点击确认即可。参照上两步。

跟单与喊单不同的是参数需要设置

本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA

这里,我们需要设置对应的喊单账号,参数

如图:

本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA

最后,在喊单账户下个小单子测试跟单账户是否正常跟随。

这样,就完工了。好了,今天的学习就到这了。多研究里面的参数,多测试!

部分代码展示:

//+——————————————————————+
//| 跟单发射端.mq4 |
//| Copyright © 2009-2024, http://www.QChaos.com |
//| https://www.qchaos.com/ |
//+——————————————————————+

property copyright "Copyright © 量化混沌, http://www.qchaos.com"

property link "https://www.qchaos.com"

property version "2.01"

property description "———————————————"

property description "EA、指标公式分享"

property description "EA、指标编写业务承接"

property description "———————————————"

property description "———————————————"

import "kernel32.dll"

int CopyFileW(string a0,string a1,int a2);
bool CreateDirectoryW(string a0,int a1);
//========================================================================
input string 跟踪主账号="";
string FILES文件夹路径="";
string 中转路径="";
string 间隔符="*";
string 中转路径2="";
string FILES文件夹路径2;
input string 货币对名称附加="";
input string 基本跟单设置模块="———–跟单基础设置模块———-";//
input int 跟单允许秒误差=100;
input double 跟单允许点误差=100;
input bool 跟踪止损止盈=true;
input bool 跟踪平仓=true;
input bool 反向跟单=false;
input bool 跟多单=true;
input bool 跟空单=true;
input bool 跟踪挂单=true;
input string 跟单手数设置模块="———–跟单手数设置模块———-";//
input double 单量比例=1;
input bool 使用固定单量=false;
input double 固定单量=0.1;
bool 低于最低单量时使用最低单量=false;
input string 跟单仓位设置模块="———–跟单仓位设置模块———-";
input int 最大持单数=10000;
input double 跟主账户单量大于等于N单子=0;
input double 跟主账户单量小于等于M单子=100;
input string 跟单注释设置模块="———–跟单注释魔术码设置模块———-";
input string 自定义部分备注="";
input string 接收订单需包含备注="";
string comm4="———————";
string comm5="———————";
string comm6="———————";
input string 跟单品种修正设置模块="———个别品种无法正常跟单时使用————";
input bool 货币对名称强制修正开关=false;
input string 所跟货币对名称1 ="";
input string 下单货币对名称1 ="";
input double 特殊跟单单量比例1=1;
input string 所跟货币对名称2 ="";
input string 下单货币对名称2 ="";
input double 特殊跟单单量比例2=1;
input string 所跟货币对名称3 ="";
input string 下单货币对名称3 ="";
input double 特殊跟单单量比例3=1;
input bool 进行尾部价格修饰=false;
input string 限定可做品种模块="————限定可做品种模块———";
input bool 限定可做的货币对=false;
input string 限制可做货币对1 ="";
input string 限制可做货币对2 ="";
input string 限制可做货币对3 ="";
input string 限制可做货币对4 ="";
input string 限制可做货币对5 ="";
input string 限制可做货币对6 ="";
input string 限制可做货币对7 ="";
input string 限制可做货币对8 ="";
input string 限制可做货币对9 ="";
input string 限制可做货币对10="";
string 限制可做货币对[100];
input string 限定不可做品种模块="———-限定不可做品种模块———–";
input bool 限定不可做的货币对=false;
input string 限制不可做货币对1="";
input string 限制不可做货币对2="";
input string 限制不可做货币对3="";
input string 限制不可做货币对4="";
input string 限制不可做货币对5="";
input string 限制不可做货币对6="";
input string 限制不可做货币对7="";
input string 限制不可做货币对8="";
input string 限制不可做货币对9="";
input string 限制不可做货币对10="";
string 限制不可做货币对[100];
input string 跟单魔术码="———-跟单魔术码———–";
bool 是否显示文字标签=true;
input int magic=666;
string comm11="———————";
int X=20;
int Y=20;
int Y间隔=15;
color 标签颜色1=Red;
color 标签颜色2=Green;
int 标签字体大小=10;
ENUM_BASE_CORNER 固定角=0;

int OrderTicketX[200];
string OrderSymbolX[200];
int OrderTypeX[200];
double OrderLotsX[200];
double OrderStopLossX[200];
double OrderTakeProfitX[200];
string OrderCommentX[200];
int OrderMagicNumberX[200];
datetime OrderOpenTimeX[200];
double OrderOpenPriceX[200];

int OrderTicketXH[200];
string OrderSymbolXH[200];
int OrderTypeXH[200];
double OrderLotsXH[200];
double OrderStopLossXH[200];
double OrderTakeProfitXH[200];
string OrderCommentXH[200];
int OrderMagicNumberXH[200];
datetime OrderOpenTimeXH[200];
double OrderOpenPriceXH[200];

double 每点价值[200];
double 滑点=300;
int check;

datetime 过期时间=D’2030.12.1′;//时间限制
//===========================================================================
int OnInit()
{
限制可做货币对 [1]=限制可做货币对1;
限制可做货币对 [2]=限制可做货币对2;
限制可做货币对 [3]=限制可做货币对3;
限制可做货币对 [4]=限制可做货币对4;
限制可做货币对 [5]=限制可做货币对5;
限制可做货币对 [6]=限制可做货币对6;
限制可做货币对 [7]=限制可做货币对7;
限制可做货币对 [8]=限制可做货币对8;
限制可做货币对 [9]=限制可做货币对9;
限制可做货币对[10]=限制可做货币对10;

限制不可做货币对[1]=限制不可做货币对1;
限制不可做货币对[2]=限制不可做货币对2;
限制不可做货币对[3]=限制不可做货币对3;
限制不可做货币对[4]=限制不可做货币对4;
限制不可做货币对[5]=限制不可做货币对5;
限制不可做货币对[6]=限制不可做货币对6;
限制不可做货币对[7]=限制不可做货币对7;
限制不可做货币对[8]=限制不可做货币对8;
限制不可做货币对[9]=限制不可做货币对9;
限制不可做货币对[10]=限制不可做货币对10;

for(int ix=0; ix<200; ix++)
{
OrderSymbolX[ix]="";
OrderCommentX[ix]="";
OrderSymbolXH[ix]="";
OrderCommentXH[ix]="";
}
if(IsDllsAllowed()==false)
Alert("请允许调用动态链接库");
OnTick();
return(INIT_SUCCEEDED);
}
//===========================================================================
void OnDeinit(const int reason)
{
for(int i=ObjectsTotal(); i>=0; i–)
{
if(StringFind(ObjectName(i),"标签",0)==0)
{
ObjectDelete(ObjectName(i));
i=ObjectsTotal();
}
}
ObjectsDeleteAll();
Comment("");
}
//===========================================================================
void OnTick()
{

if(TimeCurrent()>过期时间)
{
Alert("软件到使用期限,请续费");
return;
}

if(IsTradeAllowed()==false)
{
Comment("不允许智能交易");
return;
}

if(IsDllsAllowed()==false)
return;

if(中转路径=="")
{
CreateDirectoryW("C:\量化混沌编程跟单软件中转路径",0);
中转路径2="C:\量化混沌编程跟单软件中转路径";
}
else
中转路径2=中转路径;

while(true)
{
RefreshRates();
ChartRedraw();
/
按钮("强制补充已平和未跟单据",180,30,160,20,CORNER_RIGHT_LOWER,clrOrangeRed,clrBlack);
if(ObjectGetInteger(0,"强制补充已平和未跟单据",OBJPROP_STATE)==1)
强制补充已平和未跟单据=true;
else
强制补充已平和未跟单据=false;
/
提取信号();
提取历史信号();
/
ObjectSetInteger(0,"强制补充已平和未跟单据",OBJPROP_STATE,0);
按钮("获利达到全平 大于",180,90,100,20,CORNER_RIGHT_LOWER,clrSpringGreen,clrBlack);
EDIT标签("获利达到全平 大于-2","100000",80,90,60,20,CORNER_RIGHT_LOWER,clrWhite,clrBlack);
if(ObjectGetInteger(0,"获利达到全平 大于",OBJPROP_STATE)==1)
if(AccountProfit()>StrToDouble(ObjectGetString(0,"获利达到全平 大于-2",OBJPROP_TEXT)))
{
deleteorder(-100,-1,"");
ObjectSetInteger(0,"获利达到全平 大于",OBJPROP_STATE,0);
}
按钮("亏损达到全平 小于",180,60,100,20,CORNER_RIGHT_LOWER,clrRed,clrBlack);
EDIT标签("亏损达到全平 小于-2","-100000",80,60,60,20,CORNER_RIGHT_LOWER,clrWhite,clrBlack);
if(ObjectGetInteger(0,"亏损达到全平 小于",OBJPROP_STATE)==1)
if(AccountProfit()<StrToDouble(ObjectGetString(0,"亏损达到全平 小于-2",OBJPROP_TEXT)))
{
deleteorder(-100,-1,"");
ObjectSetInteger(0,"亏损达到全平 小于",OBJPROP_STATE,0);
}
/
for(int ix=GlobalVariablesTotal(); ix>=0; ix–)
{
int 订单号监测=GlobalVariableGet(GlobalVariableName(ix));
if(OrderSelect(订单号监测,SELECT_BY_TICKET,MODE_HISTORY))
if(OrderCloseTime()!=0)
if(TimeCurrent()-OrderCloseTime()>=246060)
GlobalVariableDel(GlobalVariableName(ix));
}

string 内容[100];

内容[0]="———-量化混沌编程本地跟单软件接收端————-";
内容[1]=" ————–已开启本地跟单接收端————–";
/
内容[2]="历史0:"+OrderTicketXH[0]+" "+OrderSymbolXH[0]+" "+OrderTypeXH[0]+" "+OrderLotsXH[0];
内容[3]="历史1:"+OrderTicketXH[1]+" "+OrderSymbolXH[1]+" "+OrderTypeXH[1]+" "+OrderLotsXH[1];
内容[4]="历史2:"+OrderTicketXH[2]+" "+OrderSymbolXH[2]+" "+OrderTypeXH[2]+" "+OrderLotsXH[2];
内容[5]="历史3:"+OrderTicketXH[3]+" "+OrderSymbolXH[3]+" "+OrderTypeXH[3]+" "+OrderLotsXH[3];
内容[6]="历史4:"+OrderTicketXH[4]+" "+OrderSymbolXH[4]+" "+OrderTypeXH[4]+" "+OrderLotsXH[4];
内容[7]="历史5:"+OrderTicketXH[5]+" "+OrderSymbolXH[5]+" "+OrderTypeXH[5]+" "+OrderLotsXH[5];
内容[8]="历史6:"+OrderTicketXH[6]+" "+OrderSymbolXH[6]+" "+OrderTypeXH[6]+" "+OrderLotsXH[6];
内容[9]="";
内容[10]="持有0:"+OrderTicketX[0]+" "+OrderSymbolX[0]+" "+OrderTypeX[0]+" "+OrderLotsX[0]+" 对应"+已跟单对应记录(OrderTicketX[0])+" 时间"+TimeToStr(OrderOpenTimeX[0]);
内容[11]="持有1:"+OrderTicketX[1]+" "+OrderSymbolX[1]+" "+OrderTypeX[1]+" "+OrderLotsX[1]+" 对应"+已跟单对应记录(OrderTicketX[1])+" 时间"+TimeToStr(OrderOpenTimeX[1]);
内容[12]="持有2:"+OrderTicketX[2]+" "+OrderSymbolX[2]+" "+OrderTypeX[2]+" "+OrderLotsX[2]+" 对应"+已跟单对应记录(OrderTicketX[2])+" 时间"+TimeToStr(OrderOpenTimeX[2]);
内容[13]="持有3:"+OrderTicketX[3]+" "+OrderSymbolX[3]+" "+OrderTypeX[3]+" "+OrderLotsX[3]+" 对应"+已跟单对应记录(OrderTicketX[3])+" 时间"+TimeToStr(OrderOpenTimeX[3]);
内容[14]="持有4:"+OrderTicketX[4]+" "+OrderSymbolX[4]+" "+OrderTypeX[4]+" "+OrderLotsX[4]+" 对应"+已跟单对应记录(OrderTicketX[4])+" 时间"+TimeToStr(OrderOpenTimeX[4]);
内容[15]="持有5:"+OrderTicketX[5]+" "+OrderSymbolX[5]+" "+OrderTypeX[5]+" "+OrderLotsX[5]+" 对应"+已跟单对应记录(OrderTicketX[5])+" 时间"+TimeToStr(OrderOpenTimeX[5]);
内容[16]="持有6:"+OrderTicketX[6]+" "+OrderSymbolX[6]+" "+OrderTypeX[6]+" "+OrderLotsX[6]+" 对应"+已跟单对应记录(OrderTicketX[6])+" 时间"+TimeToStr(OrderOpenTimeX[6]);
for(int ixx=0; ixx<=16; ixx++)
固定位置标签("标签"+ixx,内容[ixx],X,Y+Y间隔
ixx,标签颜色,标签字体大小,固定角);
/
固定位置标签("标签"+0,内容[0],X,Y+Y间隔
0,标签颜色1,标签字体大小,固定角);
固定位置标签("标签"+1,内容[1],X,Y+Y间隔*1,标签颜色1,标签字体大小,固定角);
ChartRedraw();
if(!(!IsStopped() && IsExpertEnabled() && IsTesting()==false && IsOptimization()==false))
return;
Sleep(300);
}
return;
}
//+——————————————————————+
//| |
//+——————————————————————+
void 固定位置标签(string 名称,string 内容,int XX,int YX,color C,int 字体大小,int 固定角内)
{
if(内容==EMPTY)
return;
if(ObjectFind(名称)==-1)
{
ObjectDelete(名称);
ObjectCreate(名称,OBJ_LABEL,0,0,0);
}
ObjectSet(名称,OBJPROP_XDISTANCE,XX);
ObjectSet(名称,OBJPROP_YDISTANCE,YX);
ObjectSetText(名称,内容,字体大小,"宋体",C);
ObjectSet(名称,OBJPROP_CORNER,固定角内);
ObjectSetInteger(0,名称,OBJPROP_ANCHOR,ANCHOR_LEFT);
}
//+——————————————————————+
//| |
//+——————————————————————+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//—
OnTick();
}
//+——————————————————————+
void EDIT标签(string name,string 内容,int XX,int YX,int XL,int YL,int WZ,color A,color B)
{
if(ObjectFind(0,name)==-1)
{
ObjectCreate(0,name,OBJ_EDIT,0,0,0);
ObjectSetString(0,name,OBJPROP_TEXT,内容);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,XX);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,YX);
ObjectSetInteger(0,name,OBJPROP_XSIZE,XL);
ObjectSetInteger(0,name,OBJPROP_YSIZE,YL);
ObjectSetString(0,name,OBJPROP_FONT,"微软雅黑");
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,8);
ObjectSetInteger(0,name,OBJPROP_CORNER,WZ);
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,A);
ObjectSetInteger(0,name,OBJPROP_COLOR,B);
}
}
//+——————————————————————+
//| |
//+——————————————————————+
void 按钮(string name,int XX,int YX,int XL,int YL,int WZ,color A,color B)
{
if(ObjectFind(0,name)==-1)
{
ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,XX);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,YX);
ObjectSetInteger(0,name,OBJPROP_XSIZE,XL);
ObjectSetInteger(0,name,OBJPROP_YSIZE,YL);
ObjectSetString(0,name,OBJPROP_TEXT,name);
ObjectSetString(0,name,OBJPROP_FONT,"微软雅黑");
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,8);
ObjectSetInteger(0,name,OBJPROP_CORNER,WZ);
}

if(ObjectGetInteger(0,name,OBJPROP_STATE)==1)
{
ObjectSetInteger(0,name,OBJPROP_COLOR,A);
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,B);
}
else
{
ObjectSetInteger(0,name,OBJPROP_COLOR,B);
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,A);
}
}


量子混沌 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:本地跟单软件,精准跟随、实时同步 轻松实现自动跟单 MT4免费EA