新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 481 1...474475476477478479480481482483484485486487488...1953 新评论 Rewerpool 2018.02.26 12:32 #4801 STARIJ:当打开文件 进行书写时,你指定了TXT或CSV。这是一个文本文件。把它读成一个字符串,选择StringSubstr并把它转换成你想要的东西void Write_File() { int handle; static double BlueL,RedL; string B_level= DoubleToStr(BlueLine, Digits); string R_level= DoubleToStr(RedLine, Digits); string f_name = " (" + Symbol() + ")\\" + TimeToStr( LocalTime(),TIME_DATE ) + ".txt"; if(BlueLine!=BlueL||RedLine!=RedL) { Sleep(10000);//подождем 10 сек, пока оператор меняет уровни // Открытие или создание файла и перемещение указателя в конец handle= FileOpen(f_name,FILE_CSV|FILE_READ|FILE_WRITE," "); if(handle == -1) { Alert("Ошибка при открытии файла ",handle); return; } FileSeek(handle,0,SEEK_END); // Если новый файл - записать имя файла и строку заголовков колонок if(FileSize(handle)==0) { FileWrite(handle,f_name); FileWrite(handle,"Изменение Уровней BlueLine RedLine"); } // Сбор информации и запись в файл FileWrite(handle,TimeToStr(TimeCurrent()), " ",B_level, " ",R_level); FileClose(handle); BlueL=BlueLine;RedL=RedLine; } return; }这就是写作的方式!。TCT 对不起,我现在不明白如何准确地把B_level和R_level 弄出来。我不需要日期和时间!不过我确实想把它们写下来) Konstantin Erin 2018.02.26 12:34 #4802 Rewerpool:这就是写作的方式!。TCT对不起,我现在不明白如何准确地把B_level和R_level 弄出来。我不需要日期和时间!但我确实想把它写下来)读取为字符串,高亮显示StringSubstr 并转换为你需要的内容。读取为字符串,分配StringSubstr并转换为你需要的任何东西 Rewerpool 2018.02.26 12:37 #4803 STARIJ:读取为一个字符串,分配一个StringSubstr并转换为你需要的任何东西。读取为一个字符串,选择StringSubstr并转换为任何啊啊啊啊啊啊,知道了!!!。就是这样!!!。谢谢@STARIJ!我会试一试的) Rewerpool 2018.02.26 13:14 #4804 @STARIJ 不工作,还搞不清楚我哪里错了!帮助! double BlueLine,RedLine; void Read_File() { int handle; string B_level; string R_level; static double BlueL=StrToDouble(B_level); static double RedL=StrToDouble(R_level); string f_name = " (" + Symbol() + ")\\" + TimeToStr( LocalTime(),TIME_DATE ) + ".txt"; if(BlueL!=BlueLine||RedL!=RedLine) { // Открытие или создание файла и перемещение указателя в конец handle= FileOpen(f_name,FILE_CSV|FILE_READ|FILE_WRITE," "); if(handle == -1) { Alert("Ошибка при открытии файла ",handle); return; } FileSeek(handle,0,SEEK_END); // Чтение информации из файла FileReadString(handle,B_level= StringSubstr(f_name,16,7),R_level= StringSubstr(f_name,23,7)); FileClose(handle); BlueLine=BlueL;RedLine=RedL; } return; } 这里犯了错误,但我做错了什么? Rewerpool 2018.02.26 13:25 #4805 他为什么不喜欢这样? Alekseu Fedotov 2018.02.26 14:25 #4806 Rewerpool:为什么它不像这样呢? 看看你传递给函数的参数是什么,有多少,以及它返回什么。 点击f1,事先将光标放在这个函数上 Konstantin Erin 2018.02.26 15:26 #4807 Rewerpool:@STARIJ 不工作,还搞不清楚我哪里错了!帮助! 这里犯了错误,但我做错了什么? 首先让我们读一下最后一个字符串 int handla = FileOpen("1111.txt",FILE_TXT|FILE_READ," "); // TXT !!!!!!! string s; while(!FileIsEnding(handla)) s=FileReadString(handla,100); Alert(s); FileClose(handla);2018.02.26 12:49 1.24368 1.22581 现在 ...突出显示StringSubstr并转换为你需要的内容。一切都要按部就班地进行。匆忙是程序员的一个敌人。 double Синяя=StrToDouble(StringSubstr(s,20,7)); double Красн=StrToDouble(StringSubstr(s,31,7)); Alert(DoubleToStr(Синяя,5), " ", DoubleToStr(Красн,5));读取为字符串,分配StringSubstr并转换为字符串。 读取为字符串,分配StringSubstr并转换为字符串 Rewerpool 2018.02.26 16:04 #4808 STARIJ: 首先让我们读一下最后一个字符串2018.02.26 12:49 1.24368 1.22581 现在 ...分配StringSubstr并转换为你需要的东西。你必须一步一步地做每件事。匆忙是程序员的一个敌人。 读取为字符串,分配StringSubstr并转换为字符串。 读取为字符串,分配StringSubstr并转换为字符串STARIJ: 谢谢你的分析! 重做了!现在,这些数字不知道为什么加起来不对了! 文件中的数字是这样的。 2018.02.26 17:44 1.24938 1.22771 而同样的《警报》给出了这些。 他在1.2后面的零是怎么来的?我已经尝试过正常化。没有! 代码是这样写的。 void Read_File() { int handle; string str; static double BlueL; static double RedL; string f_name = " (" + Symbol() + ")\\" + TimeToStr( LocalTime(),TIME_DATE ) + ".txt"; if(BlueL!=BlueLine||RedL!=RedLine) { // Открытие или создание файла и перемещение указателя в конец handle= FileOpen(f_name,FILE_READ|FILE_TXT," "); if(handle == -1) { Alert("Ошибка при открытии файла ",handle); return; } while(!FileIsEnding(handle)) //Читаем последнюю строку str=FileReadString(handle,60);//Чтение строки из файла FileClose(handle); BlueL=StrToDouble(StringSubstr(str,16,7)); RedL=StrToDouble(StringSubstr(str,23,7)); Alert(DoubleToStr(BlueL,5), " ", DoubleToStr(RedL,5)); ObjectSet("BlueLine",OBJPROP_PRICE1,BlueL); ObjectSet("RedLine",OBJPROP_PRICE1,RedL); } return; } Konstantin Erin 2018.02.26 16:24 #4809 Rewerpool:STARIJ : 谢谢你的分析! 重做了!现在,这些数字不知道为什么加起来不对了! 文件中的数字是:,但同样的Alert给出的是:,它在1.2后面的零是怎么来的?我已经尝试过正常化。没有! 我的代码是这样写的。 我写的是StringSubstr(str,20,7),你写的是StringSubstr(str,16,7)。 从1.24938中减去最后4位,得到1.2。 我告诉过你--要按顺序做每件事。我有Alert(s); - 打印你读到的字符串,以确保它是正确的,而你却急着写ObjectSet(.编程就是要有耐心,一小步一小步地往前走--而你却在论坛上大喊大叫。当你在等待答案的时候--你可以采取多少个自信的小步骤!!。 Alekseu Fedotov 2018.02.26 16:26 #4810 Rewerpool:STARIJ: 谢谢你的分析! 重做了!现在,这些数字不知道为什么加起来不对了! 文件中的数字是这样的。 而同样的《警报》给出了这些。 他在1.2后面的零是怎么来的?我已经尝试过正常化。没有! 我的代码是这样写的。 试试这个。 void Read_File() { int handle; string str; static double BlueL; static double RedL; string f_name = " (" + Symbol() + ")\\" + TimeToStr( LocalTime(),TIME_DATE ) + ".txt"; if(BlueL!=BlueLine||RedL!=RedLine) { // Открытие или создание файла и перемещение указателя в конец handle= FileOpen(f_name,FILE_READ|FILE_TXT," "); if(handle == -1) { Alert("Ошибка при открытии файла ",handle); return; } while(!FileIsEnding(handle)) //Читаем последнюю строку str=FileReadString(handle,60);//Чтение строки из файла FileClose(handle); BlueL=StrToDouble(StringSubstr(str,20,7)); RedL=StrToDouble(StringSubstr(str,31,7)); Alert(DoubleToStr(BlueL,5), " ", DoubleToStr(RedL,5)); ObjectSet("BlueLine",OBJPROP_PRICE1,BlueL); ObjectSet("RedLine",OBJPROP_PRICE1,RedL); } return; } 1...474475476477478479480481482483484485486487488...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
当打开文件 进行书写时,你指定了TXT或CSV。这是一个文本文件。把它读成一个字符串,选择StringSubstr并把它转换成你想要的东西
这就是写作的方式!。TCT
对不起,我现在不明白如何准确地把B_level和R_level 弄出来。我不需要日期和时间!不过我确实想把它们写下来)
这就是写作的方式!。TCT
对不起,我现在不明白如何准确地把B_level和R_level 弄出来。我不需要日期和时间!但我确实想把它写下来)
读取为字符串,高亮显示StringSubstr 并转换为你需要的内容。读取为字符串,分配StringSubstr并转换为你需要的任何东西
读取为一个字符串,分配一个StringSubstr并转换为你需要的任何东西。读取为一个字符串,选择StringSubstr并转换为任何
啊啊啊啊啊啊,知道了!!!。就是这样!!!。谢谢@STARIJ!我会试一试的)
@STARIJ 不工作,还搞不清楚我哪里错了!帮助!
这里犯了错误,但我做错了什么?他为什么不喜欢这样?
为什么它不像这样呢?
看看你传递给函数的参数是什么,有多少,以及它返回什么。
点击f1,事先将光标放在这个函数上
@STARIJ 不工作,还搞不清楚我哪里错了!帮助!
这里犯了错误,但我做错了什么?2018.02.26 12:49 1.24368 1.22581 现在 ...突出显示StringSubstr并转换为你需要的内容。一切都要按部就班地进行。匆忙是程序员的一个敌人。
读取为字符串,分配StringSubstr并转换为字符串。 读取为字符串,分配StringSubstr并转换为字符串
首先让我们读一下最后一个字符串
2018.02.26 12:49 1.24368 1.22581 现在 ...分配StringSubstr并转换为你需要的东西。你必须一步一步地做每件事。匆忙是程序员的一个敌人。
读取为字符串,分配StringSubstr并转换为字符串。 读取为字符串,分配StringSubstr并转换为字符串
STARIJ: 谢谢你的分析!
重做了!现在,这些数字不知道为什么加起来不对了!
文件中的数字是这样的。
而同样的《警报》给出了这些。
他在1.2后面的零是怎么来的?我已经尝试过正常化。没有!
代码是这样写的。
STARIJ : 谢谢你的分析!
重做了!现在,这些数字不知道为什么加起来不对了!
文件中的数字是:
,但同样的Alert给出的是:
,它在1.2后面的零是怎么来的?我已经尝试过正常化。没有!
我的代码是这样写的。
STARIJ: 谢谢你的分析!
重做了!现在,这些数字不知道为什么加起来不对了!
文件中的数字是这样的。
而同样的《警报》给出了这些。
他在1.2后面的零是怎么来的?我已经尝试过正常化。没有!
我的代码是这样写的。
试试这个。