Автор |
Сообщение |
Амиброкеровец
Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия
|
Игрался с визуальным тестером в Метатрейдере, рисовал линии всякие, покупал, продавал с фиксированными стопом и профитом в пунктах и таким образом получил ряд сделок, выгрузил их в Эксель
Сейчас хочу проверить, если бы я использовал другие соотношения стоп-профит, как изменилась бы эквити
Пишу такой код, но он ЖУТКО тормозит. Может у кого есть идеи по другой реализации этого алгоритма.
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
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Амиброкеровец
Зарегистрирован: 30.12.2008
Сообщения: 214
Откуда: Воображляндия
|
Олег, спасибо. Буду пробовать.
Как я понял, можно использовать нижеследующий код, а 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);
|
|
_________________ Антон |
|
Посмотреть профиль Отправить личное сообщение |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|