Итак, решаю задачу собственного учета ордеров в советнике, который может открывать много ордеров.
Открываю ордер - помещаю тикет ордера в таблицу ордеров, Закрываю ордер - удаляю тикет из таблицы ордеров.
Тут же выясняется, что в таблице остаются ордера, закрытые по ТР/SL.
Итак, задаю вопрос Яндекс GPT:
как узнать какой ордер был закрыт по стоплосс в MQL4?
Ответ
Чтобы узнать, какой ордер был закрыт по стоп-лоссу в MQL4,
можно воспользоваться функцией OrderSelect с параметром SELECT_BY_STOP для выбора ордеров, закрытых по стоп-лоссу.
Вот пример кода, который поможет вам определить тикет ордера, закрытого по стоп-лоссу:
// Определяем функцию для получения тикета ордера, закрытого по стоп-лоссу int GetOrderTicketByStopLoss(void) { int ticket = 0;// Определяем функцию для получения тикета ордера, закрытого по тейк-профиту int GetOrderTicketByTakeProfit(void) { int ticket = 0; // Выбираем все ордера, закрытые по тейк-профиту if (OrderSelect(SELECT_BY_TP, MODE_TRADES)) { // Получаем тикет первого выбранного ордера ticket = OrderTicket(); // Выходим из цикла, чтобы избежать бесконечного цикла break; } return ticket; }// Выбираем все ордера, закрытые по стоп-лоссу if (OrderSelect(SELECT_BY_STOP, MODE_TRADES)) { // Получаем тикет первого выбранного ордера ticket = OrderTicket(); // Выходим из цикла, чтобы избежать бесконечного цикла break; } return ticket; }
Вопрос:
как узнать какой ордер был закрыт по тэйкпрофит в MQL4?
Ответ
Чтобы узнать, какой ордер был закрыт по тейк-профиту в MQL4,
можно использовать аналогичный подход, как и для определения ордера, закрытого по стоп-лоссу.
Вот пример кода, который поможет вам определить тикет ордера, закрытого по тейк-профиту:
// Определяем функцию для получения тикета ордера, закрытого по тейк-профиту int GetOrderTicketByTakeProfit(void) { int ticket = 0; // Выбираем все ордера, закрытые по тейк-профиту if (OrderSelect(SELECT_BY_TP, MODE_TRADES)) { // Получаем тикет первого выбранного ордера ticket = OrderTicket(); // Выходим из цикла, чтобы избежать бесконечного цикла break; } return ticket; }
Лезу в справочник, может что-то поменялось, и чтоб уж точно и задаю следующий вопрос:
Вопрос
нет SELECT_BY_TP в МQL4
Ответ
Извините за путаницу в предыдущем ответе.
В MQL4 действительно нет прямого способа выбрать ордера,
закрытые по тейк-профиту, используя параметр SELECT_BY_TP. Однако,
вы можете использовать функцию OrderSelect с параметром SELECT_BY_TRADE для выбора всех ордеров, включая те,
что были закрыты по тейк-профиту.
Вот пример кода, который поможет вам определить тикет ордера, закрытого по тейк-профиту:
// Определяем функцию для получения тикета ордера, закрытого по тейк-профиту int GetOrderTicketByTakeProfit(void) { int ticket = 0; // Выбираем все ордера, включая те, что были закрыты по тейк-профиту if (OrderSelect(SELECT_BY_TRADE, MODE_TRADES)) { // Получаем тикет первого выбранного ордера ticket = OrderTicket(); // Выходим из цикла, чтобы избежать бесконечного цикла break; } return ticket; }
Это же надо, признает ошибки и пытается их исправить!
Ответ
Извините за путаницу в предыдущем ответе.
В MQL4 действительно нет прямого способа выбрать ордера,
закрытые по тейк-профиту, используя параметр SELECT_BY_TP. Однако,
вы можете использовать функцию OrderSelect с параметром SELECT_BY_TRADE для выбора всех ордеров, включая те,
что были закрыты по тейк-профиту.
Вот пример кода, который поможет вам определить тикет ордера, закрытого по тейк-профиту:
Это же надо, признает ошибки и пытается их исправить!
Интересно, как он будет извиняться за SELECT_BY_TRADE и за break без цикла и switch?
Интересно, как он будет извиняться за SELECT_BY_TRADE и за break без цикла и switch?
Надо ткнуть его конкретно. Я показал, что реагирует на туфту.
Более того.
Сбер выпустил аналог и я ему задал вопрос в рамках R и получил ответ на питоне.
Еще раз задал вопрос в рамках R и опять ответ на питоне.
Тогда прямо написал, что мне нужны ответы на R.
В ответ получил извинения, что не владеет R.
Пару дней назад захожу снова и задаю вопрос в рамках R. Получаю ответ на R!
Учатся,схатывают не лету, причем не вообще "учатся", а учатся, реагирую на пользователя.
а теперь Aria
продолжение
эта штука поняла даже что такое RESET в Return)
проверьте у кого есть доступ к другим ChatGPT вот этот код
if(rates_total<=Length) return(RESET); int start, bar; if(prev_calculated>rates_total || prev_calculated<=0) { start=min_rates_total; // "0" -> D'1970.01.01 00:00'; //start=rates_total-3; // } else start=rates_total-1; //
Aria и посложнее расшифровывает и сочиняет хотя-бы в какую сторону копать
В последнее время использую Яндекс GPT
Именно это и настораживает. Если бы его не уличили во лжи (или просто ошибке), пользователь был бы в полной уверенности, что ему выдали правдивую (правильную) информацию. То есть на данном этапе развития ИИ еще нужно постоянно перепроверять, чтобы не сесть в лужу.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В последнее время использую Яндекс GPT в качестве поисковой системы для ответа на вопросы по программированию на MQL4, удобно: не надо рыться в справочнике или искать в других источниках.
Ниже приведу довольно не ординарный пример.
Предлагаю и другим выложить опыт использования Яндекс GPT или других GPT, а их много, например, разродился Сбер.