Коллеги приветствую! Нужно создать индикатор, который после открытия сделки, отображает на экране комиссию брокера(на mt5) Наработки кода мне скинули, но они не работают, помогите в доработке или скажите куда копать, спасибо
У меня работает без проблем. У Вас, что конкретно не работает?
С уважением, Владимир.
Коллеги приветствую! Нужно создать индикатор, который после открытия сделки, отображает на экране комиссию брокера(на mt5) Наработки кода мне скинули, но они не работают, помогите в доработке или скажите куда копать, спасибо
Комиссия у разных брокеров начисляется по разному. За вход, за выход, за вход-выход вместе.
Вообще брокер в договоре указывает свою комиссию.
В открывашке комиссия брокера записывалась в отчёте отдельной строкой.
Если в отчёте понятно какие суммы являются комиссией, то поискать их можно примерно так.
datetime to = TimeCurrent(); datetime from = to - 7 * PeriodSeconds(PERIOD_D1); if(!HistorySelect(from, to)) for(int i = 0; i < HistoryDealsTotal(); i++) { ulong ticket = HistoryDealGetTicket(i); if((ENUM_DEAL_TYPE)HistoryDealGetInteger(ticket, DEAL_TYPE) == DEAL_TYPE_CORRECTION) Print("CORRECTION = ", DoubleToString(HistoryDealGetDouble(ticket, DEAL_PROFIT), 2)); if((ENUM_DEAL_TYPE)HistoryDealGetInteger(ticket, DEAL_TYPE) == DEAL_TYPE_COMMISSION) Print("COMMISSION = ", DoubleToString(HistoryDealGetDouble(ticket, DEAL_PROFIT), 2)); }
А потом уже, когда выяснили где эта комиссия прячется, можно вывести инфу в индикатор.
У меня вообще пусто на экране, при компиляции такая петрушка(фото)
Это не петрушка, а предупреждение компилятора. Забейте на него. Если у Вас ничего нет в правом нижнем углу графика, как у меня на картинке, то возможно у Вас в названии валютной пары есть суффикс или префикс. Если это так, то во входном параметре, пропишите такое название валютной пары, как оно у Вас пишется в терминале. Например, суффикс у меня выглядит вот так (выделил желтым цветом):
input string s="EURUSDrfd";
С уважением, Владимир.
Комиссия у разных брокеров начисляется по разному. За вход, за выход, за вход-выход вместе.
Вообще брокер в договоре указывает свою комиссию.
В открывашке комиссия брокера записывалась в отчёте отдельной строкой.
Если в отчёте понятно какие суммы являются комиссией, то поискать их можно примерно так.
А потом уже, когда выяснили где эта комиссия прячется, можно вывести инфу в индикатор.
Можете для чайника показать, как использовать этот код?
Очень извиняюсь, допустил досадную описку в коде.
Запустите скрипт и посмотрите что он распечатает на вкладке "эксперты"
#property script_show_inputs input int day = 30; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { datetime to = TimeCurrent(); datetime from = to - day * PeriodSeconds(PERIOD_D1); if(HistorySelect(from, to)) for(int i = 0; i < HistoryDealsTotal(); i++) { ulong ticket = HistoryDealGetTicket(i); if((ENUM_DEAL_TYPE)HistoryDealGetInteger(ticket, DEAL_TYPE) == DEAL_TYPE_CORRECTION) Print("CORRECTION = ", DoubleToString(HistoryDealGetDouble(ticket, DEAL_PROFIT), 2)); if((ENUM_DEAL_TYPE)HistoryDealGetInteger(ticket, DEAL_TYPE) == DEAL_TYPE_COMMISSION) Print("COMMISSION = ", DoubleToString(HistoryDealGetDouble(ticket, DEAL_PROFIT), 2)); } } //+------------------------------------------------------------------+
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Коллеги приветствую! Нужно создать индикатор, который после открытия сделки, отображает на экране комиссию брокера(на mt5) Наработки кода мне скинули, но они не работают, помогите в доработке или скажите куда копать, спасибо