Jump to content
MetaQuotes

Мой первый "грааль" - путь граальщика

Recommended Posts

Sardd

Вот вроде бы вставил посмотрите правильно или как

 

extern int TakeProfit = 2000;

extern int StopLoss = 2000;

extern int TrailingStop = 0;

extern int Bezubitok = 0;

extern double Lots = 0.1;

extern int MagicNumber=1;)

extern int CountBars = 300;

//+------------------------------------------------------------------+

//| |

int deinit()

{

int LossTrades, ProfitTrades, SummaryTrades;

int trades_total=HistoryTotal();

double Total;

LossTrades=0;

ProfitTrades=0;

SummaryTrades=0;

Total=0;

for(int i=0; i<trades_total; i++)

{

if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;

//---- calculate profit

double profit=OrderProfit()+OrderCommission()+OrderSwap();

Total=Total+profit;

if(profit<0)

{

LossTrades++;

}

else

{

ProfitTrades++;

}

SummaryTrades++;

}

if(Total>0)

{

int handle=FileOpen("report.txt",FILE_READ|FILE_WRITE,' ');

if(handle<1) return;

FileSeek(handle,FileSize(handle),SEEK_SET);

FileWrite(handle,"TrailingStop -",TrailingStop," Bezubitok -",Bezubitok," Profit -",Total," Sdelok -",SummaryTrades," Profit(%) -",100.0*ProfitTrades/SummaryTrades);

// if(ProfitTrades>0)

// FileWrite(handle,"Profit (%) -",ProfitTrades,StringConcatenate("(",100.0*ProfitTrades/SummaryTrades,"%)"));

// if(LossTrades>0)

// FileWrite(handle,"Loss (%) -",LossTrades,StringConcatenate("(",100.0*LossTrades/SummaryTrades,"%)"));

FileClose(handle);

}

return(0);

}

//+------------------------------------------------------------------+

int start()

{

int cnt, i, ticket, total;

double GBRJPY4N4HSBCur, GBRJPY4N4HSBPre;

static datetime prevtime=0;

static int OrderBar = 0;

// вычисляем значения индюка в момент открытия нового бара

if(prevtime==Time[0])

{

}

else

{

GBRJPY4N4HSBCur=iCustom(NULL,0,"GBRJPY4N4HSB",CountBars,0,1);

GBRJPY4N4HSBPre=iCustom(NULL,0,"GBRJPY4N4HSB",CountBars,0,2);

// Print("GBRJPY4N4HSBCur - ", GBRJPY4N4HSBCur,"\n");

// Print("GBRJPY4N4HSBPre - ", GBRJPY4N4HSBPre,"\n");

prevtime = Time[0];

}

// проверка на закрытие позиций

total=OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && // check for opened position

OrderSymbol()==Symbol()) // check for symbol

{

if(OrderType()==OP_BUY) // long position is opened

{

// should it be closed?

if(GBRJPY4N4HSBCur<GBRJPY4N4HSBPre)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

}

// безубыток

if((Bid-OrderOpenPrice())>(Point*Bezubitok) && OrderOpenPrice()>OrderStopLoss() &&

Bezubitok>0)

{

if(OrderStopLoss()<(Bid-Point*Bezubitok))

{

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+3*Point,OrderTakeProfit(),0,Green);

}

}

// check for trailing stop

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if((OrderStopLoss()<(Bid-Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

}

}

}

}

else // go to short position

{

// should it be closed?

if(GBRJPY4N4HSBCur>GBRJPY4N4HSBPre)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

}

// безубыток

if((OrderOpenPrice()-Ask)>(Point*Bezubitok) && OrderOpenPrice()<OrderStopLoss() &&

Bezubitok>0)

{

if(OrderStopLoss()>(Ask+Point*Bezubitok))

{

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-3*Point,OrderTakeProfit(),0,Red);

}

}

// check for trailing stop

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

}

}

}

}

}

}

 

// проверка на открытие новых позиций

total=OrdersTotal();

if(total<1)

{

// если тотал меньше 1, то открытых поз нет

if(AccountFreeMargin()<(1000*Lots))

{

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

// проверка на БАЙ

if(GBRJPY4N4HSBCur>GBRJPY4N4HSBPre && OrderBar!=Bars)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"stoch",16384,MagicNumber,;)0,Green);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{

OrderBar=Bars;

Print("Открыт БАЙ : ",OrderOpenPrice());

}

}

else Print("Ошибка открытия БАЙ : ",GetLastError());

}

 

}

}

Share this post


Link to post
Share on other sites
Registr
Вот вроде бы вставил посмотрите правильно или как
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"stoch",16384, MagicNumber,:wink:0,Green);

GBRJPY4N4HSBCur

 

У тебя неправильно две вещи: 16384 - лишнее и формула медного купороса пишется не так..


Миражи - это наша жизнь...

Share this post


Link to post
Share on other sites
Sardd

А поподробнее

Share this post


Link to post
Share on other sites
Registr
А поподробнее

 

А "поподробнее" пишется "по-подробнее".. :crazy:

 

З.ы. посчитай кол-во параметров функции OrderSend().. у тебя перебор..


Миражи - это наша жизнь...

Share this post


Link to post
Share on other sites
pips9

Мне всегда было интересно "выступать" после Регистра, многие при этом озабочены советниками, экспертами и ещё всякой математикой, чтобы покрыть быка или медведя. Экспертами и советниками сыпят из всех щелей , в итоге, кто может честно сказать, вот мне интересно, что он срубил хоть 3 кило зелени?!

Share this post


