Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я выяснил, где была проблема (с вашей помощью). ;)
Спасибо всем вам!
Теперь--->ТЕСТИРОВАНИЕ! (обратное тестирование выглядит очень хорошо)
Я думаю, проблема в том, что он открывает ордера на уровнях, которые вы прикрепили советником к графику, потому что Hour() возвращает время в часах, которое вы прикрепили. Но вы хотите использовать это, я думаю:
Загляните в документацию, чтобы понять, что я имею в виду...
EP
Я думаю, проблема в том, что он открывает ордера на тех уровнях, на которых вы прикрепили советника к графику, потому что Hour() возвращает время в часах, на которое вы его прикрепили.
На самом деле это не помогает решить проблему 01005379, но я не думаю, что это правильно. Например, запуск следующего советника в тестере стратегий показывает изменяющееся значение для Hour(), соответствующее симулированному времени брокера.
Я думаю, что документация пытается сказать, что Hour(), Minute() и т.д. не меняются во время вызова start(). Но они меняются в течение жизни советника.
Если мы сможем это исправить, тогда у меня есть мой священный Грааль! :D
Этот бар выглядит довольно большим. Происходит ли то же самое с другими ордерами? Возможно, это из-за волатильности на этом конкретном баре.
Этот бар выглядит довольно большим. Происходит ли то же самое с другими ордерами? Возможно, это из-за волатильности на этом конкретном баре.
Теперь то же самое с другими ордерами. Ордер открывается через один бар после того, как значение станет ниже LowValue. Для ордера на продажу я хотел бы, чтобы ордер был открыт, как только Bid станет ниже LowValue.
вам нужно, чтобы ваш код размещения ордеров выполнялся каждый тик. в данный момент он размещает ордер только на открытии бара при условии, что открытие выше или ниже входа.
int start()
{
// на открытии бара получаем high и low
{
if(got_high_and_low)
{
readytotrade = true;
}
}
//каждый тик, если готовы к торговле, проверяем, была ли достигнута цена входа
if(readytotrade)
{
//покупаем или продаем
readytotrade = false;
}
}
Вам нужно, чтобы ваш код размещения ордеров выполнялся каждый тик. в настоящее время он будет размещать ордер только на открытии бара при условии, что открытие выше или ниже входа.
Хм, и как мне это сделать?
Вам нужно перестроить свой код. Это не сложно. Просто разделите его на две части. Первая часть выполняется раз в бар, чтобы собрать данные о входе и другие данные, вторая часть будет следить за тем, чтобы вход был достигнут.
вам нужно, чтобы ваш код размещения ордеров выполнялся каждый тик. в данный момент он размещает ордер только на открытии бара при условии, что открытие выше или ниже входа.
int start()
{
// на открытии бара получаем high и low
{
if(got_high_and_low)
{
readytotrade = true;
}
}
//каждый тик, если готовы к торговле, проверяем, была ли достигнута цена входа
if(readytotrade)
{
//покупаем или продаем
readytotrade = false;
}
}
Я сейчас немного запутался. Помощь будет отличной. ;)