Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Советники

Profit Loss Calculator - эксперт для MetaTrader 5

Просмотров:
9707
Рейтинг:
(48)
Опубликован:
2013.04.05 17:04
Обновлен:
2016.11.22 07:33
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Панель написана "по мотивам" эксперта CalculateProfit_EA из статьи "Ограничения и проверки в экспертах", и предназначена не для открытия/закрытия позиций, а для предварительного расчёта прибыли/убытка и визуализации уровней стоп- осса и  тейк профита. Калькулятор содержит:

  • радиокнопки переключения типа позиции (Buy, Sell).
  • кнопку "сброса" Reset для установки параметров в исходные значения (цена входа посередине окна графика, тип позиции Buy, стоп и профит от цены входа на одинаковом расстоянии, равном 1/4 расстояния между максимальной и минимальной ценой окна).
  • поля ввода: цены входа (Entry), лота (Lot), убытка в пипсах (Loss, pips), прибыли в пипсах (Profit, pips), убытка в валюте депозита (Loss, USD), прибыли в валюте депозита (Profit, USD). Примечание:  если депозит не в долларах, а другой валюте, будет отображаться именно она, например "EUR".
  • линии: входа (оранжевая), стоп лосс (красная), тейк профита (зелёная). 

Установка:

Можно загрузить все файлы просто в каталог экспертов, но лучше создать для них отдельную папку, например, ...\MetaTrader 5\MQL5\Experts\ProfitLossCalculator

Использование:

  • при изменении типа сделки будут пересчитаны все параметры.
  • при вводе / инкрементировании / декрементровании значения лота будут пересчитаны значения прибыли и убытка в денежном выражении. Кроме этого также будут пересчитаны минимально и максимально допустимые значения в денежном выражении.
  • чтобы изменить точку входа можно: сдвинуть линию входа, изменить значение цены в свойствах линии, ввести / инкрементировать / декрементировать значение в поле ввода Entry.  При этом будут пересчитаны значения убытка и прибыли в пипсах и денежном выражении.
  • чтобы изменить уровень стоп лосса или тейк профита можно: сдвинуть соответствующую линию или изменить значение в свойствах линии, либо задать / инкрементировать /декрементировать значение в соответствующем поле. Если изменена цена линии - будет пересчитано значение в пипсах и деньгах. Если изменилось значение в пипсах, то линия сдвинется на заново рассчитаный уровень, а также будет пересчитан соответствующий денежный параметр. Если изменено значение в деньгах, то будут рассчитаны значение в пипсах и ценовой уровень линии.

Таким образом, панель будет полезна и тем, кто выставляет стопы и цели по ценовым уровням, и тем, кто задаёт значения в пипсах, и тем, кто рассчитывает уровни стопа из соображений допустимой денежной потери в отдельно взятой сделке.

Особенности:

  • панель ориентирована только на минимальную и максимальную цены в окне графика. Исходя из этого и устанавливаются максимально допустимые диапазоны значений цены входа, прибыли / убытка в пипсах и деньгах.
  • минимально допустимые значения в пипсах равны значению стоп левела текущего символа, на основе стоп левела рассчитываются и минимумы значений в деньгах.
  • при попытке ввода некорректного значения цены входа никаких изменений не произойдёт.
  • при вводе в поля пипсов /денег слишком больших значений, параметры будут равны максимально допустимым значения. При вводе слишком малых, а также отрицательных значений, параметры будут равны минимально допустимым значениям.  
  • линия входа может находиться только между линиями стоп лосса и тейк профита. При попытке сдвинуть линию входа за допустимые пределы, она вернётся на предыдущее значение.
  • при изменении таймфрейма или символа графика, хотя и делаются проверки синхронизации с интервалом в 1 секунду, исторические данные могут не успеть загрузиться. Если такое произошло, нажмите кнопку Reset. Также следует использовать Reset, если меняете масштаб графика или сдвигаете график влево / вправо. 
  • если случайно удалили линию, удалите и установите эксперт по-новому. Дело в том, что если восстанавливать линии, они будут рисоваться поверх панели, что вызывает некий дискомфорт. Если же линии рисовать на заднем плане, то справа на шкале цен не будут подсвечиваться цены линий, что, на мой взгляд, крайне важно. Потому и было принято решение об отказе от восстановления линий.

ProfitLossCalculator


Дополнительно:

Для калькулятора на основе CSpinEdit стандартной библиотеки был написан класс CDoubleSpinEdit, который отличается от оригинала тем, что:

  • позволяет задавать значения типа double (и количество знаков после запятой);
  • допускает не только икрементирование / декрементирование значения, но и непосредственный ввод значения в поле;
  • позволяет задавать значение инкремента / декремента;
  • все параметры можно установить / изменить с помощью метода SetParameters(double value, double min, double max, double step, int digits).

Возможно, кому-то пригодится.

Demo_FileReadInteger Demo_FileReadInteger

Индикатор демонстрирует пример использования функции FileReadInteger()

Demo_FileWriteInteger Demo_FileWriteInteger

Скрипт демонстрирует пример использования функции FileWriteInteger()

DailyTurnPoint DailyTurnPoint

Ещё одна вариация на тему разворотных, пивотных точек

Exp_CandleTrend Exp_CandleTrend

Простейшая безиндикаторная торговая система определяющая моменты входа по наличию однонаправленных свечей