![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А может кто-то в индикаторе от Prival сможет
ЗАДАТЬ ЦЕНУ ОДНОГО ПУНКТА ПРИ ОДНОМ ЛОТЕ
ЗАДАТЬ ЦЕНУ ОДНОГО ПУНКТА ПРИ ЗАДАННОМ РИСКЕ И ПОЛУЧЕННОМ КОЛ-ВЕ ЛОТОВ
Извините, что большими буквами. Привык. В коде почти не разбираюсь.
A Sample: Lot size computing:
Переменная "ali.PositionPoints" обозначает размер маржинальной позиции в пунктах.
A Sample: Value to point conversion
int init () //< 1> { //< 2> string acs.Operation [] = { "Buy" , "Sell" } ; //< 3> //< 4> double avd.QuotePoint = MarketInfo ( Symbol () , MODE_POINT ) ; //< 5> double avd.QuoteTick = MarketInfo ( Symbol () , MODE_TICKSIZE ) ; //< 6> double avd.NominalTick = MarketInfo ( Symbol () , MODE_TICKVALUE ) ; //< 7> double ald.NominalPoint = avd.NominalTick * avd.QuotePoint / avd.QuoteTick ; //< 8> //< 9> Alert ( "" ) ; //< 10> Alert ( "avd.QuotePoint: " , DoubleToStr ( avd.QuotePoint , Digits ) ) ; //< 11> Alert ( "avd.QuoteTick: " , DoubleToStr ( avd.QuoteTick , Digits ) ) ; //< 12> Alert ( "avd.NominalTick: " , DoubleToStr ( avd.NominalTick , 2 ) ) ; //< 13> Alert ( "ald.NominalPoint: " , DoubleToStr ( ald.NominalPoint , 2 ) ) ; //< 14> //< 15> if ( OrdersTotal () > 0 ) //< 16> { int i , N ; N = OrdersTotal () - 1 ; //< 17> for ( i = N ; i >= 0 ; i -- ) //< 18> { OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ; //< 19> //< 20> double ald.OrderProfit = OrderProfit () ; //< 21> double ald.ContractSize = OrderLots () ; //< 22> double ald.OrderPoint = ald.NominalPoint * ald.ContractSize ; //< 23> int ali.OrderProfit = MathRound ( ald.OrderProfit / ald.OrderPoint ) ; //< 24> //< 25> Alert ( "" ) ; //< 26> //< 27> Alert ( "Profit, points: " , ali.OrderProfit ) ; //< 28> //< 29> Alert ( "Profit, " , AccountCurrency () , //< 30> " : " , DoubleToStr ( ald.OrderProfit , 2 ) ) ; //< 31> //< 32> Alert ( "Order Point, " , AccountCurrency () , //< 33> " : " , DoubleToStr ( ald.OrderPoint , 2 ) ) ; //< 34> //< 35> Alert ( "Size, lots: " , DoubleToStr ( ald.ContractSize , 2 ) ) ; //< 36> Alert ( "Type: " , acs.Operation [ OrderType () ] ) ; //< 37> Alert ( "Ticket: #" , OrderTicket () ) ; //< 38> //< 39> } // for //< 40> } // if //< 41> } //< 42>
А может кто-то в индикаторе от Prival сможет
ЗАДАТЬ ЦЕНУ ОДНОГО ПУНКТА ПРИ ОДНОМ ЛОТЕ
ЗАДАТЬ ЦЕНУ ОДНОГО ПУНКТА ПРИ ЗАДАННОМ РИСКЕ И ПОЛУЧЕННОМ КОЛ-ВЕ ЛОТОВ
Извините, что большими буквами. Привык. В коде почти не разбираюсь.
Цена 1 пункта для стандартного лота: double ad.QuotePoint = MarketInfo ( Symbol () , MODE_POINT ) ; double ad.QuoteTick = MarketInfo ( Symbol () , MODE_TICKSIZE ) ; double ad.NominalTick = MarketInfo ( Symbol () , MODE_TICKVALUE ) ; double ad.NominalPoint = ad.NominalTick * ad.QuotePoint / ad.QuoteTick ; // Цена 1 пункта для стандартного лота
Цена 1 пункта для ордера известного размера "ad.OrderSize": double ad.OrderPoint = ad.NominalPoint * ad.OrderSize ;
Большое спасибо Айрат ...
Вы не брат Марата Сафина?
Очень люблю теннис. Желаю соотечественнику удачи!