尝试使用 MQL4
从ShellExecuteW()
启动 .exe 。
此命令只运行一次吗?
#import "shell32.dll" // MQL4-syntax-wrapper-Bo[#import]Container
// v-------------- caller-side interface to DLL
int ShellExecuteW( int hWnd,
int lpVerb,
string lpFile,
int lpParameters,
int lpDirectory,
int nCmdShow
);
#import // MQL4-syntax-wrapper-Eo[#import]Container
if ( cond == true ){
ShellExecuteW( 0, "open", "D:\\Execute.exe", "", "", 1 );
}
答案 0 :(得分:0)
也许是的,也许不是。
<强>事实:强>
MT4终端的流程控制/流程管理并不优越,但是它允许您集成多条控制线来控制内部(和外部......不仅通过ShellExecuteW(...)
...)发生的事情。 MT4终端。
MT4终端支持每个图表的以下流程(通过内置线程):
{ 0 | 1 }
出现一个名为MQL4的单例实例 - ExpertAdvisor { 0 | 1 }
出现一个名为MQL4的单例实例 - 脚本 { 0 | 1 ... n }
出现功能受限的实例MQL4- TechnicalIndicator 这些实例的性质在几个方面有所不同,但是在与您的问题最接近的关系中,每个过程都有一个强制部分和一组任意部分。
在最初的 MQL4
(可能已经注意到,因为Build 7xx MQL4语言语法越来越接近MQL5,因此有时被标记为MQL4.5:o ))
//\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
//
// MQL4 code ----------------------------------------------------------<BoF>------
// MQL4 code compiler directives' section -----------------------<BoS>
#import ... // MQL4-syntax-wrapper-Bo[#import]Container
..
.
#import // MQL4-syntax-wrapper-Eo[#import]Container
// MQL4 code compiler directives' section -----------------------<EoS>
// ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
//
// MQL4 code section ---------------------------- init() / start() / deinit()
//
int init(){ // this part is being run just once,
// right upon an instance activation
}
int start(){ // this part is being run just once, for an MQL4-Script
// right upon an instance activation
// run upon an FX-MarketEvent is being observed
// in an MQL4-ExpertAdvisor
// or
// in an MQL4-TechnicalIndicator
}
...
..
.
//
// MQL4 code ---------------------------------------------------------<EoF>------
//
//\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
因此,部署代码的确切位置(重新)使用通用DLL服务(#import
- 编译时对齐和动态链接(重用)决定要求调用外部进程的次数。
有很多更智能的方法可以将MT4终端与外部进程或远程进程(Clouds&amp; Grids)集成,而不仅仅是基于DLL的另一个盲人&amp;聋人无法管理<localhost>
过程。
通常,需要在流程之间进行流程控制和双向通信。
不要犹豫再问。
MT4(带一些额外的工具)可以做到。