DxdCn老师,在吗?
\\MQL4\\Files\\ 新的只允许在这个目录读写文件。
C:\\hkfy168.com\\ 不能用了。 你检查调试一下
专业破解各种外汇智能分析系统/EA
专业破解黄金甲EA 美国汇神EA
专业破解趋向建仓智能分析系统
专业破解曹操外汇智能分析系统/EA
专业破解曹操水木外汇智能分析系统/EA
专业破解老船长外汇智能分析系统
专业破解灵灵狗009黄金外汇交易系统(EA)
专业破解金嘉亿外汇智能分析系统
专业破解大浪淘沙MT4智能操盘手
专业破解大鱼外汇黄金智能分析系统
专业破解汇市导航系统
专业破解海阔外汇智能软件(EA)
专业破解富盈外汇智能分析系统
专业破解傻瓜外汇智能分析系统
本地同步跟单EA
专业破解水木外汇智能分析系统
专业破解淘金者智能分析系统(EA)
专业加密ex4文件防止反编译。
。。。。。。。。。。。。。。。。。。。。。。。。。
需要的汇友加本人QQ:452337597
专业破解各种外汇智能分析系统/EA
专业破解黄金甲EA 美国汇神EA
专业破解趋向建仓智能分析系统
专业破解曹操外汇智能分析系统/EA
专业破解曹操水木外汇智能分析系统/EA
专业破解老船长外汇智能分析系统
专业破解灵灵狗009黄金外汇交易系统(EA)
专业破解金嘉亿外汇智能分析系统
专业破解大浪淘沙MT4智能操盘手
专业破解大鱼外汇黄金智能分析系统
专业破解汇市导航系统
专业破解海阔外汇智能软件(EA)
专业破解富盈外汇智能分析系统
专业破解傻瓜外汇智能分析系统
本地同步跟单EA
专业破解水木外汇智能分析系统
专业破解淘金者智能分析系统(EA)
专业加密ex4文件防止反编译。
。。。。。。。。。。。。。。。。。。。。。。。。。
需要的汇友加本人QQ:452337597
\\MQL4\\Files\\ 新的只允许在这个目录读写文件。
C:\\hkfy168.com\\ 不能用了。 你检查调试一下
确定是 CreateDirectoryA("C:\\hkfy168.com",0);这里出了问题,这个函数没有被调用,请问老师MT4新的版本自有函数能实现这个功能吗?请老师指点!
新升级的MT4好像有个客户端共享文件夹吧,不知道在哪里啊?因为我这个文件想被本地电脑其他的客户端 使用。
老师,我改写成如下还是出现同样的结果:左上角显示:“Error Write to Clones”
#include <stdlib.mqh>
#import "kernel32.dll"
bool CopyFileA(string a0,string a1,bool a2);
#import
extern int 主账户GMT时间差=2;
string CommentToExclude="!";
bool gi_304=FALSE;
string gsa_308[50][10];
int g_ord_total_312=0;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double iif(bool ai_0,double ad_4,double ad_12)
{
if(ai_0) return (ad_4);
return (ad_12);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string stdSymbol(string as_0)
{
return (StringSubstr(as_0, 0, 6));
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
int l_file_32;
string lsa_36[50][10];
string lsa_40[50][10];
int l_pos_0=0;
while(!IsStopped() && IsExpertEnabled())
{
gi_304=TRUE;
Sleep(500);
ArrayInit(lsa_36);
Comment(TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS));
for(l_pos_0=0; l_pos_0<OrdersTotal(); l_pos_0++)
{
OrderSelect(l_pos_0,SELECT_BY_POS);
if(StringFind(OrderComment(),CommentToExclude)<0)
{
lsa_36[l_pos_0][0] = OrderTicket();
lsa_36[l_pos_0][1] = stdSymbol(OrderSymbol());
lsa_36[l_pos_0][2] = OrderType();
lsa_36[l_pos_0][3] = OrderLots();
lsa_36[l_pos_0][4] = OrderOpenPrice();
lsa_36[l_pos_0][5] = OrderStopLoss();
lsa_36[l_pos_0][6] = OrderTakeProfit();
lsa_36[l_pos_0][7] = iif(OrderExpiration() == 0, 0, OrderExpiration() - 60 * (60 * 主账户GMT时间差 ));
lsa_36[l_pos_0][8] = AccountBalance();
lsa_36[l_pos_0][9] = OrderOpenTime() - 60 * (60 * 主账户GMT时间差 );
}
}
if(OrdersTotal()==0)
{
lsa_36[0][0] = -1;
lsa_36[0][1] = "Conect";
lsa_36[0][2] = 0;
lsa_36[0][3] = 0;
lsa_36[0][4] = 0;
lsa_36[0][5] = 0;
lsa_36[0][6] = 0;
lsa_36[0][7] = 0;
lsa_36[0][8] = 0;
lsa_36[0][9] = 0;
}
if(ArrayEqual(lsa_36,gsa_308)) g_ord_total_312=OrdersTotal();
else
{
l_file_32=FileOpen(AccountNumber()+".dat",FILE_BIN|FILE_WRITE);
if(l_file_32>0)
{
FileWriteArray(l_file_32,lsa_36,0,500);
FileClose(l_file_32);
if(!CopyFiles())
{
Comment("Error Write to Clones");
Sleep(5000);
continue;
}
ArrayCopy(gsa_308,lsa_36);
Print("Orders Updated: "+TimeToStr(TimeCurrent()));
Comment("Orders Updated: "+TimeToStr(TimeCurrent()));
}
}
}
gi_304=FALSE;
return (0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
if(!gi_304 && !IsStopped() && IsExpertEnabled()) init();
return (0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool CopyFiles()
{
bool li_ret_0=TRUE;
string l_str_concat_4=StringConcatenate(TerminalPath(),"\\MQL4\\Files\\",AccountNumber(),".dat");
//Print(l_str_concat_4);
string l_str_concat_12=StringConcatenate(TerminalInfoString(TERMINAL_COMMONDATA_PATH),"\\",AccountNumber(),".dat");
li_ret_0=CopyFileA(l_str_concat_4,l_str_concat_12,false);
return (li_ret_0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void ArrayInit(string &asa_0[50][10])
{
for(int l_index_4=0; l_index_4<ArrayRange(asa_0,0); l_index_4++) for(int l_count_8=0; l_count_8<10; l_count_8++) asa_0[l_index_4][l_count_8]="";
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool ArrayEqual(string &asa_0[50][10],string &asa_4[50][10])
{
for(int l_index_8=0; l_index_8<ArrayRange(asa_0,0); l_index_8++)
{
for(int l_count_12=0; l_count_12<10; l_count_12++)
{
if(l_count_12 != 8)
if(asa_0[l_index_8][l_count_12] != asa_4[l_index_8][l_count_12]) return (FALSE);
}
}
return (TRUE);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int deinit()
{
Comment("Expert OFF\n");
return (0);
}
//+------------------------------------------------------------------+
你的操作系统是什么?TERMINAL_COMMONDATA_PATH在不同系统下不同,读写权限可能有问题。
调试检查l_str_concat_4和l_str_concat_12 的内容!
建议开发方改程序,去\\MQL4\\Files\\ 目录读文件,不要在copy 到其他地方了。
客户端共享文件夹TERMINAL_COMMONDATA_PATH 一般大概是在 doucument....\all users\application\meta...... 普通用户根本不知道怎么用它,还是不要用了
你的操作系统是什么?TERMINAL_COMMONDATA_PATH在不同系统下不同,读写权限可能有问题。
调试检查l_str_concat_4和l_str_concat_12 的内容!
建议开发方改程序,去\\MQL4\\Files\\ 目录读文件,不要在copy 到其他地方了。
客户端共享文件夹TERMINAL_COMMONDATA_PATH 一般大概是在 doucument....\all users\application\meta...... 普通用户根本不知道怎么用它,还是不要用了
DxdCn老师:
我的操作系统的window XP的,我的程序就是想从一个客户端的\\MQL4\\Files\\ 文件复制到另外一个客户端的\\MQL4\\Files\\ 文件里面,而客户端共享文件夹只是一个过度。如果不使用这个过度的共享文件夹,那么怎么让MT4软件里面的文件从一个客户端转移到另一个客户端呢?难道从这个客户端能读到另外客户端的文件吗?
出售MT4本地跟单,兼容600+版本。QQ278118436
一个客户端、另一个客户端是在同一个计算机上还是不同计算机?
mt之外,用C语言编写监控文件变化的程序 或其他进程间通讯办法 来完成, 设计这EA的人应该有能力解决。
仅靠配置设置可能不行了。
DxdCn老师,您好,下面是我的源码,在MT4 509版本的时候还行,升级到600后,就不行了,在图标的左上角显示“Error Write to Clones”,我修改了很久,查不出问题所在,求老师帮忙!
#include <stdlib.mqh>
#import "kernel32.dll"
bool CopyFileA(string a0,string a1,bool a2);
bool CreateDirectoryA(string a0,int a1);
#import
extern int 主账户GMT时间差=2;
string CommentToExclude="!";
bool gi_304=FALSE;
string gsa_308[50][10];
int g_ord_total_312=0;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double iif(bool ai_0,double ad_4,double ad_12)
{
if(ai_0) return (ad_4);
return (ad_12);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string stdSymbol(string as_0)
{
return (StringSubstr(as_0, 0, 6));
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
int l_file_32;
string lsa_36[50][10];
string lsa_40[50][10];
int l_pos_0=0;
CreateDirectoryA("C:\\hkfy168.com",0);
while(!IsStopped() && IsExpertEnabled())
{
gi_304=TRUE;
Sleep(500);
ArrayInit(lsa_36);
Comment(TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS));
for(l_pos_0=0; l_pos_0<OrdersTotal(); l_pos_0++)
{
OrderSelect(l_pos_0,SELECT_BY_POS);
if(StringFind(OrderComment(),CommentToExclude)<0)
{
lsa_36[l_pos_0][0] = OrderTicket();
lsa_36[l_pos_0][1] = stdSymbol(OrderSymbol());
lsa_36[l_pos_0][2] = OrderType();
lsa_36[l_pos_0][3] = OrderLots();
lsa_36[l_pos_0][4] = OrderOpenPrice();
lsa_36[l_pos_0][5] = OrderStopLoss();
lsa_36[l_pos_0][6] = OrderTakeProfit();
lsa_36[l_pos_0][7] = iif(OrderExpiration() == 0, 0, OrderExpiration() - 60 * (60 * 主账户GMT时间差 ));
lsa_36[l_pos_0][8] = AccountBalance();
lsa_36[l_pos_0][9] = OrderOpenTime() - 60 * (60 * 主账户GMT时间差 );
}
}
if(OrdersTotal()==0)
{
lsa_36[0][0] = -1;
lsa_36[0][1] = "Conect";
lsa_36[0][2] = 0;
lsa_36[0][3] = 0;
lsa_36[0][4] = 0;
lsa_36[0][5] = 0;
lsa_36[0][6] = 0;
lsa_36[0][7] = 0;
lsa_36[0][8] = 0;
lsa_36[0][9] = 0;
}
if(ArrayEqual(lsa_36,gsa_308)) g_ord_total_312=OrdersTotal();
else
{
l_file_32=FileOpen(AccountNumber()+".dat",FILE_BIN|FILE_WRITE);
if(l_file_32>0)
{
FileWriteArray(l_file_32,lsa_36,0,500);
FileClose(l_file_32);
if(!CopyFiles())
{
Comment("Error Write to Clones");
Sleep(5000);
continue;
}
ArrayCopy(gsa_308,lsa_36);
Print("Orders Updated: "+TimeToStr(TimeCurrent()));
Comment("Orders Updated: "+TimeToStr(TimeCurrent()));
}
}
}
gi_304=FALSE;
return (0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
if(!gi_304 && !IsStopped() && IsExpertEnabled()) init();
return (0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool CopyFiles()
{
bool li_ret_0=TRUE;
string l_str_concat_4=StringConcatenate(TerminalPath(),"\\MQL4\\Files\\",AccountNumber(),".dat");
//Print(l_str_concat_4);
string l_str_concat_12=StringConcatenate("C:\\hkfy168.com\\",AccountNumber(),".dat");
li_ret_0=CopyFileA(l_str_concat_4,l_str_concat_12,false);
return (li_ret_0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void ArrayInit(string &asa_0[50][10])
{
for(int l_index_4=0; l_index_4<ArrayRange(asa_0,0); l_index_4++) for(int l_count_8=0; l_count_8<10; l_count_8++) asa_0[l_index_4][l_count_8]="";
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
bool ArrayEqual(string &asa_0[50][10],string &asa_4[50][10])
{
for(int l_index_8=0; l_index_8<ArrayRange(asa_0,0); l_index_8++)
{
for(int l_count_12=0; l_count_12<10; l_count_12++)
{
if(l_count_12 != 8)
if(asa_0[l_index_8][l_count_12] != asa_4[l_index_8][l_count_12]) return (FALSE);
}
}
return (TRUE);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int deinit()
{
Comment("Expert OFF\n");
return (0);
}
//+------------------------------------------------------------------+