//+------------------------------------------------------------------+ //| ArrayPrinter.mq4 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Yevheniy Kopanitskyy" #property link "" #property version "1.00" #property strict double BodyHorizont_Bin[7210,2000]; double BodyHorizont_Price[7210,2000]; datetime BodyHorizont_Time[7210]; double MBodyHorizont_Bin[36050,2000]; double MBodyHorizont_Price[36050,2000]; datetime MBodyHorizont_Time[36050]; double PArticles_Bin[36050,500]; double PArticles_BinTemp[36050,500]; double PArticles_Price[36050,500]; double PArticles_PriceTemp[36050,500]; datetime PArticles_Time[36050,2]; string SYmbol=Symbol(); string FileName21=SYmbol+"BodyHorizont_Bin.bin"; string FileName22=SYmbol+"BodyHorizont_Price.bin"; string FileName23=SYmbol+"BodyHorizont_Time.bin"; string FileName24=SYmbol+"МBodyHorizont_Bin.bin"; string FileName25=SYmbol+"МBodyHorizont_Price.bin"; string FileName26=SYmbol+"МBodyHorizont_Time.bin"; string FileName27=SYmbol+"PArticles_Bin.bin"; string FileName28=SYmbol+"PArticles_Price.bin"; string FileName29=SYmbol+"PArticles_Time.bin"; extern bool automaticprinte=false; extern bool AddToMBody=false; extern bool Particles=true; extern bool chek=false; extern bool chek1=false; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- ArrayInitialize(MBodyHorizont_Bin,10); ArrayInitialize(MBodyHorizont_Price,10); ArrayInitialize(MBodyHorizont_Time,10); ArrayInitialize(PArticles_Bin,10); ArrayInitialize(PArticles_Price,10); ArrayInitialize(PArticles_Time,10); ArrayInitialize(PArticles_BinTemp,10); //Загрузка массива при запуске //----------------------------------------------------------------------------------- int file_handle17=FileOpen(FileName21,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle17>0) { FileSeek(file_handle17,0,SEEK_CUR); uint test=FileReadArray(file_handle17,BodyHorizont_Bin,0,WHOLE_ARRAY); FileClose(file_handle17); } //----------------------------------------------------------------------------------- int file_handle18=FileOpen(FileName22,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle18>0) { FileSeek(file_handle18,0,SEEK_CUR); uint test=FileReadArray(file_handle18,BodyHorizont_Price,0,WHOLE_ARRAY); FileClose(file_handle18); } //----------------------------------------------------------------------------------- int file_handle19=FileOpen(FileName23,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle19>0) { FileSeek(file_handle19,0,SEEK_CUR); uint test=FileReadArray(file_handle19,BodyHorizont_Time,0,WHOLE_ARRAY); FileClose(file_handle19); } //----------------------------------------------------------------------------------- int file_handle20=FileOpen(FileName24,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle20>0) { FileSeek(file_handle20,0,SEEK_CUR); uint test=FileReadArray(file_handle20,MBodyHorizont_Bin,0,WHOLE_ARRAY); FileClose(file_handle20); } //----------------------------------------------------------------------------------- int file_handle21=FileOpen(FileName25,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle21>0) { FileSeek(file_handle21,0,SEEK_CUR); uint test=FileReadArray(file_handle21,MBodyHorizont_Price,0,WHOLE_ARRAY); FileClose(file_handle21); } //----------------------------------------------------------------------------------- int file_handle22=FileOpen(FileName26,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle22>0) { FileSeek(file_handle22,0,SEEK_CUR); uint test=FileReadArray(file_handle22,MBodyHorizont_Time,0,WHOLE_ARRAY); FileClose(file_handle22); } //--- //----------------------------------------------------------------------------------- int file_handle23=FileOpen(FileName27,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle23>0) { FileSeek(file_handle23,0,SEEK_CUR); uint test=FileReadArray(file_handle23,PArticles_Bin,0,WHOLE_ARRAY); FileClose(file_handle23); } //----------------------------------------------------------------------------------- int file_handle24=FileOpen(FileName28,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle24>0) { FileSeek(file_handle24,0,SEEK_CUR); uint test=FileReadArray(file_handle24,PArticles_Price,0,WHOLE_ARRAY); FileClose(file_handle24); } //----------------------------------------------------------------------------------- int file_handle25=FileOpen(FileName29,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle25>0) { FileSeek(file_handle25,0,SEEK_CUR); uint test=FileReadArray(file_handle25,PArticles_Time,0,WHOLE_ARRAY); FileClose(file_handle25); } //Print("Ar test ",MBodyHorizont_Bin[152,20]); //---Печать массивов в фаил //-Определить с какой ячейки заполняется массив BodyHorizont_Bin с 0 или 1 if(automaticprinte==true) { for(int in=1; in<7210; in++)//Печатаю все данные в фаил по строкам { Sleep(500); int ina; for(ina=1; ina<2000; ina++) //Определяю конец строки { if(BodyHorizont_Bin[in,ina]==10) { break;//Конец строки } } int inb; //Print(ina); Print(BodyHorizont_Time[in]); for(inb=1; inbControlInc) { FileDelete(SYmbol+"BodyHorizont_Bin.bin",0); FileDelete(SYmbol+"BodyHorizont_Price.bin",0); FileDelete(SYmbol+"BodyHorizont_Time.bin",0); Print(" Files BodyHorizont_XXX Delited"); } //----------------------------------------------------------------------------------- file_handle20=FileOpen(FileName24,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle20>0) { FileSeek(file_handle20,0,SEEK_CUR); uint test=FileWriteArray(file_handle20,MBodyHorizont_Bin,0,WHOLE_ARRAY); FileClose(file_handle20); } //----------------------------------------------------------------------------------- file_handle21=FileOpen(FileName25,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle21>0) { FileSeek(file_handle21,0,SEEK_CUR); uint test=FileWriteArray(file_handle21,MBodyHorizont_Price,0,WHOLE_ARRAY); FileClose(file_handle21); } //----------------------------------------------------------------------------------- file_handle22=FileOpen(FileName26,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle22>0) { FileSeek(file_handle22,0,SEEK_CUR); uint test=FileWriteArray(file_handle22,MBodyHorizont_Time,0,WHOLE_ARRAY); FileClose(file_handle22); } //--- } if(Particles==true) { //Разбор собранных данных на частицы.Точка разделения Бинарный синапс. где синапс цены выражается 01 при тойже цене. //Класификация и отбор дублей в отдельный массив. //Перебераем массив и определяем координаты синапса.Есть два варианта. Последовательный перебор или перебор с предварительным выделением синапсов с записью в массив //Последавательный варриант. //загрузка базы данных в массив для проведения анализа //загрузка базы данных отсортированных элементов. Нужно знать время свечи с которой была взята частица.Максимальная длинна частицы 200 элементов //Цикл определения синапса int ing; int inh; //Проверяю заполненность массива for(ing=1; ing<36050; ing++) { if(MBodyHorizont_Bin[ing,1]==10) { break;//inh содержит индекс конца массива } } int inl; int inm=1;//строка для записи int inn=-1;//ячейка в записи for(inh=1; inh0) { FileSeek(file_handle23,0,SEEK_CUR); uint test=FileWriteArray(file_handle23,PArticles_Bin,0,WHOLE_ARRAY); FileClose(file_handle23); } file_handle24=FileOpen(FileName28,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка if(file_handle24>0) { FileSeek(file_handle24,0,SEEK_CUR); uint test=FileWriteArray(file_handle24,PArticles_Price,0,WHOLE_ARRAY); FileClose(file_handle24); } //--- }//end //Проверка заполненности и запись в фаил,последний этап отслеживания появление элемента в нутри рынка if(chek1==true) { int ino; int inp; int inq; int inr; for(inq=1; inq<36050; inq++) { if(PArticles_Bin[inq,1]==10) { Print("glubina massiva BEZ DUBLEI ",inq); break; } } for(ino=1; ino