Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Тестер пропускает сделки или баг в коде!? Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Пт Ноя 23, 2018 12:52 pm Ответить с цитатой Вернуться к началу

Добрый день, коллеги.
Забил маленький код для теста в тестер, но не могу понять, что не так. Сделки по системе проходят, но как то изберательно. Вот код:
Код:

Buy = Sell = BuyPrice = SellPrice = pos = 0;

for( i = 1; i < BarCount - 1; i++ )
{
    pos[i] = pos[i - 1];
   
    if( pos[i] AND C[i] > H[i - 1] )         /// ВЫХОД
    {
        pos[i] = 0;
        Sell[i] = 1;
        SellPrice[i] = C[i];
    }

    if( pos[i] == 0 )     /// ВХОД
    {
        pos[i] = Buy[i] = 1;
        BuyPrice[i] = O[i];
    }
}

Equity(1,0);


Суть моей проблемы в следующем, - сигналы на вход пропускаются в тех местах, где должны быть, например, после закрытия сделки может пройти десяток баров до следующего сигнала на вход. Где я так тут накололся, кто бы поправил?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пт Ноя 23, 2018 5:00 pm Ответить с цитатой Вернуться к началу

Попробуй этот же алгоритм реализовать просто.
типа
Код:
Buy = 1;
Sell = C > Ref(H, -1);
BuyPrice = O;
SellPrice = C;

и сравнить сделки.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
genom



Зарегистрирован: 09.11.2010
Сообщения: 53

СообщениеДобавлено: Пт Дек 07, 2018 9:47 pm Ответить с цитатой Вернуться к началу

Поменял местами блоки IF в цикле стало похоже. Меня напрягло расхождение в понимании кода цикла, по логике вроде норм, а по факту косяк в коде и личное недопонимание сути кода. Хотя в других кодах такая запись дает верные результаты, но правда условия иные. Может со временем пойму где собака зарыта))))
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Сб Дек 08, 2018 6:00 am Ответить с цитатой Вернуться к началу

У тебя получается pos[i] всегда 1.
Поэтому довольно много в коде просто лишнее.
Может как то связано с этим?
Просто глазами я косяков не вижу.....

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Сб Дек 08, 2018 9:06 am Ответить с цитатой Вернуться к началу

Если у тебя порядок if как в первом сообщении, то сигнал Buy приходит на том же баре где и sell.
Если же ifы поменять местами, то покупка будет на следующем после выхода баре.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen