//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Закрытие тех позиций, у которых профит в валюте депозита |//| превысил некоторое значение |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//| pr - профит |//+----------------------------------------------------------------------------+voidClosePosBySizeProfitInCurrency(stringsy="", intop=-1, intmn=-1, doublepr=0){inti, k=OrdersTotal();
if(sy=="0")sy=Symbol();
for(i=k-1; i>=0; i--){if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){if((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)){if(OrderType()==OP_BUY || OrderType()==OP_SELL){if(mn<0 || OrderMagicNumber()==mn){if(OrderProfit()+OrderSwap()>pr)ClosePosBySelect();
}}}}}}
伊戈尔,我在"处理INI文件的函数库 " 中问过你一个问题,但没有答复:(
谢谢...回答了...
ClosePosBySelect()函数。
关闭一个预选的位置。这个函数是相当辅助的,因为它是由其他几个函数调用的,这些函数有助于通过一些条件来选择关闭的位置。
谢谢你...已回答...
另一个问题(或者说是声明)也在那里 :)
ClosePosBySelect()函数。
关闭一个预选的位置。这个函数是相当辅助性的,因为它是由其他几个函数调用的,这些函数有助于根据一些条件选择要关闭的位置。
你好!
请原谅我!
1) 我不明白这句话的意思for (it=1; it<=NumberOfTry; it++)
这是个什么样的循环?
2) 我也不理解条件if (!testing() ......) break。
3)最后,这是什么功能? ErrorDescription(err)," 。
如果你不介意的话,请解释一下。
1.这是一个交易尝试的循环。如果交易服务器返回错误,该函数将进行NumberOfTry 尝试,最终平仓。我通常设置NumberOfTry=5。
2.这个条件实现了当在线工作的专家顾问被停止 时,能够正确退出尝试的周期。如果没有这个条件,为了调用,例如,EA的属性,我们不得不等待,直到EA使用所有的交易尝试,或者从图表中删除EA。
3.在文件.\experts\libraries\stdlib.mq4中查找。
我想问一下,如何使EA在无限循环中工作,同时又能访问其参数设置?
我在开始时是这样写的
但在这种情况下,专家顾问挂起,除了从图表中删除外,我不能对它做任何事情。
瓦莱拉,让它变成这样。
ClosePosBySizeProfitInCurrency()函数。
这个功能只关闭那些存款货币的利润超过某个特定值的头寸。你可以用函数参数指定哪些位置必须关闭。
瓦莱拉,让它变成这样。
唉,這也是在廣播 ekspert,在您把它從圖表中刪除之前,不能訪問其參數。
唉,这也是对EA的广播,在你把它从图表中删除之前,不能访问它的参数。
然而,它确实给了你一个选项,即按下工具栏上的 "EA "按钮来停止该EA。