初学者的问题 MQL4 MT4 MetaTrader 4 - 页 20 1...131415161718192021222324252627...261 新评论 Yaroslav Nykula 2016.12.02 15:18 #191 Vitalie Postolache: 再一次。在处理一个订单时,OrderSelect必须放在第一位 。然后是其他一切。 谢谢你的答复...你是说if(OrderSelect(i=0;i<accTotal;i++)==true) 这一行写得不对,还是在错误的代码位置? Vitalie Postolache 2016.12.02 15:20 #192 bablusut: 谢谢你的答复...你是说if(OrderSelect(i=0;i<accTotal;i++)==true) 这一行写得不对,还是在代码的错误位置? ... 我在那里添加了细节。 atik441 2016.12.02 15:27 #193 Renat Akhtyamov: по ссылке пройдите, она у Вас в посте выделена.我已经看过了,它没有必要的信息,空缓冲区的10位数值和有信号时的价格值...mql4代码如何表示缓冲区内没有或存在一个值?(我不止一次用过它,但忘记了......)if( iCustom(NULL,t, "T...c",1,b) != .......)..... Vitalie Postolache 2016.12.02 15:29 #194 atik441:уже смотрел. нет там нужной информации .в пустом буфере 10и значное значение а при наличии сигнала - значение цены... и как в коде mql4 обозначается отсутствие или наличие значения в буфере ? (пользовался не раз ,да забыл ...) if( iCustom(NULL,t, "T...c",1,b) !=EMPTY_VALUE)..... atik441 2016.12.02 15:32 #195 Vitalie Postolache:if( iCustom(NULL,t, "T...c",1,b) !=EMPTY_VALUE).....我们需要的是。谢谢你的提醒 ! BORIS GOLICIN 2016.12.02 16:34 #196 帮助理解。如果有两个不同方向的订单,是否可以按顺序执行? 公开交易首先触发任何交易的TP,然后才是SL,虽然在交易过程中SL水平任何一个行业都是先通过的? Renat Akhtyamov 2016.12.02 18:10 #197 ganri:帮助理解。如果有两个不同方向的订单,是否可以按顺序执行? 公开交易首先触发任何交易的TP,然后才是SL,虽然在交易过程中SL水平任何一个行业都是先通过的? 分析 asc/bid Yaroslav Nykula 2016.12.02 18:20 #198 Vitalie Postolache:再一次。在处理一个订单时,OrderSelect必须放在第一位 。然后是其他一切。如果我们是在一个顺序评估的循环中工作,行动的顺序如下1.检查 if(OrderSelect())2.检查它是否是正确的订单,我们通常检查符号和魔法号码,然后检查类型if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) - 在这种情况下,只有为当前符号和指定魔法号码的市场订单被处理其他数据的处理,如OrderComment()、OrderProfit()等。它看起来会是这样的。 for(int i=OrdersHistoryTotal()-1; i>=0; i--) //перебираем историю торгов { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) //если ордер выбран то работаем дальше, иначе смысла нет { if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) //Если ордер тот, что нам нужен (эту проверку можно и опустить, если нужно обработать все ордера в истории) { if(StringFind(OrderComment(),"[tp]",0)>-1) //если найден признак закрытия профитом Print("Order #",OrderTicket()," profit: ", OrderTakeProfit()); if(StringFind(OrderComment(),"[sl]",0)>-1) //если найден признак закрытия стоплосс Print("Order #",OrderTicket()," loss: ", OrderTakeProfit()); } } }谢谢你的答复...因此,为了搜索交易历史中的订单,我们使用函数OrdersHistoryTotal,在抛弃所有我们不需要的东西后,它看起来像这样for(int i=OrdersHistoryTotal()-1; i>=0; i--) // - 这里有一个问题,"accTotal " 在函数模板中是什么意思,我们已经抛弃了它。为什么你把 "i--" ,而不是像模板中的"i++"? - 第二个函数OrderComment 返回所选订单的评论,如果它被前一个函数OrdersHistoryTotal 选中,其形式为if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) //- 其中 "i", 这是 之前函数中的"i>=0",而 "SELECT_BY_TICKET "被替换为 "SELECT_BY_POS" ,并增加了 "MODE_HISTORY"-- 为什么?- 第三行是定义,我们实际上不需要检查必要的订单,因为我们在这个历史中只有被TP和SL关闭的市场订单(我们可能有一个关闭的挂单,但这将是罕见的),所有其他订单参数对我们来说并不重要。唯一重要的是历史上已关闭的订单数量将不断增加,是否有可能使我们的重新计算采取一定数量的最后订单,例如5-10个,而不是所有的?- 最后四行很清楚,唯一的问题是关于PlaySound函数,它的代码应该插在每个"Print("...") " 行之后,形式如下。 bool PlaySound(字符串 // 文件名 );...还是说它也是以某种方式转换的? Vitalie Postolache 2016.12.02 19:04 #199 bablusut: 阅读关于循环的知识,它们是如何被限制的,以及它们是如何工作的,总的来说,如果能阅读一本关于C++的初学者的教科书就更好了,C++与MQL非常相似,唯一的区别是在交易函数。你还应该阅读 MQL教程 和编译器的帮助。 论坛上的文章在窗口的上边框,蓝色背景。你不能只是在论坛上复述和解释整个课程。 Учебник по MQL4 book.mql4.com Учебник по MQL4 Yaroslav Nykula 2016.12.02 20:17 #200 Vitalie Postolache:阅读关于循环的知识,它们是如何被限制的,以及它们是如何工作的,总的来说,如果能阅读一本关于C++的初学者的教科书就更好了,C++与MQL非常相似,唯一的区别是在交易函数。你还应该阅读 MQL教程 和编译器的帮助。 论坛上的文章在窗口的上边框,蓝色背景。你不能只是在论坛上复述和解释整个课程。 谢谢维塔利-波斯托拉奇 的帮助和建议,我在六岁生日时读完所有的教科书已经太晚了--我将无法学习那么多,我应该早点做,但我没有时间。我在这里真的很无聊,对不起,我不会再打扰你了。 1...131415161718192021222324252627...261 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
再一次。在处理一个订单时,OrderSelect必须放在第一位 。然后是其他一切。
谢谢你的答复...你是说if(OrderSelect(i=0;i<accTotal;i++)==true) 这一行写得不对,还是在代码的错误位置? ...
Renat Akhtyamov:
по ссылке пройдите, она у Вас в посте выделена.
我已经看过了,它没有必要的信息,空缓冲区的10位数值和有信号时的价格值...mql4代码如何表示缓冲区内没有或存在一个值?(我不止一次用过它,但忘记了......)
if( iCustom(NULL,t, "T...c",1,b) != .......).....
atik441:уже смотрел. нет там нужной информации .в пустом буфере 10и значное значение а при наличии сигнала - значение цены... и как в коде mql4 обозначается отсутствие или наличие значения в буфере ? (пользовался не раз ,да забыл ...)
if( iCustom(NULL,t, "T...c",1,b) !=EMPTY_VALUE).....我们需要的是。谢谢你的提醒 !
帮助理解。如果有两个不同方向的订单,是否可以按顺序执行?
公开交易首先触发任何交易的TP,然后才是SL,虽然在交易过程中SL水平
任何一个行业都是先通过的?
帮助理解。如果有两个不同方向的订单,是否可以按顺序执行?
公开交易首先触发任何交易的TP,然后才是SL,虽然在交易过程中SL水平
任何一个行业都是先通过的?
再一次。在处理一个订单时,OrderSelect必须放在第一位 。然后是其他一切。
如果我们是在一个顺序评估的循环中工作,行动的顺序如下
1.检查 if(OrderSelect())
2.检查它是否是正确的订单,我们通常检查符号和魔法号码,然后检查类型if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) - 在这种情况下,只有为当前符号和指定魔法号码的市场订单被处理
其他数据的处理,如OrderComment()、OrderProfit()等。
它看起来会是这样的。
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) //если ордер выбран то работаем дальше, иначе смысла нет
{
if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) //Если ордер тот, что нам нужен (эту проверку можно и опустить, если нужно обработать все ордера в истории)
{
if(StringFind(OrderComment(),"[tp]",0)>-1) //если найден признак закрытия профитом
Print("Order #",OrderTicket()," profit: ", OrderTakeProfit());
if(StringFind(OrderComment(),"[sl]",0)>-1) //если найден признак закрытия стоплосс
Print("Order #",OrderTicket()," loss: ", OrderTakeProfit());
}
}
}
谢谢你的答复...因此,为了搜索交易历史中的订单,我们使用函数OrdersHistoryTotal,在抛弃所有我们不需要的东西后,它看起来像这样
for(int i=OrdersHistoryTotal()-1; i>=0; i--) // - 这里有一个问题,"accTotal " 在函数模板中是什么意思,我们已经抛弃了它。为什么你把 "i--" ,而不是像模板中的"i++"?
- 第二个函数OrderComment 返回所选订单的评论,如果它被前一个函数OrdersHistoryTotal 选中,其形式为
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) //- 其中 "i", 这是 之前函数中的"i>=0",而 "SELECT_BY_TICKET "被替换为 "SELECT_BY_POS" ,并增加了 "MODE_HISTORY"-- 为什么?
- 第三行是定义,我们实际上不需要检查必要的订单,因为我们在这个历史中只有被TP和SL关闭的市场订单(我们可能有一个关闭的挂单,但这将是罕见的),所有其他订单参数对我们来说并不重要。唯一重要的是历史上已关闭的订单数量将不断增加,是否有可能使我们的重新计算采取一定数量的最后订单,例如5-10个,而不是所有的?
- 最后四行很清楚,唯一的问题是关于PlaySound函数,它的代码应该插在每个"Print("...") " 行之后,形式如下。
bool PlaySound(
字符串 // 文件名
);
...还是说它也是以某种方式转换的?
阅读关于循环的知识,它们是如何被限制的,以及它们是如何工作的,总的来说,如果能阅读一本关于C++的初学者的教科书就更好了,C++与MQL非常相似,唯一的区别是在交易函数。
你还应该阅读 MQL教程 和编译器的帮助。 论坛上的文章在窗口的上边框,蓝色背景。你不能只是在论坛上复述和解释整个课程。
阅读关于循环的知识,它们是如何被限制的,以及它们是如何工作的,总的来说,如果能阅读一本关于C++的初学者的教科书就更好了,C++与MQL非常相似,唯一的区别是在交易函数。
你还应该阅读 MQL教程 和编译器的帮助。 论坛上的文章在窗口的上边框,蓝色背景。你不能只是在论坛上复述和解释整个课程。