- www.mql5.com
Integer:
Торговая панель eInTradePanel. Альтернатива стандартному окну открытия ордера.
Супер! Огромное спасибо!
Идея, реализация, функционал - всё по 5 баллов! Даже не нашел к чему придраться. :) Хорошо бы, если б разработчики сделали эту альтернативу штатной, встроенной.
Integer, есть ли идеи по развитию? Принимаются ли пожелания?
Супер! Огромное спасибо!
Идея, реализация, функционал - всё по 5 баллов! Даже не нашел к чему придраться. :) Хорошо бы, если б разработчики сделали эту альтернативу штатной, встроенной.
Integer, есть ли идеи по развитию? Принимаются ли пожелания?
Принимаются пожелания, давайте.
Gold-версия для увеличенных шрифтов экрана.
Пользуюсь увеличенными на 25% шрифтами (установлено в системе), в этом режиме многие программы норовят "залезть на поля". Хорошо что некоторые с исходниками.. :)
Заодно перекрасил на свой вкус. О, кстати, пожелание - вынести настройку цветов в ini-файл, щёб легче подкручивать при смене настроения.. ;)
Ну это так, мелочи, можно всёрьёз не воспринимать.
А вот серьёзное пожелание - создавать панель сразу во всех чартах (запуская советник конечно же на одном). Учитывая, что панель сделана в виде класса - это не шибко сложно. (Простенький пример здесь)
Чарты надо экономить. Запуская советник на чарте, мы лишаем чарт возможности запускать на нём какой-либо другой советник. :(
Вопчем - пусть наши эксперты будут взаимно вежливы.
А вот серьёзное пожелание - создавать панель сразу во всех чартах (запуская советник конечно же на одном). Учитывая, что панель сделана в виде класса - это не шибко сложно. (Простенький пример здесь)
Кажется не получится. Нужно события обрабытывать. В примере по таймеру все графики проверяются на нажатость кнопки, а таймер работает с интервалом в секунду, т.е. долго, будет неудобно. Можно конечно просматривать другие графики из основного зацикленного советника, но только не хочется заниматься левым изобретательством, а использовать вещи по их назначению.
В терминале достаточно одного чарта с панелью, у чарта можно переключать символ.
таймер работает с интервалом в секунду, т.е. долго, будет неудобно. Можно конечно просматривать другие графики из основного зацикленного советника, но только не хочется заниматься левым изобретательством, а использовать вещи по их назначению.
к вопросу быстрого таймера и "мягкой" зацикленности
//------------------------------------------------------------------ OnInit int OnInit() { EventChartCustom(ChartID(), 1, 0, 0, "user_start"); // проинициализировали цикл } //------------------------------------------------------------------ OnChartEvent void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { /* обработка события*/ Sleep(10); // небольшая пауза для разгрузки EventChartCustom(ChartID(), 1, 0, 0, ""); // зациклили события }
1. Кажется не получится. Нужно события обрабытывать. В примере по таймеру все графики проверяются на нажатость кнопки, а таймер работает с интервалом в секунду, т.е. долго, будет неудобно. Можно конечно просматривать другие графики из основного зацикленного советника, но только не хочется заниматься левым изобретательством, а использовать вещи по их назначению.
--
2. В терминале достаточно одного чарта с панелью, у чарта можно переключать символ.
1. При внесении небольших изменений:
....... #property indicator_chart_window ....... ........ //void OnTick() int OnCalculate(const int rates_total,const int prev_calculated, const datetime &Time[],const double &Open[],const double &High[], const double &Low[],const double &Close[],const long &TickVolume[], const long &Volume[],const int &Spread[]) { TradePanel.Tick(); return 0; }
советник превращается в нормально (с двумя некритичными варнингами) компилируемый индикатор.
У него всё работает, на здоровье практически не жалуется. Единственная дисфункция - не открывает ордера, ибо по штату не положено... :)
Это решаемо. Схема примерно такая:
советник открывает на всех (или только минутных) чартах индикаторы, которые вполне автономны, только при необходимости открыть/изменить позицию переадресуют
событие основному советнику, что он за них и делает.
Тонкости:
1) советник открывая каждый индикатор, передаёт ему как параметр ID своего чарта, для того, чтоб индикатор мог генерить событие адресуя конкретному чарту.
2) Генеря событие адресованное советнику, индикатор должен не забыть передать в качестве строкового параметра символ по которому нужно корректировать позу или выставлять/корректировать ордер.
3) Желательно, чтоб советник сканировал раз в одну/несколько секунд чарты, проверяя нету ли новых минутных чартов, ну и запускал при необходимости новые индикаторы,
прибивая лишние.
Собсно всё. Делов на час-полтора, а то и меньше.
ps. Ах да, упустил (4) глобальные переменные. Их можно размножить без особых проблем - к имени переменной добавляется ID чарта в качестве префикса.
--
2. Вот уж это воистину долго.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
eInTradePanel:
Автор: Дмитрий
Элементы панели управления:
Панель может использоваться в двух режимах: режим 1 (рис. 1) - открытие рыночной позиции со стоплосс/тейкпрофит указанными в пунктах. Режим 2 (рис. 2) - открытие/установка любого типа ордера со стоплосс/тейкпрофит и уровнями открытия определяемыми положением горизонтальных линий. Если все кнопки выбора типа ордера отжаты, панель работает в режиме 1.
При нажатии на любую из кнопок выбора типа ордера вместо кнопок "Sell" и "Buy" появляется одна кнопка соответствующая типу выбранного ордера и на графике появляются линии для определения уровней этого ордера, линии можно перемещать мышкой: