Коллеги, помогите с алгоритмом
как переделать фразу if ((CrossOver(bar, (Synchronize(MACDExt.Series(newSymbol.Close, parameter0.ValueInt, parameter1.ValueInt))), (Synchronize(EMA.Series(MACDExt.Series(newSymbol.Close, parameter0.ValueInt, parameter1.ValueInt), parameter2.ValueInt)))[bar])) по такому принципу :
Вашей стратегии MACD строит от синхронизированного инструмента, но это не правильно.
(MACDExt.Value(bar, newSymbolSynchronized.Close, parameter3.ValueInt, parameter4.ValueInt) > 0))
Правильно строить сначала MACD, а потом его уже синхронизировать с основным таймфреймом:
(Synchronize(MACDExt.Series(newSymbol.Close, parameter3.ValueInt, parameter4.ValueInt))[bar]
Тем кто поможет, скину алгоритм полностью, он с хорошей прибылью.
33 |
Читайте на SMART-LAB:
EUR/USD: В поисках опоры перед новым рывком
Европейская валюта закрыла торги в четверг уверенным «бычьим поглощением», протестировав уровень поддержки 1.1660 и медиану, проведенную через...
Магнит 2025 г. - хуже некуда
Магнит опубликовал финансовые результаты за 2025 год. Выручка за 2025 год выросла на 15,3% до 3,5 трлн руб. Далее ухудшение почти по всем...
Самый интересный пост: что внутри портфелей у нашей команды + короткое объяснение по каждой позиции
Сегодня пришло время совершить квартальное раскрытие наших инвестиционных портфелей. Что внутри? ✅Состав портфелей каждого из наших...
dsmacd = Synchronize(dsmacd);
DataSeries dsema = EMA.Series(dsmacd,(int)param2.Value);
dsema = Synchronize(dsema);
if( CrossOver(bar,dsmacd,dsema) )
{
код, если да
}
C#
Synchronize — это функция WelathLab — реализует синхронизацию данных разных таймфреймов для работы в активном таймфрейме.
на мой взгляд не очень удобная функция