Читаем Нейросетевая торговая система Meta Trader 4 + MATLAB. Пошаговая разработка. Издание второе полностью

i=iBarShift(NULL,PERIOD_H1,Date0);

Handle=FileOpen(File_Name,FILE_CSV|FILE_READ,";");

while(i>=0)

{

Date1=StrToTime(FileReadString(Handle));

Str0=StrToDouble(FileReadString(Handle));

Str1=StrToDouble(FileReadString(Handle));

Buf_0[i]=Str0;

Buf_1[i]=Str1;

i–;

}

FileClose(Handle);

return(0);

}

//+–+

Этот индикатор представлен на рисунке выше. Согласитесь – индикатор сложно как – либо интерпретировать, и строить на его основе торговую стратегию. Т.е. нам необходимо совершенствовать обучение нейросети и попытаться добиться хотя бы результата представленного ниже.

С помощью эксперта “

ExpertPrimerReal

” протестируем отклик нейросети.

//+–+

//| ExpertPrimerReal.mq4|

//| Copyright © 2019, Andrey Dibrov. |

//|"https://www.youtube.com/channel/UCScAAn_sRRaKHdNIxl0aI9A?view_as=subscriber" |

//+–+

#property copyright "Copyright © 2019, Andrey Dibrov."

#property link "https://www.youtube.com/channel/UCScAAn_sRRaKHdNIxl0aI9A?view_as=subscriber"

extern int H1;

extern int H2;

extern int H3;

extern int H4;

extern int Loss1;

extern int Profit1;

extern int Loss0;

extern int Profit0;

int MagicBuy1;

int MagicSell0;

int TicketBuy1;

int TicketSell0;

datetime Count=1;

double Buf_0[100000];

double Buf_1[100000];

string File_Name="Indicator.csv";

int K;

int i;

//+–+

//| Expert initialization function |

//+–+

int OnInit

{

//–

int Handle=FileOpen(File_Name,FILE_CSV|FILE_READ,";");

while(Count>0)

{

Count=StrToTime(FileReadString(Handle));

Buf_0[i]=StrToDouble(FileReadString(Handle));

Buf_1[i]=StrToDouble(FileReadString(Handle));

i++;

}

//–

return(INIT_SUCCEEDED);

}

//+–+

//| Expert deinitialization function |

//+–+

void OnDeinit(const int reason)

{

//–

}

//+–+

//| Expert tick function |

//+–+

void OnTick

{

//–

for( i=1; i<=OrdersHistoryTotal; i++)

{

if(OrderSelect(i-1,SELECT_BY_POS,MODE_HISTORY)==true)

{

if(TicketBuy1==OrderTicket) MagicBuy1=0;

if(TicketSell0==OrderTicket) MagicSell0=0;

}

}

//–Buy0

if(MagicBuy1==0 && K>0 && Buf_0[K-1]Buf_1[K] && TimeHour(TimeCurrent)>H1 && TimeHour(TimeCurrent)

{

bool send1=OrderSend(Symbol,OP_BUY,1,Ask,3,Bid-Loss1*Point,Ask+Profit1*Point,NULL,1,0,Red);

for( i=1; i<=OrdersTotal; i++)

{

if(OrderSelect(i-1,SELECT_BY_POS)==true)

{

TicketBuy1=OrderTicket;

MagicBuy1=OrderMagicNumber;

}

}

}

if(MagicBuy1==1 && K>0 && Buf_0[K-1]>Buf_1[K-1] && Buf_0[K]

{

bool close1=OrderClose(TicketBuy1,1,Bid,2,Blue);

}

//–Sell0

if(MagicSell0==0 && K>0 && Buf_0[K-1]>Buf_1[K-1] && Buf_0[K]H3 && TimeHour(TimeCurrent)

{

bool send0=OrderSend(Symbol,OP_SELL,1,Bid,3,Ask+Loss0*Point,Bid-Profit0*Point,NULL,3,0,Green);

for( i=1; i<=OrdersTotal; i++)

{

if(OrderSelect(i-1,SELECT_BY_POS)==true)

{

TicketSell0=OrderTicket;

MagicSell0=OrderMagicNumber;

}

}

}

if(MagicSell0==3 && K>0 && Buf_0[K-1]Buf_1[K])

{

bool close0=OrderClose(TicketSell0,1,Ask,2,Blue);

}

K++;

}

//+–+

Перейти на страницу:

Похожие книги

100 абсолютных законов успеха в бизнесе
100 абсолютных законов успеха в бизнесе

Почему одни люди преуспевают в бизнесе больше других? Почему одни предприятия процветают, в то время как другие терпят крах? Известный лектор и писатель по вопросам бизнеса нашел ответы на эти очень трудные вопросы. В своей книге он представляет набор принципов, или `универсальных законов`, которые лежат в основе успеха деловых людей всего мира. Практические рекомендации Трейси имеют вид 100 доступных для понимания и простых в применении законов, относящихся к важнейшим сферам труда и бизнеса. Он также приводит примеры из реальной жизни, которые наглядно иллюстрируют, как работает каждый из законов, а также предлагает читателю упражнения по применению этих законов в работе и жизни.

Брайан Трейси

Деловая литература / Маркетинг, PR, реклама / О бизнесе популярно / Финансы и бизнес