Коллеги, помогите с алгоритмом
как переделать фразу 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]
Тем кто поможет, скину алгоритм полностью, он с хорошей прибылью.
30 |
Читайте на SMART-LAB:
S&P 500 в стратегической коррекции?
Фондовый индекс S&P 500 отошёл от недавно достигнутых исторических максимумов и скорректировался до первого уровня поддержки 6818, от которого мы...
⚙️ Элемент: чипы уходят в банк
Сбер выкупил долю АФК Системы в производителе микроэлектроники. Что будет дальше — рассказывают аналитики Market Power. Элемент (ELMT) ➡️...
Российский бизнес вдвое увеличил активность на денежном рынке
Обзор портфеля - итоги 2025 года
Самые прибыльные и убыточные сделки в 2025 году, а также ближайшие планы.
dsmacd = Synchronize(dsmacd);
DataSeries dsema = EMA.Series(dsmacd,(int)param2.Value);
dsema = Synchronize(dsema);
if( CrossOver(bar,dsmacd,dsema) )
{
код, если да
}
C#
Synchronize — это функция WelathLab — реализует синхронизацию данных разных таймфреймов для работы в активном таймфрейме.
на мой взгляд не очень удобная функция