Общие вопросы по разработке > Живой бар
Re: Живой бар
Евгений (evge), добрый вечер. 
У вас есть варианты реализации "живого" бара?
Покажите пожалуйста сам принцип и как его реализовать (с исходным кодом стратегии).
			
									
						У вас есть варианты реализации "живого" бара?
Покажите пожалуйста сам принцип и как его реализовать (с исходным кодом стратегии).
- evge
- Администратор
- Сообщения: 1817
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 375 раз
- Контактная информация:
Re: Живой бар
Добрый вечер.
Нет, у меня кода нет. "Живой" бар не использовал. Но в целом всё просто, описано в документации. Добавляйте настройки эти в Initialize() и всё заработает.
UseClosedBar – настройка, позволяющая вызывать код метода OnUpdate() внутри бара (по приходу новых сделок). Если в коде указано UseClosedBar = false, то вызов метода будет происходить внутри бара не чаще чем один раз в LiveBarTimeout секунд.
 
Тестирование стратегии с UseClosedBar = false невозможно. Предварительно оценить ее эффективность можно в режиме робота-советника.
Пример.
OneSignalOnBar – флаг позволяет отправлять несколько торговых команд на одном баре. Значение флага по умолчанию true. Для включения опции множество сигналов на одном баре используйте
OneSignalOnBar = false;
Внимание!
Использование флага OneSignalOnBar = false (множественного исполнения сделок на одном баре) совместно с флагом UseClosedBar = false (проверка условий робота внутри бара) может приводить к большому числу сделок на одном баре.
Обратите внимание, что использование данного флага также позволит роботу отправлять несколько торговых команд за один проход вызова функции OnUpdate.
Для примера накидал простую стратегию:
Если цена (Close) выше чем High предыдущего бара, то продаем.
Если цена (Close) ниже чем Low предыдущего бара, то покупаем.
Если позиция открыта и цена (Close) вернулось в рамки предыдущего бара, т.е. текущего бара Close между Low и High предыдущего, то позиция закрывается.
			
									
						Нет, у меня кода нет. "Живой" бар не использовал. Но в целом всё просто, описано в документации. Добавляйте настройки эти в Initialize() и всё заработает.
UseClosedBar – настройка, позволяющая вызывать код метода OnUpdate() внутри бара (по приходу новых сделок). Если в коде указано UseClosedBar = false, то вызов метода будет происходить внутри бара не чаще чем один раз в LiveBarTimeout секунд.
Тестирование стратегии с UseClosedBar = false невозможно. Предварительно оценить ее эффективность можно в режиме робота-советника.
Пример.
Код: Выделить всё
   UseClosedBar = false;
   LiveBarTimeout = 10; // Вызывать не чаще чем раз в 10 секундOneSignalOnBar – флаг позволяет отправлять несколько торговых команд на одном баре. Значение флага по умолчанию true. Для включения опции множество сигналов на одном баре используйте
OneSignalOnBar = false;
Внимание!
Использование флага OneSignalOnBar = false (множественного исполнения сделок на одном баре) совместно с флагом UseClosedBar = false (проверка условий робота внутри бара) может приводить к большому числу сделок на одном баре.
Обратите внимание, что использование данного флага также позволит роботу отправлять несколько торговых команд за один проход вызова функции OnUpdate.
Для примера накидал простую стратегию:
Если цена (Close) выше чем High предыдущего бара, то продаем.
Если цена (Close) ниже чем Low предыдущего бара, то покупаем.
Если позиция открыта и цена (Close) вернулось в рамки предыдущего бара, т.е. текущего бара Close между Low и High предыдущего, то позиция закрывается.
Код: Выделить всё
function Initialize()
{
   StrategyName = "LiveBar";
   AddParameter("P1", 0, "", 1);
   AddInput("Input1", Inputs.Candle, 1, true, "");
   LongLimit = 0;
   ShortLimit = 0;
   
   //настройка для "живого" бара
   UseClosedBar = false;
   LiveBarTimeout = 10; 
   OneSignalOnBar = false;
}
function OnUpdate()
{
   if (Input1.Close[0] > Input1.High[1]) EnterShort();
   if (Input1.Close[0] < Input1.Low[1]) EnterLong();
   
   if (CurrentPosition() != 0)
   if (Input1.Close[0] > Input1.Low[1] && Input1.Close[0] < Input1.High[1]) ClosePosition();
}
никогда такого не было и вот опять
						Re: "Живой" бар и мультитаймфрейм
Спасибо Евгений комментарии по "живому" бару.
Также на вебинаре анонсировался мультитаймфрейм.
Вам удалось уже его реализовать и протестировать в работе?
Буду благодарен за код!
			
									
						Также на вебинаре анонсировался мультитаймфрейм.
Вам удалось уже его реализовать и протестировать в работе?
Буду благодарен за код!
- evge
- Администратор
- Сообщения: 1817
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 375 раз
- Контактная информация:
Re: Живой бар
Анонсировали когда? 
Если появится, то конечно это прорыв будет для АД4
Я пока не в курсе. Говорится давно об этом.
			
									
						Если появится, то конечно это прорыв будет для АД4

Я пока не в курсе. Говорится давно об этом.
никогда такого не было и вот опять
						Re: Живой бар
Анонсировал Дмитрий, на том же летнем вебинаре. Кстати очень полезная была информация для начинающих и пользуясь случаем ему отдельное спасибо здесь! 
Может если он увидит переписку здесь, то и прокомментирует ситуацию с мультитаймфреймом. Возможно я не корректно его понял по поводу времени когда он появиться, но то что работы шли в этом направлении это факт, и к осени он должен был выйти в свет!
			
									
						Может если он увидит переписку здесь, то и прокомментирует ситуацию с мультитаймфреймом. Возможно я не корректно его понял по поводу времени когда он появиться, но то что работы шли в этом направлении это факт, и к осени он должен был выйти в свет!
Re: Живой бар
Живой бар был реализован в прошлом обновлении. Но осталась проблема, что одновременно на баре может быть только одна торговая и одна стоповая заявки. Причем при попытке проверить работу живого бара, у меня лично, получается, что заявка выставляется внутри бара, а вот выполнение все равно только на закрытии.
			
									
						Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 30 гостей
