//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 16.05.2008 |//| Описание : Возвращает нормализованное значение торгуемого лота. |//+----------------------------------------------------------------------------+//| Параметры: |//| lo - нормализуемое значение лота. |//| ro - способ округления ( False - в меньшую, |//| True - в большую сторону) |//| sy - наименование инструмента ("" или NULL - текущий символ) |//+----------------------------------------------------------------------------+double NormalizeLot(double lo, bool ro=False, string sy="") {
double l, k;
if (sy=="" || sy=="0") sy=Symbol();
double ls=MarketInfo(sy, MODE_LOTSTEP);
double ml=MarketInfo(sy, MODE_MINLOT);
double mx=MarketInfo(sy, MODE_MAXLOT);
if (ml==0) ml=0.1;
if (mx==0) mx=100;
if (ls>0) k=1/ls; else k=1/ml;
if (ro) l=MathCeil(lo*k)/k; else l=MathFloor(lo*k)/k;
if (l<ml) l=ml;
if (l>mx) l=mx;
return(l);
}
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку, так как небольшая ошибка в логике советника или индикатора может привести к убыткам на торговом счете. Именно поэтому нами разработана серия базовых проверок, призванных обеспечить необходимый уровень качества продуктов Маркета. Если в процессе проверки...
不过,有些事情真的很不对劲......。
我的意思是,我做一次OrderSelect,然后再从函数中做一次...那是一个地狱般的东西...
简单的逻辑...
注意你正在进行的操作顺序。
很明显,你必须首先检查数量,然后选择所需的订单,再对其进行必要的操作。
你从哪个方向看订单阵列?
如果在 "修订 "过程中可能出现关闭/删除的情况,最好向相反方向看。从OrdersTotal()-1到0(含)。
否则你可能会有麻烦 :-)
我曾经差点以这种方式发现我的个人圣杯:-)
而将旧的订单从 "时间深处 "移到现在(偶尔一次,不是所有的),将测试者的盈利能力提高到了天上 :-)
简单的逻辑...
注意你正在进行的操作顺序。
很明显,你必须首先检查数量,然后选择正确的订单,再对其进行必要的操作。
我曾这样做过。
只需把顺序计算放在第一位,然后再放其他东西。
谢谢你,Artem。我的圣杯是它的功劳。正是这个错误让我痛苦不堪......。
如何计算小数点 后的数字?
例如,我发现最小手数是0.01。
我如何推断出小数点后 的数字是2?
将订单量规范化到小数点后两位数。
如何计算小数点 后的数字?
例如,我发现最小手数是0.01。
我如何推断出小数点后 的数字是2?
来规范订单量到小数点后两位数。
试试这个。
试试这个。
为什么要提供这样的旧东西?
如何计算小数点 后的数字?
例如,我了解到,最小手数是0.01。
我怎样才能知道小数点后 的数字是2?
然后将订单量规范化到小数点后两位数。
这里有一个文章中 现成的功能。
剩下的就是根据这个函数返回的结果,添加一个动作。
我把很多像这样的
并以1.11的交易量开盘。
因此,也许你不需要将任何东西正常化?
我看到,当我打开终端时,终端将订单规范化到所需的小数位数。
也许没有必要使任何东西正常化?
如果编辑也这样做--没有必要。
我看到终端在打开时将订单规范化到所需的小数位数。
也许你不需要使任何东西正常化?
如果你想得到一个又一个的错误,就不要进行正常化。
如果你想随后得到一个又一个的错误,就不要进行正常化。