任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 943

 

谁知道如何发现

longchart_id, // 图表ID0表示当前图表。

如果图表不是最新的?

 
Leo59:

谁知道如何发现

longchart_id, // 图表ID0表示当前的图表。

如果该图表不是当前的图表?

然后,有必要选择第一个ChartFirst,通过符号和周期检查它是否是正确的,如果不是,则选择下一个,以此类推,选择正确的一个,并定义ChartID
 
AlexeyVik:
然后你需要选择第一个ChartFirst 来检查它是否是正确的,通过符号和周期,如果不是就选择下一个,以此类推到正确的一个,并定义ChartID
谢谢你!
 

大家好。处理函数库、导入函数(#import)和包含文件(#include)。不太确定谁 "包括 "谁?所以。

这些库位于Libraries文件夹中。这个文件夹可能包含5种(不排除)文件:1-.dll(Windows函数库,已经为MT4修改了#defineMT4_EXPFUNC int __stdcall ...)

2- .ex4(似乎是编译.mq4或.mqh的结果),3- .dat(我根本没有读到关于它的任何东西),4- .mqh(可能是一个要启用的文件,因为#属性库 被禁用,但Igor Kim有它。

作为一个额外的函数库),5-.mq4(一个自定义函数和包含文件的库,可能包含自定义函数、包含文件、.dll库和其他东西。

包含文件在Include文件夹中,可能包含其他包含文件、自定义函数、.dll库和其他东西。另外,在文件夹Include --> Controls --> res icons(图片).bmp。

我怎么能做(重新制作)脚本,它不工作(对鼠标和键盘的点击没有反应)。也许是因为文件夹Libraries没有user32.dll(虽然它使用WinUser32.mqh,但它不可能在某处不被使用)。

你能告诉我哪里出了问题吗。提前感谢,问题才刚刚开始。

#property copyright "Copyright 2015"
#property link      "http://"
#property version   "1.00"
//#property strict
#include <WinUser32.mqh>

#import  "IdleLib.dll"
int      GetLastKeyWP();
int      GetLastMouseWP();
int      IdleLibInit();
int      IdleLibUnInit();
string   GetActiveWndName();
#import 
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
      Alert("Начало.");
      IdleLibInit();//инициализируем Dll для перехвата событий.
      while(IsStopped()==false)
         {
            int    lastkey=GetLastKeyWP();         //Опрашиваем код посл. клавиши
            int    lastmouse=GetLastMouseWP();     //Опрашиваем код мыши.
            string lastwnd=GetActiveWndName();     //Имя окна Metatrader где произошло событие.
            if ((lastkey!=0) && (lastwnd!=""))
               {
                  Alert("Код нажатой клавиши=",lastkey," из окна ",lastwnd);
               }
            if ((lastmouse!=0) && (lastwnd!="") && (lastmouse!=512)) //отражаем все события кроме движения мыши.
               {
                  Alert("Код мыши=",lastmouse," из окна ",lastwnd);
               }
            Sleep(200);
         }  //while
      IdleLibUnInit();
      Alert("Завершение.");
  }
 
kosmos0975:

大家好。处理函数库、导入函数(#import)和包含文件(#include)。不太确定谁 "包括 "谁?所以。

这些库位于Libraries文件夹中。这个文件夹可能包含5种(不排除)文件:1-.dll(Windows函数库,已经为MT4修改了#defineMT4_EXPFUNC int __stdcall ...)

2- .ex4(似乎是编译.mq4或.mqh的结果),3- .dat(我根本没有读到关于它的任何东西),4- .mqh(可能是一个要启用的文件,因为#属性库被禁用,但Igor Kim有它。

作为一个额外的函数库),5-.mq4(一个自定义函数和包含文件的库,可能包含自定义函数、包含文件、.dll库和其他东西。

包含文件在Include文件夹中,可能包含其他包含文件、自定义函数、.dll库和其他东西。另外,在文件夹Include --> Controls --> res icons(图片).bmp。

我怎么能做(重新制作)脚本,它不工作(对鼠标和键盘的点击没有反应)。也许是因为文件夹Libraries中没有user32.dll(虽然它使用了WinUser32.mqh,但它不可能在某个地方没有)。

你能告诉我哪里出了问题吗。提前感谢,问题才刚刚开始。

Libraries文件夹包含。

1)自行编写*.dll。

2) *.ex4 - 带有#属性库 的编译库的结果。

3)*.mq4(非强制性),第2项中的*.ex4由其编译而成。

 

谢谢你的答复。澄清一下:1)自写的*.dll - Windows函数库或你的代码,已经适应了MT4。2) *.mq4(源文件)将与主文件 或其*.ex4(已编译)一起编译。

