新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 432 1...425426427428429430431432433434435436437438439...1953 新评论 Vladislav Andruschenko 2018.01.22 19:48 #4311 WinProject: 谢谢你!),变量Cena=FileReadString(handle);我插入函数Separator=StringReplace(Sepa,",",".");它写入错误 "从数字到字符串的隐式转换" - 不想把带有分隔符","(1,22426)的值读成字符串,而且StringReplace也不起作用。还是我做错了?请复制你所拥有的这部分代码,从读取文件开始,指定CENA变量的类型 WinProject 2018.01.22 20:05 #4312 Vladislav Andruschenko: 请复制你手中的这部分代码,从读取文件开始,指定CENA变量的类型空白的MyFunc(){handle=FileOpen('Data.csv',FILE_CSV|FILE_READ,';')。while(FileIsEnding(handle)!=true){ string cena=FileReadString(handle);string Separ=StringReplace(cena,",".")。如果(FileIsEnding(handle)==true)突破。}FileClose(handle)。} Vladislav Andruschenko 2018.01.22 20:13 #4313 WinProject: 空白的MyFunc(){handle=FileOpen('Data.csv',FILE_CSV|FILE_READ,';')。while(FileIsEnding(handle)!=true){ string cena=FileReadString(handle);string Separ=StringReplace(cena,",".")。如果(FileIsEnding(handle)==true)突破。}FileClose(handle)。} 请阅读这个函数返回的内容。你是想把结果串起来。但这个函数只是将一个字符替换为一个字符串。你可以继续使用塞纳,并进行修改 WinProject 2018.01.22 20:29 #4314 Vladislav Andruschenko: 请阅读这个函数返回的内容。你是想把结果串起来。但这个函数只是用一个字符替换了一个字符。你可以继续使用塞纳已经的变化 我发现了我的错误,(字符串Separ=在这里是多余的),并且成功了。谢谢你,谢谢你!) Roman Sharanov 2018.01.23 08:07 #4315 帮助,我需要从上一个蜡烛的高点到它上面的200p点画一个矩形,并提前一个柱子计时。我写了代码,但我不明白为什么矩形的左点不移动?而右边的则滑到了海哥的后面。int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //ObjectDelete(0,"Name"); ArraySetAsSeries(high,true); ObjectCreate(0,"Name",OBJ_RECTANGLE,0,TimeCurrent(),high[0],TimeCurrent()+PeriodSeconds(PERIOD_CURRENT)*2,high[0]+200*_Point); ObjectSetInteger(0,"Name",OBJPROP_FILL,true); //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ Vladislav Andruschenko 2018.01.23 08:12 #4316 Roman Sharanov:帮助,我需要从上一个蜡烛的高点到它上面的200p点画一个矩形,并提前一个柱子计时。我写了代码,但我不明白为什么矩形的左点不移动?而右边的则滑到了海哥的后面。也许你正试图创建一个已经在图表上的对象?而前一栏是1而不是0。high[0] - это ХАЙ текущего бара Roman Sharanov 2018.01.23 08:19 #4317 Vladislav Andruschenko: 也许你正试图创建一个已经在图表上的对象? 检查一下图表上是否已经有对象可能会更好。是的,而且前一栏是1而不是0。这是正确的,已经固定了指数。改了名字,看了名单,什么都没变,一切都一样,一个点挂在一个地方,另一个点跟着海。 Konstantin Erin 2018.01.23 09:19 #4318 Roman Sharanov: 这是正确的,已经固定了指数。改了名字,看了名单,没有什么变化,还是一样,一个点挂在一个地方,另一个点跟着海。 ObjectDelete(0,"Name"); ObjectCreate(0,"Name",OBJ_RECTANGLE,0, TimeCurrent()-_Period*60,high[1], TimeCurrent()+PeriodSeconds(PERIOD_CURRENT)*2,high[0]+200*_Point); ObjectSetInteger(0,"Name",OBJPROP_FILL,true); return(rates_total); 它正在移动。 Boss11 2018.01.23 09:32 #4319 STARIJ: 这非常简单。你需要设置7个参数来计算iMA。第一个参数,即符号的名称,是很明显的。作为第二个,时间框架,设置为M1。第三个参数--周期--根据需要设置多少次,多少天是超过一分钟的。第四个参数 - shift = 0。接下来的两个参数--平均数的方法和价格类型--你知道。最后一个是栏位号,如果你知道你需要的时间,请计算栏位号。就这样吧!通过对M5和M15的时间框架进行计算,对其进行反复检查。也许甚至是为了M30。STARIJ, 谢谢你的帮助,经检查,不幸的是,与原版的匹配度很差,随着TF的增加(如从30分钟到每周),匹配度明显下降了。这种方法聊胜于无,但没有多少准确性。还有其他的变体吗? Konstantin Erin 2018.01.23 09:41 #4320 Boss11: STARIJ, 谢谢你的帮助,经检查,不幸的是,与原版的匹配度很差,随着TF的增加(如从30分钟到每周),匹配度明显下降了。这种方法聊胜于无,但没有多少准确性。还有其他的变体吗? 是的,我们应该使用M1,和M5,...- 来检查。也许我们应该使用内插法? MT5有一个tick历史。如果你让我知道利润在哪里,我会再看一下。 1...425426427428429430431432433434435436437438439...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢你!),变量Cena=FileReadString(handle);我插入函数Separator=StringReplace(Sepa,",",".");它写入错误 "从数字到字符串的隐式转换" -
不想把带有分隔符","(1,22426)的值读成字符串,而且StringReplace也不起作用。还是我做错了?
请复制你所拥有的这部分代码,从读取文件开始,指定CENA变量的类型
请复制你手中的这部分代码,从读取文件开始,指定CENA变量的类型
空白的MyFunc()
{
handle=FileOpen('Data.csv',FILE_CSV|FILE_READ,';')。
while(FileIsEnding(handle)!=true)
{ string cena=FileReadString(handle);
string Separ=StringReplace(cena,",".")。
如果(FileIsEnding(handle)==true)
突破。
}
FileClose(handle)。
}
空白的MyFunc()
{
handle=FileOpen('Data.csv',FILE_CSV|FILE_READ,';')。
while(FileIsEnding(handle)!=true)
{ string cena=FileReadString(handle);
string Separ=StringReplace(cena,",".")。
如果(FileIsEnding(handle)==true)
突破。
}
FileClose(handle)。
}
请阅读这个函数返回的内容。你是想把结果串起来。但这个函数只是用一个字符替换了一个字符。你可以继续使用塞纳已经的变化
谢谢你,谢谢你!)
帮助,我需要从上一个蜡烛的高点到它上面的200p点画一个矩形,并提前一个柱子计时。
我写了代码,但我不明白为什么矩形的左点不移动?而右边的则滑到了海哥的后面。
帮助,我需要从上一个蜡烛的高点到它上面的200p点画一个矩形,并提前一个柱子计时。
我写了代码,但我不明白为什么矩形的左点不移动?而右边的则滑到了海哥的后面。
也许你正试图创建一个已经在图表上的对象?
而前一栏是1而不是0。
high[0] - это ХАЙ текущего бара
也许你正试图创建一个已经在图表上的对象? 检查一下图表上是否已经有对象可能会更好。
是的,而且前一栏是1而不是0。
这是正确的,已经固定了指数。
改了名字,看了名单,什么都没变,一切都一样,一个点挂在一个地方,另一个点跟着海。
改了名字,看了名单,没有什么变化,还是一样,一个点挂在一个地方,另一个点跟着海。
它正在移动。
这非常简单。你需要设置7个参数来计算iMA。第一个参数,即符号的名称,是很明显的。作为第二个,时间框架,设置为M1。第三个参数--周期--根据需要设置多少次,多少天是超过一分钟的。第四个参数 - shift = 0。接下来的两个参数--平均数的方法和价格类型--你知道。最后一个是栏位号,如果你知道你需要的时间,请计算栏位号。就这样吧!通过对M5和M15的时间框架进行计算,对其进行反复检查。也许甚至是为了M30。
STARIJ, 谢谢你的帮助,经检查,不幸的是,与原版的匹配度很差,随着TF的增加(如从30分钟到每周),匹配度明显下降了。这种方法聊胜于无,但没有多少准确性。还有其他的变体吗?
STARIJ, 谢谢你的帮助,经检查,不幸的是,与原版的匹配度很差,随着TF的增加(如从30分钟到每周),匹配度明显下降了。这种方法聊胜于无,但没有多少准确性。还有其他的变体吗?