Link to post
Share on other sites
pips9

Упрощаю вопрос - 300 грамм зелени, тупо, так сказать, по советникам и экспертам за месяц срубившие - здесь есть?

Share this post


Link to post
Share on other sites
Registr

Мне всегда было интересно "выступать" после Регистра, многие при этом озабочены советниками, экспертами и ещё всякой математикой, чтобы покрыть быка или медведя. Экспертами и советниками сыпят из всех щелей , в итоге, кто может честно сказать, вот мне интересно, что он срубил хоть 3 кило зелени?!

 

Ну так, голубых бегемотов на желтые горшки не сажаем..:crazy:


Миражи - это наша жизнь...

Share this post


Link to post
Share on other sites
Квант

Вроде бы и тестер в МТ4, почти с каждым новым билдом, модернизируется (и улучшается), а все равно умельцы умудряются его обмануть...

post-16517-1404210931,3532_thumb.gif


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
Ждущий

можт они не обновляют терминал

Share this post


Link to post
Share on other sites
dao

Если тестер все улучшается, то неплохо бы в отчете номер билда где-нить в уголку приписывать.


С уважением, Дмитрий Орлов.

Share this post


Link to post
Share on other sites
Квант
Если тестер все улучшается, то неплохо бы в отчете номер билда где-нить в уголку приписывать.

 

206 билд.


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
Rosh
206 билд.
Ну так протестируйте на 207, в нем обрублена возмжность получать Close[0] на чужих инструментах. А то некоторые пытались использовать все шансы.

Share this post


Link to post
Share on other sites
Квант
Ну так протестируйте на 207, в нем обрублена возмжность получать Close[0] на чужих инструментах. А то некоторые пытались использовать все шансы.

 

Ну наконец-то. Конечно попробую (я правда всегда обновляюсь только на четных билдах).


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
Квант
Ну наконец-то. Конечно попробую (я правда всегда обновляюсь только на четных билдах).

 

Вот фигня-то, не могу обновиться до 207! 10 Mb спалил, а табличка LiveUpdate так и появляется по-новой. Сам файл terminal.exe не хочет обновляться.


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
Registr
Вот фигня-то, не могу обновиться до 207! 10 Mb спалил, а табличка LiveUpdate так и появляется по-новой. Сам файл terminal.exe не хочет обновляться.

 

Есть такое дело у Альпари.. там видать ограничение стоит.. как только скорость скачивания падает ниже какого-то порога, LiteUpdate отваливается.. Просто скачиваешь с их сайта инсталлятор МТ4(там как правило новый билд) и обновляешь..


Миражи - это наша жизнь...

Share this post


Link to post
Share on other sites
Квант
Есть такое дело у Альпари.. там видать ограничение стоит.. как только скорость скачивания падает ниже какого-то порога, LiteUpdate отваливается.. Просто скачиваешь с их сайта инсталлятор МТ4(там как правило новый билд) и обновляешь..

 

Да я так обычно и делаю, а вот хотел по-быстрому...


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
Квант
Ну так протестируйте на 207, в нем обрублена возмжность получать Close[0] на чужих инструментах. А то некоторые пытались использовать все шансы.

 

Ну вот и все. Данный советник просто напросто не тестируется. Что и требовалось доказать. Давно бы так.


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
Rosh
Ну вот и все. Данный советник просто напросто не тестируется. Что и требовалось доказать. Давно бы так.

 

Согласен. Просто не принималось во внимание, что будут искаться такие обходные пути для создания Граалей.

Share this post


Link to post
Share on other sites
Квант
Согласен. Просто не принималось во внимание, что будут искаться такие обходные пути для создания Граалей.

 

Я просто не пойму тех программистов, которые тратят свои силы на "написание" такой лабуды. Тем более, все остальное, видно, что написано очень грамотно и толково.


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
natlam
Я просто не пойму тех программистов, которые тратят свои силы на "написание" такой лабуды. Тем более, все остальное, видно, что написано очень грамотно и толково.

http://forum.mql4.com/ru/7558 - врядли метаквотс обяснят это.


BMW - это вся моя жизнь.

Share this post


Link to post
Share on other sites
natlam

Не ну то что брокер недаст ему совершить 100 сделок понятно, но вот верность моделирования внутри дневок явно под вопросом.


BMW - это вся моя жизнь.

Share this post


Link to post
Share on other sites
Квант
http://forum.mql4.com/ru/7558 - врядли метаквотс обяснят это.

 

HIDDEN снова что-то придумал. Посмотрим дальше, но ясно, что дело опять в какой-то ошибке...


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites
Rosh
http://forum.mql4.com/ru/7558 - врядли метаквотс обяснят это.

Ошибка появилась в 207 билде. Просто некоторые пользователи отслеживают форум. Источник известен, будет пофиксено.

Share this post


Link to post
Share on other sites
natlam
Ошибка появилась в 207 билде. Просто некоторые пользователи отслеживают форум. Источник известен, будет пофиксено.

Нехорошо, улучшили качество моделирования в 207 билде и тут же занесли баг. Мы ж ждем от вас исправления текущих багов в тестере а не занесение новых багов.:)

 

П.С. Я могу участвовать в чемпионате или нет?


BMW - это вся моя жизнь.

Share this post


Link to post
Share on other sites
Квант
Ошибка появилась в 207 билде. Просто некоторые пользователи отслеживают форум. Источник известен, будет пофиксено.

 

Да, есть ошибка.

post-16517-1404210942,5953_thumb.png


Оставь надежду, всяк сюда входящий!

Forex

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×