(已经编译的)将在编译过程中被包含(添加)到主文件中。对于库的编辑,有源文件更方便。3)解除管制#import只针对*.dll。它位于Libraries文件夹中,因为该库虽然是外部的

职能。4) *.mqh - 包含的文件,未编译(总是源代码)。

我读到,旧的库可能无法工作,因为现在是Unicode。上面的例子有什么问题?

 
kosmos0975:

谢谢你的答复。澄清一下:1)自写的*.dll - Windows函数库或你的代码,已经适应了MT4。2) *.mq4(源文件)将与主文件或其*.ex4(已编译)一起编译。

(已经编译的)将在编译过程中被包含(添加)到主文件中。对于库的编辑,有源文件更方便。3)解除管制#import只针对*.dll。它位于Libraries文件夹中,因为该库虽然是一个外部的

职能。4) *.mqh - 包含的文件,未编译(总是源代码)。

我读到,旧的库可能无法工作,因为现在是Unicode。上面的例子有什么问题?

要澄清的是。

1)Windows库不必放在终端沙盒中。

2)*.mq4(源文件),带有#property库 指令(编译后,得到一个*.ex4文件)。如果没有这个指令,文件将不会被编译。

#import指令不仅仅用于*.dll库。查看Include文件夹中的任何*.mqh文件。顺便说一下,这就是*.mqh(头文件)文件应该位于的地方。它们没有被编译。

关于 "旧 "库和Unicode--它是关于自写的*.dll。

 

我已经知道了所有东西的位置。关于上述剧本的结构。#include< WinUser32.mqh>包含#import "user32.dll" dictive和一个适应的外部函数列表。它还#define(分配助记符名称)到一些

数值。为什么这样做(赋值),甚至有必要包括#include< WinUser32.mqh>文件,因为进一步使用的外部函数属于#import "IdelLib.dll"。

在 "user32.dll "的功能列表中,似乎有其用于劫持鼠标和键盘的功能,但没有找到说明。我想知道如何使它(脚本)正常工作(在Strategy Tester中的交互式面板上工作,尽管其

开发者方面持续存在的缺陷),并且有知识渊博的人。看了几个关于*.dll-libraries的主题。他们轻快地开始,然后谈起了生活。然而,由于某些原因,信息非常少(有描述和例子的工作库)。

 
kosmos0975:

我已经知道了所有东西的位置。关于上述剧本的结构。#include< WinUser32.mqh>包含#import "user32.dll" dictive和一个适应的外部函数列表。它还#define(分配助记符名称)到一些

数值。为什么这样做(赋值),甚至有必要包括#include< WinUser32.mqh>文件,因为进一步使用的外部函数属于#import "IdelLib.dll"。

在 "user32.dll "的功能列表中,似乎有其用于劫持鼠标和键盘的功能,但没有找到说明。我想知道如何使它(脚本)正常工作(在Strategy Tester中的交互式面板上工作,尽管其

开发者方面持续存在的缺陷),并且有知识渊博的人。看了几个关于*.dll-libraries的主题。他们轻快地开始,然后谈起了生活。然而,由于某些原因,信息非常少(有描述和例子的工作库)。

挖掘一下,也许你会发现一些有趣的东西。
 
谁有一个正常的iMA技术指标 代码,可选择APPLIED_PRICE?请发送!