[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 162
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ладно, немного приведу в лад с логикой
Цикл выполняется вне зависимости от от условия if(NewBar())
А чем не понравилась моя расстановка скобок?Мне и не надо,чтобы цикл зависил от NewBAR().Эта ф-ция нужна что-бы ордера пачками не выставлялись.Подскажите лучше почему мой код( в последнем его варианте)
работает,а как только делаю аналогичный на SELLSTOP сделки вообще перестают открываться?
Уважаемые господа!Я новичок!
Я начал писать свой первый в жизни советник......а закончить не могу.
В данный момент я тестирую его в тестере стратегий.
Он очень простой.
На открытии 10 часовой свечи я выставляю отложенный ордер на расстоянии допустим 60 п. от цены открытия этой 10 часовой свечи.
Это у меня получилось удачно.
Но мне нужно сделать так,что бы отложенный ордрер удалился бы,если в течении часа с момента выставления он не преобразовался
в рыночный
Вот мой код.
int start()
{
double Price=Ask+60*Point;
double SL=Price-30*Point;
double TP=Price + 15*Point;
if(OrdersTotal()==0 && Hour()==10 && Minute()== 00 )
OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP,"fjdu",123,TimeCurrent( ) + 3600);
}
Данный код успешно компилируется.Осуществляется успешное тестирование.Ни каких ошибок тестер не выдает.
Но параметр expiration не работает,т.е. отложенные ордера не преобразованные в рыночные в течении 1 часа - не удаляются.
Я менял значение 3600 на 3600000....все равно ничего не происходит.
Буду очень признателен ,если подскажете - в чем моя ошибка.
параметр expiration не работает
Скорее всего, брокер не поддерживает. Для верности можно так:
Уважаемые господа!Я новичок!
Я начал писать свой первый в жизни советник......а закончить не могу.
В данный момент я тестирую его в тестере стратегий.
Он очень простой.
На открытии 10 часовой свечи я выставляю отложенный ордер на расстоянии допустим 60 п. от цены открытия этой 10 часовой свечи.
Это у меня получилось удачно.
Но мне нужно сделать так,что бы отложенный ордрер удалился бы,если в течении часа с момента выставления он не преобразовался
в рыночный
Вот мой код.
int start()
{
double Price=Ask+60*Point;
double SL=Price-30*Point;
double TP=Price + 15*Point;
if(OrdersTotal()==0 && Hour()==10 && Minute()== 00 )
OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP,"fjdu",123,TimeCurrent( ) + 3600);
}
Данный код успешно компилируется.Осуществляется успешное тестирование.Ни каких ошибок тестер не выдает.
Но параметр expiration не работает,т.е. отложенные ордера не преобразованные в рыночные в течении 1 часа - не удаляются.
Я менял значение 3600 на 3600000....все равно ничего не происходит.
Буду очень признателен ,если подскажете - в чем моя ошибка.
А что Вам мешает сделать условие на удаление так же по часу и минуте? ДЦ может не выполнять Вашей экспирации.
Скорее всего, брокер не поддерживает. Для верности можно так:
У меня терминал Альпари.На демосчете вручную выставлял отложенник и ставил время истечения - 1 час. Все было Ок.
Я читал,что если брокер не поддерживал бы этот параметр,появлялась бы ошибка....но ошибки нет .
Тестирование идет ...но ордер не удаляется.
А что Вам мешает сделать условие на удаление так же по часу и минуте? ДЦ может не выполнять Вашей экспирации.
А по часу и минуте - это как?
Спасибо.
А по часу и минуте - это как?
Спасибо.
Что нужно подставить на место параметра expiration ?
А по часу и минуте - это как?
Спасибо.
Так же, как открыли, только на час позже в 11. Это у вас прописано! Я то всё делаю по-другому, но это не меняет сути.
Извините за тупость,но я так и не понял нужно ли мне что-то менять в этом параметре или нет.
Если нужно,буду Вам признателен,если вставите в мой код параметр expiration,так как нужно, и вставите всю строку в текст своего ответа.
Спасибо.
Извините за тупость,но я так и не понял нужно ли мне что-то менять в этом параметре или нет.
Если нужно,буду Вам признателен,если вставите в мой код параметр expiration,так как нужно, и вставите всю строку в текст своего ответа.
Спасибо.
Могу предложить следующий вариант:
if(Hour()==11 && OrdersTotal()>0)
{
if(OrderSelect(0,SELECT_BY_POS)==true)
{
if(OrderType()==OP_BUYSTOP)
{
OrderDelete(OrderTicket());
}
}
}
И не используешь параметр экспирации. Минус в том, что при торговле чтобы позиция закрылась компьютер должен работать с подключенным интернетом и включенным терминалом.