新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 103 1...96979899100101102103104105106107108109110...1953 新评论 DenZell 2017.02.01 06:57 #1021 trader781: 例如:我如何等待交易结束?阿列克谢-维克多罗夫。 1.当一个订单被打开时,在变量全局水平或静态中写入票据,然后监控这个订单,直到它的颜色 为蓝色,哎呀,直到它被比较OrderCloseTime()>0关闭。如果关闭时间大于零,则该订单被关闭。 2.对GOTO操作符的替换要有效得多。阅读关于这些功能的文件。有没有办法给我看一个例子?我如何等待前一个交易结束?double Lot = 0.1; double loss = 100; int start() { int order; if(OrdersTotal()==0) { order = OrderSend(Symbol(),OP_BUY,Lot,Ask,1*Point,Ask-loss*Point,Ask+loss*Point); // Вверх order = OrderSend(Symbol(),OP_SELL,Lot,Bid,1*Point,Bid+loss*Point,Bid-loss*Point); // Вниз } return(0); }//+------------------------------------------------------------------+ Alexey Viktorov 2017.02.01 07:52 #1022 DenZell:有没有办法给我看一个例子?我如何等待前一个交易结束?double Lot = 0.1; double loss = 100; int start() { int order; if(OrdersTotal()==0) { order = OrderSend(Symbol(),OP_BUY,Lot,Ask,1*Point,Ask-loss*Point,Ask+loss*Point); // Вверх order = OrderSend(Symbol(),OP_SELL,Lot,Bid,1*Point,Bid+loss*Point,Bid-loss*Point); // Вниз } return(0); }//+------------------------------------------------------------------+ 有几种选择。 最简单的一个是行动的顺序。首先,我们试图对已经开出的订单做一些事情,然后,如果没有开出的订单,我们试图设置它。 我们将仓位处理和新订单的开仓分为两个独立的用户定义函数。然后在OnTick()函数 中检查是否存在未结订单,并根据得到的结果调用一个或另一个函数。 它在文字上看起来是这样的。void OnTick(){ if(OrdersTotal() > 0) открытие(); else сопровождение();}bool открытие(){ // здесь код открытия}bool сопровождение(){ // здесь код сопровождения} 而且,如果OrderCloseTime()>0,就更难检查到具体的订单了。 如果账户提供了这种情况,但更多的情况是其他专家顾问的工作或手动开单的情况。 Pavel Verveyko 2017.02.01 11:32 #1023 是否可以在终端以编程方式选择账户历史的开始日期? Artyom Trishkin 2017.02.01 11:35 #1024 Money_Maker: 我能否在终端以编程方式选择账户历史的开始日期? 你可以。这将是历史上第一个具有6型平衡操作的订单。这个订单的开启时间 将是账户历史的开始。 Pavel Verveyko 2017.02.01 11:36 #1025 Artyom Trishkin: 你可以。这将是历史上第一个具有6型平衡操作的订单。 我不需要历史上的第一个订单......历史在最大限度内打开......我需要从某个日期开始的历史......我将以编程方式设置(显然,这个问题由于细节而被简化了)。 Artyom Trishkin 2017.02.01 11:40 #1026 Money_Maker: 我不需要历史上的第一个订单......历史被打开到最大,我需要从某个日期开始的历史......我将以编程方式设置(显然,这个问题是以牺牲细节为代价来简化的)。 答案也是可能的。 但问题仍然是 "精简 "的,所以我会说,我们应该跳过那些开放时间 早于那个 "特定日期 "的订单。 Pavel Verveyko 2017.02.01 11:47 #1027 Artyom Trishkin: 答案也是,你可以。 但问题仍然是 "精简",所以我想说,我们应该跳过开放时间 早于这个 "特定日期 "的订单......当然,我没有想到......但7年来有很多订单......。 我还没有真正想过按日期过滤......但7年是一个很大的订单。 该问题在截图中以红色划线......所以该问题没有被精简? Artyom Trishkin 2017.02.01 11:51 #1028 Money_Maker: 当然,我没有想到要按日期过滤......但7年里有很多订单。 在截图中,问题用红色下划线,你必须把某个日期放在那里......所以问题没有被精简? 我不明白你的问题 :( 你到底想通过编程做什么? Pavel Verveyko 2017.02.01 11:53 #1029 Artyom Trishkin: 我不明白你的问题 :( 你到底想通过编程做什么? 在红色下划线的地方,输入日期,基本上点击确定......它决定了报告中的历史深度。 Artyom Trishkin 2017.02.01 11:56 #1030 Money_Maker: 在红色下划线的地方,输入日期,基本上点击确定......它决定了报告中的历史深度。 你不能在纯mql中以编程方式进行。你需要通过WinAPI来寻找这个窗口和日期,我想。 1...96979899100101102103104105106107108109110...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
例如:我如何等待交易结束?
1.当一个订单被打开时,在变量全局水平或静态中写入票据,然后监控这个订单,直到它的颜色 为蓝色,哎呀,直到它被比较OrderCloseTime()>0关闭。如果关闭时间大于零,则该订单被关闭。
2.对GOTO操作符的替换要有效得多。阅读关于这些功能的文件。
有没有办法给我看一个例子?我如何等待前一个交易结束?
double loss = 100;
int start()
{
int order;
if(OrdersTotal()==0)
{
order = OrderSend(Symbol(),OP_BUY,Lot,Ask,1*Point,Ask-loss*Point,Ask+loss*Point); // Вверх
order = OrderSend(Symbol(),OP_SELL,Lot,Bid,1*Point,Bid+loss*Point,Bid-loss*Point); // Вниз
}
return(0);
}
//+------------------------------------------------------------------+
有没有办法给我看一个例子?我如何等待前一个交易结束?
double loss = 100;
int start()
{
int order;
if(OrdersTotal()==0)
{
order = OrderSend(Symbol(),OP_BUY,Lot,Ask,1*Point,Ask-loss*Point,Ask+loss*Point); // Вверх
order = OrderSend(Symbol(),OP_SELL,Lot,Bid,1*Point,Bid+loss*Point,Bid-loss*Point); // Вниз
}
return(0);
}
//+------------------------------------------------------------------+
最简单的一个是行动的顺序。首先,我们试图对已经开出的订单做一些事情,然后,如果没有开出的订单,我们试图设置它。
我们将仓位处理和新订单的开仓分为两个独立的用户定义函数。然后在OnTick()函数 中检查是否存在未结订单,并根据得到的结果调用一个或另一个函数。
它在文字上看起来是这样的。
{
if(OrdersTotal() > 0)
открытие();
else
сопровождение();
}
bool открытие()
{
// здесь код открытия
}
bool сопровождение()
{
// здесь код сопровождения
}
如果账户提供了这种情况,但更多的情况是其他专家顾问的工作或手动开单的情况。
我能否在终端以编程方式选择账户历史的开始日期?
你可以。这将是历史上第一个具有6型平衡操作的订单。
我不需要历史上的第一个订单......历史被打开到最大,我需要从某个日期开始的历史......我将以编程方式设置(显然,这个问题是以牺牲细节为代价来简化的)。
但问题仍然是 "精简 "的,所以我会说,我们应该跳过那些开放时间 早于那个 "特定日期 "的订单。
答案也是,你可以。
但问题仍然是 "精简",所以我想说,我们应该跳过开放时间 早于这个 "特定日期 "的订单......当然,我没有想到......但7年来有很多订单......。
该问题在截图中以红色划线......所以该问题没有被精简?
当然,我没有想到要按日期过滤......但7年里有很多订单。
在截图中,问题用红色下划线,你必须把某个日期放在那里......所以问题没有被精简?
你到底想通过编程做什么?
我不明白你的问题 :(
你到底想通过编程做什么?
在红色下划线的地方,输入日期,基本上点击确定......它决定了报告中的历史深度。