初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1247

 
MrBrooklin:

大家晚上好!

在我年老的时候,我正在努力掌握MQL5的基本知识。我的好奇心让我很难受--我想知道如果我到了60岁左右,是不是就不能掌握编程。虽然,我已经和简单的HTML交上了朋友,我甚至用它创建了我自己的网站。很简单,真的,但仍然...如果我的问题会造成刺激,那么请立即告诉我,那么我就不会问一些天真的问题,也不会造成人们的紧张。

于是,打开了我看到的第一个代码。我使用谷歌翻译器和MQL5参考资料 注释了这段代码中一行的含义。我向社区提出什么要求?看看这些评论,如果它们不是真的,请纠正我的想法。

对一些人来说,这是一本开放的书,但对我来说,它看起来就像相同的中国字。请不要笑得太厉害。

我为什么要这样做?因此,我只是想自己找出我在编程方面有多大的希望。

问候,弗拉基米尔。

我建议使用ME帮助器--它描述了所有运算符和语言功能的目的。

https://www.mql5.com/ru/docs/trading/positionselect

Документация по MQL5: Торговые функции / PositionSelect
Документация по MQL5: Торговые функции / PositionSelect
  • www.mql5.com
Выбирает открытую позицию для дальнейшей работы с ней. Возвращает true при успешном завершении функции. Возвращает false при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно...
 
MrBrooklin:

大家晚上好!

在我年老的时候,我正在努力掌握MQL5的基本知识。我的好奇心让我很难受--我想知道如果我到了60岁左右,是不是就不能掌握编程。虽然,我已经和简单的HTML交上了朋友,我甚至用它创建了我自己的网站。很简单,真的,但仍然...如果我的问题会造成刺激,那就立即告诉我,那么我就不会问更多天真的问题,也不会刺激别人。

于是,打开了我看到的第一个代码。我使用谷歌翻译器和MQL5参考资料 注释了这段代码中一行的含义。我向社区提出什么要求?看看这些评论,如果它们不是真的,请纠正我的想法。

对一些人来说,这是一本开放的书,但对我来说,它看起来就像相同的中国字。请不要笑得太厉害。

我为什么要这样做?因此,我只是想自己找出我在编程方面有多大的希望。

问候,弗拉基米尔。

如果你有这个意愿,这比解字谜更有利于你的大脑。只要试着马上理解,Hadge账户与Netting账户的书写方式不同。这一行代码

if(PositionSelect(_Symbol)) // если выбираем открытую позицию на графике текущего символа

用于净额结算,但如果有一个以上的仓位,可能会在Hadge账户中造成错误。

 
Aleksey Vyazmikin:

我建议使用ME助手--所有运算符和语言功能的目的都在那里描述。

https://www.mql5.com/ru/docs/trading/positionselect

嗨,Alexey!

谢谢你的反馈。我正在使用MetaEditor中的帮助。目前的主要问题是 了解运算符和函数的用途,以及为什么我需要在程序代码的某个地方使用某个运算符或函数。这在FAQ中都有描述,但据我所知,这些信息不是为那些开始从头开始接触细节的人准备的,而是为那些已经有一些其他语言编程经验的人准备的。

问候,弗拉基米尔。

 
Alexey Viktorov:

如果你想,这比做填字游戏对你的大脑更好。只要试着马上理解,Hadge账户和Netting账户的写法不一样。这一行代码

这行代码用于净额结算,但如果开仓超过一个,可能会在Hadge账户中引起错误。

你好,Alexey!

谢谢你对Hadge和Netting账户的提示,也谢谢你的支持。

我的理解是,如果一个代码行的注释中没有修正,那么它就已经很好了。这意味着我已经尽可能地理解了这个代码行的本质。我将继续研究MQL5 编程,偶尔发表我的评论。也许,在自学的某个阶段,我将能够自己开发一个简单的专家顾问的代码。

真诚的,弗拉基米尔。

Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок...
 

大家好!

我一直在学习MQL5,这里有一行新的 代码,即使通过帮助和谷歌翻译进行操作,也不清楚。

FileSeek(FileHandle,0,SEEK_SET); // перемещаем положение указателеля в файле с уникальным указателем на "0" байт в начале файла

这句话是我说的,但其含义并不完全清楚。我几乎没有弄清楚FileHandle是什么。把它分成两个词 "文件 "和 "手柄"。谷歌将其翻译为文件描述符。什么是描述符,它有什么作用?很 好,文章的作者在这里解释了https://www.mql5.com/ru/articles/496,Handle在俄语中是对某一事物(一个文件、一个指标等)的唯一指针。

现在剩下的就是理解所有代码的含义。我请求社区的帮助,我花了这么多时间在这个代码上,直到凌晨3点,我的脑袋完全是笨拙的。

问候,弗拉基米尔。

Быстрый старт или краткий курс для начинающих
Быстрый старт или краткий курс для начинающих
  • www.mql5.com
Здравствуй дорогой читатель. В данной статье я попробую рассказать и покажу как можно просто и быстро освоить принципы построения торговых советников, работу с индикаторами и т.д. Эта статья ориентирована на новичков, в ней не будет сложных и трудных для понимания примеров. Скорей всего, она не будет интересной и познавательной для тех, кто уже...
 
