тут решаю задачку с просадкой в пунктах. При чем пункты могут не соответствовать реальным пунктам.
Проблема с в следующем есть 3 массива . 1-ый это массив потерь (или прироста) денег , 2- лоты каждого прироста, Посчитал третий массив. Т.е. каждый следующий элемент = баланс+прирост. Поэтому получаем массив изменения баланса.
Считаем справа налево. допустим макс Баланс был на 5 элементе массива к примеру 1200. На текущем элементе баланс = 900. Лот для 5 элемента = 2,5, при 'этом лот 2 -го элемента = 0,04 и 3-го элемента = 0,01. т.е. их надо как то проигнорировать. и на последней сделке лот был к примеру 1,5. Как посчитать просадку в пунктах ?
Просто от цены открытия в зависимости от типа ордера (Buy или Sell), программа должна запоминать в отдельную переменную максимальную разницу между ценой открытия и ценой Bid для ордеров Buy или ценой Ask для ордеров Sell. Но программа должна запоминать максимальную разницу только при отрицательном значении прибыли. Потом значение этой переменной после закрытия ордера подставляете для своих вычислений и обнуляете для аналогичных действий со следующим ордером
, и что вы получите? Чистый убыток в пунктах. При этом объем никак не учитывается. Задача состоит в другом, как убыток в деньгах привести к убытки в пунктах но фиксированный лотом. Торговля при этом ведётся разными людьми лота и и 2.5 и 3.5 и 0.01
тут решаю задачку с просадкой в пунктах. При чем пункты могут не соответствовать реальным пунктам.
Проблема с в следующем есть 3 массива . 1-ый это массив потерь (или прироста) денег , 2- лоты каждого прироста, Посчитал третий массив. Т.е. каждый следующий элемент = баланс+прирост. Поэтому получаем массив изменения баланса.
Считаем справа налево. допустим макс Баланс был на 5 элементе массива к примеру 1200. На текущем элементе баланс = 900. Лот для 5 элемента = 2,5, при 'этом лот 2 -го элемента = 0,04 и 3-го элемента = 0,01. т.е. их надо как то проигнорировать. и на последней сделке лот был к примеру 1,5. Как посчитать просадку в пунктах ?
double pipsToMoney( const string symbol, const double pips) { double step = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE); double value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE); return NormalizeDouble(pips * value / step, 2); } double moneyToPips( const string symbol, const double amount) { double step = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE); double value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE); if (value == 0) { return 0; } return NormalizeDouble(amount * step / value, 5); }если лоты разные, то во втором кусочке вроде надо TICK VALUE или результат функций домножить на лот, AMOUNT - пипсы, integer, например, 10, 20, а не 0.00010
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
тут решаю задачку с просадкой в пунктах. При чем пункты могут не соответствовать реальным пунктам.
Проблема с в следующем есть 3 массива . 1-ый это массив потерь (или прироста) денег , 2- лоты каждого прироста, Посчитал третий массив. Т.е. каждый следующий элемент = баланс+прирост. Поэтому получаем массив изменения баланса.
Считаем справа налево. допустим макс Баланс был на 5 элементе массива к примеру 1200. На текущем элементе баланс = 900. Лот для 5 элемента = 2,5, при 'этом лот 2 -го элемента = 0,04 и 3-го элемента = 0,01. т.е. их надо как то проигнорировать. и на последней сделке лот был к примеру 1,5. Как посчитать просадку в пунктах ?