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



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

СообщениеДобавлено: Пн Июн 04, 2018 4:59 pm Ответить с цитатой Вернуться к началу

Привет!
Есть у меня "список" дней когда должны были бы произойти сделки в виде
Дата, время, Тикер

а можно ли считать эти данные и провести по ним бэктест
Берем дату/тикер и время входа (час и минута) и прогоняем разные варианты выхода

Пробовал ли кто-нибудь такое?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

max писал(а):
Привет!
Есть у меня "список" дней когда должны были бы произойти сделки в виде
Дата, время, Тикер

а можно ли считать эти данные и провести по ним бэктест
Берем дату/тикер и время входа (час и минута) и прогоняем разные варианты выхода

Пробовал ли кто-нибудь такое?

Где тут такое уже было.

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



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

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

000 писал(а):
max писал(а):
Привет!
Есть у меня "список" дней когда должны были бы произойти сделки в виде
Дата, время, Тикер

а можно ли считать эти данные и провести по ним бэктест
Берем дату/тикер и время входа (час и минута) и прогоняем разные варианты выхода

Пробовал ли кто-нибудь такое?

Где тут такое уже было.


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


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

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

Код:

/*
 Индюк для Ami чтоб смотреть свою/чужую внутридневную торговлю стрелочками :)

 При выборе нового security ищет по указанному ниже пути файл с именем
тикера и расширением .txt
 Файл должен состоять из строк вида 

05/12/05 10.51.14 SELL
12/12/05 11.11.41 BUY 
13/12/05 12.31.45 SELL
14/12/05 13.58.36 SHORT
15/12/05 14.43.13 COVER

 без отступов в начале строки. Всё идентифицируется по позиции в строке
(номеру колонки) Вид разделителей даты и времени неважен.

  Т.е., чтоб по всем тикерам смотреть, нужно иметь стока файлов .txt, скока
тикеров в базе. Пример файла txt прилагается. Времена испорчены из соображений
копирайта (не моя торговля).

*/
 
// эти 2 функции скрал с амисайта, пардон :)
function Date_To_Num(ddmmyy)
{
   dd_ = StrToNum(StrLeft(ddmmyy,2));
   mm_ = StrToNum(StrMid(ddmmyy,3,2));
   aa_ = StrToNum(StrRight(ddmmyy,2));
   return (10000 * (aa_+100)) + (100 * mm_) + dd_;
}
function Time_To_Num(hhmmss)
{
   hh_t = StrToNum(StrLeft(hhmmss,2));
   mm_t = StrToNum(StrMid(hhmmss,3,2));
   ss_t = StrToNum(StrRight(hhmmss,2));
   return 10000 * hh_t + 100 * mm_t + ss_t;
}


function rtrim(s)
{
   i=StrFind(s," ");
   if(i==0)i=StrFind(s,"\n");
   if(i==0)i=StrFind(s,"\t");
   if(i>0)
    s=StrLeft(s,i-1);
   return s; 
}

fh = fopen( "D:/трейдинг/Стратегии/"+Name()+".txt", "r");
if( fh ){
   Buy=0; Sell=0; Short=0; Cover=0;
   while( ! feof( fh ) ) {
      s= fgets( fh );
         d0=Date_To_Num(StrLeft(s,8));
         t0=Time_To_Num(StrMid(s,9,8));
          act=StrMid(s,18,2);
          if(act=="BU")
            Buy=(Cross(TimeNum(),t0) AND DateNum()==d0) OR Buy;
          else if(act=="SE")
            Sell=(Cross(TimeNum(),t0) AND DateNum()==d0) OR Sell;
          else if(act=="SH")
            Short=(Cross(TimeNum(),t0) AND DateNum()==d0) OR Short;
          else if(act=="CO")
            Cover=(Cross(TimeNum(),t0) AND DateNum()==d0) OR Cover;
   }
   fclose( fh );
 
PlotOHLC(O,H,L,C,"Price",colorBlack);
PlotShapes(IIf(Buy,shapeUpArrow,0),colorGreen);
PlotShapes(IIf(Sell,shapeDownArrow,0),colorRed);
PlotShapes(IIf(Cover,shapeHollowUpArrow,0),colorGreen);
PlotShapes(IIf(Short,shapeHollowDownArrow,0),colorRed);
} else {
   printf("ERROR: file can not be found (does not exist)");
}


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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen