- Хочу написать интересный советник.
- Открыть позицию нажатием клавиши
- Как открыть сделку в Тестере Стратегий МТ4 5
Вот такой вариант- достаете WinSpy, ищите панель с кнопками.
Отслеживаете события, которые происходят при нажатии мышки.
Дальше- все то же самое, но уже программно :-).
Как по-другому не знаю.
Я хочу написать программу, которая бы запрещала каким-то образом остальным советникам открывать новые позиции (т.е. при определённых условиях, разумеется.... хотя это не принципиально). Какой командой можно запретить работающим советникам открывать новые позиции. При этом коды тех советников переписывать не хотелось бы. Спасибо.
Хотя нет. Обманул :-). Запускаете монитор файлов, настраиваете фильтр.
Смотрите, какой файл модифицируется при нажатии на кнопку разрешения- запрещения советников.
Делаете две копии- для разрешенных и запрещенных советников.
Возможно, потребуется перегрузить метатрейдер.
.
P.S.: как называется файл монитор сейчас не нашел - приложил тот который у меня.
... Какой командой можно запретить работающим советникам открывать новые позиции. При этом коды тех советников переписывать не хотелось бы. Спасибо.
Как вариант по наступлению условия поднимайте флаг.
В качестве флага используйте глобальную переменную терминала. https://docs.mql4.com/ru/globals
Эту же переменную читайте в других советниках.
При этом небольшую модификацию советников сделать придётся:
в самом начале функции старт вставить анализ флага.
// ON/OFF "Expert Advisors" button #import "user32.dll" int PostMessageA(int hWnd,int Msg,int wParam,int lParam); int GetAncestor(int hWnd, int gaFlags); #import #define WM_COMMAND 0x0111 #define GA_ROOT 2 void start() { int hWnd; hWnd = GetAncestor(WindowHandle(Symbol(), Period()), GA_ROOT); if(hWnd != 0) PostMessageA(hWnd, WM_COMMAND, 33020, 0); return; }
проще изменить советник
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования