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