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



Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия

СообщениеДобавлено: Сб Май 14, 2011 1:44 pm Ответить с цитатой Вернуться к началу

Игрался с визуальным тестером в Метатрейдере, рисовал линии всякие, покупал, продавал с фиксированными стопом и профитом в пунктах и таким образом получил ряд сделок, выгрузил их в Эксель

Сейчас хочу проверить, если бы я использовал другие соотношения стоп-профит, как изменилась бы эквити

Пишу такой код, но он ЖУТКО тормозит. Может у кого есть идеи по другой реализации этого алгоритма.


Buy = ( DateNum()==1000106 AND TimeNum()==001700)
OR ( DateNum()==1000106 AND TimeNum()==024500)
OR ( DateNum()==1000106 AND TimeNum()==042100)
OR ( DateNum()==1000106 AND TimeNum()==110000)
OR ( DateNum()==1000106 AND TimeNum()==133600)
/// итого около 100 таких OR
OR ( DateNum()==1000203 AND TimeNum()==164200);

Sell = 0;

ApplyStop(stopTypeLoss, stopModePoint, Optimize( "max. loss stop level", 0.0024, 0.0006, 0.0036, 0.0002 ), True );
ApplyStop(stopTypeProfit , stopModePoint, Optimize( "max. take profit", 0.0008, 0.0005, 0.0015, 0.0001 ), True );

PlotShapes(Buy*shapeUpArrow, colorGreen, Layer = 0, Close);
PlotShapes(Sell*shapeDownArrow, colorRed, Layer = 0, Close);

_________________
Антон
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Сб Май 14, 2011 3:55 pm Ответить с цитатой Вернуться к началу

Может лучше сделать на основе этого?

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



Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия

СообщениеДобавлено: Вс Май 15, 2011 10:15 am Ответить с цитатой Вернуться к началу

Олег, спасибо. Буду пробовать.
Как я понял, можно использовать нижеследующий код, а ApplyStop(stopTypeLoss) и ApplyStop(stopTypeProfit) вставить в самом конце

Код:

/*
Формат файла сделок
Ticker,Date,Time,Operation,Price,Volume

Пример
ROSN,21/12/2010,17:30:00,BUY,221,5
ROSN,20/12/2010,11:30:00,BUY,220,1
ROSN,22/12/2010,14:30:00,BUY,220,1
ROSN,22/12/2010,14:45:00,SELL,220,1
ROSN,22/12/2010,15:45:00,SHORT,222,1
ROSN,22/12/2010,18:30:00,SHORT,222,1
ROSN,23/12/2010,14:45:00,COVER,223,6
*/

fh = fopen( "C:/111.txt", "r");
if( fh )
{
   Buy = Sell = Short = Cover = 0;
   BuyPrice = SellPrice = ShortPrice = CoverPrice = 0;

   dt = DateTime();

   while(!feof(fh))
   {
      s = fgets(fh);
      if(StrExtract(s, 0) == Name())
      {
         dtStr = StrToDateTime(StrExtract(s,1) + " " + StrExtract(s,2));
         bi = LastValue(ValueWhen(dtStr > Ref(dt, -1) AND dtStr <= dt, BarIndex()));
         v0 = StrToNum(StrExtract(s,5));
         p0 = StrToNum(StrExtract(s,4));
         act = StrExtract(s,3);
         if(act=="BUY")
         {
            Buy[bi] = 1;
            BuyPrice[bi] = p0;
            PlotText(StrExtract(s,5) + " Lots", bi, p0*0.995, colorBlack);
            VolBuy[bi] = V0;
         }
         else if(act=="SELL")
         {
            Sell[bi] = 1;
            SellPrice[bi] = p0;
            PlotText(StrExtract(s,5) + " Lots", bi, p0*1.005, colorBlack);
         }
         else if(act=="SHORT")
         {
            Short[bi] = 1;
            ShortPrice[bi] = p0;
            PlotText(StrExtract(s,5) + " Lots", bi, p0*1.005, colorRed);
            VolShort[bi] = V0;
         }
         else if(act=="COVER")
         {
            Cover[bi] = 1;
            CoverPrice[bi] = p0;
            PlotText(StrExtract(s,5) + " Lots", bi, p0*0.995, colorRed);
         }
      }
   }
   fclose( fh );
}

Plot(C, "", colorBlack, styleCandle);
PlotShapes(IIf(Buy,shapeUpArrow,0),colorGreen, 0, BuyPrice);
PlotShapes(IIf(Sell,shapeHollowDownArrow, 0),colorGreen, 0, SellPrice);
PlotShapes(IIf(Short,shapeDownArrow,0),colorRed, 0, ShortPrice);
PlotShapes(IIf(Cover,shapeHollowUpArrow, 0),colorRed, 0, CoverPrice);

_________________
Антон
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen