任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1128 1...112111221123112411251126112711281129113011311132113311341135...1178 新评论 Mickey Moose 2017.02.21 08:54 #11271 Vitalie Postolache: 这不就是我上面写的吗?好的,所以我们把 所需的设置写进文件,关闭它,然后呢?理论上,现在应该用所需的参数重新打开专家顾问,一个文本文件怎么能做到这一点(我在列表中没有看到任何其他功能,尽管在这种情况下,你需要一个exe)? Sergey Gritsay 2017.02.21 09:42 #11272 trader781:好了,我们把所需的设置写进文件,关闭它,然后呢?理论上,现在应该用所需的参数重新打开EA,一个文本文件怎么能做到这一点(我在功能列表中没有看到另一个文件,虽然在这种情况下,你需要一个exe)当你在inite中运行EA时,你加载文件并从中读取设置,就是这样,这里有一个小例子。void LoadParametres() { Print("*******************************************"); Print("Start downloading data Magic = ",Magic," ",_Symbol); Print("*******************************************"); int handle=FileOpen("Overturn_"+(string)Magic+"_"+_Symbol+".csv",FILE_CSV|FILE_READ); if(handle>0) { tiket=(int)FileReadNumber(handle); flag_series=FileReadBool(handle); TP = FileReadNumber(handle); SL = FileReadNumber(handle); series=(int)FileReadNumber(handle); Lots=FileReadNumber(handle); FileClose(handle); Print("*******************************************"); Print("Loading data completed Magic = ",Magic," ",_Symbol); Print("*******************************************"); } } 见 Any rookie question, so 问吧! 编码帮助 Roni Iron 2017.02.21 20:01 #11273 大家好!我在我的终端上有 "自动交易 "按钮 - 我在我的窗口中放置了一个专家顾问 - 我的 "警报 "开始了(在 "专家 "标签中) - 我按了 "自动交易 "按钮(启用)--创建 "警报"(良好)--按下 "自动交易 "按钮(开关交易关闭) - 我仍然收到 "警报"。问题是--每个人都是这种情况吗?如果是这样,是否可以设置/拼写,使 "警报 "只有在按下这个按钮后才会出现?也许这个问题是没有塔的,但还是希望能得到答案! Alekseu Fedotov 2017.02.21 21:14 #11274 Roni Iron:大家好!我在我的终端上有 "自动交易 "按钮 - 我在我的窗口中放置了一个专家顾问 - 它产生了 "警报"(在 "专家 "标签中) - 我按下了 "自动交易 "按钮(我启用了它) - 我按下了 "自动控制 "按钮(我启用了它) - 它工作得很好。(启用)--创建 "警报"(良好)--按下 "自动交易 "按钮(开关交易关闭) - 我仍然收到 "警报"。问题是--每个人都是这种情况吗?如果是这样,是否可以设置/拼写,使 "警报 "只有在按下这个按钮后才会出现?这可能是一个不费吹灰之力的问题,但我还是希望能得到答案!自动交易 "按钮允许和不允许交易操作。如果你禁用它,专家顾问和脚本就会工作。 Vitalie Postolache 2017.02.21 22:34 #11275 Roni Iron:大家好!我在我的终端上有 "自动交易 "按钮 - 我在我的窗口中放置了一个专家顾问 - 我的 "警报 "开始了(在 "专家 "标签中) - 我按了 "自动交易 "按钮(启用)--创建 "警报"(良好)--按下 "自动交易 "按钮(开关交易关闭) - 我仍然收到 "警报"。问题是--每个人都是这种情况吗?如果是这样,是否可以设置/拼写,使 "警报 "只有在按下这个按钮后才会出现?也许这个问题是没有塔的,但还是希望能得到答案! 关注TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)。 Vladimir 2017.02.22 00:02 #11276 Roni Iron:大家好!我在我的终端上有 "自动交易 "按钮 - 我在我的窗口中放置了一个专家顾问 - 我的 "警报 "开始了(在 "专家 "标签中) - 我按了 "自动交易 "按钮(启用)--创建 "警报"(良好)--按下 "自动交易 "按钮(开关交易关闭) - 我仍然收到 "警报"。问题是--每个人都是这种情况吗?如果是这样,是否可以设置/规定只有在按下这个按钮后才会发出 "警报"?也许这个问题是没有塔的,但还是希望能得到答案! 如果你有一个专家顾问(或脚本),在采取和修复源代码方面,这是可能的。你需要给所有的警报设置一个条件,检查按钮是否被按下。如果不按下按钮,就不要拨打报警电话。 Evgeniy Oshurkevich 2017.02.22 07:06 #11277 我在欧元兑美元上做了一个赌注,例如0.10,100点后获利,以10.00的利润收盘,现在美元兑日元100点后有7.80的利润。我试图计算一个点的价值 MarketInfo(Symbol(), MODE_POINT); 我得到的是0,001,我在哪里愚昧了? 我试图以100点计算我的最小手数,得到10.00而不是7.8。 Maxim Kuznetsov 2017.02.22 07:35 #11278 Evgeniy Oshurkevich:我在欧元兑美元上做了一个赌注,例如0.10,100点后获利,以10.00的利润收盘,现在美元兑日元100点后有7.80的利润。我试着计算一个点的价值 MarketInfo(Symbol(), MODE_POINT); 我得到0.001,我在哪里犯了傻? 我试图按100点计算我的最小手数,得到10.00,而不是7.8。 MODE_TICKVALUE - 每1手1点(通过MODE_POINT)的存款货币价格 Evgeniy Oshurkevich 2017.02.22 08:23 #11279 Maxim Kuznetsov: MODE_TICKVALUE - 每1手1点(通过MODE_POINT)的存款货币价格 好的,谢谢 ) [删除] 2017.02.22 10:48 #11280 我需要把数据写入一个hst文件,这样我就可以用这些数据来建立一个自治图。我已经挣扎了两天,但没有任何效果。代码。#property copyright "Copyright 2016, MetaQuotes Software Corp."#property link "https://www.mql5.com"#property version "1.00"#property strictulong last_fpos=0; //int HandleHistory=-1;//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+void OnStart() { string symbol=Symbol(); int per=Period()*9; ResetLastError(); if(CreateHeader()==true)//если создали заголовок { HandleHistory=FileOpenHistory(symbol+(string)per+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI); if(HandleHistory!=INVALID_HANDLE) { for(int i=199;i>0;i--)//заполняем данными { MqlRates r; r.time=Time[i];//просто пытаюсь записать, это так для примера r.open=Open[i];//просто пытаюсь записать, это так для примера r.low=Low[i]; r.high=High[i]; r.close=Close[i]; r.tick_volume=(long)10; r.spread=0; r.real_volume=(long)10; uint byteswritten=FileWriteStruct(HandleHistory,r); Print("FileOpen OK ",byteswritten," ",Time[i]); } FileClose(HandleHistory); // FileFlush(HandleHistory); } else Print("Операция FileOpen неудачна, ошибка ",GetLastError()); }// long id=ChartOpen(symbol,per);//Alert(id); }//+------------------------------------------------------------------+bool CreateHeader()//создаем файл с историей hst(заголовок) { int file_version=401; string c_copyright; string c_symbol=Symbol(); int i_period=Period()*9; int i_digits=Digits; int i_unused[13];//--- ResetLastError(); HandleHistory=FileOpenHistory(c_symbol+(string)i_period+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI); if(HandleHistory<0) { Print("Error open ",c_symbol+(string)i_period,".hst file ",GetLastError()); return(false); } c_copyright="(C)opyright 2003, MetaQuotes Software Corp."; ArrayInitialize(i_unused,0);//--- write history file header FileWriteInteger(HandleHistory,file_version,LONG_VALUE); FileWriteString(HandleHistory,c_copyright,64); FileWriteString(HandleHistory,c_symbol,12); FileWriteInteger(HandleHistory,i_period,LONG_VALUE); FileWriteInteger(HandleHistory,i_digits,LONG_VALUE); FileWriteInteger(HandleHistory,0,LONG_VALUE); FileWriteInteger(HandleHistory,0,LONG_VALUE); FileWriteArray(HandleHistory,i_unused,0,13); return(true); }执行的结果是创建了一个带有历史记录的文件,但没有创建自主图。以下是图表上的信息由于某些原因,这些数据是2003年的!结果,当我启动图表时,我得到一个错误HistoryBase: 196个错误在'NZDCHF45'。我明白,我写错了什么。我不知道如何正确写,我的资料太少了。谁知道呢--请告知。 Any rookie question, so 编码帮助 Coding help 1...112111221123112411251126112711281129113011311132113311341135...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这不就是我上面写的吗?
好的,所以我们把 所需的设置写进文件,关闭它,然后呢?
理论上,现在应该用所需的参数重新打开专家顾问,一个文本文件怎么能做到这一点(我在列表中没有看到任何其他功能,尽管在这种情况下,你需要一个exe)?
好了,我们把所需的设置写进文件,关闭它,然后呢?
理论上,现在应该用所需的参数重新打开EA,一个文本文件怎么能做到这一点(我在功能列表中没有看到另一个文件,虽然在这种情况下,你需要一个exe)
当你在inite中运行EA时,你加载文件并从中读取设置,就是这样,这里有一个小例子。
{
Print("*******************************************");
Print("Start downloading data Magic = ",Magic," ",_Symbol);
Print("*******************************************");
int handle=FileOpen("Overturn_"+(string)Magic+"_"+_Symbol+".csv",FILE_CSV|FILE_READ);
if(handle>0)
{
tiket=(int)FileReadNumber(handle);
flag_series=FileReadBool(handle);
TP = FileReadNumber(handle);
SL = FileReadNumber(handle);
series=(int)FileReadNumber(handle);
Lots=FileReadNumber(handle);
FileClose(handle);
Print("*******************************************");
Print("Loading data completed Magic = ",Magic," ",_Symbol);
Print("*******************************************");
}
}
见
大家好!
我在我的终端上有 "自动交易 "按钮 - 我在我的窗口中放置了一个专家顾问 - 我的 "警报 "开始了(在 "专家 "标签中) - 我按了 "自动交易 "按钮(启用)--创建 "警报"(良好)--按下 "自动交易 "按钮(开关交易关闭) - 我仍然收到 "警报"。
问题是--每个人都是这种情况吗?
如果是这样,是否可以设置/拼写,使 "警报 "只有在按下这个按钮后才会出现?
也许这个问题是没有塔的,但还是希望能得到答案!
大家好!
我在我的终端上有 "自动交易 "按钮 - 我在我的窗口中放置了一个专家顾问 - 它产生了 "警报"(在 "专家 "标签中) - 我按下了 "自动交易 "按钮(我启用了它) - 我按下了 "自动控制 "按钮(我启用了它) - 它工作得很好。(启用)--创建 "警报"(良好)--按下 "自动交易 "按钮(开关交易关闭) - 我仍然收到 "警报"。
问题是--每个人都是这种情况吗?
如果是这样,是否可以设置/拼写,使 "警报 "只有在按下这个按钮后才会出现?
这可能是一个不费吹灰之力的问题,但我还是希望能得到答案!
自动交易 "按钮允许和不允许交易操作。
如果你禁用它,专家顾问和脚本就会工作。
大家好!
我在我的终端上有 "自动交易 "按钮 - 我在我的窗口中放置了一个专家顾问 - 我的 "警报 "开始了(在 "专家 "标签中) - 我按了 "自动交易 "按钮(启用)--创建 "警报"(良好)--按下 "自动交易 "按钮(开关交易关闭) - 我仍然收到 "警报"。
问题是--每个人都是这种情况吗?
如果是这样,是否可以设置/拼写,使 "警报 "只有在按下这个按钮后才会出现?
也许这个问题是没有塔的,但还是希望能得到答案!
大家好!
我在我的终端上有 "自动交易 "按钮 - 我在我的窗口中放置了一个专家顾问 - 我的 "警报 "开始了(在 "专家 "标签中) - 我按了 "自动交易 "按钮(启用)--创建 "警报"(良好)--按下 "自动交易 "按钮(开关交易关闭) - 我仍然收到 "警报"。
问题是--每个人都是这种情况吗?
如果是这样,是否可以设置/规定只有在按下这个按钮后才会发出 "警报"?
也许这个问题是没有塔的,但还是希望能得到答案!
我在欧元兑美元上做了一个赌注,例如0.10,100点后获利,以10.00的利润收盘,现在美元兑日元100点后有7.80的利润。
我试图计算一个点的价值 MarketInfo(Symbol(), MODE_POINT); 我得到的是0,001,我在哪里愚昧了?
我试图以100点计算我的最小手数,得到10.00而不是7.8。我在欧元兑美元上做了一个赌注,例如0.10,100点后获利,以10.00的利润收盘,现在美元兑日元100点后有7.80的利润。
我试着计算一个点的价值 MarketInfo(Symbol(), MODE_POINT); 我得到0.001,我在哪里犯了傻?
我试图按100点计算我的最小手数,得到10.00,而不是7.8。MODE_TICKVALUE - 每1手1点(通过MODE_POINT)的存款货币价格
我需要把数据写入一个hst文件,这样我就可以用这些数据来建立一个自治图。
我已经挣扎了两天,但没有任何效果。
代码。
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
ulong last_fpos=0; //
int HandleHistory=-1;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
string symbol=Symbol();
int per=Period()*9;
ResetLastError();
if(CreateHeader()==true)//если создали заголовок
{
HandleHistory=FileOpenHistory(symbol+(string)per+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
if(HandleHistory!=INVALID_HANDLE)
{
for(int i=199;i>0;i--)//заполняем данными
{
MqlRates r;
r.time=Time[i];//просто пытаюсь записать, это так для примера
r.open=Open[i];//просто пытаюсь записать, это так для примера
r.low=Low[i];
r.high=High[i];
r.close=Close[i];
r.tick_volume=(long)10;
r.spread=0;
r.real_volume=(long)10;
uint byteswritten=FileWriteStruct(HandleHistory,r);
Print("FileOpen OK ",byteswritten," ",Time[i]);
}
FileClose(HandleHistory);
// FileFlush(HandleHistory);
}
else Print("Операция FileOpen неудачна, ошибка ",GetLastError());
}
// long id=ChartOpen(symbol,per);
//Alert(id);
}
//+------------------------------------------------------------------+
bool CreateHeader()//создаем файл с историей hst(заголовок)
{
int file_version=401;
string c_copyright;
string c_symbol=Symbol();
int i_period=Period()*9;
int i_digits=Digits;
int i_unused[13];
//---
ResetLastError();
HandleHistory=FileOpenHistory(c_symbol+(string)i_period+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
if(HandleHistory<0)
{
Print("Error open ",c_symbol+(string)i_period,".hst file ",GetLastError());
return(false);
}
c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
ArrayInitialize(i_unused,0);
//--- write history file header
FileWriteInteger(HandleHistory,file_version,LONG_VALUE);
FileWriteString(HandleHistory,c_copyright,64);
FileWriteString(HandleHistory,c_symbol,12);
FileWriteInteger(HandleHistory,i_period,LONG_VALUE);
FileWriteInteger(HandleHistory,i_digits,LONG_VALUE);
FileWriteInteger(HandleHistory,0,LONG_VALUE);
FileWriteInteger(HandleHistory,0,LONG_VALUE);
FileWriteArray(HandleHistory,i_unused,0,13);
return(true);
}
执行的结果是创建了一个带有历史记录的文件,但没有创建自主图。
以下是图表上的信息
由于某些原因,这些数据是2003年的!
结果,当我启动图表时,我得到一个错误HistoryBase: 196个错误在'NZDCHF45'。
我明白,我写错了什么。我不知道如何正确写,我的资料太少了。谁知道呢--请告知。