Советник, который после запуска следил бы за курсом пятиминутного графика с условиями: - страница 7
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
{
if(OrdersTotal()!=0) return;
//----
if (iOpen(NULL,5,0)-Bid>Delta*Point) //Цена упала больше Delta пунктов
........
if(OrdersTotal()!=0) return;
А чужие ордера (по другим символам и с др. магиками) ??? В тестере покатит, но если на счету будет кроме этого советника что-то ещё, то корректнее так:
Функция вернёт ложь (false) если нет ни одной открытой позиции по текущему символу с заданным (переданным ей) магиком.
Представьте как он запутается ,я позтому и написал так чтобы ему понятнее было .
Оба случая догнал, огромное человеческое спасибо.
Сделки срабатывают не при моих условиях
Delta=30
Это значит я хочу, чтобы эксперт открывал позицию +-30 в пунктах. А он открывает и при 5-10 пунктах при росте и при падении, не понятно....
Может есть какие то другие простые решения?
Я тут нарыл одну функцию
Distance=30 // Расстояние от текущей цены до цены отложенных ордеров
Можно ли ее реализовать не только для отложенных ордеров?
Суть идеи прежняя: следить за текущим баром, за ценой его открытия и если от этой цены за время 5-мин бара цена либо вырастет, либо упадет, допустим на 30 пунктов расстояния от рынка открытия этого 5-мин бара, только тогда открывать позицию......
С отложенными ордерами моя стратегия не катит.....
А ты бы выложил сюда целиком свой код. И посмотрим, почему Дельта не работает..
Вот весь код целиком.....
Да, действительно. Не работает Дельта....
Видимо, тут нужно со знаками(полярностью) Дельты разобраться при покупке и при продаже, "ибо" в коде выше, например, при покупке величина (iOpen(NULL,0,0)-Ask всё время будет отрицательной. И сделка открывается сразу по цене открытия бара (iOpen(NULL,0,0)-Ask>=Delta...
Если так попробовать (покупка) -
{
if(OrdersTotal()!=0) return; //Выполнять только одну сделку.
//----
if (Bid - iOpen(NULL,0,0)<=Delta*Point) //Цена упала на меньше или = Delta пунктов
//Null-тек инструмент, 0-тек.график, 0-слежка за тек баром
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"Купил",MagicNumber,11111,Green);
}
if (Ask - iOpen(NULL,0,0)>=Delta*Point) //Цена выросла на больше или = Delta пунктов
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,"Продал",MagicNumber,22222,Green);
}
//----
return(0);
}