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

 
kopeyka2:


更好的是,明确说明你想要实现的目标。我可能会给你看一个完整的例子。

 
jdjahfkahjf:

这意味着什么呢?


阅读帮助:优化模式

 

你能告诉我吗?专家顾问如何被重新初始化(例如,在执行ChartSetSymbolPeriod()时)?

重新初始化实际上只指函数中的局部变量,这样的理解是否正确?

那么全局变量 的规则是什么?

根据我的观察,全局变量在OnDeinit-OnInit传递后会继承其值。

应该是这样吗?

 
User_mt5:

你能告诉我吗?专家顾问如何被重新初始化(例如,在执行ChartSetSymbolPeriod()时)?

重新初始化实际上只涉及函数中的局部变量,这样的理解是否正确?

那么全局变量 的规则是什么?

根据我的观察,全局变量在OnDeinit-OnInit传递后会继承其值。

应该是这样吗?

Инициализация глобальных переменных программы и другие полезные знания.
Инициализация глобальных переменных программы и другие полезные знания.
  • 2016.11.29
  • www.mql5.com
Встал на форуме недавно вопрос по поводу верной/неверной инициализации глобальных переменных в программах...
 
Artyom Trishkin:

谢谢你。

这种mql的麻烦在于它在直觉上是不可预测的。

- 不涉及全球和本地的区别

- 在指标和专家之间的差异问题上也是如此。

(与SD通信的最后一份副本在上述讨论中的链接也非常有用,谢谢)

 
谁能告诉我如何在终端以编程方式暴露窗口?(宽度、高度和抓取)
 
User_mt5:
谁能告诉我如何以编程方式在终端设置窗口?(宽度、高度和定位)。

断开窗口与终端的连接,然后试试(我还没有亲自尝试过设置这些属性)。

MQL5:增加了新的属性,用于将图表绑定/脱离终端的主窗口,并控制其位置。

ENUM_CHART_PROPERTY_INTEGER枚举增加了新 属性。

  • CHART_IS_DOCKED - 图表窗口是固定的。如果设置为false,图表可以被拖到终端之外。
  • CHART_FLOAT_LEFT - 分离的图表相对于虚拟屏幕的左坐标。
  • CHART_FLOAT_TOP - 图表相对于虚拟屏幕的上坐标。
  • CHART_FLOAT_RIGHT - 分离出来的图表相对于虚拟屏幕的右坐标。
  • CHART_FLOAT_BOTTOM - 分离出来的图表相对于虚拟屏幕的下坐标。


添加ENUM_TERMINAL_INFO_INTEGER 枚举中。

  • TERMINAL_SCREEN_LEFT - 虚拟屏幕的左坐标。虚拟屏幕是一个覆盖所有显示器的矩形。如果系统中有两台显示器,而且它们的顺序是从右到左,那么虚拟屏幕的左坐标可能在两台显示器的边界处。
  • TERMINAL_SCREEN_TOP - 虚拟屏幕的顶部坐标。
  • TERMINAL_SCREEN_WIDTH - 终端的宽度。
  • TERMINAL_SCREEN_HEIGHT - 终端的高度。
  • TERMINAL_LEFT - 终端相对于虚拟屏幕的左坐标。
  • TERMINAL_TOP - 终端相对于虚拟屏幕的顶部坐标。
  • TERMINAL_RIGHT - 终端相对于虚拟屏幕的右坐标。
  • TERMINAL_BOTTOM - 终端相对于虚拟屏幕的底部坐标。
 
Vladimir Karputov:

把窗口从终端分离出来,然后再试一下(我还没有亲自设置这些属性)。

谢谢。

我已经试过了。它的效果一般(特别是,窗口被最小化,当你最小化终端时,它就消失了,但当你展开屏幕时,先前最小化的那个窗口就会打开到它的大小,每次你都需要再次最小化它,所以它不会掠过)。

但事实并非如此。我不需要脱离图形,我只需要对它们进行镶嵌,比如说,或者其他我认为合适的东西。在MT5中似乎没有这样的东西...

(一般的想法是,在多货币专家顾问中,我需要按预定的符号查看交易;
,有一个按钮可以打开所有订单和头寸的图表;
,但窗口打开的大小无法控制,我必须在屏幕上手动安排它们;
,而我,懒惰,希望我智力上无法实现的程序能做到这一点 :)

 
User_mt5:

谢谢你。

我已经试过了。它的效果一般(特别是,窗口被最小化,在你最小化终端时消失,但当你展开屏幕时,先前被最小化的窗口会打开到它的大小,每次你都必须再次最小化它,这样它就不会被掠夺)。

但事实并非如此。我不需要脱离图形,我只需要按我认为合适的方式对它们进行镶嵌或其他处理。在MT5中似乎没有这样的东西。

(一般的想法是,在一个多货币专家顾问中,人们需要按预定的符号查看交易;
,有一个按钮可以打开所有带有未结订单和头寸的图表;
,但窗口打开后无法控制地大,我必须在屏幕上手动安排它们;
,而我,因为懒惰,希望我智力上无法达到的程序能做到这一点 :)

使用WinAPI怎么样?特别是,MQL5已经引入了对

MQL5:对WinAPI函数的支持已被添加到标准库中。现在,要在MQL5程序中使用操作系统的功能,你不需要手动导入库和描述函数签名。来自MQL5\Include\WinAPI目录的头文件就足够了。

WinAPI函数根据其用途被归入不同的文件。

  • libloaderapi.mqh - 资源处理
  • memoryapi.mqh - 内存处理
  • processenv.mqh - 环境处理
  • processthreadsapi.mqh - 与进程一起工作
  • securitybaseapi.mqh - 与操作系统安全系统的操作
  • sysinfoapi.mqh - 获取系统信息
  • winbase.mqh - 一般功能
  • windef.mqh - 常量、结构和枚举。
  • wingdi.mqh - 使用图形对象的操作
  • winnt.mqh - 异常处理
  • winreg.mqh - 注册表操作
  • winuser.mqh - 窗口和界面控制
  • errhandlingapi.mqh - 错误处理
  • fileapi.mqh - 文件处理
  • handleapi.mqh - 与手柄一起工作
  • winapi.mqh - 所有函数的连接(WinAPI头文件)。


绑定只适用于64位架构。

 
Vladimir Karputov:

使用WinAPI怎么样?

我想。但这就是我的专长所在。

如果有一个确定的mql5--聪明或漂亮的人,那就好了。我远没有那么聪明。
为了使用这个API,我需要一个描述和例子。如果没有它,图书馆这座金山对我来说仍旧没有用处。
- 我没有能力,也不会翻阅数千行未加注释的代码,希望能抓住一些有用的东西。

原因: