Author Archive
Автор : Николай Камынин
В Амиброкер есть возможность программировать действия с векторами данных .
Этот метод позволяет существенно ускорить вычисления, но непривычен для начинающих.
Чтобы избежать ошибок и делать так как привычно предлагаю следующий вариант заготовки для написания собственной системы:
//~~~~~Начало примера~~~~~~~~~~~~~~~
//Пример Николай Камынин 31072010
//сигналы формируем в цикле покупка, если Текущий High>Предыдущего
// продажа, если Предыдущий Low больше текущего
// выводим на график вектором
// в примере задаем цену сделки равной цене закрытия бара установить в Backtester в setting начальный капитал и тайм фрейм (1 час)
Buy[0]=0;
Sell[0]=1;
for( i = 1; i < BarCount; i++ ) { Buy[i]= Buy[i-1]; Sell[i]=Sell[i-1];
if ( High[i]>High[i-1] AND Buy[i]==0 ) { Buy[i]=1; Sell[i]=0; BuyPrice[i]=Close[i]; }
if (Low[i-1]>Low[i] AND Sell[i]==0 ) { Sell[i]=1; Buy[i]=0; SellPrice[i]=Close[i];}
}
PlotShapes( IIf( Buy AND Ref(Buy,-1)==0 ,shapeUpArrow,shapeNone ),colorWhite,0,BuyPrice );
PlotShapes( IIf( Sell AND Ref(Sell,-1)==0 ,shapeDownArrow,shapeNone ),colorYellow,0,SellPrice);
//~~~~~~~конец примера
В этом примере формирование условий купли/продажи выполняется для каждой свечи в цикле,
а для отображения результатов на графике используется векторный вывод сигналов на график
Вот как выглядит результат для Сбербанка на интервале 1 час на дату 29.07.2010