//+------------------------------------------------------------------+//| Learning_MQL5.mq5 |//| Copyright 2020, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2020, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property description"Скрипт подводит итог обучения языку программирования MQL5. В зависимости от "#property description"входных параметров печатает во вкладке \"Эксперт\" торгового терминала два"#property description"сообщения на русском языке: \"Я выучу язык MQL5!\" или \"Я не выучу язык MQL5!\""#property description"Код скрипта написан на основе примера, приведенного Valeriy Yastremskiy на сайте"#property description"MQL5, в теме \"Самообучение языку MQL5 с полного нуля\"."#property description"======================================================"#property description"Ссылка на пример https://www.mql5.com/ru/forum/352460/page30#comment_18646826"//---#property version"1.00"//версия скрипта 1.00//---#property script_show_inputs//выводить окно со свойствами перед запуском скрипта //--- Зададим входные параметры скрипта: inputushort Period_learning=500; //Полный период обучения в дняхinputushort Days_passed=10; //Сколько дней прошло с начала обученияinputbool Patience=true; //Терпение (true - достаточно; false - не достаточно)//--- Зададим глобальные переменные://переменная enough_time (достаточно времени), где ushort - минимальное значение "0", максимальное "65535"ushort enough_time;
//переменная enough_patience (достаточно терпения), где bool - логическое значение: истина (true) или ложь (false)bool enough_patience;
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart() //старт работы скрипта
{
/* Зададим условие для работы скрипта. Если:
1. значение функции "имею время" будет больше или равно "Полного периода обучения", заданного
во входных параметрах скрипта;
2. и значение функции "имею время" не будет равно нулю;
3. и значение функции "имею терпение" будет равно значению истина (true)
*/if(have_time()>=Period_learning && have_time()!=0 && have_patience()==true)
{
Print("Я выучу язык MQL5!"); //выводим сообщение "Я выучу язык MQL5!"
}
else//в противном случае
{
Print("Я не выучу язык MQL5!"); //выводим сообщение "Я не выучу язык MQL5!"
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+//--- Функция "имею_время"ushort have_time() //создаём функцию "имею_время" и присвоим тип данных ushort
{
enough_time=Days_passed; //задаём для значения enough_time (достаточно времени) значение равное//входному параметру "Сколько дней прошло с начала обучения" (Days_passed)return(enough_time); //возвращаем значение "достаточно времени" в функцию "имею время"
}
//--- Функция "имею_терпение"bool have_patience() //создаём функцию "имею_терпение" и присвоим тип данных bool
{
enough_patience=Patience; //задаём для переменной enough_patience (достаточно терпения) значение равное//входному параметру "Терпение" (Patience): истина или ложьreturn(enough_patience); //возвращаем значение "достаточно терпения" в функцию "имею терпение"
}
//+------------------------------------------------------------------+
这就对了!我的时间是以天计算的。还有训练期,以及从我开始到现在已经过了多少天。我想我不明白什么。
尊敬的弗拉基米尔。
谢谢你,彼得!我已经得到了帮助,了解了这个问题。
我正在继续学习MQL5编程语言,今天我粘贴了一个脚本的代码,这是本主题参与者的一个任务的延续。我在所有模式下测试了该脚本。一切都在正常运行。我已经把输入参数设置到最低限度,开始时。
问候,弗拉基米尔。
你是否......在变量和函数的名称中写完了俄罗斯的名字。这被认为是非常糟糕的形式。显然,你是在为自己做程序,但这毕竟不是1C。一次性习惯于标准的代码风格。然后,你将更容易从专家顾问和指标中阅读其他人的代码,你肯定会需要这些。
就条件逻辑而言,"我将学习这门语言 "这个字符串可以作为计算学习时间和耐心的结果而输出。如果其中一个参数(时间或耐心)等于零,你将无法学习这门语言。因此,条件中存在一个逻辑错误。
你是指函数本身的条件有逻辑错误,还是脚本的操作有逻辑错误?
问候,弗拉基米尔。
你应该......停止在变量和函数的名称中写俄文名称。这被认为是非常糟糕的形式。很明显,你在为自己制作节目,但毕竟不是1C。一次性习惯于标准的代码风格。然后,你将更容易阅读其他人的专家顾问和指标的代码,你肯定会需要这些。
瓦西里,你不会相信的,但我完全赞成!"。只是任务的条件是用俄语给出的,因此要继续下去。我一定会用英语重写剧本。
问候,弗拉基米尔。
你是指函数本身的条件有逻辑错误,还是脚本的操作有逻辑错误?
尊敬的弗拉基米尔。
代码中没有语法错误,但逻辑是错误的,你必须密切注意。
sufficiency_time函数中的计算本身是不合逻辑的。时间不为零时就足够了。该函数计算时间差,并返回一个逻辑上的是/否。也就是说,该函数的结构不正确。重新计算sufficiency_time()。
虽然,没有。该函数返回ushort,但仍然没有逻辑。sufficiency_time应该大于0。
现在已经很清楚了,只是需要想出办法来。这将是周末要做的事情。
问候,弗拉基米尔。
代码中没有语法错误,但逻辑是错误的,你必须仔细观察。
如果你是为初学者写的,就用平实的语言写,没有什么可以从远处进入的,可以轻视的。
和你的威胁将看到他们可能感兴趣的地方我继续学习MQL5编程语言,现在发布一个脚本的代码,这是本主题参与者的一项任务的延续。该脚本已在所有模式下进行了测试。没有发现任何问题。应用最小数量的输入参数来开始。脚本代码是用英语写的,代码的注释是用俄语写的,以方便学习。正如我先前所承诺的那样,我试图以一个编程学校一年级学生可以理解的方式来描述这个脚本。
最好的问候,弗拉基米尔。
首先,向Dmitry Fedoseyev学习如何处理字符串变量,在学习别人的代码阶段,信息链是非常模糊的。
在他评论的文章中,一切都很清楚,同时你会学到很多东西,我是作为这里大多数文章的读者来说的,我想没有人比我读得更多)
这就对了!我的时间是以天计算的。还有训练期,以及从我开始到现在已经过了多少天。我想我还不明白一些事情。
问候,弗拉基米尔。