MrBrooklin:

大家好!

我一直在学习MQL5,这里有一行新的 代码,即使通过帮助和谷歌翻译进行操作,也不清楚。

这句话是我说的,但其含义并不完全清楚。我几乎没有弄清楚FileHandle是什么。把它分成两个词 "文件 "和 "手柄"。谷歌将其翻译为文件描述符。什么是描述符,它有什么作用?很 好,文章的作者在这里解释了https://www.mql5.com/ru/articles/496,Handle在俄语中是对某一事物(一个文件、一个指标等)的唯一指针。

现在剩下的就是理解所有代码的含义。我请求社区的帮助,我花了这么多时间在这个代码上,直到凌晨3点,我的脑袋完全是笨拙的。

真诚的,弗拉基米尔。

但是,当文档中的所有内容都是用俄语写的时候,你为什么要在谷歌中翻译一些东西呢?

将文件指针的位置相对于指定位置移动指定的字节 数。

我将你的评论翻译如下:"将文件指针从开头移动0字节。换句话说,就是到文件的开头。"

偏移量的参考点。可以取ENUM_FILE_POSITION中的一个值

识别器

描述

检索_SET

文件的开始

搜索_CUR

文件指针的当前文件位置

搜索_结束

文件结束

Документация по MQL5: Файловые операции / FileSeek
Документация по MQL5: Файловые операции / FileSeek
  • www.mql5.com
//|                                                Demo_FileSeek.mq5 | //|                        Copyright 2013, MetaQuotes Software Corp. | //|                                              https://www.mql5.com | //| Script program start function                                    |...
 
Alexey Viktorov:

还有,为什么要用谷歌来翻译东西,因为文件上说的都是俄语?

而我将你的评论翻译为:"将文件指针从开头移到0字节。换句话说,就是到文件的开头。"

识别器

描述

检索_SET

文件的开始

搜索_CUR

文件指针的当前文件位置

搜索_结束

文件结束

你好,Alexey!

我在网上搜索了组合FileHandle 这个词的含义。我想了解它是什么,它从哪里来。帮助没有帮助我,所以我不得不去谷歌。当我弄明白时,原来是代码的作者自己创建了一个变量,用于存储具有唯一指针的文件。在FileSeek和SEEK_SET 方面,帮助对我有帮助,但字符串的含义并不清楚。现在,在你的提示的帮助下,它变得清晰了,在一个具有唯一指针的文件 中,它的作用是什么。

非常感谢您的帮助!

真诚的,弗拉基米尔。

Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Позиционирование внутри файла
Документация по MQL5: Константы, перечисления и структуры / Константы ввода/вывода / Позиционирование внутри файла
  • www.mql5.com
Большая часть файловых функций связана с операциями чтения/записи информации. При этом с помощью функции FileSeek() можно указывать положение файлового указателя на позицию внутри файла, с которой будет...
 
MrBrooklin:

你好,Alexey!

我上网查了一下FileHandle这个词的意思。我想了解它是什么,它从哪里来。帮助是没有用的,所以我不得不去找谷歌。FileSeek和SEEK_SET 的帮助文本很有帮助,但字符串的含义并不清楚。现在,在你的提示的帮助下,它变得很清楚,在文件 中的唯一 指针是什么。

非常感谢您的帮助!

问候,弗拉基米尔。

指针不是唯一的,它只是写或读的起始位置。有点像我们写声明的方式。页眉在页面的后半部分开始,其余的文字在页面的左边缘。或者我们从行的边缘往后一点开始一个新的段落。这是线条的开始,这是指针。我们可以将一行的开头移到现有文本的任何地方,并从该处开始写或读。

文件柄是唯一的。它也可以被称为标识符。事实上,它是一个通常的变量。你可以叫它abrakadabra,并给它分配一个文件柄。

 
Sergey:

下午好!

我正在努力弄清指标代码。卡在一条线上。

最后一行是什么意思,怎样才能以更简单(更清晰)的方式改写?

它的写法比其他任何结构都简单得多。它被称为:三元运算符

cancl[i] = (acD==1 && aoD==1) ? 0 : (acD==2 && aoD==2) ? 1 : (acD==1 && aoD==2)? 2 : 3;
cancl[i] = if(acD==1 && aoD==1) { 0 } else { if(acD==2 && aoD==2) { 1 else { (acD==1 && aoD==2)? 2 : 3;
我已经按惯例展示了代码,希望你能掌握它的窍门
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
  • www.mql5.com
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void. Результатом...
 
Sergey:

下午好!

我正在解析指标的代码。我被卡在一条线上。

最后一行是什么意思,怎样才能以更简单(更清晰)的方式改写?

// cancl[i] = (acD==1 && aoD==1) ? 0 : (acD==2 && aoD==2) ? 1 : (acD==1 && aoD==2)? 2 : 3;

if      (acD==1 && aoD==1)   { cancl[i]=0; }
else if (acD==2 && aoD==2)   { cancl[i]=1; }
else if (acD==1 && aoD==2)   { cancl[i]=2; }
else                         { cancl[i]=3; }

但在我看来,这并不简单,也不清晰。这几乎是MT的风格 :-) 为了符合风格,应该有更多的弦,而且应该是 "楼梯 "式的 :-)

原因: