Коллеги, помогите с алгоритмом
как переделать фразу 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]
Тем кто поможет, скину алгоритм полностью, он с хорошей прибылью.
27 |
Читайте на SMART-LAB:
Доллар без опоры: туман статистики и риск «шумных» NFP
EUR/USD консолидируется у верхней границы восходящего канала в районе 1,1750, готовясь к потенциальному пробою перед предстоящими релизами...
Акции с высокой альфой — они ускоряют портфель
В октябре Индекс МосБиржи обновил минимум года — вблизи отметки 2500 пунктов, и после этого перешёл к восстановлению. Часть бумаг росла заметно...
✅ ПАО «МГКЛ» завершило размещение первого выпуска облигаций на СПБ Бирже
ПАО «МГКЛ» успешно завершило размещение первого выпуска биржевых облигаций серии 001PS-01 на СПБ Бирже объёмом 1 млрд рублей. Выпуск был...
dsmacd = Synchronize(dsmacd);
DataSeries dsema = EMA.Series(dsmacd,(int)param2.Value);
dsema = Synchronize(dsema);
if( CrossOver(bar,dsmacd,dsema) )
{
код, если да
}
C#
Synchronize — это функция WelathLab — реализует синхронизацию данных разных таймфреймов для работы в активном таймфрейме.
на мой взгляд не очень удобная функция