Нейросетевая торговая система Meta Trader 4 + MATLAB. Пошаговая разработка. Издание второе. Андрей Дибров
Чтение книги онлайн.
Читать онлайн книгу Нейросетевая торговая система Meta Trader 4 + MATLAB. Пошаговая разработка. Издание второе - Андрей Дибров страница 7
//+–+
int init()
{
SetIndexBuffer(0,Buf_0);
SetIndexBuffer(1,Buf_1);
IndicatorBuffers(2);
IndicatorDigits(4);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetLevelValue(0,0.5);
return(0);
}
//+–+
//| |
//+–+
int start()
{
Handle=FileOpen(File_Name,FILE_CSV|FILE_READ,";");
while(i==0)
{
Date0=StrToTime(FileReadString(Handle));
i++;
}
FileClose(Handle);
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++;
}