怎样打开MT4的代码字典窗口

樊志彪 2019-11-03 15:16:00

推荐回答

进入MT4软件后按F4进入MQL4编辑器,安F1就进入了帮助窗口了。
齐明明2019-11-03 15:59:46

提示您:回答为网友贡献,仅供参考。

相关问答

一、MT4自定义指标保存在C:\ProgramFiles\MetaTrader4\experts\indicators这个目录中,该目录中主要有二种类型的文件,一种是mq4文件,这是MT4自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行,但能在MT4启动时自动编译为ex4可执行文件。另一种就是ex4文件,这是MT4自定义指标的可执行文件,由mq4文件编译得到。mq4文件必须编译为ex4文件才能被MT4执行。但ex4文件是机器码文件,人工不可修改另外还有一个文件是mqlcache.dat,它用来保存目录中的文件信息,如果MT4无法自动编译,只要删除此文件即可解决问题mq4文件编译为ex4可执行文件有两种方法:1、MT4启动时,会自动把此目录中的mq4文件编译为ex4文件。2、用MQ语言编辑器打开mq4文件,点一下“编写”按钮,即可生成ex4文件二、下载保存mq4文件、ex4文件在论坛上我们经常看到有mq4文件、ex4文件可供下载,我们只要把它们保存到C:\ProgramFiles\MetaTrader4\experts\indicators这个目录,也就是下面这个目录中,就可以了。如果下载的是ex4文件,那可以直接调用;如果是mq4文件,则需要重启动MT4,让系统自动编译生成ex4可执行文件。如果下载的是rar、zip等类型的压缩文件,还必须下载后解压到此目录才能使用。三、将源码保存为源码文件在论坛上,我们也经常能看到指标源码贴在网页上,但没有mq4、ex4等文件可以下载,只能复制源码。此时需要我们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。1、打开MQ语言编辑器2、在MQ语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。3、删除新文件里面的所有内容,成为一个空文件,4、接着我们就可以将网页上源码复制粘贴进来试着点一下“编写”,如果左下角出现“0错误,0警告”,那说明源码没问题,编译通过了,成功生成了ex4可执行文件5、还有很重要的一点,就是要把源码文件保存到正确的目录中保存后,再点一下编写。到此,源码保存完成。当然,我们也还有另的办法:可以打开一个原已存在的mq4文件,然后另存为你需要的文件名,再删除文件中的所有内容成为空文件,把网页上的源贴到文件中保存即可也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后缀必须输入mq4,保存类型选择“所以文件”四、mt4程序调用自定义指标这非常简单。
Imports System.TextImports System.Runtime.InteropServicesPublic Class Form1    '' 相关API函数声明,注释掉的这里没用到,但是也比较常用吧,这些函数的功能都能搜到。    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ByVal lpClassName As String, ByVal lpWindowName As String As IntPtr    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" ByVal hWnd1 As IntPtr, ByVal hWnd2 As IntPtr, ByVal lpsz1 As String, ByVal lpsz2 As String As IntPtr    Private Delegate Function EnumChildProcByVal hWnd As IntPtr, ByVal lParam As Integer As Boolean    Private Declare Function EnumChildWindows Lib "user32.dll" ByVal hWndParent As IntPtr, ByVal lpEnumFunc As EnumChildProc, ByVal lParam As Integer As Boolean    Private Declare Auto Function SendMessage Lib "User32.dll" ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As String As Integer    ''Private Declare Function CheckDlgButton Lib "user32" Alias "CheckDLGButtonA" ByVal hDlg As IntPtr, ByVal nIDButton As IntPtr, ByVal wCheck As Integer As Integer    Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" ByVal hWnd As IntPtr, ByVal lpClassName As StringBuilder, ByVal nMaxCount As Integer As Integer    ''Private Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" ByVal hwnd As IntPtr, ByVal lpdwProcessId As Long As Integer    Private Declare Auto Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLength" ByVal hwnd As IntPtr As Integer    Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" ByVal hwnd As IntPtr, ByVal lpString As StringBuilder, ByVal cch As Integer As Integer    '' 相关消息定义,也有没用到的    Const WM_SETTEXT = &HC    Const WM_GETTEXT = &HD    ''Const WM_SETFOCUS = &H7    ''Const WM_KILLFOCUS = &H8    ''Const WM_CLOSE = &H10    ''Const WM_SYSCOMMAND = &H112    ''Const SC_CLOSE = &HF060&    ''Const SC_MINIMIZE = &HF020&    Const BM_GETCHECK = &HF0    Const BM_SETCHECK = &HF1    Const BM_GETSTATE = &HF2    Const BM_SETSTATE = &HF3    Const BM_SETSTYLE = &HF4    Const BM_CLICK = &HF5    ''Const BM_GETIMAGE = &HF6    ''Const BM_SETIMAGE = &HF7    Const BST_UNCHECKED = &O0    Const BST_CHECKED = &O1    Const BST_INDETERMINATE = &O2    '' 储存窗口句柄    Dim WindowHandle As IntPtr    '' 储存两个,枚举时自动调用回调函数,完成编辑框句柄的获取        EnumChildWindowsWindowHandle, AddressOf EnumChildProcC, 0        '' 寻找复选框        CheckHandle = FindWindowExWindowHandle, IntPtr.Zero, vbNullString, "记住密码"        Dim str As New StringBuilder        Dim j As Integer = 0        '' 对编辑框文本赋值        For j = 0 To EditHandle.Count - 1            SendMessageEditHandlej, WM_SETTEXT, 0, "Text"            ''GetWindowTextEditHandlej, str, 20            ''EditWindowsText.AddStr.ToString            ''Str.Clear        Next        If EditHandle.Count = 0 Then            MsgBox"未找到输入框!"        End If                If CheckHandle.ToInt32 <> 0 Then            ''CheckDlgButtonWindowHandle, id, 1            '' 对复选框进行鼠标单击操作            SendMessageCheckHandle, BM_CLICK, 0, 0            ''SendMessageCheckHandle, BM_SETCHECK, True, 0        End If    End Sub    End Class。