新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1439

 
ANDREY:

谢谢你的宝贵意见。现在我只在写代码时阅读文档,当我遇到不知道答案的问题时。我过去从来没有遇到过在写代码时需要把数据写入文件的情况,所以这对我来说是一个完全陌生的话题。
告诉我,难道我的想法不能以更简单的方式实现吗,不需要把它写进文件?如我的代码。这不是一个工作代码,而是为了说明我的想法,即如何在一分钟烛台上找到两个相邻订单之间的最小值
,感谢您的帮助。

也就是说,我把每个tick的价格直接写进数组,而不是写进一个文件。

嗯,我不知道你怎么能这样读。当我开始编程时,当我进入任何琐碎的事情的文档时,编程就停止了。我得到的东西越来越多......你读到一个函数写到一个文件,却没有看到旁边有什么东西。有人告诉你另一个人,你对你所听到的感到欣喜若狂。还有什么呢?你到底有没有读过什么书?还有什么其他的函数可以用于向文件写入?那么你要如何阅读才能提出这样的问题呢?我告诉你要写一个数组和读一个数组。而你想写入.csv并读入一个数组。这不是它的工作方式。如果你只需要......此刻,为什么要把它写到一个文件里?
 
Valeriy Yastremskiy:

你得到他们的价格,你可以确定时间,但你要等待新的订单。 然后你要求最大或最小的勾选时间。"勾选 "毕竟是 "勾选"。

滴答的价格永远是滴答。这不是x 低变量,而是表达式X =LoY[1] LoY[1]是price.....,没有选项。
".....,然后你问最大或最小的勾选时间...."

这就是这个想法的特点,时间根本不涉及.....,只有蜡烛的最低价格,我只发现了两次。第一次是在打开 第一个订单的时候,第二次是在打开第二个订单的时候。然后我比较这些价格并作出结论:第一笔订单是在LoY[] 形成之前还是之后 开的。起初,我以为我需要关于时间的信息来解决我的问题。但后来我恍然大悟,....,似乎我们可以不需要时间,只需要一支蜡烛的最低价格就够了。

 
Alexey Viktorov:
嗯,我不知道你怎么能这样读。当我开始编程的时候,对任何琐碎的事情进入文档就会停止编程。我得到的东西越来越多...... 你读到一个函数写到一个文件,却没有看到旁边有什么东西 。有人告诉你另一个人,你对你所听到的感到欣喜若狂。还有什么呢?你到底有没有读过什么书?还有什么其他的函数可以用于向文件写入?那么你要如何阅读才能提出这样的问题呢?我告诉你要写一个数组和读一个数组。而你想写入.csv并读入一个数组。这不是它的工作方式。 如果你只需要......此刻,为什么要把它写到一个文件里?

我认为,当材料在意义上有逻辑联系并以可理解的顺序呈现时,看一下旁边的东西是很有用的。正如教科书中通常的情况一样。我在《手册》中没有感受到这种联系和一致性。我承认我可能有这些东西,但问题是我的认知的特殊性。

我还不明白主要的事情。如果不需要,我为什么要把我的代码中的数据写到文件中。在什么情况下,将程序的数据写入文件是有意义的 ....在一般情况下和我的情况下。在我看来,从你的话语中, 数据写入文件的合理性在某种程度上受制于我的代码的使用频率。但我还是不明白这种条件性的意义。也许重点是,文件中的相同数据也可以从我的其他程序中使用?但随后另一个程序将需要将这些数据准确地写入文件。而这远远不是一种确定性......
谢谢你的帮助。

 
同事们,大家好!我在寻找一个权益指标,以显示当前权益的缩水百分比,以及余额和权益的实时曲线。我不会为了做监测而做监测。
 
Alexey Viktorov:
我告诉你要写一个数组和读一个数组。而你想写.csv和读数组。它 不是那样工作的。如果你只需要它的全部......目前,为什么要写到一个文件里?

我也被这句红色的话所吸引。因为我不想写一个.csv并读入一个数组因为我还不知道怎么做。我知道有一些扩展 名为.csv文本文件但我在代码中是否以任何方式接触过带有这个扩展名的文件? 阵列.... 阅读....对不起:=)......但我也不知道如何读入数组,我还不明白它的意思。
,如果你能重写我的代码(它相当短),使它有写入文件
功能和读出文件的功能,我会很感激
由于这个代码是我的,我将很快了解到适合我的新信息。
再次感谢您,请原谅我不像您那么先进,问的问题可能很愚蠢(在您的专业意见中)。

我想学习mql4,然后以一种稳定的方式学习mql5。这不是一时的风气。此外,现在我有更多的时间来做这件事。
另一件事是,我获得新信息的速度不如我想的那么快,....,但我正在获得。感谢你和这个论坛的其他参与者。对于这一点,我对所有人都心存感激。

 
ANDREY:

我也被这句红色的话所吸引。因为我不想写一个.csv并读入一个数组因为我还不知道怎么做。我知道有一些扩展 名为.csv文本文件但我在代码中是否以任何方式接触过带有这个扩展名的文件? 阵列.... 阅读....对不起:=)......但我也不知道如何读入数组,我还不明白它的意思。
,如果你能重写我的代码(它相当短),使它有写入文件
功能和读出文件的功能,我会很感激
由于这个代码是我的,我将很快了解到适合我的新信息。
再次感谢您,请原谅我不像您那么先进,在您的专业意见下提出可能很愚蠢的问题。

Andriy,我不挖别人的密码。如果我不能理解文档中的内容,我更愿意解释。如果你没有阅读文档或没有深入研究,你显然还没有理解任何东西。而你建议的方式将不是一个培训,而是一个 "鱼缸",你想在未来做类似的事情。但这种方法并不总是有效。

 
ANDREY:

谢谢你的建议。但......以下是关于文件操作的文档截图

在我看来,该指南似乎是为已经是高级用户设计的。科瓦廖夫在他的教程中详细解释了什么是需要的,为了什么目的,然后再进行详细说明。

但他的教程,正如他们在这里所说,已经无可救药地过时了,对初学者来说甚至很危险。

不,不是的。你只需要在阅读时了解到有语言上的改进和变化。你最好先在元编辑器中创建一个模板来插入代码。会有更少的错误。在算法的逻辑中,教科书是相关的。而写到 那里的文件 是正确的。看看Dmitry Fedoseyev关于µl5的书。我想他把他的放在Googleplay上。

 
Valeriy Yastremskiy:

不,它并没有过期。你只需要阅读理解,有语言的改进,有变化。最好是先在元编辑器中创建一个程序模板来插入代码。会有更少的错误。在算法的逻辑中,教科书是相关的。而写到 那里的文件 是正确的。看看Dmitry Fedoseyev关于µl5的书。我想他把他的放在Googleplay上。

谢谢你的提示。我已经开始阅读科瓦廖夫教程中的FILE OPERATIONS。的确......有些事情开始变得清晰了。我知道,我测试的所有EA都读取位于Tester终端文件夹中的以.cvv为扩展名的条形价格文本文件(虽然不是由我的程序创建)。
换句话说,来自任何程序的信息(数据)被写入文件,并从文件中读取这些数据,也是由任何程序进行的。在我看来,这些文件存储了大量的数据,在程序中存储这些数据是不合理的。类似mqh文件的东西。
如果你想给我解释一下Alexey Victorov这句话的意思:"....你想写.csv和读array....." ,来自 的帖子,参考我在 的代码
我以为他是指文本文件.cvv,有来自测试器目录的条形价格。但他到底是什么意思,我还是不明白。我不是在写这些.cvv文件,而是Alpari经销商的程序...程序是如何从数组中读取的--一般来说,我了解一点...它通过地址访问数组中的一个单元,深入到该单元并访问该单元的值(即读取它)。一个程序怎样才能读入一个数组而不是读出一个数组?这是个无法解决的矛盾....,在我这个外行看来,这是一个无法解决的矛盾。我认为,出于某种原因, 一个数组,你只能写一些值。而且你只能 一个数组 读取

 
ANDREY:

...
如果你不介意向我解释一下Alexey Victorov在 帖子中所说的"....,你想写.csv并读入数组..... " 是什么意思,与我在 帖子中的代码有关
在我看来,他指的是文本文件.cvv,包含Tester目录中的条形价格。但他到底是什么意思,我还是不明白。我不是在写这些.cvv文件,而是Alpari经销商的程序...程序是如何从数组中读取的--一般来说,我了解一点...它通过地址访问数组中的一个单元,进入该单元并访问该单元的值(即读取它)。一个程序怎样才能读入一个数组而不是读出一个数组?这是个无法解决的矛盾....,在我这个外行看来,这是一个无法解决的矛盾。我认为,出于某种原因, 一个数组,你只能写一些值。而且你只能 数组 读取。

是的,我也不介意。这不是在代码中挖出来的。

文件写入

将数据写入 CSV TXT 文件

文件写入阵列

将任何类型的数组(字符串数组除外)写入 BIN 类型的文件中


读入一个数组,即从一个文件中读入。看看这个函数

uint  FileReadArray( 
   int    file_handle,               // handle файла 
   void&  array[],                   // массив для записи 
   int    start=0,                   // стартовая позиция для записи в массив 
   int    count=WHOLE_ARRAY          // сколько читать 
   );

传递一个准备好的数组并向其写入。

你只能从一个用数组写函数写的文件中使用读数组函数。

原则上,你可以将任何不包含字符串的文件读入一个数组。但这只是对数组逐个元素的填充。

ps;

谢谢机会,至少我自己看了文档,发现了mql5中数组写入数组读取 的新功能。

Документация по MQL5: Файловые операции / FileSave
Документация по MQL5: Файловые операции / FileSave
  • www.mql5.com
FileSave - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

这对我来说也不难。这不是关于挖掘代码的问题。

文件写入

将数据写入 CSV TXT 文件

文件写入阵列

将任何类型的数组,除了字符串数组,写到一个 BIN 类型的文件中



感谢机会,至少我看了文档,在mql5中找到了写数组读数组 的新函数。

很高兴我能帮助你:=):=):=)

现在说说我的代码,它可能是如此糟糕,以至于在其中探究是不愉快的。但至少告诉我,如果我把这个代码的单个数组(含价格值)写到一个文件中,然后程序从这个文件中读取,并在进一步的计算中使用它的值,我的代码会有什么优势? 而且这个数组只有60个元素。我的代码中到底有哪些地方是最佳的?
谢谢你的帮助。
原因: