MT4 - 在特定时间设置买卖限制

MT4 - Place buy and sell limits at certain time

我想使用 Meta Trader 4 EA 来编写交易策略代码。

但是,我在MT4中找不到这样的功能。

Python 中的类似函数是 datetime.datetime(年、月、日、时、分、秒)。

基本上我想做以下事情:

Place sell and buy limit when market opens, say UTC +8.

如果有人能帮助我,那就太好了。

MT4 时间是从1970 年1 月1 日开始的秒数,使用了一个特殊的变量类型datetime,实际上是一个简单的int。 如何构造时间?两种简单的方法:来自字符串和来自结构。

datetime time=StringToTime(StringFormat("%04d.%02d.%02d %02d:%02d",year,month,day,hour,minute));

或者,

MqlDatetime dt;
dt.year=year;
dt.mon=month;
dt.day=day;
dt.hour=hour;
dt.min=minute;
datetime time=StructToTime(dt);

MT4 什么时间可用?可以调用三种类型的时间: 经纪商的当前时间(您在图表和市场上实际看到的window)是默认时间,您可以通过调用TimeCurrent()iTime(_Symbol,PERIOD_M1,0)获取; GMT+0可以通过TimeGMT()实现;和 您的本地 PC 时间可以通过 TimeLocal() 函数实现。 使用哪一个 - 由您决定。

按时间条件下单与按其他条件下单类似。

if(condition)OrderSend(..);

除了大牛的回答,我使用时间的方式就是简单的使用Hour(), Minute(), and Seconds()

请注意这些 return 代理服务器时间。

所以用例:

if(Hour()==14 && Minute()==30 && Seconds()==0){
    int buy = OrderSend(...);
}