Еще бы пару вариантов в MarketInfo

 
Иногда не помешали бы еще два варианта в MarketInfo:
MODE_MINIMALLOT
MODE_LOTINCREMENT

У терминала эта информация есть. :) А два, а не один вариант потому что например в Neurex demo я видел что минимальный лот 0.1, а потом можно повышать по 0.01 лота.

Теперь исползуя новый MODE_LOTSIZE написал универсальную считалку размера пипса, а с двумя выше описанными вариантами и универсальную считалку размера лота можно было бы закончить. :)
 
Теперь исползуя новый MODE_LOTSIZE написал универсальную считалку размера пипса, а с двумя выше описанными вариантами и универсальную считалку размера лота можно было бы закончить. :)

поделись, плз.... а то никак руки не дойдут =)
 
Вроде так. Поэтому и спрашивал в другой ветке как правильно написать функцию PairExists().
double Base, Cost;
string TradeSymbol, FirstPart, SecondPart;

FirstPart  = StringSubstr (TradeSymbol, 0, 3);
SecondPart = StringSubstr (TradeSymbol, 3, 3);
   
Base = MarketInfo (TradeSymbol, MODE_LOTSIZE) * MarketInfo (TradeSymbol, MODE_POINT);
if ( SecondPart == "USD" )
   Cost = Base;
else if ( FirstPart == "USD" )
        Cost = Base / MarketInfo (TradeSymbol, MODE_BID);
     else if ( PairExists ("USD"+SecondPart) )
             Cost = Base / MarketInfo ("USD"+SecondPart, MODE_BID);
          else
             Cost = Base * MarketInfo (SecondPart+"USD", MODE_BID);

bool PairExists (string TradeSymbol) {
   return ( MarketInfo (TradeSymbol, MODE_LOTSIZE) > 0 );
}
 
спасибо, работает. Причём, правильно =)
а PairExists я думаю не нужен - если символа нет, Cost будет = 0.0 - надо просто проверять на выходе ;)
 
Будет "divide by zero" :). А к тому же мне и в других местах такая функция нужна. Так что вопрос остается открытым.

Как и вопрос про MODE_MINIMALLOT/MODE_LOTINCREMENT. :)
 
кстати, обещали сделать MODE_SYMBOLID - код символа. Это бы помогло....