Страница 1 из 6
Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 12:50
дуьфыеук
Вот и пройдена критическая точка количества ошибок и багов в АД.
Из последнего, закрытие минусовых сделок в плюс и увеличение баланса только на графике, а не по факту.
Как видно на сводном графике прибыль 3048
► Показать

- Снимок экрана в 2018-09-30 12-02-11.png (30.63 КБ) 43863 просмотра
Первая сделка Enter Short:
Цена входа 66736
Цена выхода 66749
Прибыль 7,66
► Показать

- Снимок экрана в 2018-09-30 12-17-19.png (27.24 КБ) 43863 просмотра
По факту это отрицательная сделка.
И если вручную пересчитать все совершенные сделки Цена входа минус Цена выхода, то по факту получается не 3048, а 469.
И это не на тестах (с граалями), а на торгующем роботе на реальном рынке за 7 дней...
Re: Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 13:09
Simonov
Я тоже перестал доверять Альфа-Директ выполнение сложных алгоритмов. Слишком всё криво. Задействую данный терминал иногда для решения простеньких задач. И то, лишь по старой памяти.
Это абсолютно громоздкий и неприспособленный для активной торговли уродец, а алгоритмическая секция в нём - как радиоприёмник в китайском велосипедном насосе для подкачки шин. За что только разработчикам деньги платят? Столько лет пилили и в итоге произвели на свет чудище горбатое.

Re: Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 13:35
дуьфыеук
Simonov писал(а):Я тоже перестал доверять Альфа-Директ выполнение сложных алгоритмов
Какая замена в итоге?
У АД4 вроде бы удобные тестирование с оптимизацией, но на фоне неверных результатов на рабочем роботе, это не имеет значения.
Re: Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 13:54
Simonov
А какая может быть универсальная замена на нашем рынке? Либо TSLab через коннектор QUIK, либо писать напрямую для QUIK на QLua.

Re: Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 15:36
AP_Bor
дуьфыеук писал(а):Вот и пройдена критическая точка количества ошибок и багов в АД.
И если вручную пересчитать все совершенные сделки Цена входа минус Цена выхода, то по факту получается не 3048, а 469.
И это не на тестах (с граалями), а на торгующем роботе на реальном рынке за 7 дней...
А вы разбирались в чем ошибка, может вы не учитывали комиссию или что-то другое?
Re: Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 15:57
дуьфыеук
AP_Bor писал(а):А вы разбирались в чем ошибка, может вы не учитывали комиссию или что-то другое?
Ошибка в АД.
Комиссию можно не учитывать, если отрицательная по факту сделка, записывается как положительная и все это учитывается на сводном графике.
► Показать
Купил дорого - продал дешево, и ты в плюсе, замечательно!
В частности ошибку получится повторить на готовой стратегии Invest_Grid_Short
► Показать
Код: Выделить всё
/**Algorithm = ИНВЕСТИЦИИ ПЕССИМИСТА;**/
function Initialize()
{
StrategyName = "Invest_Grid_Short";
AddInput("Input1", Inputs.Candle, 5, true, "GAZP=МБ ЦК");
AddParameter("StartQ", 100, "Стартовое Кол-во", 1);
AddParameter("Q", 10, "Кол-во докупки");
AddParameter("DeltaPrice", 1, "Изм. цены для докупки");
AddParameter("PL", 1, "Изм. цены для фиксации прибыли ");
AddGlobalVariable("xPrice", Types.Double, 10000000000.0);
AddGlobalVariable("xPosition", Types.Double, 0.0);
AddGlobalVariable("LastPrice", Types.DoubleList);
AddGlobalVariable("Last", Types.Double, 0);
AddGlobalVariable("Order", Types.Boolean, false);
}
function OnUpdate()
{
double pos = CurrentPosition();
// Правило 1. если первый запуск, продаем StartQ
if ( xPrice == 10000000000.0 )
{
if ( Q < LotSize() || StartQ < LotSize() )
{
ShowMessage("StartQ или Q меньше лота. Робот остановлен !");
Stop();
}
// Покупка StartQ
EnterShort(StartQ);
Order = true;
xPrice = Input1.Close[0];
}
// Модуль проверки изменение позиции
// если позиция выросла (для short это уменьшился pos), добавляем уровень в список
if ( pos < xPosition )
{
double a = xPrice;
double b = xPosition;
while (pos - b < 0)
{
LastPrice.Add(a);
a = a - DeltaPrice;
b = b - Q;
}
Last = xPrice;
xPosition = pos;
Order = false;
LastPrice.Sort();
LastPrice.Reverse();
}
// если позиция снизилась (увеличился pos), убираем уровень из списка
else if ( pos > xPosition && LastPrice.Count >= 1 )
{
LastPrice.Sort();
LastPrice.Reverse();
LastPrice.RemoveAt(0);
Last = xPrice;
xPosition = pos;
Order = false;
}
double MaxPrice = 0;
if ( LastPrice.Count == 0 )
MaxPrice = Last;
else
MaxPrice = LastPrice.Max();
//Правило 2. Если цена выросла и кол-во меньше допустимого,
// то продаем и добавляем цену продажи в начало списка
if ( Input1.Close[0] > MaxPrice + DeltaPrice && pos - Q > ShortLimit && Order == false)
{
EnterShort(Q);
xPrice = Input1.Close[0];
Order = true;
}
//Правило 3. Если цена ниже цены из начала списка, то продаем и удаляем 0-й элемент списка
if ( Input1.Close[0] <= MaxPrice - PL && pos < 0 && Order == false )
{
CloseShort(Q);
xPrice = Input1.Close[0];
Order = true;
}
}
Re: Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 16:26
AP_Bor
Сейчас нет времени разбираться, но ситуация интересная, если BUG хочу знать, опишите pls входные данные; период, инструмент и т.д. для "Invest_Grid_Short", очень самому интересно.
Если будет время, и результаты изучения, отпишусь при условии, что это BUG, а не FEATURE.
Re: Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 18:20
m4Dmitry
Simonov писал(а):А какая может быть замена на нашем рынке? Либо TSLab через коннектор, либо писать напрямую для QUIK на QLua.

Серьезно? Это все что есть из терминалов?
Re: Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 20:13
nikkrav
Здравствуйте.
Большая просьба к топик стартеру - донесите до местного сообщества результаты разборки с Альфой, если таковые будут.
Re: Окончательно разочарование в АД4
Добавлено: 30 сен 2018, 20:23
nikkrav
Кстати. На бирже изменили метод определения цены на фьючи . Теперь там средняя за какой-то период перед клирой.
Может это и повлияло.
Попробуйте алгоритм на рублевых инструментах. Если будет так же - тогда ОЙ!
Результат сообщите пожалуйста.