[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 347
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, вопрос вот в чем. Как в коде написать, чтоб производилась операция только с зафиксированным фракталом?
Если фрактал зафиксирован, то это ....
мой фрактал
Хм. Да, без проблем ищется соответствующая отложка таким образом, если количество отложек в каждом направлении одинаковое. А если разное, тогда такой вариант не прокатит как я понимаю.
Тогда определяйте факт срабатывания отложки и удаляйте самую отдалённую противоположную.
Всё это делается только для одного факта и для одной отложки в один момент времени. Не нужно городить количество сработавших и количество удаляемых, как вы пытаетесь. Факт преобразования отложки поймаете на одном тике. Все остальные срабатывания (если они потом будут иметь место быть) определятся следующими тиками.
berezhnuy из-за спреда, в выходной день он в несколько раз больше.
Уважаемые программисты, подскажите такую вещь, внизу дан код по подсчёту ордеров для покупок и продаж, чтобы открывался только один ордер на покупку либо продажу:
int CountBuy()
{
int count = 0;
for(int trade = OrdersTotal()-1; trade >= 0; trade--)
{
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber() == magic)
{
if(OrderType() == OP_BUY)
count++;
}
}
return(count);
}
//+------------------------------------------------------------------+
int CountSell()
{
int count = 0;
for(int trade = OrdersTotal()-1; trade >= 0; trade--)
{
OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber() == magic)
{
if(OrderType() == OP_SELL)
count++;
}
}
return(count);
}
И вроде бы всё работает, но в моём советнике, есть условия покупки и продажи по некоторым свечным моделям с использованием TP и SL. Так вот, когда условие выполнено и TP сработал, то в момент формирования 0 свечи условия открытия ордера продолжают быть истинными и тут же окрываются новые ордера, чего делать уже не надо. Поэтому подскажите пожалуйста каким кодом можно запретить дальнейшее открытие ордеров? Сам советник во вложении.
Тогда определяйте факт срабатывания отложки и удаляйте самую отдалённую противоположную.
Всё это делается только для одного факта и для одной отложки в один момент времени. Не нужно городить количество сработавших и количество удаляемых, как вы пытаетесь. Факт преобразования отложки поймаете на одном тике. Все остальные срабатывания (если они потом будут иметь место быть) определятся следующими тиками.
А если за тик пройдёт больше? Если, скажем так, шаг между отложками очень мал, тогда может сработать больше одной отложки. Есс-но мы не успеем тогда во время выполнить необходимые действия.
А если за тик пройдёт больше? Если, скажем так, шаг между отложками очень мал, тогда может сработать больше одной отложки. Есс-но мы не успеем тогда во время выполнить необходимые действия.
Цикл по открытым позициям в поиске сработавших ордеров на текущем баре и удаление отложек в том же цикле
Ну так получает опять цикл, и опять всё снесётся. У меня ж и в варианте который на данный момент есть условие:
Т.е. удалять должно пока не станет ordersToDelete равно нулю. А сносит всё. Вроде всё ж элементарно, а творится беспредел какой-то. В некчемном учебнике вообще про подобные момент нет ничего. Уже и так и сяк крутил, и переписывал по-разному, не фига не работает как нужно.
Переписал иначе:
Ким, так же ищет. Нашел ордер сминимальной ценой открытия, определил его позицию, и выбрал данный ордер, определил его тикет и удаляю. НО не удаляется.