[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 192
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
К Игоря Кима есть советник, который через заданный интервал времени делает
Спасибо!
Здравствуйте.
Проблема с отложенными ордерами, конкретно с датой истечения.
Вот таким образом открывается новый ордер, т.е если он не сработал за час, сервер должен его закрыть.
Далее делаю проверку какая все таки получилась дата экспирации:
Что получаю при работе советника в тестере:
2013.03.01 12:45:58 2012.01.11 11:00 #советник# EURUSD,H1: open #1 sell limit 2.00 EURUSD at 1.27972 ok
2013.03.01 12:45:58 2012.01.11 11:00 #советник# EURUSD,H1: Alert: OrderExpiration = 2012.01.11:12:00
2013.03.01 12:45:58 2012.01.12 16:29 Tester: order #1, sell 2.00 EURUSD is opened at 1.27972
То есть дата и время истечения выставлены правильно, как я хочу, но закрытия по времени истечения не происходит - происходит открытие позиции более, чем через сутки.
Я перерыл уже несколько форумов, проблема встречается. Обычный ответ - "у меня работает" или "отслеживай отложенники сам". Оба ответа не подходят, сам отслеживать не хочу и У МЕНЯ то не работает.
К Игоря Кима есть советник, который через заданный интервал времени делает
Классно работает.
Спасибо за подсказку!
Классно работает.
Спасибо за подсказку!
Эт не я, эт - гугл.
Думаю, сами выдерните от-туда функцию сохранения экрана и зададите свои параметры её вызова - мне лень было...
Сергей! Пока вопрос о функции оставляю открытым, т.к. завтра вставлю в Ваш тестовый советник ещё несколько функций, чтобы провести чистый эксперимент. Смотрел в визуальном режиме, и почти всё время двойное закрытие происходит последним, раньше закрываются по СЛ и ТП, т.е. не из чего выбирать. Убрал Стопы и Тэйки, чтобы было из чего выбирать. Завтра покажу Ваш советник со всеми добавочными функциями и комментами! Сами сможете увидеть, как работает функция. Очень хочу, чтобы показало, что я ошибся! Если окажусь прав, постараюсь добиться желаемого! До завтра!
Сергей, Dubakin, доброе утро (у меня) и добрый день (у Вас)! Сделал визуальную проверку и убедился, что эта функция выбирает максимумы, что мне и нужно было! Я рад, что уже не имею сомнений, и приношу Вам мои извинения! Но в нашем деле "лучше семь раз отмерить..." Показываю Ваш тестерный советник для проверки функции, с добавленными функциями и комментариями для более ясной визуальной проверки! Спасибо!
Сергей, Dubakin, доброе утро (у меня) и добрый день (у Вас)! Сделал визуальную проверку и убедился, что эта функция выбирает максимумы, что мне и нужно было! Я рад, что уже не имею сомнений, и приношу Вам мои извинения! Но в нашем деле "лучше семь раз отмерить..." Показываю Ваш тестерный советник для проверки функции, с добавленными функциями и комментариями для более ясной визуальной проверки! Спасибо!
Это как так... По мотивам Игоря Кима сделано нечто... Только одна из ваших функций... остальные - так же...
как-то так, наверное:
И вызываем её:
для подсчёта Buy и подсчёта Sell по текущему символу, с магиком Magic
подскажите как выбрать самый меньший лот среди всех открытых сделок?
double min=0;
int min_ticket=0;
for(i=0;i<ot;i++)
{
if(!OrderSelect(i,SELECT_BY_POS)) continue;
if(OrderType()!=OP_BUY && OrderType()!=OP_SELL) continue;
if(i==0||min>OrderLots()) {min = OrderLots(); min_ticket=OrderTicket();}
}
Переменная i имеет значение 0 только в начале цикла. Дальше будет с каждой итерацией на 1 прибавлять значение.Просматривал я ветку. Странная у Вас логика. Меня интересует последняя строка кода:
Дальше что бы продолжился цикл есть условие:
НО min у нас объявлена нулём, и больше нигде по коду её значение не меняется. А это значит что никогда это значение истинным не будет! Где логика?
Переменная i имеет значение 0 только в начале цикла. Дальше будет с каждой итерацией на 1 прибавлять значение.Просматривал я ветку. Странная у Вас логика. Меня интересует последняя строка кода:
Дальше что бы продолжился цикл есть условие:
НО min у нас объявлена нулём, и больше нигде по коду её значение не меняется. А это значит что никогда это значение истинным не будет! Где логика?
Переменная i имеет значение 0 только в начале цикла. Дальше будет с каждой итерацией на 1 прибавлять значение.Просматривал я ветку. Странная у Вас логика. Меня интересует последняя строка кода:
Дальше что бы продолжился цикл есть условие:
НО min у нас объявлена нулём, и больше нигде по коду её значение не меняется. А это значит что никогда это значение истинным не будет! Где логика?Обратите внимание
Если min>OrderLots() то, min = OrderLots();
Обратите внимание
Если min>OrderLots() то, min = OrderLots();