Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как я указал ранее, три разных потока могут работать без конфликтов:
1) ручная операция в терминале
2) автоматический трейлинг терминала
3) любая торговая операция из эксперта
Никаких. При разумном количестве терминалов.
Не спрашивайте только что такое "разумном количестве" - над этим каждый должен сам думать.
Есть такая мысль: если эксперт совершает множество сделок (десятки и сотни) в сутки, то это явно неправильный путь. Да, он может и будет работать в демо. Но в реальном исполнении будут серьезные проблемы.
Не понял? :) Неправильный путь чего? Торговли или логики написания советника?
Неправильный путь использования терминала, написания советников и самого трейдинга в первую очередь. На торговых серверах каждый день генерируется статистика, по которой видна активность разных счетов. Некоторые умудряются на демо-счетах в сутки несколько десятков тысяч торговых транзакций проводить - их адреса зачастую блокируются администраторами за чрезмерную активность.
Практически всегда это неправильно написанные эксперты или явное непонимание самого трейдинга, когда человек думает, что одна торговая транзакция в 2-5 секунд - это нормально.
Я вопрос поднял потому, что не раз была необходимость закрыть много ордеров по рынку сразу или в краинем случае трейлить в безубыток. :)
Спасибо за прояснение.
:)))
Я про реал и говорю. И работаю на реале. Стопы вещь необходимая в любом случае.
Но вопервых - стоп близко к цене не предвинешь.
Вовторых я вижу, что рынок развернулся и не хотелось бы терять разницу между ценой рынка и S/L.
Тем более, что это = разница*количество позицийй.:))
Можно ли изменить ограничение в 3 заявки на один счет или нет?
Если да, то кто это может сделать?
С чем связано это ограничение?
Какая ошибка будет выдаваться, если превышено число одновременных заявок?
Пример:
10 экспертов сопровождают 10 открытых позиций на одном счету и, при открытии новой свечи, подтягивают стоп.
Как правильно их развести?
Можно ли изменить ограничение в 3 заявки на один счет или нет?
Если да, то кто это может сделать?
С чем связано это ограничение?
Какая ошибка будет выдаваться, если превышено число одновременных заявок?
Пример:
10 экспертов сопровождают 10 открытых позиций на одном счету и, при открытии новой свечи, подтягивают стоп.
Как правильно их развести?
Я думаю так. Раз торгуют эксперты, то для них всего один канал. И придется всех построить в очередь. А два других канала свободны ( один для трейлингов терминала, другой для ручных сделок). Советники в эти каналы не могут залезть по определению.
Вывод: разруливай в советнике.
Я сделал такую вещь, пока работает на ура:
ВНИМАНИЕ стоп двигается до зоны безубытка
while(!IsStopped()) { if(OrderStopLoss()<noloss) /*noloss - цена без убытка*/ { if(OrderStopLoss()<Bid-Point*11) { Print("Есть возможность тянуть Buy"); if(IsTradeAllowed()==true) { Print("Свободно, модифицируем"); modify=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*11, OrderTakeProfit(),0,Blue); if(modify==true) { Print("Ордер модифицирован ",OrderSymbol()); break; } else { int error3=GetLastError(); Print("Ошибка модификации ордера ",OrderSymbol()," ",error3); } } else Print("Занято, модифицируем позже"); } Sleep(500); RefreshRates(); } else {Print("Стоп в безубытке!"); break;} }если нужно, чтобы стоп двигался постоянно, то убеоите первое условие.
Такая структура позволяет двигать стопы, когда торгуют много советников, не обращая внимание на тики.
Советую вместо "магического" числа 11 в Вашем коде (из темы "про быстрый рынок"), в частности в строках:
if(OrderStopLoss()<Bid-Point*11)и
modify=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*11, OrderTakeProfit(),0,Blue);применить вызов MarketInfo(OrderSymbol(),MODE_STOPLEVEL):
if(OrderStopLoss()<Bid-Point*MarketInfo(OrderSymbol(),MODE_STOPLEVEL))и
modify=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*MarketInfo(OrderSymbol(),MODE_STOPLEVEL), OrderTakeProfit(),0,Blue);А также посмотреть в справке, какие ещё бывают Market information identifiers, кроме MODE_STOPLEVEL.
Ну, и тип ордера проверить OrderType() == OP_BUY.
Кстати, если IsTradingAllowed() возвращает false в случае занятости "торгового канала", то как отличить случай собственно занятости этого "канала", от случая установок настроек, когда снята галочка "Разрешить советнику торговать"?
Я вообще-то пользовался этой функцией для того, чтобы определить состояние настроек, сообщить пользователю об этом и подсказать, где искать галочку.
Почему-то в справке по IsTradingAllowed() тема "торговых каналов" не раскрыта.
Я не удивлюсь, если ответ на вопрос, как отличить - никак. :)
Но на самом деле это не смешно.
Я выложил не готовый к использованию код, расчитанный на все рынки и ДЦ, а вырезку работы Трейлинг стопа в своем советнике.
У меня не самоцель - объять необьятное.
Но кому этот блок интересен, может доработать под себя.
Что касается IsTradeAllowed(), то со своей функцией в моем коде она справляется прекрасно.
И вообще, я считаю, нужно не придираться к языку MQL4, а использовать то, что есть максимально эффективно.