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

 
igrok333:
它采取了之前的价格,当要求仍然是旧的, ,然后只有refreshrates改变了要求,对吗?

代码执行逻辑是线性的--执行一个命令,进行修改,然后执行下一个命令。

所以在你的代码中是一样的,你做了一个赋值,而价格的更新已经在代码下面了

在循环中做一个塞纳计算,并在计算前更新quotes....。如果是计算,别忘了对塞纳进行归一化处理,否则你的下一个问题就是为什么现在不工作了))))。

 
Igor Makanu:

代码执行逻辑是线性的--执行一个命令,进行修改,然后执行下一个命令。

所以在你的代码中是一样的,你做了一个赋值,而价格的更新已经在代码下面了

在循环中做一个塞纳计算,并在计算前更新quotes....。如果是计算,别忘了对塞纳进行归一化处理,否则你的下一个问题就是为什么现在不工作了))))。


现在明白了如何检查。

double cena=Ask;

for (int i=0; i<=10; i++)
   {
   RefreshRates();   
   Alert(cena);
   Sleep(3000);
   }



for (int i=0; i<=10; i++)
   {   
   RefreshRates();   
   double cena=Ask;
   Alert(cena);
   Sleep(3000);
   }
 
你好。在标准库中 有一个WinApi文件夹。如果MQL5参考资料能出现其内容描述,那就更好了。同时,你能否建议一种方法,在测试器中读取和写入预先优化的开始日期字段?或者甚至可以增加一个新的比例,如1/5?
 
Good Beer:
你好。在标准库中 有一个WinApi文件夹。如果MQL5参考有其内容的描述,那就更好了。同时,你能否建议一种方法,在测试器中读取和写入预先优化的开始日期字段?或者甚至可以增加一个新的比例,如1/5?

这与mql没有关系。

https://docs.microsoft.com/en-us/windows/win32/apiindex/windows-api-list

好运。

Windows API index - Win32 apps
  • 2018.05.31
  • GrantMeStrength
  • docs.microsoft.com
A list of the reference content for the Windows API.
 
Good Beer:
是不是有一种方法可以在测试器中读取和写入远期开始日期字段?

我不会说它在五级中是如何的,它在四级中是这样的。

extern datetime dtDateBegin   = D'2008.12.01';
extern datetime dtDateEnd     = D'2009.01.01';

#import "user32.dll"
   int SendMessageA(int hWnd, int Msg, int wParam, int lParam[]);
   int GetAncestor(int hWnd, int gaFlags);
   int GetDlgItem(int hDlg, int nIDDlgItem);
   int FindWindowExA(int hWndParent, int hWndChildAfter, string lpszClass, string lpszWindow);
#import

#define  DTM_SETSYSTEMTIME      0x1002

void start()
{
   int hTerminalWnd, hTesterWnd, hDateTimeBegin, rglSysTime[4];
   
// определяем системный дескриптор окна тестера
   
   hTerminalWnd = GetAncestor(WindowHandle(Symbol(), Period()) ,2);
   hTesterWnd = GetDlgItem(hTerminalWnd, 0xE81E);
   hTesterWnd = GetDlgItem(hTesterWnd, 0x53);
   hTesterWnd = GetDlgItem(hTesterWnd, 0x81BF);

// устанавливаем дату начала  оптимизации\тестирования

   hDateTimeBegin = FindWindowExA(hTesterWnd, GetDlgItem(hTesterWnd, 0x3FF), "SysDateTimePick32", "");
   ArrayInitialize(rglSysTime, 0);
   
   rglSysTime[0] = (TimeMonth(dtDateBegin) << 16) | TimeYear(dtDateBegin);
   rglSysTime[1] = (TimeDay(dtDateBegin)   << 16) | TimeDayOfWeek(dtDateBegin);
   
   SendMessageA(hDateTimeBegin, DTM_SETSYSTEMTIME, 0, rglSysTime);
}
 

为什么所提供的mql4教程中准备好的代码的例子都不能编译?

我试图写一些东西,面临的事实是,OnTick函数 切换到.mqh函数,但其他.mqh函数是从这个函数中调用的,编译器没有看到它们,我不明白如何做。我已经下载了教程中使用的准备好的代码,但它们也不起作用。我担心我的程序没有没有是出现5-7个错误,但当我运行从官方库下载的所以有很多的地狱。60-80-90的错误。只编译了Variables.mqh文件而没有出错,其他的都烧得很旺。关于这种语言的实际材料在哪里?所有这些视频教程,它们有多老? 它不起作用,只是它所说的--这样做,你会得到结果。

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Denis Diakonov:

为什么所提供的mql4教程中准备好的代码的例子都不能编译?

我试图写一些东西,面临的事实是,OnTick函数 切换到.mqh函数,但其他.mqh函数是从这个函数中调用的,编译器没有看到它们,我不明白如何做。我已经下载了教程中使用的准备好的代码,但它们也不起作用。我担心我的程序没有没有是出现5-7个错误,但当我运行从官方库下载的所以有很多地狱...60-80-90的错误。只编译了Variables.mqh文件而没有出错,其他的都烧得很旺。关于这种语言的实际材料在哪里?所有这些视频教程都是从什么时候开始的? 它不起作用,只是它说的那样--做它,你会得到结果。

说实话,这是一种意识流 :)

而且没有具体细节。

 
如何登录
 
Artyom Trishkin:

说实话,是意识流 :)

而且没有具体细节。

从另一个主题中复制。


请告知。我在不同的.mqh文件中设置了自定义函数,我通过#include编写了这些函数。 我在start中一次调用一个函数,但当start进入一个函数时,程序需要调用另一个.mqh文件(例如,获得一个订单量的值),这就不工作了。如果我把所有东西都写在一张纸上,它就能工作,或者如果我把计算批量的公式直接写在订单开立参数中,它就能工作。我翻阅了MQL4课程并阅读了程序文件,但没有发现任何东西。我不太明白为什么一个.mqh函数不能在计算中与另一个.mqh函数互动。或者,我们应该让程序返回到开始,如果我们面临这样的需要--它将返回结果到开始,然后用这个计算开始将回到打开一个.mqh订单的函数?这是一些垃圾...或者,也许我们应该以某种方式声明所有现有的函数,让它们一起互动?谢谢

 
Artyom Trishkin:

说实话,是意识流 :)

而且没有具体细节。

这不是一条溪流,是一条排水沟。

原因: