Нейросетевая торговая система Meta Trader 4 + MATLAB. Пошаговая разработка. Издание второе. Андрей Дибров
Чтение книги онлайн.
Читать онлайн книгу Нейросетевая торговая система Meta Trader 4 + MATLAB. Пошаговая разработка. Издание второе - Андрей Дибров страница 4
Шаблон автоматической нейросетевой торговой системы на стандартных индикаторах.
Данная глава носит сугубо практический характер. В ней я дам читателям набор скриптов и экспертов MT4 и Matlab, описание их предназначения и исполнения. Таким образом, вы получите шаблон для построения нейросетевой системы с использованием стандартных индикаторов. Пройдя шаг за шагом, весь этап построения торговой системы вы сможете самостоятельно подготовить свою торговую стратегию, основанную на нейросетевых технологиях. И в дальнейшем использовать не только Matlab, но и иные программные продукты.
Запустим скрипт “ScriptIn”.
//+–+
//| ScriptIn.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"
#property show_inputs
extern string Date="2004.07.01 00:00";
extern string DateOut="2010.12.31 23:00";
//+–+
//| script program start function |
//+–+
int start()
{
int handle=FileOpen("In.csv",FILE_CSV|FILE_READ|FILE_WRITE,";");
int handleOut=FileOpen("Out.csv",FILE_CSV|FILE_READ|FILE_WRITE,";");
Alert("Идет запись файлов");
for(int i=iBars(NULL,0)-1; i>=0; i–)
{
string Date1=TimeToStr(iTime(NULL,0,i));
if(DateOut>=Date1 && Date<=Date1)
{
if(iHigh(NULL,0,i)>iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i) && iLow(NULL,0,i)<iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i) && ((iHigh(NULL,0,i+1)<iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i+1) && iLow(NULL,0,i+1)<iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i+1)) ||
(iHigh(NULL,0,i+1)>iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i+1) && iLow(NULL,0,i+1)>iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i+1))))
{
FileWrite(handle,
iWPR(NULL,0,14,i+3),
iStochastic(NULL,0,5,3,3,MODE_SMA,1,MODE_MAIN,i+3),
iRVI(NULL,0,10,MODE_MAIN,i+3),
iRSI(NULL,0,14,PRICE_CLOSE,i+3),
iOsMA(NULL,0,12,26,9,PRICE_CLOSE,i+3),
iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+3),
iWPR(NULL,0,14,i+2),
iStochastic(NULL,0,5,3,3,MODE_SMA,1,MODE_MAIN,i+2),
iRVI(NULL,0,10,MODE_MAIN,i+2),
iRSI(NULL,0,14,PRICE_CLOSE,i+2),
iOsMA(NULL,0,12,26,9,PRICE_CLOSE,i+2),
iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+2),
iWPR(NULL,0,14,i+1),
iStochastic(NULL,0,5,3,3,MODE_SMA,1,MODE_MAIN,i+1),
iRVI(NULL,0,10,MODE_MAIN,i+1),
iRSI(NULL,0,14,PRICE_CLOSE,i+1),
iOsMA(NULL,0,12,26,9,PRICE_CLOSE,i+1),
iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i+1),
iWPR(NULL,0,14,i),
iStochastic(NULL,0,5,3,3,MODE_SMA,1,MODE_MAIN,i),
iRVI(NULL,0,10,MODE_MAIN,i),
iRSI(NULL,0,14,PRICE_CLOSE,i),
iOsMA(NULL,0,12,26,9,PRICE_CLOSE,i),
iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i));
FileWrite(handleOut,iClose(NULL,1440,iBarShift(NULL,1440,iTime(NULL,0,i)))-iOpen(NULL,0,i));