Пятизначные котировки

 

при спреде 3

на пятизначных котировках


((Ask - Bid)/Point) = 30.0, что мягко говоря не реально

при спреде = 3


определив Digits = 5

делаем дополнение

pPoint = Point;


if (Digits == 5 )

pPoint * 10;


((Ask - Bid)/pPoint) = 3

---

может есть более эффективные способы

а то править коды утомительно


аналогично




 rSpread =MarketInfo(Symbol(), MODE_SPREAD);
if ( Digits == 5 )
   rSpread = rSpread * 10;
 
 

Это по eurusd - 5 пунктов. А по usdjpy при этом 3 пункта дробная часть. А по некоторым парам (euraud) так и остались 4 пункта.

Тут необходимо делать опрос сервера на предмет спрэдов. Но спрэды плавающие. Причем плавают постоянно.

 

вообще с этим полный завал...

 
OZ0 писал(а) >>

вообще с этим полный завал...

Скажем так, придется нудно отлаживать обработчик.

 

Я исхожу из того, что может быть 3 и 5.

В старом советнике меняю все упоминания Point на MyPoint, а затем

double MyPoint;
int init()
{
if(Point==0.001 || Point==0.00001) MyPoint=Point*10; else MyPoint=Point;
return(0);
}

Конечно грубовато, но как quick fix работает.

 
mamma >>:

Я исхожу из того, что может быть 3 и 5.

В старом советнике меняю все упоминания Point на MyPoint, а затем

double MyPoint;
int init()
{
if(Point==0.001 || Point==0.00001) MyPoint=Point*10; else MyPoint=Point;
return(0);
}

Конечно грубовато, но как quick fix работает.

я пошел именно этим путем!

определяю Point один раз привожу его к 4 знакам ! и тогда код почти не меняется потом

 
Ещё в редких случаях приходится также добавлять MyStopLevel, который задаю в том же IF'е как MarketInfo(Symbol(),MODE_STOPLEVEL)/10.
 
А как быть для 3х значных котировок, например USDRUR. Есть ли способ определить режим плавающей кодировки? Заглушки на 3 и 5 как видите не прокатывает.
 
up
 
YuraZ писал(а) >>

может есть более эффективные способы

а то править коды утомительно

Чтобы ничего не править нужно во всех расчетах использовать абсолютные величины спредов.

То есть 0.0003 или спред*поинт. Задавать всегда нужно именно величину спред*поинт или спред*поинт*10000.

Ни разу не возникало проблем ни при смене ДЦ ни при смене валютной пары.

Причина обращения: