//+------------------------------------------------------------------+
//| Yevheniy |
//| Nucleo v 3.mq4 |
//| |
//+------------------------------------------------------------------+
#property copyright "Yevheniy Kopanitskyy"
#property link "https://www.mql5.com/en/users/eugeniokp"
#property version "3"
#property strict
//-----EXTERNAL VAR-----
bool LongPosition=false;//Long moneda
bool ShortPosition=false;//Short moneda
extern bool BinIndWRITE=true;//moneda
extern bool Array_Errors=false;
bool ALLtoARRAYWRITE=true;//moneda
bool BODYHorizont=true;//moneda
// Класс 1990-2000
// Структура к молебну через купол
// Одноклассники // Семья // Одногрупники // Начальники Фирм // Сотрудники фирм // Домашние питомцы // Певцы Актёры // Подфонарные //Учителя //
extern string NAA_1="Andryushchenko I";// Kopanitskyy Eugenio // Денис // Rikardo // Eugenio // Рыжий Кот //Божья коровка // Сергей Бойко // Малая Алла Сергеевна//
extern string NAA_2="Antipenko P"; // Kopanitskaya Olga // Данько Анна // Juanjo Rufilanchas // Давид,Gema // Габриела // Prodigy // Сергей Соловьёв //Дунаева Виктория Александровна//
extern string NAA_3="Buyakov D"; // Dyukareva Alla // Тищенко Роман // Alberto & Nagore // // Рея //Metalica // Артём Варжко //Капейка //
extern string NAA_4="Ryabashtan N"; // Kopanitskaya Ольга // Игорь Кисм // Rosa // Manolo, Sofia, Берланга // Чип // // Олег Касо //Марья Трафимовна //
extern string NAA_5="Krivenko L"; // Kopanitskaya Elena // Ольга Присяжнюк // Veronika //Yulya // Меченосцы // Паша Безай //Нина Симёнавна //
extern string NAA_6="Kopanitskyy Lavrov Y";//Dyukoreva Ludmila // Ольга Потапенко // Manolo "Iber Casas" // Дрош, Бодя //Хамяк // Олег //Галина Дмитриевна ///
extern string NAA_7="Elizarova G"; // Kopanitskyy Mikael // Andrey Prisyazhnyuk // Dzhivoryan // Dima // Крыса Анфиса // Алёна // Нарбеков Мерзакамир
extern string NAA_8="Cima I"; // Kopanitskyy Nikolay // Vadim Prokopchuk // Oskar & Monica // Lali, Zara, //Чарлик // Света // Алан Кар
extern string NAA_9="Konyajina A"; // Dyukorev Oleg // Ivo Ivanov // Lina // Maksim, Nadezhda, Dariush Kania,Danuta //Саманта //Сергей Должиков //Нил Доналд Уолш
extern string NAA_10="Parmuzina N"; // Dyukoreva Alena // Mario // Toni Regajo // Елизавета Агата Кида //Ника // Роман Шведкий //Роберт Киосаки
extern string NAA_11="Matvienko L"; // Dyukorev Denis // Roman Mishchenko // Roman Diezel // // Коза // // Рома Каспер //Лариса Петровна сад
extern string NAA_12="Zhulitskaya L"; // Pryymak Alina // Сергей Соловей //Роман Колобок // // Кролик // // Дима //
extern string NAA_13="Pravda Y"; // Bereza Roza // Beredas //Константин // // Седаев Рома //
extern string NAA_14="Furina N"; // Denis // Silvia //Вася // // Эдик Шведкой //
extern string NAA_15="Zotov V"; // Marcelo // Sergio //Чибітько Олександр // Максим // Инна //
extern string NAA_16="Harkina T"; // Копаницкая Даша // //Фернандо // Вова, Бодя, // Эдик //
extern string NAA_17="Moroz I"; // Пальчикова Таня // //Angel del Rosario // Koncha Torres // Ада Кулик //
extern string NAA_18="Turasov Y"; // Копаницкая Абигаиль // // Паша //
extern string NAA_19="Macola A"; // Копаницкая Кристина // // Квинт //
extern string NAA_20="Sarapin Y"; // Копаницкая Ирина // // Грес
extern string NAA_21="Nasipaiko O"; // Копаницкий Сергей //
extern string NAA_22="Prityupa V"; // Копаницкая Юля //
extern string NAA_23="Golovchuk D"; // Энчё Колев //
extern string NAA_24="Galusho R"; // Ровзе Вера //
extern string NAA_25="Shpilevoy R"; // Копаницкий Андрей //
extern string NAA_26="Vaskevich L"; // Копаницкий Валера //
extern string NAA_27="Yurchenko D"; // Лебеденко Марина //
extern string NAA_28="Vinokurov R"; // Дюкорев Виктор //
extern string NAA_29="Taran R"; // Дюкорев Николай //
extern string NAA_30="Plasovenko A"; // Дюкорева Наталья //
extern string NAA_31="Bilichenko V"; // Дюкорев Иван //
extern string NAA_32="Romanyuk I"; // Кохан Люба //
extern string NAA_33="Segina E"; // Брагина Елена //
extern string NAA_34="Lucyuk A"; // Брагин Владик //
extern string NAA_35="Liliya"; // Дюкарева Света //
extern string NAA_36="Drach E"; // Копаницкий Денис //
extern string NAA_37="Lomakina N"; // Копаницкая Женя //
extern string NAA_38="Kozlova S"; // Копаницкий Валодя //
extern string NAA_39="Soloviev S"; // Приймак Валера //
extern string NAA_40="Mulikin S"; // Приймак Лёша //
extern string NAA_41="Strelnikov V"; // Приймак Тамара //
extern string NAA_42="Chernij E"; // Приймак Катя //
extern string NAA_43="Tkach N"; // Приймак Наташа //
extern string NAA_44="Nesterenko A"; // Копаницкая Люся //
extern string NAA_45="Kamashko V"; // Брагин Николай //
extern string NAA_46="Zimuha V" ; // Лебеденко Валера //
extern string NAA_47="Rolik A"; // Дюкорев Толик //
extern string NAA_48="Pasichnij A"; // Дюкорев Саша //
//--END---EXTERNAL VAR-----
//------Importing TELEGRAM library - Sending messages to a channel------------------------------
//#import "Telegram4Mql.dll"
//string TelegramSendTextAsync(string apiKey,string chatId,string chatText);
//string TelegramSendText(string apiKey,string chatId,string chatText);
//string TelegramSendScreenAsync(string apiKey,string chatId,string caption="");
//string TelegramSendScreen(string apiKey,string chatId,string caption="");
//string TelegramGetUpdates(string apiKey,string validUsers,bool confirmUpdates);
//string TelegramSendPhoto(string apiKey,string chatId,string filePath,string caption="");
//string TelegramSendPhotoAsync(string apiKey,string chatId,string filePath, string caption = "");
//string TelegramSendDocument(string apiKey, string chatId, string filePath, string caption = "");
//string TelegramSendDocumentAsync(string apiKey,string chatId,string filePath,string caption="");
//...
//#import
//---END---Importing TELEGRAM library - Sending messages to a channel------------------------------
//Все массивы double заполняютя по 5 знакам после запятой. Пример 99999 = 0,001€ в итоге весь массив = 1€
//------ARRAYS-----
double body[99999,20];//m
//double BinaryKeys[9999,2000];
int MaxMinArr[9,3];//
double kompa[10000];
double kompa1[10000];
datetime PIPS_COL_DT[99999];
double PIPS_COL_Price[99999,6];
int bbb[1681,3];
int bbb_compare[9999,2,1681];
int errorprint[50];
int errorprint2[150];
//int priceBEBO[100000,2];
double AllAnalisysData[7205,20];
datetime DT_AllAnalisysData[7205,1];
double BodyHorizont_Bin[7210,2000];
double BodyHorizont_Price[7210,2000];
datetime BodyHorizont_Time[7210];
double bodyAR[90000,50];
datetime bodydt[90000];
double body_Plus[99999,20];//Массив для перезаписи
double komp1[99999];// Array for displaying the synapse in the record
int ArrayMaximum_0[10000];//999999
int ArrayMaximum_1[10000];//999999
int flower[99,99];//Мaссив для получения архитектуры
datetime flower_Price_3_TIME[200001,1000];
float flower_Price_3[200001,100];
int KlasterTime[9,385];// 8 linias 8 petalos,celdas, numero de fraccion" 1- 4",num agija de reloj "1234","03,36,69,91"" Numero de variable,Numero asignado segun calculo.
int flower_Time[24,12];//
int LD_Mod48Bit[1,3];//
int flower_Time_DT_24[12,1000]; //запись времени для дальнейшей аналитики
int flower_Time_DT_25[12,1000];
int flower_Time_DT_23[12,1000];
int flower_Time_CL[1,12];// CL- clock
//int bintoarr[1441,1001];//запись параметров бинарного кода в массив.Запись массива раз в сутки в бинарный фаил
//int IFb1;//Индекс 1 для массива bintoarr
//int IFb2;//Индекс 2 для массива bintoarr
//int BinaryToArray[32000,1001];//месяц записи в массив бинарного кода. Записись нужно производить другим скриптом
//datetime bintoarrTIME [1441];//Массив для записи времени свечи
//datetime BinaryToArrayTIME[32000];//Массив для обьеденения времени свечи
//double bintoarrBID[1441,1001];//Массив для записи бид цены по тику
//double BinaryToArrayBID[32000,1001];//Массив для записи бид
//int temparrbin[1441,1001];//Массив для записи отсеенных данных бинарного кода
//double temparrbid[1441,1001];
//datetime temparrtime[1441];
//datetime binrepit[32000,1001];//Запись повторов бинарных свечей
double bodypips[99999,5];// Array for data analysis using the Sunflower method
double comp_bodypips[99999];
int Particula[33];// Array en el cual se cuadran los numeros de claster
int Sev_Part_Lic[5,33];// 1-4 N centros - Tiempo asignado. 5-12 dobavochnie"2 po poryadku 1-4 " 13-16 Cotejo.17 -32 Fracciones de 1-4
int Vost_Part_Lic[5,33];// 1-4 N centros - Tiempo asignado. 5-6 dobavochnie"2 po poryadku 1-4 " 7 Cotejo.7 -11 Fracciones de 1-4
int Yug_Part_Lic[5,33];// 1-4 N centros - Tiempo asignado. 5-6 dobavochnie"2 po poryadku 1-4 " 7 Cotejo.7 -11 Fracciones de 1-4
int Zap_Part_Lic[5,33];// 1-4 N centros - Tiempo asignado. 5-6 dobavochnie"2 po poryadku 1-4 " 7 Cotejo.7 -11 Fracciones de 1-4
//+------------------------------------------------------------------+
int Sev_Part_Izn[5,33];// 1-4 N centros - Tiempo asignado. 5-12 dobavochnie"2 po poryadku 1-4 " 13-16 Cotejo.17 -32 Fracciones de 1-4
int Vost_Part_Izn[5,33];// 1-4 N centros - Tiempo asignado. 5-6 dobavochnie"2 po poryadku 1-4 " 7 Cotejo.7 -11 Fracciones de 1-4
int Yug_Part_Izn[5,33];// 1-4 N centros - Tiempo asignado. 5-6 dobavochnie"2 po poryadku 1-4 " 7 Cotejo.7 -11 Fracciones de 1-4
int Zap_Part_Izn[5,33];// 1-4 N centros - Tiempo asignado. 5-6 dobavochnie"2 po poryadku 1-4 " 7 Cotejo.7 -11 Fracciones de 1-4
//+------------------------------------------------------------------+
//---END---ARRAYS----
//------DOUBLE VARS-----
int Arch3=0;
double normalLevel;//moneda
double center;//moneda
double DoublspredPoint;//moneda
double LEVELUP;//moneda
double LEVELDOWN;//moneda
double PriceZero;//moneda
double CopenRes;//moneda
double CcloseRes;//moneda
double Level;//moneda
double LEVELK=1;//moneda
double Onda1;//moneda
double CurPips;//moneda
double price_Menus_one,pips_Menus_one;
double restanteminimum;//moneda
double restantemaximum;
double Str_Pr_Bar=0;
double Price1;
double Price0;
double price_minus;
double price_plus;
double BoolInd;//Bool
double BearInd;
double Maximum;//bool
double Minimum;
double PipsDif;
double IpaintFiboLineUP_2;
double IpaintFiboLineUP_3;
double IpaintFiboLineUP_5;
double IpaintFiboLineUP_8;
double IpaintFiboLineUP_13;
double IpaintFiboLineUP_21;
double IpaintFiboLineUP_34;
double IpaintFiboLineUP_55;
double IpaintFiboLineUP_89;
double IpaintFiboLineUP_144;
double IpaintFiboLineDOWN_2;
double IpaintFiboLineDOWN_3;
double IpaintFiboLineDOWN_5;
double IpaintFiboLineDOWN_8;
double IpaintFiboLineDOWN_13;
double IpaintFiboLineDOWN_21;
double IpaintFiboLineDOWN_34;
double IpaintFiboLineDOWN_55;
double IpaintFiboLineDOWN_89;
double IpaintFiboLineDOWN_144;
double HIGHT;
double LOW;
double CLOSE;
double OPEN;
double resOperandMax;
double resOperandMin;
//--END----DOUBLE VARS-----
//--Claster Variables
//--
//Angelusvitae fond
int odna_chaska_kofe;
int kolvo_gram_1_chashka_kofe;
double ves_1_zerno;
double kolvo_zeren_1_chashka_Kofe;
int one_kg_kofe_soderzhit_chawek;
double Kolvo_zeren_v_kilograme;
extern int Kolvo_sredstv_dlya_sbora=15000;
int Kolvo_chashek_kofe_dlya_sbora;
int Kolvo_zeren_dlya_Sbora;
int kolvo_zeren_sessiya;
int kolvo_zeren;
int Gx,Gy;
int fgf;
int fgi;
int fgo;
int k;
int printdesc1;
int printdesc2;
int printdesc3;
int printdesc4;
int printdesc5, permis;
int LongShort;
int Counter1;
int Counter1_1;
int Counter0;
int Counter0_1;
int Counter_Summa1;
int Counter_Summa0;
int zeroindex;
int Counter=0;
int TotaltuADDtoSELLTEXT,TotaltuADDtoBUYTEXT;
int file_handle4;
int iarw,BinInd3,BinInd3BO,BinInd3BE;
int spredpoints=15;
int Handle;
int MaxBinNumber_1Index;
int MaxBinNumber_0Index;
int MaxBinNumber_1;
int MaxBinNumber_0;
int mult=100000;
int IndexMaximum;
int IndexMinimum;
int MaxInd_bodypips;
int Switch1;
int iaq,ibq;
int ONE_BE;
int IreceiveLevelresult;
int NormalizaDigi=5;
int im;
int Bear_Z,Bool_Z;
int Switch_L_S;
int Rez_BE,one_BE;
//---END---INTEGER VARS-----
//---Переменные индикатора Маховик Времени
int comp_Sev[9,9];//Массив для сравнения после пересчёта
double Form_Patern_Finder[1002,121];//Массив для отслеживания формации Патернов на купольной архитектуре
datetime DT_Form_Patern_Finder[1002,121];//Массив для отслеживания времени формации Патернов на купольной архитектуре
int PipsNumber; //1,2,3,4,5
int N_Centro_r;
//Часы 1
// Массивы для пересчётов
int Sev[9,9];
int Var1_Be_0;
int Var1_Bo_0;
int Var1_Be_1;
int Var1_Bo_1;
int Var2_Be_0;
int Var2_Bo_0;
int Var2_Be_1;
int Var2_Bo_1;
// Переменные для разрешений
int sev;
int yug;
int zap;
int vost;
// Переменные для лица и изнанки
int lic;
int izn;
//Подача данных из подсолнуха
int LastV_f_Bo_0;//Предыдущий центр
int LastV_f_Bo_1;//Предыдущий центр
int LastV_f_Be_0;//Предыдущий центр
int LastV_f_Be_1;//Предыдущий центр
int LastC_N_Centro_r;// Предыдущая переменная
double Price_Compare;
int Be_0=0;
int Bo_0=0;
int Be_1=0;
int Bo_1=0;
int Be_0_Asign=0;
int Bo_0_Asign=0;
int Be_1_Asign=0;
int Bo_1_Asign=0;
int CheFe=0;
//Часы 2
int Be_0_C=0;
int Bo_0_C=0;
int Be_1_C=0;
int Bo_1_C=0;
// Массивы для пересчётов для Z Оси
int z_Sev[9,9];
int z_Var1_Be_0;
int z_Var1_Bo_0;
int z_Var1_Be_1;
int z_Var1_Bo_1;
int z_Var2_Be_0;
int z_Var2_Bo_0;
int z_Var2_Be_1;
int z_Var2_Bo_1;
// Переменные для разрешений
int z_sev;
int z_yug;
int z_zap;
int z_vost;
// Переменные для лица и изнанки
int z_lic;
int z_izn;
//Подача данных из подсолнуха
int z_Be_0;
int z_Bo_0;
int z_Be_1;
int z_Bo_1;
int z_Be_0_Asign;
int z_Bo_0_Asign;
int z_Be_1_Asign;
int z_Bo_1_Asign;
int z_CheFe=0;
int z_Sev_1;
int z_Yug_1;
int z_Vost_1;
int z_Zap_1;
string z_BlockNum="0";
int z_errorprint[150];
int z_errorprint2[150];
int z_Gx,z_Gy;
int N_Petalo;
int N_Petalo_1;
int Petalos_32=0;
//Купол - Против Часовой Стрелки
// ------ Свод Цена-Купол + Свод Цена - Крест Абьём
int Per_Sev1=0;//Be_0 лиц
int Per_Sev2=0;//Bo_0 лиц
int Per_Sev3=0;//Be_1 лиц
int Per_Sev4=0;//Bo_1 лиц
int Per_Sev5=0;//Be_0 изн
int Per_Sev6=0;//Bo_0 изн
int Per_Sev7=0;//Be_1 изн
int Per_Sev8=0;//Bo_1 изн
int w;
int w1;
int w2;
int w3;
bool flower_perm=false;
int InternalPat_1;//индикатор формирования внутреннего патерна вокруг цены
int ExternalPat_1;//индикатор формирования Внешнего патерна вокруг цены
// Пример. Массива Север
// Sev[1,1]=0; Be_0
// Sev[1,2]=0; Bo_0
// Sev[1,3]=0; Be_1
// Sev[1,4]=0; Bo_1
double PriceConv1;
double Veinte=20;
double cien=100;
double cienm=100000;
int N_Gr20;
int PriceConv2;
double PriceConv3;
double PriceConv4;
int N_Centro;
float Price;
int zapret_podachi_input=0;
int zapret_podachi_output=0;
int zaryad;
int f_Bo_0;
int f_Be_0;// Складывание в Лепесток
int f_Bo_1;// Складывание в Лепесток
int f_Be_1;// Складывание в Лепесток
int Contra_Reloj;
int Rest_Vost;
int Rest_Sever;
int Rest_Yug;
int Rest_Zap;
int Sev_B=0;//Заполненность модуля
int Zap_B=0;
int Yug_B=0;
int Vost_B=0;
int SZBV=0;
//По часовой стрелке
int Reloj;
int Sum_Vost;
int Sum_Sever;
int Sum_Yug;
int Sum_Zap;
int Sum_B=0;//Заполненность модуля
int Sum_Zap_B=0;
int Sum_Yug_B=0;
int Sum_Vost_B=0;
int Sum_Sev_B=0;
int Sum_SZBV=0;
int insert_chanel_1;
int insert_chanel_2;
int output_Dir;//vostok
//По часовой Bo_0
int Reloj_1;
int Sum_Vost_1;
int Sum_Sever_1;
int Sum_Yug_1;
int Sum_Zap_1;
int Sum_B_1=0;//Заполненность модуля
int Sum_Zap_B_1=0;
int Sum_Yug_B_1=0;
int Sum_Vost_B_1=0;
int Sum_Sev_B_1=0;
int Sum_SZBV_1=0;
int flower_Plus=0;//Цветок склался 0
//Против Часовой Bo_0
int Contra_Reloj_1;
int Rest_Vost_1;
int Rest_Sever_1;
int Rest_Yug_1;
int Rest_Zap_1;
int Sev_B_1=0;//Заполненность модуля
int Zap_B_1=0;
int Yug_B_1=0;
int Vost_B_1=0;
int SZBV_1=0;
//Массивы для регистра суммы обьёмав в 8 частях куба
int kubo_1=0;
int kubo_2=0;
int kubo_3=0;
int kubo_4=0;
int kubo_5=0;
int kubo_6=0;
int kubo_7=0;
int kubo_8=0;
//Версия индексации 2 - 48 бит - каждый введённый получает 1 переменную из 48 и 4 вида вращения Север Юг Запад Восток что даёт положение из 4 переменных как 4 функций
//Кубическая идентификация
//В кубе идентифицируется цена, с привязкой к одной из 4 переменных Пример Архитиктура 1 переменная Be_1
//Всего в одном кубе возможно провести максимум 192 идентификации с учётом 4 сторон света. Одна сторона света содержит 48 единиц идентифицирования. Из них 32 мужские и 32 женские единицы.
//Идентификация производится по 3 из 6 плоскостей.
//Пример.
//N1Be_1=A3Be_0A2Bo_0A4Bo_1F13
//Также добавляется два индекса фракций.Также вписывается индекс идентификат с 3-х плоскостей.
//указать в ссылке обратную индексацию
// Расшифровка символов. 1 число Архитектура 2 число x коордената 3 число y коордената
int C_Ar_1,C_Ar_2,C_Ar_3,C_Ar_4,C_Ar_5,C_Ar_6,C_Ar_7,C_Ar_8,C_Ar_9,C_Ar_10,C_Ar_11,C_Ar_12,C_Ar_13,C_Ar_14,C_Ar_15,C_Ar_16,C_Ar_17,C_Ar_18,C_Ar_19,C_Ar_20,C_Ar_21,C_Ar_22,C_Ar_23,C_Ar_24,C_Ar_25,C_Ar_26,C_Ar_27,C_Ar_28,C_Ar_29,C_Ar_30,C_Ar_31,C_Ar_32;
// N - Norte P - Price L-Look F-Fraccion Порядок расчёта для определения переменной "Архитектура 1,2,3,4""1,2,3,4". 1.Указание перемнных Архитектура 2,3,4.
// 1 a3 Bo_0
string N13P634V3214_L3_11211121_11111111_11221211_F24_3Bo_0;
string Ar_1=N13P634V3214_L3_11211121_11111111_11221211_F24_3Bo_0+NAA_1;//Norte Петало1 Ar 3,Север,Архитектура 1, Переменная БЕ1,Определение по 3 плоскостям,
string N62P634V3214_L3_11211121_11111111_11221211_F34_5Be_0;
string Ar_2=N62P634V3214_L3_11211121_11111111_11221211_F34_5Be_0+NAA_2;
string N31P634V3214_L3_11211121_11111111_11221211_F13_1Bo_1;
string Ar_3=N31P634V3214_L3_11211121_11111111_11221211_F13_1Bo_1+NAA_3;
string N44P634V3214_L3_11211121_11111111_11221211_F12_4Be_1;
string Ar_4=N44P634V3214_L3_11211121_11111111_11221211_F12_4Be_1+NAA_4;
// N 2 a3 Be_0
string N14P234V4123_L3_11111111_11211121_11221221_F12_4Be_1;
string Ar_5=N14P234V4123_L3_11111111_11211121_11221221_F12_4Be_1+NAA_5;
string N21P234V4123_L3_11111111_11211121_11221221_F13_1Be_1;
string Ar_6=N21P234V4123_L3_11111111_11211121_11221221_F13_1Be_1+NAA_6;
string N32P234V4123_L3_11111111_11211121_11221221_F34_2Bo_0;
string Ar_7=N32P234V4123_L3_11111111_11211121_11221221_F34_2Bo_0+NAA_7;
string N43P234V4123_L3_11111111_11211121_11221221_F24_3Be_0;
string Ar_8=N43P234V4123_L3_11111111_11211121_11221221_F24_3Be_0+NAA_8;
// N 3 a 3 Be_1
string N11P235V1432_L3_11221211_11121211_11211121_1Be_0;
string Ar_9=N11P235V1432_L3_11221211_11121211_11211121_1Be_0+NAA_9;
string N24P235V1432_L3_11221211_11121211_11211121_6Bo_0;
string Ar_10=N24P235V1432_L3_11221211_11121211_11211121_6Bo_0+NAA_10;
string N33P235V1432_L3_11221211_11121211_11211121_3Be_1;
string Ar_11=N33P235V1432_L3_11221211_11121211_11211121_3Be_1+NAA_11;
string N52P235V1432_L3_11221211_11121211_11211121_5Bo_1;
string Ar_12=N52P235V1432_L3_11221211_11121211_11211121_5Bo_1+NAA_12;
// N 4 a3 Bo_1
string N12P635V2341_L3_11121211_11221221_11111111_2Be_1;
string Ar_13=N12P635V2341_L3_11121211_11221221_11111111_2Be_1+NAA_13;
string N63P635V2341_L3_11121211_11221221_11111111_3Bo_1;
string Ar_14=N63P635V2341_L3_11121211_11221221_11111111_3Bo_1+NAA_14;
string N34P635V2341_L3_11121211_11221221_11111111_6Be_0;
string Ar_15=N34P635V2341_L3_11121211_11221221_11111111_6Be_0+NAA_15;
string N51P635V2341_L3_11121211_11221221_11111111_1Bo_0;
string Ar_16=N51P635V2341_L3_11121211_11221221_11111111_1Bo_0+NAA_16;
// N 5 a3 izn Be_0
// Сторона Цены 8 как исходная
string N73P7284V3214_L8_11111111_11211121_11121211_7Be_0;//7- 3
string Ar_17=N73P7284V3214_L8_11111111_11211121_11121211_7Be_0+NAA_17;
string N22P7284V3214_L8_11111111_11211121_11121211_5Bo_0;
string Ar_18=N22P7284V3214_L8_11111111_11211121_11121211_5Bo_0+NAA_18;
string N81P7284V3214_L8_11111111_11211121_11121211_8Be_1;//8-1
string Ar_19=N81P7284V3214_L8_11111111_11211121_11121211_8Be_1+NAA_19;
string N44P7284V3214_L8_11111111_11211121_11121211_4Be_1;
string Ar_20=N44P7284V3214_L8_11111111_11211121_11121211_4Be_1+NAA_20;
// N 6 a3 izn Bo_0
string N74P7684V4123_L8_11211121_11111111_11221221_4Bo_1;
string Ar_21=N74P7684V4123_L8_11211121_11111111_11221221_4Bo_1+NAA_21;
string N61P7684V4123_L8_11211121_11111111_11221221_8Bo_1;
string Ar_22=N61P7684V4123_L8_11211121_11111111_11221221_8Bo_1+NAA_22;
string N82P7684V4123_L8_11211121_11111111_11221221_2Be_0;
string Ar_23=N82P7684V4123_L8_11211121_11111111_11221221_2Be_0+NAA_23;
string N43P7684V4123_L8_11211121_11111111_11221221_3Bo_0;
string Ar_24=N43P7684V4123_L8_11211121_11111111_11221221_3Bo_0+NAA_24;
// N 7 a3 izn Be_1
string N71P7685V1432_L8_11221221_11121211_11211121_8Be_0;
string Ar_25=N71P7685V1432_L8_11221221_11121211_11211121_8Be_0+NAA_25;//
string N64P7685V1432_L8_11221221_11121211_11211121_6Bo_1;
string Ar_26=N64P7685V1432_L8_11221221_11121211_11211121_6Bo_1+NAA_26;//
string N83P7685V1432_L8_11221221_11121211_11211121_7Be_1;
string Ar_27=N83P7685V1432_L8_11221221_11121211_11211121_7Be_1+NAA_27;//
string N52P7685V1432_L8_11221221_11121211_11211121_2Bo_1;
string Ar_28=N52P7685V1432_L8_11221221_11121211_11211121_2Bo_1+NAA_28;//
// N 8 A3 izn Bo_1
string N72P7285V2341_L8_11121211_11221221_11111111_5Be_1;
string Ar_29=N72P7285V2341_L8_11121211_11221221_11111111_5Be_1+NAA_29;//
string N23P7285V2341_L8_11121211_11221221_11111111_3Bo_1;
string Ar_30=N23P7285V2341_L8_11121211_11221221_11111111_3Bo_1+NAA_30;//
string N84P7285V2341_L8_11121211_11221221_11111111_6Be_1;
string Ar_31=N84P7285V2341_L8_11121211_11221221_11111111_6Be_1+NAA_31;//
string N51P7285V2341_L8_11121211_11221221_11111111_8Bo_0;
string Ar_32=N51P7285V2341_L8_11121211_11221221_11111111_8Bo_0+NAA_32;//
// N 9 a2
// 4 добавленные архитектуры 9.10.11.12
string N93P9824V3214_L2_11111111_11211121_11121211_9Be_0;
string Ar_33=N93P9824V3214_L2_11111111_11211121_11121211_9Be_0+NAA_33;
string N94P9324V4123_L2_11211121_11111111_11221221_9Bo_0;
string Ar_34=N94P9324V4123_L2_11211121_11111111_11221221_9Bo_0+NAA_34;
string N91P9325V1432_L2_11221221_11121211_11211121_9Be_1;
string Ar_35=N91P9325V1432_L2_11221221_11121211_11211121_9Be_1+NAA_35;
string N92P9825V2341_L2_11121211_11221221_11111111_9Bo_1;
string Ar_36=N92P9825V2341_L2_11121211_11221221_11111111_9Bo_1+NAA_36;
// N 10 a5
string N103P10364V3214_L6_11111111_11211121_11121211_10Be_0;
string Ar_37=N103P10364V3214_L6_11111111_11211121_11121211_10Be_0+NAA_37;
string N104P10864V4123_L6_11211121_11111111_11221221_10Bo_0;
string Ar_38=N104P10864V4123_L6_11211121_11111111_11221221_10Bo_0+NAA_38;
string N101P10865V1432_L6_11221221_11121211_11211121_10Be_1;
string Ar_39=N101P10865V1432_L6_11221221_11121211_11211121_10Be_1+NAA_39;
string N102P10365V2341_L6_11121211_11221221_11111111_10Bo_1;
string Ar_40=N102P10365V2341_L6_11121211_11221221_11111111_10Bo_1+NAA_40;
// N 11 a4
string N113P11648V3214_L4_11111111_11211121_11121211_11Be_0;
string Ar_41=N113P11648V3214_L4_11111111_11211121_11121211_11Be_0+NAA_41;
string N114P11248V4123_L4_11211121_11111111_11221221_11Bo_0;
string Ar_42=N114P11248V4123_L4_11211121_11111111_11221221_11Bo_0+NAA_42;
string N111P11243V1432_L4_11221221_11121211_11211121_11Be_1;
string Ar_43=N111P11243V1432_L4_11221221_11121211_11211121_11Be_1+NAA_43;
string N112P11643V2341_L4_11121211_11221221_11111111_11Bo_1;
string Ar_44=N112P11643V2341_L4_11121211_11221221_11111111_11Bo_1+NAA_44;
// N 12 a6
string N123P12635V3214_L5_11111111_11211121_11121211_12Be_0;
string Ar_45=N123P12635V3214_L5_11111111_11211121_11121211_12Be_0+NAA_45;
string N124P12253V4123_L5_11211121_11111111_11221221_12Bo_0;
string Ar_46=N124P12253V4123_L5_11211121_11111111_11221221_12Bo_0+NAA_46;
string N121P12258V1432_L5_11221221_11121211_11211121_12Be_1;
string Ar_47=N121P12258V1432_L5_11221221_11121211_11211121_12Be_1+NAA_47;
string N122P12658V2341_L5_11121211_11221221_11111111_12Bo_1;
string Ar_48=N122P12658V2341_L5_11121211_11221221_11111111_12Bo_1+NAA_48;
string Pr_C_Ar_1,Pr_C_Ar_2,Pr_C_Ar_3,Pr_C_Ar_4,Pr_C_Ar_5,Pr_C_Ar_6,Pr_C_Ar_7,Pr_C_Ar_8,Pr_C_Ar_9,Pr_C_Ar_10,Pr_C_Ar_11,Pr_C_Ar_12,Pr_C_Ar_13,Pr_C_Ar_14,Pr_C_Ar_15,Pr_C_Ar_16,Pr_C_Ar_17,Pr_C_Ar_18,Pr_C_Ar_19,Pr_C_Ar_20,Pr_C_Ar_21,Pr_C_Ar_22,Pr_C_Ar_23,Pr_C_Ar_24,Pr_C_Ar_25,Pr_C_Ar_26,Pr_C_Ar_27,Pr_C_Ar_28,Pr_C_Ar_29,Pr_C_Ar_30,Pr_C_Ar_31,Pr_C_Ar_32;
string Pr_Arch;
string Text_Kubo_1="0";
string Text_Kubo_2="0";
string Text_Kubo_3="0";
string Text_Kubo_4="0";
string Text_Kubo_5="0";
string Text_Kubo_6="0";
string Text_Kubo_7="0";
string Text_Kubo_8="0";
string Obiekt3001="3001";
//Класификация части куба
// kube_1 - Be_o_x_Lic / Bo_0_Z_izn
// kube_2 - Bo_o_x_Lic / Bo_0_Z_lic
// kube_3 - Be_1_x_Lic / Bo_1_Z_lic
// kube_4 - Bo_1_x_Lic / Be_0_Z_izn
// kube_5 - Be_o_x_izn / Bo_0_Z_lic
// kube_6 - Bo_o_x_izn / Be_0_Z_izn
// kube_7 - Be_1_x_izn / Bo_1_Z_izn
// kube_8 - Bo_o_x_izn / Be_1_Z_lic
string obiekt502="502";
string obiekt503="503";
string obiekt504="504";
string obiekt505="505";
string obiekt506="506";
string obiekt507="507";
string obiekt508="508";
string obiekt509="509";
extern bool Vol_B_Chang_1=false;
extern bool Compens=true;
extern bool GAP=false;
// Подача разрешений для сторон света
int Sev_1;
int Yug_1;
int Vost_1;
int Zap_1;
//--Угловая направленность ядра
int Nucleo_0_Gr;
int Nucleo_45_Gr;
int Nucleo_90_Gr;
int Nucleo_135_Gr;
int Nucleo_180_Gr;
int Nucleo_225_Gr;
int Nucleo_270_Gr;
int Nucleo_315_Gr;
int Nucleo_Gradus[15];//Показатель направления ядра после прокручивания электронами. Исходная позиция север архитектура 3 после сигнала. 8 позиций для углов 45градусов + и 4 позиции для регистрации точьки зрения с использованием архитектур 1234
// Разметка 4 переменных по 4 сторонам света с лицом и изнанкой и привязкой к Северной стороне как исходной позиции
//Север
// Sev[1,1]=0; Be_0
// Sev[1,2]=0; Bo_0
// Sev[1,3]=0; Be_1
// Sev[1,4]=0; Bo_1
// Изнанка
// Sev[1,5]=1; Bo_0
// Sev[1,6]=1; Be_0
// Sev[1,7]=1; Bo_1
// Sev[1,8]=1; Be_1
//Юг
// Sev[1,1]=0; Be_1
// Sev[1,2]=0; Bo_1
// Sev[1,3]=0; Be_0
// Sev[1,4]=0; Bo_0
// Изнанка
// Sev[1,5]=1; Bo_1
// Sev[1,6]=1; Be_1
// Sev[1,7]=1; Bo_0
// Sev[1,8]=1; Be_0
//Запад
// Sev[1,1]=0; Bo_0
// Sev[1,2]=0; Be_1
// Sev[1,3]=0; Bo_1
// Sev[1,4]=0; Be_0
// Изнанка
// Sev[1,5]=1; Be_1
// Sev[1,6]=1; Bo_0
// Sev[1,7]=1; Be_0
// Sev[1,8]=1; Bo_1
//Восток
// Sev[1,1]=0; Bo_1
// Sev[1,2]=0; Be_0
// Sev[1,3]=0; Bo_0
// Sev[1,4]=0; Be_1
// Изнанка
// Sev[1,5]=1; Be_0
// Sev[1,6]=1; Bo_1
// Sev[1,7]=1; Be_1
// Sev[1,8]=1; Bo_0
//---
//int Andryuschenko_I;
//int Antipenko_P;
//int Buyakov_D;
//int Ryabashtan_N;
//int Krivenko_L;
//int Kopanitskyy_E;
//int Elizarova_G;
//int Cima_I;
//int Konyahina_A;
//int Parmuzina_N;
//int Matvienko_L;
//int Zhulickaya_L;
//int Pravda_Y;
//int Furina_N;
//int Zotov_V;
//int Jarkina_T;
//int Moroz_I;
//int Turasov_Y;
//int Macola_A;
//int Sarapin_Y;
//int Nasypaiko_O;
//int Prityupa_V;
//int Golovchuk_D;
//int Shpilevoy_R;
//int Vaskevich_L;
//int Yurchenko_D;
//int Vinokurov_R;
//int Taran_R;
//int Plasovenko_A;
//int Bilichenko_V;
//int Romanyuk_I;
//int Malaya_A_S;
//int Dunaeva_V_A;
//int Kamashko_V;
//int Zimuha_V;
//int Galushko_R;
//------STRING VARS-----
string File_Name="File.csv";
string FR_Nm=".csv";
string filename;
string Sw_On;
string copy="copy";
string SYmbol=Symbol();
string RectanglLabel;
string TextVisualIndicator;
string Bo,Be;
string Obiekt101="Obiekt101";
string Obiektcampo1="100",Obiektcampo2="101",Obiektcampo3="102",Obiektcampo4="103",Obiektcampo5="104",Obiektcampo6="105",Obiektcampo7="106",Obiektcampo8="107",Obiektcampo9="108",Obiektcampo10="109",Obiektcampo11="110",Obiektcampo12="111",Obiektcampo13="112",Obiektcampo14="113",Obiektcampo15="114";
//---END---STRING VARS-----
//-----FILE NAMES-----
//string FileName1=SYmbol+" MEMORYnature.txt";
//string FileName3=SYmbol+" MEMORYnature_FTP.txt";
//string FileName2=SYmbol+" MEMORYnature-ALLSIGNALS.txt";
string FileName4=SYmbol+"1.8Long&Short-Signals.txt";
//string FileName5=SYmbol+" LEVELS PRICE.txt";
string FileName6=SYmbol+"1.8indexarray.bin";
string FileName7=SYmbol+"1.8alltoarray.bin";
//string FileName8=SYmbol+" BinaryKeys_BIN.bin";
//string FileName9=SYmbol+" BinaryKeys_BID.bin";
string FileName10=SYmbol+"DT_CupolPat1.bin";
string FileName12="1.8bbb.bin";
//string FileName11=SYmbol+" BinaryKeys-Repit_TIME.bin";//массив в котором хранятся повторы ключей по времени, если повтор был то фиксируется время открытия свечи
string FileName13="1.8bbb_compare.bin";
string FileName14=SYmbol+"1.8PIPS_COLLECTION.txt";
string FileName15=SYmbol+"1.8PIPS_COL_DT.bin";
string FileName16=SYmbol+"1.8PIPS_COL_Price.bin";
string FileName17=SYmbol+"1.8DataCompare.txt";
string FileName18=SYmbol+"CupolPat1.bin";//Фаил отгрузки и загрузки
string FileName19=SYmbol+"1.8AllAnalisysData.bin";//m
string FileName20=SYmbol+"1.8DT_AllAnalisysData.bin";
string FileName21=SYmbol+"1.8BodyHorizont_Bin.bin";
string FileName22=SYmbol+"1.8BodyHorizont_Price.bin";
string FileName23=SYmbol+"1.8BodyHorizont_Time.bin";
string FileName25=SYmbol+"flower_Price_3.bin";
string FileName26=SYmbol+"flower_Price_3_TIME.bin";
string FileName27=SYmbol+"SunwlowerSignals.txt";
string FileName28="KlasterTime.bin";
//string apikey="630515987:AAHk0ChIBaW3aOZBP1mFQBSK-4HXsBvbB6I";
//string chatid="-1001177290832";//654751710 bot chat
//--END---FILE NAMES-----
//------DATETIME VARS-----
datetime time_bar,time_BR,Bar_Tm=0;
datetime BrTime;
datetime bartimeresult;
//---END---DATETIME VARS-----
//------BOOL VARS-----
bool write=true;
bool writeall=true;
bool write_Zero=true;
//---END---BOOL VARS-----
//------LONG VARS-----
long CHWPX;
//---END---LONG VARS-----
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int init()
{
// --- REVISIONS --- //
//---1.9.1
// --- Added enabling and disabling writing to arrays ALLtoARRAYWRITE
// --- Added enabling and disabling recording to BODYHorizont arrays
// --- Added changing the ONE_be variable to int in the cycle of transferring messages to telegrams and writing data to a file
//-------imag fibanachi-----
string Kubo_Img="\\Images\\Kubo_Mql4.bmp";
//-----------------------
string obiekt501="501";
ObjectDelete(0,obiekt501);
ObjectDelete(Obiekt3001);
ObjectDelete(obiekt501);
ObjectCreate(obiekt501,OBJ_BITMAP_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetString(0,obiekt501,OBJPROP_BMPFILE,Kubo_Img);
ObjectSetInteger(0,obiekt501,OBJPROP_XDISTANCE,CHWPX+1450);
ObjectSetInteger(0,obiekt501,OBJPROP_YDISTANCE,350);
//-------imag emoji-----
//string fileemoji="\\Images\\11_p.bmp";
//for(int x; x<500; x++)
//{
//for(int y; y<2000; y++)
//{
// Sleep(20);
//Comment(" ",x);
//-----------------------
// string Obiekt3001="3001";
// ObjectDelete(Obiekt3001);
// ObjectCreate(Obiekt3001,OBJ_BITMAP_LABEL,0,BrTime,HIGHT+0.00015);
// ObjectSetString(0,Obiekt3001,OBJPROP_BMPFILE,fileemoji);
// ObjectSetInteger(0,Obiekt3001,OBJPROP_XDISTANCE,CHWPX+500);
// ObjectSetInteger(0,Obiekt3001,OBJPROP_YDISTANCE,100);
// }
// }
ObjectDelete(0,obiekt502);
ObjectDelete(obiekt502);
ObjectCreate(obiekt502,OBJ_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
ObjectSetInteger(0,obiekt502,OBJPROP_COLOR,clrRed);
ObjectSetInteger(0,obiekt502,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,obiekt502,OBJPROP_XDISTANCE,CHWPX+1565);
ObjectSetInteger(0,obiekt502,OBJPROP_YDISTANCE,450);
ObjectDelete(0,obiekt503);
ObjectDelete(obiekt503);
ObjectCreate(obiekt503,OBJ_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
ObjectSetInteger(0,obiekt503,OBJPROP_COLOR,clrRed);
ObjectSetInteger(0,obiekt503,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,obiekt503,OBJPROP_XDISTANCE,CHWPX+1665);
ObjectSetInteger(0,obiekt503,OBJPROP_YDISTANCE,450);
ObjectDelete(0,obiekt504);
ObjectDelete(obiekt504);
ObjectCreate(obiekt504,OBJ_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
ObjectSetInteger(0,obiekt504,OBJPROP_COLOR,clrRed);
ObjectSetInteger(0,obiekt504,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,obiekt504,OBJPROP_XDISTANCE,CHWPX+1665);
ObjectSetInteger(0,obiekt504,OBJPROP_YDISTANCE,540);
ObjectDelete(0,obiekt505);
ObjectDelete(obiekt505);
ObjectCreate(obiekt505,OBJ_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
ObjectSetInteger(0,obiekt505,OBJPROP_COLOR,clrRed);
ObjectSetInteger(0,obiekt505,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,obiekt505,OBJPROP_XDISTANCE,CHWPX+1565);
ObjectSetInteger(0,obiekt505,OBJPROP_YDISTANCE,540);
ObjectDelete(0,obiekt506);
ObjectDelete(obiekt506);
ObjectCreate(obiekt506,OBJ_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
ObjectSetInteger(0,obiekt506,OBJPROP_COLOR,clrRed);
ObjectSetInteger(0,obiekt506,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,obiekt506,OBJPROP_XDISTANCE,CHWPX+1710);
ObjectSetInteger(0,obiekt506,OBJPROP_YDISTANCE,350);
ObjectDelete(0,obiekt507);
ObjectDelete(obiekt507);
ObjectCreate(obiekt507,OBJ_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
ObjectSetInteger(0,obiekt507,OBJPROP_COLOR,clrRed);
ObjectSetInteger(0,obiekt507,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,obiekt507,OBJPROP_XDISTANCE,CHWPX+1590);
ObjectSetInteger(0,obiekt507,OBJPROP_YDISTANCE,350);
ObjectDelete(0,obiekt508);
ObjectDelete(obiekt508);
ObjectCreate(obiekt508,OBJ_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
ObjectSetInteger(0,obiekt508,OBJPROP_COLOR,clrRed);
ObjectSetInteger(0,obiekt508,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,obiekt508,OBJPROP_XDISTANCE,CHWPX+1470);
ObjectSetInteger(0,obiekt508,OBJPROP_YDISTANCE,520);
ObjectDelete(0,obiekt509);
ObjectDelete(obiekt509);
ObjectCreate(obiekt509,OBJ_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
ObjectSetInteger(0,obiekt509,OBJPROP_COLOR,clrRed);
ObjectSetInteger(0,obiekt509,OBJPROP_FONTSIZE,9);
ObjectSetInteger(0,obiekt509,OBJPROP_XDISTANCE,CHWPX+1760);
ObjectSetInteger(0,obiekt509,OBJPROP_YDISTANCE,500);
// --- initialization of arrays-----
ArrayInitialize(body,10);
ArrayInitialize(bodypips,0);
ArrayInitialize(comp_bodypips,0);
ArrayInitialize(PIPS_COL_DT,0);
ArrayInitialize(PIPS_COL_Price,0);
ArrayInitialize(comp_Sev,0);
ArrayInitialize(Form_Patern_Finder,0);
ArrayInitialize(AllAnalisysData,1000);//Массив инициализирую числом
ArrayInitialize(BodyHorizont_Bin,10);
ArrayInitialize(BodyHorizont_Price,10);
ArrayInitialize(bodyAR,61);
ArrayInitialize(flower_Price_3,0);
ArrayInitialize(flower_Price_3_TIME,0);
ArrayInitialize(Particula,0);
ArrayInitialize(KlasterTime,0);
// ---END---initialization of arrays-----
// --- Initialization of the Telegram Bot
//TelegramSendText(apikey,chatid,"Tatiana_Bot_Initialized_V_1.7");
// ---END---Initialization of the Telegram Bot
//--Индикатор бинарный код - цель получение повторений индикатора
Price1=0;
Price0=0;
// присваивание значения индексам для массива
// IFb1=0;//номер строки
// IFb2=0;// ячейка в строке
// ArrayInitialize(bintoarr,10);//Инициализирую массив при запуске советника
// ArrayInitialize(BinaryToArray,10);//Инициализирую массив при запуске советника
// ArrayInitialize(temparrbin,10);
// ArrayInitialize(temparrbid,10);
// ArrayInitialize(temparrtime,10);
// ArrayInitialize(bintoarrBID,10);
// ArrayInitialize(BinaryToArrayBID,10);
// ArrayInitialize(binrepit,10);
//--Autentification
// if(AccountNumber()!=29856891)
// {
// Alert(" Autentificacion Faild ");
// }
// return(0);
//--END --- Autentification
// - Working with charts ---
ChartSetInteger(0,CHART_SHOW_GRID,0,false);
ChartSetInteger(0,CHART_DRAG_TRADE_LEVELS,0,false);
ChartSetInteger(0,CHART_SHIFT,0,true);
ChartSetDouble(0,CHART_SHIFT_SIZE,25);
ChartSetSymbolPeriod(0,Symbol(),PERIOD_M1);
ChartSetInteger(0,CHART_MODE,CHART_CANDLES);
ChartSetInteger(0,CHART_COLOR_BACKGROUND,clrWhite);
ChartSetInteger(0,CHART_COLOR_FOREGROUND,clrBlack);
ChartSetInteger(0,CHART_COLOR_CHART_UP,clrBlack);
ChartSetInteger(0,CHART_COLOR_CHART_DOWN,clrBlack);
ChartSetInteger(0,CHART_COLOR_CHART_LINE,clrBlack);
ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,clrWhite);
ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,clrBlack);
ChartSetInteger(0,CHART_COLOR_BID,clrGreen);
//---END--- Working with charts ---
printdesc1=1;
printdesc2=0;
printdesc3=0;
printdesc4=0;
printdesc5=0;
// ----- rectangular window object-----
CHWPX=-1;
ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0,CHWPX);
// ---END -- rectangular window object-----
//----General Variables------
BrTime=iTime(Symbol(),0,1);
HIGHT=iHigh(Symbol(),0,1);
im=0;
//--END--General Variables------
//-----------------------Loading Files bbb.bin i bbb_compare.bin into an array---------------------------//
int file_handle12=FileOpen(FileName12,FILE_READ|FILE_WRITE|FILE_BIN);//Loading bbb.bin
//Print("HANDLE bbb.bin ",file_handle12);
if(file_handle12>0)
{
FileSeek(file_handle12,0,SEEK_CUR);
uint test=FileReadArray(file_handle12,bbb,0,WHOLE_ARRAY);
//Print("READ bbb.bin ",test);
FileClose(file_handle12);
}
//-----------------------------------------------------------------------------------
int file_handle13=FileOpen(FileName13,FILE_READ|FILE_WRITE|FILE_BIN);//Loading
//Print("HANDLE bbb_compare ",file_handle13);
if(file_handle13>0)
{
FileSeek(file_handle13,0,SEEK_CUR);
uint test=FileReadArray(file_handle13,bbb_compare,0,WHOLE_ARRAY);
//Print("READ bbb_compare ",test);
FileClose(file_handle13);
}
//-----------------------------------------------------------------------------------
int file_handle25=FileOpen(FileName18,FILE_READ|FILE_WRITE|FILE_BIN);//Loading
//Print("HANDLE CupolPat1.bin Load ",file_handle25);
if(file_handle25>0)
{
FileSeek(file_handle25,0,SEEK_CUR);
uint test=FileReadArray(file_handle25,Form_Patern_Finder,0,WHOLE_ARRAY);
Print("READ CupolPat1.bin ",test);
FileClose(file_handle25);
}
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
int file_handle26=FileOpen(FileName10,FILE_READ|FILE_WRITE|FILE_BIN);//Loading
//Print("HANDLE CupolPat1.bin Load ",file_handle25);
if(file_handle26>0)
{
FileSeek(file_handle26,0,SEEK_CUR);
uint test=FileReadArray(file_handle26,DT_Form_Patern_Finder,0,WHOLE_ARRAY);
//Print("READ CupolPat1.bin ",test);
FileClose(file_handle26);
}
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
int file_handle27=FileOpen(FileName25,FILE_READ|FILE_WRITE|FILE_BIN);//Loading
//Print("HANDLE CupolPat1.bin Load ",file_handle25);
if(file_handle27>0)
{
FileSeek(file_handle27,0,SEEK_CUR);
uint test=FileReadArray(file_handle27,flower_Price_3,0,WHOLE_ARRAY);
//Print("READ CupolPat1.bin ",test);
FileClose(file_handle27);
}
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
int file_handle28=FileOpen(FileName26,FILE_READ|FILE_WRITE|FILE_BIN);//Loading
//Print("HANDLE CupolPat1.bin Load ",file_handle25);
if(file_handle28>0)
{
FileSeek(file_handle28,0,SEEK_CUR);
uint test=FileReadArray(file_handle28,flower_Price_3_TIME,0,WHOLE_ARRAY);
//Print("READ CupolPat1.bin ",test);
FileClose(file_handle28);
}
//-----------------------------------------------------------------------------------
// int file_handle15=FileOpen(FileName15,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка
// Print("PIPS_COL_DT ",file_handle15);
// if(file_handle15>0)
// {
//FileSeek(file_handle15,0,SEEK_CUR);
// uint test=FileReadArray(file_handle15,PIPS_COL_DT,0,WHOLE_ARRAY);
// Print("READ PIPS_COL_DT ",test);
// FileClose(file_handle15);
// }
//-----------------------------------------------------------------------------------
//int file_handle16=FileOpen(FileName16,FILE_READ|FILE_WRITE|FILE_BIN);//Загрузка
// Print("PIPS_COL_Price ",file_handle16);
// if(file_handle16>0)
// {
// FileSeek(file_handle16,0,SEEK_CUR);
// uint test=FileReadArray(file_handle16,PIPS_COL_Price,0,WHOLE_ARRAY);
// Print("READ PIPS_COL_Price ",test);
// FileClose(file_handle16);
// }
//-------Loading previously collected and filtered data-----------------------------
int file_handle17=FileOpen(FileName21,FILE_READ|FILE_WRITE|FILE_BIN);//Loading
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);//Loading
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);//m
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_handle30=FileOpen(FileName28,FILE_READ|FILE_WRITE|FILE_BIN);//m
if(file_handle30>0)
{
FileSeek(file_handle30,0,SEEK_CUR);
uint test=FileReadArray(file_handle30,KlasterTime,0,WHOLE_ARRAY);
FileClose(file_handle30);
}
//-----------------------------------------------------------------------------------
//-----END Loading previously collected and filtered data----------------------------
// ----- The function that reflects the "circle" symbol on the chart when loading the algorithm into memory--
time_BR=Time[0];
if(time_BR!=0)
Text_OBJ_LABEL("Tx_FM",1,1,50,"l",28,"Wingdings",clrGreen);
else
Text_OBJ_LABEL("Tx_FM",1,1,50,"l",28,"Wingdings",clrRed);
// -----END --- The function that reflects the "circle" symbol on the chart when loading the algorithm into memory--
return(0);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
int start()
{
if(time_bar!=Time[0])// Body area containing binary code analyzers
{
//----
time_bar=Time[0];
// ---- unwrap writing the body array and writing data to the week array
// --- I write to 3 arrays using the index. Array 1 Binary sequence Array 2 price corresponding to the binary sequence 3 candle open time
// --- It is necessary to combine the array data with a separate script
// --- arrays are 7210 lines in size and 10000 width
int inx;
for(inx=1; inx<=7209; inx++)
{
if(Array_Errors==true)
{
Print(" Index Array ",inx," Array Name BodyHorizont_Bin 937");
}
if(BodyHorizont_Bin[inx,1]==10)//индекс заполняемой строки в массиве
{
break;
}
}
// rewrite from vertical to horizontal
// Assigning candle time values to an array
BodyHorizont_Time[inx]=iTime(Symbol(),0,1);
int inx_1;
for(inx_1=1; inx_1<=99998; inx_1++)
{
if(Array_Errors==true)
{
Print(" Index Array ",inx_1," Array Name Body 952");
}
//Print("Body Init ",body[inx_1,0]);//Ошибок НЕТ
if(body[inx_1,0]==10)// line number where writing to the array ended
{
break;
}
}
// Add the use of Hep overshoot to the top or bottom
// For gaps, use calculations that determine the number of pips.
// Correction of the first value from the previous record.
// You need to select the value of the last item in the array
// Assign the binary code values to the BodyHorizont_Bin and BodyHorizont_Price array and compare with the first price and bincode value in the Body array
// If the price is the same as in the body, then the new record is assigned the value of the last record of the body array. Horizon example Body 1 1.13200 and body horizon 1 1.13200
// If the price is the same as in the body, then the new record is assigned the value of the last record of the body array. Horizon example Body 1 1.13200 and body horizon 0 1.13200 then change the value to 0
// if the price in the body has decreased from the price of the bodyhorizon, then set 0; if it has risen, then set 1
// define the end of the previous record in the BodyHorizont_Bin array through the pho loop
if(GAP==true)
{
int fg;
int swi=0;
if(inx>1)// the first record in the array is skipped
{
for(fg=1; fg<=1999; fg++)
{
if(Array_Errors==true)
{
Print(" Index Array ",fg," Array Name BodyHorizont_Bin 979");
}
//Print("fg ",fg);
if(BodyHorizont_Bin[inx-1,fg]==10)
{
break;
}
}
// ----- Defining a gap when opening a new bar-----
if(inx>1 && body[1,0]<3)// the first record in the array is skipped
{
if(BodyHorizont_Price[inx-1,fg-1]!=body[1,0])
{
if(BodyHorizont_Price[inx-1,fg-1]>body[1,0])// The closing price is higher than the opening price, which means the price has dropped
{
PipsDif=NormalizeDouble(((NormalizeDouble(BodyHorizont_Price[inx-1,fg-1],5)-NormalizeDouble(body[1,0],5))*100000),0);// Get the number of pips of the price difference
//Print(" PipsDIf 1 ",PipsDif);
swi=1;
}
if(BodyHorizont_Price[inx-1,fg-1]
1 && body[1,3]<3)// the first record in the array is skipped
{
if(BodyHorizont_Price[inx-1,fg-1]!=body[1,3])
{
if(BodyHorizont_Price[inx-1,fg-1]>body[1,3])// The closing price is higher than the opening price, which means the price has dropped
{
PipsDif=NormalizeDouble(((NormalizeDouble(BodyHorizont_Price[inx-1,fg-1],5)-NormalizeDouble(body[1,3],5))*100000),0);// Get the number of pips of the price difference
//Print(" PipsDIf 3 ",PipsDif);
swi=1;
}
if(BodyHorizont_Price[inx-1,fg-1]1)// the first record in the array is skipped
{
for(fgf=1; fgf<=99998; fgf++)
{
if(Array_Errors==true)
{
Print(" Index Array ",fgf," Array Name Body 1032");
}
//Print("fg ",fg);
if(body[fgf,0]==10)
{
break;
}
}
}
// ----- I overwrite arrays -----------------
for(fgo=0; fgo<4; fgo++)
{
for(fgi=1; fgibody[1,0])// If the price is the same in the arrays and the binary code is the same, then I skip the action
{
body[1,1]=0;// If the price in BODY is less than in BodyHorizont then I assign 0
}
if(BodyHorizont_Price[inx-1,fg-1]==body[1,0] && BodyHorizont_Bin[inx-1,fg-1]!=body[1,1])// If the price is the same in the arrays and the binary code is the same, then I skip the action
{
body[1,1]=BodyHorizont_Bin[inx-1,fg-1];// If the price in the body is more than in the bodyhorizont, then I assign 1
}
}
int inx_2;
for(inx_2=1; inx_20)
{
FileSeek(file_handle21,0,SEEK_CUR);
uint test=FileWriteArray(file_handle21,BodyHorizont_Bin,0,WHOLE_ARRAY);
FileClose(file_handle21);
}
//-----------------------------------------------------------------------------------
int file_handle22=FileOpen(FileName22,FILE_READ|FILE_WRITE|FILE_BIN);
if(file_handle22>0)
{
FileSeek(file_handle22,0,SEEK_CUR);
uint test=FileWriteArray(file_handle22,BodyHorizont_Price,0,WHOLE_ARRAY);
FileClose(file_handle22);
}
//-----------------------------------------------------------------------------------
int file_handle23=FileOpen(FileName23,FILE_READ|FILE_WRITE|FILE_BIN);
if(file_handle23>0)
{
FileSeek(file_handle23,0,SEEK_CUR);
uint test=FileWriteArray(file_handle23,BodyHorizont_Time,0,WHOLE_ARRAY);
FileClose(file_handle23);
}
}
}//END GAP
//------Loading data from an array-----------
// ----- testing process
//-----Индексы
//Print("Индекс записи inx ",inx);
//Print("Глубина Боди inx_1 ",inx_1);
//Print("Колличество заполненных элементов inx_2 ",inx_2);
//-----Проверка записи
//for(int ghj=1; ghj<2000; ghj++)
// {
// if(BodyHorizont_Price[inx,ghj]==10)
//{
// Print(" Конец заполненой строки ",ghj);
// break;
// }
// }
// Print("Цена начало боди ",body[1,0]);
// Print("Цена конец боди ",body[inx_1-1,0]);
// Print("Бинкод начало боди ",body[inx_1,1]);
// Print("Бинкод Конец боди ",body[inx_1-1,1]);
//Print("Бинкод начало массива ",BodyHorizont_Bin[inx,1]);
//Print("Бинкод Конец массива ",BodyHorizont_Bin[inx,inx_1-1]);
//Print("Цена начало массива ",BodyHorizont_Price[inx,1]);
//Print("Цена конец массива ",BodyHorizont_Price[inx,inx_1-1]);
//Print("Цена начало массива -контроль ",BodyHorizont_Price[inx,0]);
//Print("Цена конец массива - контроль ",BodyHorizont_Price[inx,inx_1]);
//Print("Бинкод начало массива -контроль ",BodyHorizont_Bin[inx,0]);
//Print("Бинкод конец массива - контроль ",BodyHorizont_Bin[inx,inx_1]);
//Print("Время - контроль ",BodyHorizont_Time[inx]);
//----------------------------------------------------------
//for(int mn=1; mn0 && body[1,0]<3)
{
if(body[1,1]==1)// If there is 1 in a binary cell, then indicate the price above + 0.00001
{
// Indicate the price
double price=body[1,0]+0.00001;// Get the price of the pointer
bodypips[1,0]=price;// Assign the price to the first box of the array. The array is filled with 0;
bodypips[1,1]=bodypips[1,1]+1;// Increase the value of the array + 1;
}
if(body[1,1]==0)// If in binary cell 1, then indicate the price higher - 0.00001
{
// Indicate the price
double price=body[1,0]-0.00001;//Get the price of the pointer
bodypips[1,0]=price;// Assign the price to the first box of the array. The array is filled with 0;
bodypips[1,1]=bodypips[1,1]+1;// Increase the value of the array + 1;
}
}
if(body[1,3]>0 && body[1,3]<3)
{
if(body[1,1]==1)// If there is 1 in a binary cell, then indicate the price above + 0.00001
{
// Indicate the price
double price=body[1,3]+0.00001;//Получаю цену указателя
bodypips[1,0]=price;// Assign the price to the first box of the array. The array is filled with 0;
bodypips[1,1]=bodypips[1,1]+1;// Increase the value of the array + 1;
}
if(body[1,1]==0)//Если в бинарной ячейке 1 то указуваем на цену выше - 0,00001
{
// Indicate the price
double price=body[1,3]-0.00001;//Получаю цену указателя
bodypips[1,0]=price;// Assign the price to the first box of the array. The array is filled with 0;
bodypips[1,1]=bodypips[1,1]+1;// Increase the value of the array + 1;
}
}
// ----- Processing the loop from the second line of the array -----
Switch1=0;// Switch between iterations
for(iaq=2; iaq<=99998; iaq++)// Iterate through the body array
{
if(Array_Errors==true)
{
Print(" Index Array ",iaq," Array Name Body 1248");
}
Switch1=0;// Assign 0 when re-entering the overflow
if(body[iaq,0]>0 && body[iaq,0]<3)
{
// ---------- Processing 1 --------------
if(body[iaq,1]==1)// If there is 1 in a binary cell, then indicate the price above + 0.00001
{
// Indicate the price
double price=body[iaq,0]+0.00001;// Get the price of the pointer
int findeprice=0;//
int Break1=0;//exit from enumeration 1
int Break2=0;//exit from enumeration 1
for(ibq=1; ibq<=99998; ibq++)//Perebor stolbca 1
{
if(Array_Errors==true)
{
Print(" Index Array ",ibq," Array Name Bodypips 1265");
}
//Print("Price -7 ",price);
if(bodypips[ibq,0]==price)
{
//bodypips[ib,0]=price;//Присваиваю цену в первую ящейку массива.Массив заполнен 0;
bodypips[ibq,1]=bodypips[ibq,1]+1;
findeprice=1;// Assign 1 since we entered the body
Break1=1;// Assign 1 since we entered the body
Switch1=1;// Function executed; switch to column 3 is not necessary
break;
}
if(Break1==1)
{
break;
}
}
// ------ If there is no price, then add the price below ------
if(findeprice==0)// If the price is not found, then you need to add an entry to the arrayь
{
for(ibq=1; ibq<=99998; ibq++)
{
if(Array_Errors==true)
{
Print(" Index Array ",inx," 1289");
}
if(bodypips[ibq,0]==0)
{
//Print("Price -6 ",price);
bodypips[ibq,0]=price;
bodypips[ibq,1]=bodypips[ibq,1]+1;
Break2=1;
Switch1=1;
break;
}
if(Break2==1)
{
break;
}
}
}
}
// ------ Processing 0 ------
if(body[iaq,1]==0)// If in binary cell 1, then indicate the price higher - 0.00001
{
double price=body[iaq,0]-0.00001;// Get the price of the pointer
int findeprice=0;
int Break1=0;
int Break2=0;
Switch1=1;
for(ibq=1; ibq<=99998; ibq++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ibq," 1319");
}
//Print("Price -5 ",price);
if(bodypips[ibq,0]==price)
{
//bodypips[ib,0]=price;
bodypips[ibq,1]=bodypips[ibq,1]+1;
findeprice=1;
Break1=1;
break;
}
if(Break1==1)
{
break;
}
}
// ------ If there is no price, then add the price below -------
if(findeprice==0)// If the price is not found, then you need to add an entry to the array
{
for(ibq=1; ibq<=99998; ibq++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ibq," 1342");
}
if(bodypips[ibq,0]==0)
{
//Print("Price -4 ",price);
bodypips[ibq,0]=price;
bodypips[ibq,1]=bodypips[ibq,1]+1;
Break2=1;
Switch1=1;
break;
}
if(Break2==1)
{
break;
}
}
}
}
//---
}
if(Switch1==0)// If the switch is 1, then iterate over column 3
{
// ------- If the price record in the array is in column 3 ------
if(body[iaq,3]>0 && body[iaq,3]<3)
{
if(body[iaq,1]==1)// If there is 1 in a binary cell, then indicate the price above + 0.00001
{
double price=body[iaq,3]+0.00001;
int findeprice=0;
int Break1=0;
int Break2=0;
for(ibq=1; ibq<=99998; ibq++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ibq," 1377");
}
//Print("Price -3 ",price);
if(bodypips[ibq,0]==price)
{
//bodypips[ib,0]=price;
bodypips[ibq,1]=bodypips[ibq,1]+1;
findeprice=1;
Break1=1;
break;
}
if(Break1==1)
{
break;
}
}
// ------- If there is no price, then add the price below ------
if(findeprice==0)//Если не найдена цена значит нужно добавить в массив запись
{
for(ibq=1; ibq<=99998; ibq++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ibq," 1400");
}
if(bodypips[ibq,0]==0)
{
//Print("Price -2 ",price);
bodypips[ibq,0]=price;
bodypips[ibq,1]=bodypips[ibq,1]+1;
Break2=1;
break;
}
if(Break2==1)
{
break;
}
}
}
}
// ---------- Processing 0 ----------------
if(body[iaq,1]==0)// If in binary cell 1, then indicate the price higher - 0.00001
{
double price=body[iaq,3]-0.00001;
int findeprice=0;
int Break1=0;
int Break2=0;
for(ibq=1; ibq<=99998; ibq++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ibq," 1428");
}
//Print("Price -1 ",price);
if(bodypips[ibq,0]==price)
{
//bodypips[ib,0]=price;
bodypips[ibq,1]=bodypips[ibq,1]+1;
findeprice=1;
Break1=1;
break;
}
if(Break1==1)
{
break;
}
}
// ------ If there is no price, then add the price below ------
if(findeprice==0)
{
for(ibq=1; ibq<=99998; ibq++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ibq," 1451");
}
if(bodypips[ibq,0]==0)
{
//Print("Price ",price);
bodypips[ibq,0]=price;
bodypips[ibq,1]=bodypips[ibq,1]+1;
Break2=1;
break;
}
if(Break2==1)
{
break;
}
}
}
}
}
}
}
for(int ic=1; ic<=99998; ic++)//Perebor stolbca 1
{
if(Array_Errors==true)
{
Print(" Index Array ",ic," 1475");
}
comp_bodypips[ic]=bodypips[ic,1];
//Print("line 1031 ",bodypips[ic,1]);
//Print("line 1032 ",bodypips[ic,0]);
if(bodypips[ic,0]==0)
{
break;
}
}
MaxInd_bodypips=ArrayMaximum(comp_bodypips,WHOLE_ARRAY,0);// Get the index in the array in which the binary code for the price showed the most
//+------------------------------------------------------------------+
//|END Maximum Price Reference |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Counter Summa 1/0 - Maximum , Minimum INDICARTOR |
//+------------------------------------------------------------------+
k=0;
ArrayInitialize(MaxMinArr,0);
int inf;
int ic;
for(ic=1; ic<=99998; ic++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ic," 1500");
}
if(body[ic,0]==10)
{
break;
}
}
inf=ic-1;
int b1=(int)body[1,1];
if(b1==1)
{
k=1;
};
if(b1==0)
{
k=0;
};
MaxMinArr[1,1]=k;
MaxMinArr[1,2]=k;
//-----------------------------
int ina;
for(ina=2; ina<=inf; ina++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ina," 1525");
}
if(body[ina,1]==1)
{
k++;
MaxMinArr[1,1]=k;
//Print(" k++ ",k);
}
if(body[ina,1]==0)
{
k--;
MaxMinArr[1,2]=k;
// Print(" k-- ",k);
}
}
//Print(" k++ Ar",MaxMinArr[1,1]," k-- Ar",MaxMinArr[1,2]);
//--------Max Min Numbers
Maximum=MaxMinArr[1,1];//bool
Minimum=MaxMinArr[1,2];//bear
//Print(" Maximum ",Maximum," Minimum ",Minimum);
///-----------------------------
double operandopen=iOpen(Symbol(),PERIOD_M1,1);
double operandclose=iClose(Symbol(),PERIOD_M1,1);
if(body[zeroindex,0]>0 && body[zeroindex,0]<2)
{
PriceZero=body[zeroindex,0];//Цена первого 0
}
else
PriceZero=body[zeroindex,3];
//Print(" PriceZero ",PriceZero);
//----------Индикатор сложения бинарного кода с ценой зеро-----------------
if(Maximum>0)
{
restantemaximum=NormalizeDouble(Maximum*Point,5);
resOperandMax=operandopen-restantemaximum;
}
if(Maximum<0)
{
Maximum=MathAbs(Maximum);
restantemaximum=NormalizeDouble(Maximum*Point,5);
resOperandMax=operandopen-restantemaximum;
}
//Print(" restantemaximum ",restantemaximum," Maximum ",Maximum," operandopen ",operandopen," resOperandMax ",resOperandMax);
if(Minimum>0)
{
restanteminimum=NormalizeDouble(Minimum*Point,5);
resOperandMin=operandclose+restanteminimum;
}
if(Minimum<0)
{
Minimum=MathAbs(Minimum);
restanteminimum=NormalizeDouble(Minimum*Point,5);
resOperandMin=operandclose+restanteminimum;
}
//Print(" restanteminimum ",restanteminimum," Minimum ",Minimum," operandclose ",operandclose," resOperandMin ",resOperandMin);
bool tr=false;
if(resOperandMax==PriceZero || resOperandMin==PriceZero)
{
tr=true;
}
//Print( " tr ",tr);
// --- The last digit indicates the type of resistance that formed inside the candle --- //
//int LasData=MaxMinArr[inf];// Used for the divergence indicator
//+------------------------------------------------------------------+
//| END Counter Summa 1/0 - Maximum , Minimum INDICARTOR Vivos Bo Muertos Be |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|Sunflower Seed sides |
//+------------------------------------------------------------------+
// ----- Formula 2 - If the new price is higher than the previous one, then the resulting maximum is translated into pips and summed up to the previous price (price + 1) price
// If the new price is less than the previous one, then the resulting maximum is translated into pips and minus the previous price (price-1) price.
// The obtained result is compared with the current price. If the price has risen and the current price is less than price-1 plus pips, then the price is inside
// If the price has dropped and the price is higher than the price-1 minus pips, then the price is inside I will Condition 0
// If the price has risen and the current price is higher than the price-1 plus pips, then the price is outside
// If the price has dropped and the price is less than price-1 minus pips, then the price is outside and I will Condition 1
double PipsPrice=NormalizeDouble(pips_Menus_one*Point,5);
BinInd3BO=10;
BinInd3BE=10;
//Указатель Мама Папа и Крёсный и Крёсная
if(bodypips[MaxInd_bodypips,0]>price_Menus_one)
{
price_plus=price_Menus_one+PipsPrice;// Summed to the price -1 pips of the maximum -1
if(bodypips[MaxInd_bodypips,0]price_plus)
{
//Салко Гриша
BinInd3=1;
BinInd3BO=1;
Bo="Bo_"+IntegerToString(BinInd3);
//Подача значений на маховик
Bo_1=1;//Подача значений для X
z_Bo_1=1;//Подача значений для Z
Bo_1_C=1;//Подача значений для Kupol
f_Bo_1=1;// Складывание в Лепесток
//Обнуление преременных подачи после расчёта по блоку
Be_0_C=0;
Bo_0_C=0;
Be_1_C=0;
}
}
//------------------------------------------------
if(bodypips[MaxInd_bodypips,0]price_minus)
{
//ЛАврова Ольга Сергеевна
BinInd3=0;
BinInd3BE=0;
Be="Be_"+IntegerToString(BinInd3);
//Подача значений на маховик
Be_0=1;//Подача значений для X
z_Be_0=1;//Подача значений для Z
Be_0_C=1;//Подача значений для Kupol
f_Be_0=1;// Складывание в Лепесток
//Обнуление преременных подачи после расчёта по блоку
Bo_0_C=0;
Be_1_C=0;
Bo_1_C=0;
}
if(bodypips[MaxInd_bodypips,0]Price0)
{
CurPips=NormalizeDouble((Price1-Price0),5)*mult;
}
// -------------- Phase 2 ------------- // Divide the received pips by the number of the indicator
Onda1=NormalizeDouble(CurPips/bodypips[MaxInd_bodypips,1],5);
//Print(" CurPips ",CurPips," Onda1 ",Onda1);
}
int indmas;//Index
for(indmas=1; indmas<=99998; indmas++)
{
if(Array_Errors==true)
{
Print(" Index Array ",indmas," 1728");
}
if(PIPS_COL_Price[indmas,0]==0)
{
break;
}
}
if(bodypips[MaxInd_bodypips,0]>price_Menus_one)
{
PIPS_COL_Price[indmas,2]=0;// Boolean type
PIPS_COL_Price[indmas,3]=1;// Subtype 0/1
}
if(bodypips[MaxInd_bodypips,0]=Kolvo_zeren_dlya_Sbora)
{
string SM_AV=IntegerToString(kolvo_zeren);
SendNotification(SM_AV);
//Print(" beans collected from the field Let's start making coffee - https://send.monobank.ua/jar/2GXP5PQZRz https://m.facebook.com/profile.php/?id=100061828946176 https://m.facebook.com/profile.php/?id=100069337776471 https://youtu.be/9xMScFIFcz4?si=Uqyk0CV-ZLV8zZa-",kolvo_zeren);
kolvo_zeren=0;
}
RefreshRates();
datetime IreceiveBarTime=iTime(Symbol(),0,1);
bartimeresult=IreceiveBarTime;
IreceiveLevelresult=one_BE;
HIGHT=iHigh(Symbol(),0,1);
LOW=iLow(Symbol(),0,1);
CLOSE=iClose(Symbol(),0,1);
OPEN=iOpen(Symbol(),0,1);
normalLevel=IreceiveLevelresult*Point;
center=NormalizeDouble(HIGHT-((HIGHT-LOW)/2),NormalizaDigi);
DoublspredPoint=spredpoints*Point();
LEVELUP=NormalizeDouble((center+normalLevel),NormalizaDigi);//1
LEVELDOWN=NormalizeDouble((center-normalLevel),NormalizaDigi);//1
IpaintFiboLineUP_2=NormalizeDouble((LEVELUP+(normalLevel*2)),NormalizaDigi);//2
IpaintFiboLineUP_3=NormalizeDouble((IpaintFiboLineUP_2+(normalLevel*3)),NormalizaDigi);//3
IpaintFiboLineUP_5=NormalizeDouble((IpaintFiboLineUP_3+(normalLevel*5)),NormalizaDigi);//5
IpaintFiboLineUP_8=NormalizeDouble((IpaintFiboLineUP_5+(normalLevel*8)),NormalizaDigi);//8
IpaintFiboLineUP_13=NormalizeDouble((IpaintFiboLineUP_8+(normalLevel*13)),NormalizaDigi);//13
IpaintFiboLineUP_21=NormalizeDouble((IpaintFiboLineUP_13+(normalLevel*21)),NormalizaDigi);//21
IpaintFiboLineUP_34=NormalizeDouble((IpaintFiboLineUP_21+(normalLevel*34)),NormalizaDigi);
IpaintFiboLineUP_55=NormalizeDouble((IpaintFiboLineUP_34+(normalLevel*55)),NormalizaDigi);
IpaintFiboLineUP_89=NormalizeDouble((IpaintFiboLineUP_55+(normalLevel*89)),NormalizaDigi);
IpaintFiboLineUP_144=NormalizeDouble((IpaintFiboLineUP_89+(normalLevel*144)),NormalizaDigi);
IpaintFiboLineDOWN_2=NormalizeDouble((LEVELDOWN-(normalLevel*2)),NormalizaDigi);
IpaintFiboLineDOWN_3=NormalizeDouble((IpaintFiboLineDOWN_2-(normalLevel*3)),NormalizaDigi);
IpaintFiboLineDOWN_5=NormalizeDouble((IpaintFiboLineDOWN_3-(normalLevel*5)),NormalizaDigi);
IpaintFiboLineDOWN_8=NormalizeDouble((IpaintFiboLineDOWN_5-(normalLevel*8)),NormalizaDigi);
IpaintFiboLineDOWN_13=NormalizeDouble((IpaintFiboLineDOWN_8-(normalLevel*13)),NormalizaDigi);
IpaintFiboLineDOWN_21=NormalizeDouble((IpaintFiboLineDOWN_13-(normalLevel*21)),NormalizaDigi);
IpaintFiboLineDOWN_34=NormalizeDouble((IpaintFiboLineDOWN_21-(normalLevel*34)),NormalizaDigi);
IpaintFiboLineDOWN_55=NormalizeDouble((IpaintFiboLineDOWN_34-(normalLevel*55)),NormalizaDigi);
IpaintFiboLineDOWN_89=NormalizeDouble((IpaintFiboLineDOWN_55-(normalLevel*89)),NormalizaDigi);
IpaintFiboLineDOWN_144=NormalizeDouble((IpaintFiboLineDOWN_89-(normalLevel*144)),NormalizaDigi);
//+------------------------------------------------------------------+
//| END Counter Summa 1/0 - Fibonacci ruler calculation |
//+------------------------------------------------------------------+
// Исходное положение Свеча компинсации. Переустановка значений
if((resOperandMin==PriceZero || resOperandMax==PriceZero) && one_BE>=15 && one_BE<=60 && one_BE!=0 && (Maximum>0 || Maximum<0 || Maximum==0) && (Minimum>0 || Minimum<0 || Minimum==0) && Rez_BE==0 && Compens==true)
{
//Array_Errors=true;
// Установка позиции маховика на Север
sev=1;// обработка события Север
zap=0;
yug=0;
vost=0;
// Установка Лица
lic=1;
izn=0;
// Снятие разрешение на установление севера
Compens=false;
// Установить значения массива на 0 и 1
// Лицо
Sev[1,1]=0;//Be_0
Sev[1,2]=0;//Bo_0
Sev[1,3]=0;//Be_1
Sev[1,4]=0;//Bo_1
// Изнанка
Sev[1,5]=0;//Be_0
Sev[1,6]=0;//Bo_0
Sev[1,7]=0;//Be_1
Sev[1,8]=0;//Bo_1
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//Print(" Last Pips Sincronization ",iTime(Symbol(),PERIOD_M1,0));
Gx=0;
Gy=0;
//Установление значений оси ЗЕТ "Z"
z_sev=1;// обработка события Север
z_zap=0;
z_yug=0;
z_vost=0;
// Установка Лица
z_lic=1;
z_izn=0;
z_Gx=0;
z_Gy=0;
z_Sev[1,1]=0;
z_Sev[1,2]=0;
z_Sev[1,3]=0;
z_Sev[1,4]=0;
// Изнанка
z_Sev[1,5]=1;
z_Sev[1,6]=1;
z_Sev[1,7]=1;
z_Sev[1,8]=1;
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
// Массив цветок
ArrayInitialize(flower,0);
flower_perm=true;
int file_handle14=FileOpen(FileName14,FILE_READ|FILE_WRITE," ");
if(file_handle14>0)
{
FileSeek(file_handle14,0,SEEK_END);
FileWrite(file_handle14,Symbol()," Start Time for flywheel ",iTime(Symbol(),0,1));
FileClose(file_handle14);
}
//Установка в 0 исходных переменных при лице
//Print(" Fly INIT ",Sev[1,1],Sev[1,2],Sev[1,3],Sev[1,4],Sev[1,5],Sev[1,6],Sev[1,7],Sev[1,8]);
//Print(" Step 0 "," sev ",sev," zap ",zap," yug ",yug," vost ",vost );
}//Fin init
//+------------------------------------------------------------------+
//|Sunflower 8 bit volume feed side X calculation |
//+------------------------------------------------------------------+
//Print("Step2 ",Be_0," -Be_0 ",Bo_0," -Bo_0 ",Be_1," -Be_1 ",Bo_1," -Bo_1 ");
//Print("Nueva ronda ",Var1_Be_0," Var1_Be_0 ",Var1_Bo_0," Var1_Bo_0 ",Var1_Be_1," Var1_Be_1 ",Var1_Bo_1," Var1_Bo_ ");
//Подача значений
int Var2_Be_0_p,Var2_Bo_0_p,Var2_Be_1_p,Var2_Bo_1_p;
if(Be_0==1)
{
Var2_Be_0=1;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
Be_0=0;
Bo_0=0;
Be_1=0;
Bo_1=0;
//impresion
Var2_Be_0_p=1;
}
if(Bo_0==1)
{
Var2_Be_0=2;
Var2_Bo_0=1;
Var2_Be_1=2;
Var2_Bo_1=2;
Be_0=0;
Bo_0=0;
Be_1=0;
Bo_1=0;
//impresion
Var2_Bo_0_p=1;
}
if(Be_1==1)
{
Var2_Be_1=1;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Bo_1=2;
Be_0=0;
Bo_0=0;
Be_1=0;
Bo_1=0;
//impresion
Var2_Be_1_p=1;
}
if(Bo_1==1)
{
Var2_Bo_1=1;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Be_0=0;
Bo_0=0;
Be_1=0;
Bo_1=0;
//impresion
Var2_Bo_1_p=1;
}
// Варианты вращение в правильной позиции. Смена строны производится мо методу переварота страницы в книге с лева на право или с права на лево
// Вращение производится базируясь на вторую переменную. После присваивания и расчёта значения из второй переменной перетекают в первую.
//Перед обработкой событий нужно выявить все правила для каждого направления.
//Переприсваивание значения в тойже плоскости и том же лице если выпало тоже самое значение.Пример Be_0 и Be_0
//Asignacion de datos a base de calculos de Claster
// Print("1 - bodypips[MaxInd_bodypips,0] ",bodypips[MaxInd_bodypips,0]);
float opa_float=bodypips[MaxInd_bodypips,0]*100000;
int opa=opa_float;
double opa_double=bodypips[MaxInd_bodypips,0]*100000;
// Print("1- OPA ",opa);
// Print("1- opa_float ",opa_float);
// Print("1- opa_double ",opa_double);
//запуск кластерной архитектуры
//доступ в массив по индексу
int sev_p,zap_p,yug_p,vost_p;
if(flower_Price_3[opa,36]==1)
{
sev=1;
zap=0;
yug=0;
vost=0;
sev_p=1;
}
if(flower_Price_3[opa,36]==2)
{
sev=0;
zap=0;
yug=0;
vost=1;
vost_p=1;
}
if(flower_Price_3[opa,36]==3)
{
sev=0;
zap=0;
yug=1;
vost=0;
yug_p=1;
}
if(flower_Price_3[opa,36]==4)
{
sev=0;
zap=1;
yug=0;
vost=0;
zap_p=1;
}
if(flower_Price_3[opa,35]==1)
{
Var1_Be_0=0;
Var1_Bo_0=1;
Var1_Be_1=1;
Var1_Bo_1=1;
}
if(flower_Price_3[opa,35]==2)
{
Var1_Be_0=1;
Var1_Bo_0=0;
Var1_Be_1=1;
Var1_Bo_1=1;
}
if(flower_Price_3[opa,35]==3)
{
Var1_Be_0=1;
Var1_Bo_0=1;
Var1_Be_1=0;
Var1_Bo_1=1;
}
if(flower_Price_3[opa,35]==4)
{
Var1_Be_0=1;
Var1_Bo_0=1;
Var1_Be_1=1;
Var1_Bo_1=0;
}
// Назначение переменной
if(Var1_Be_0==0 && Var2_Be_0==1)
{
Var1_Bo_0=0;
Var2_Be_0=1;
}
if(Var1_Be_0==2 && Var2_Be_0==1)
{
Var2_Be_0=1;
}
if(Var1_Bo_0==0 && Var2_Bo_0==1)
{
Var1_Be_0=0;
Var2_Bo_0=1;
}
if(Var1_Bo_0==2 && Var2_Bo_0==1)
{
Var2_Bo_0=1;
}
if(Var1_Be_1==0 && Var2_Be_1==1)
{
Var1_Bo_1=0;
Var2_Be_1=1;
}
if(Var1_Be_1==2 && Var2_Be_1==1)
{
Var2_Be_1=1;
}
if(Var1_Bo_1==0 && Var2_Bo_1==1)
{
Var1_Be_1=0;
Var2_Bo_1=1;
}
if(Var1_Bo_1==2 && Var2_Bo_1==1)
{
Var2_Bo_1=1;
}//CHeck ok
//Print("Step3 ",Var1_Be_0," Var1_Be_0 ",Var1_Bo_0," Var1_Bo_0 ",Var1_Be_1," Var1_Be_1 ",Var1_Bo_1," Var1_Bo_1 ");
//Print("Step4 ",Var2_Be_0," Var2_Be_0 ",Var2_Bo_0," Var2_Bo_0 ",Var2_Be_1," Var2_Be_1 ",Var2_Bo_1," Var2_Bo_1 ");
ArrayInitialize(errorprint,0);
bool ChekDIr=true;//еременная разрешающая 1 раз в цикл анализиравать блок направлений по компасу
string BlockNum="0";
// Правильная конфигурация Север
// 1
// Правильная конфигурация Север
// 1
//+------------------------------------------------------------------+
//| Sunflower 1/0 - Cluster meter |
//+------------------------------------------------------------------+
if(sev==1 && Var1_Be_0==0 && Var2_Bo_0==1 && ChekDIr==true)//Если официант подаёт с северной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 2-om место то следует подавать с северной стороны блюдо номер 2
{
Sev_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="S 1";
errorprint[1]=1;
//официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
// 2
if(sev==1 && Var1_Bo_0==0 && Var2_Be_0==1 && ChekDIr==true)//Если официант подаёт с северной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с северной стороны блюдо номер 1
{
Sev_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="S 2";
errorprint[2]=1;
//официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
// 3
if(sev==1 && Var1_Be_1==0 && Var2_Bo_1==1 && ChekDIr==true)//Если официант подаёт с северной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с северной стороны блюдо номер 4
{
Sev_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="S 3";
errorprint[3]=1;
//официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
// 4
if(sev==1 && Var1_Bo_1==0 && Var2_Be_1==1 && ChekDIr==true)//Если официант подаёт с северной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с северной стороны блюдо номер 3
{
Sev_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="S 4";
errorprint[4]=1;
//официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
// 5
// Не правильная конфигурация
//Если официант подаёт с северной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 4-ом место то следует подавать с Восточьной стороны блюдо номер 4 "Используя подачи с левой руки"
if(sev==1 && Var1_Be_0==0 && Var2_Bo_1==1 && ChekDIr==true) //Смещение по регистру с Севера *| на Запад «-
{
// разрешение на обработку события.
Vost_1=1;
Sev_1=0;
Zap_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="S 5";
errorprint[5]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_0=2;
Var1_Be_1=0;
}
//Второй варриант подачи абьёма после разворота по компасу
if(Vol_B_Chang_1==false)
{
Var1_Be_0=2;//Исходная переменная обнуляется для корректной работы механизма
Var1_Bo_1=0;// Правельная переменная
Var2_Be_1=1;//став лицом на восток официант подаёт блюдо-заказ с правой руки ближнюю позицию
// После разворота с севера на Восток, подача с Бо 1 Превращается в Бе1 а значит задействуется вторая правельна переменная для регистра обьёма Бо1
}
//Ссылка на инструкцию
}
// 6
//Если официант подаёт с северной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки"
if(sev==1 && Var1_Bo_1==0 && Var2_Be_0==1 && ChekDIr==true) // Смещение по регистру с Севера *| на Запад «-
{
// разрешение на обработку события. ok
Zap_1=1;
Sev_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="S 6";
errorprint[6]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_1=2;
Var1_Bo_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_1=2;
Var1_Be_0=0;
Var2_Bo_0=1;//став лицом на запад официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
}
// 7
//Если официант подаёт с северной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Западной стороны блюдо номер 3 "Используя подачи с правой руки"
if(sev==1 && Var1_Bo_0==0 && Var2_Be_1==1 && ChekDIr==true) // Смещение по регистру с Севера *| на Восток -» //Если официант подаёт с северной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Западной стороны блюдо номер 3 "Используя подачи с правой руки"
{
// разрешение на обработку события. ok
Vost_1=0;
//Запрет для 3 направлений
Zap_1=1;
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="S 7";
errorprint[7]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_0=2;
Var1_Bo_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_0=2;
Var1_Be_1=0;
Var2_Bo_1=1;//став лицом на запад официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
}
// 8
//Если официант подаёт с северной стороны и предыдущее блюдо на 3-м месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Восточьной стороны блюдо номер 2 "Используя подачи с правой руки"
if(sev==1 && Var1_Be_1==0 && Var2_Bo_0==1 && ChekDIr==true) // Смещение по регистру с Севера *| на Восток -»
{
// разрешение на обработку события. ok
Vost_1=1;
//Запрет для 3 направлений
Zap_1=0;
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="S 8";
errorprint[8]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_1=2;
Var1_Be_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_1=2;
Var1_Bo_0=0;
Var2_Be_0=1;//став лицом на восток официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
}
// 9
//Если официант подаёт с северной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с Южной стороны блюдо номер 4 "Используя подачи с правой руки"
if(sev==1 && Var1_Bo_0==0 && Var2_Bo_1==1 && ChekDIr==true) // Смещение по регистру с Севера *| на Юг .|
{
Yug_1=1;
// разрешение на обработку события.ok
Sev_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="S 9";
errorprint[9]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_0=2;
Var1_Be_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_0=2;
Var2_Bo_1=2;
Var1_Be_0=0;
Var2_Bo_0=1;//став лицом на юг официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
}
// 10
//Если официант подаёт с северной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Южной стороны блюдо номер 2 "Используя подачи с правой руки"
if(sev==1 && Var1_Bo_1==0 && Var2_Bo_0==1 && ChekDIr==true) // Смещение по регистру с Севера *| на Юг .|
{
Yug_1=1;
// разрешение на обработку события.
Sev_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
//Var1_Be_1=0;
//Var2_Bo_1=1;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="S 10";
errorprint[10]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_1=2;
Var1_Be_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_1=2;
Var2_Bo_0=2;
Var1_Be_1=0;
Var2_Bo_1=1;//став лицом на юг официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
}
// 11
//Если официант подаёт с северной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Южной стороны блюдо номер 3 "Используя подачи с правой руки"
if(sev==1 && Var1_Be_0==0 && Var2_Be_1==1 && ChekDIr==true) // Смещение по регистру с Севера *| на Юг .|
{
Yug_1=1;
// разрешение на обработку события. ok
Sev_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="S 11";
errorprint[11]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_0=2;
Var1_Bo_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_0=2;
Var2_Be_1=2;
Var1_Bo_0=0;
Var2_Be_0=1;//став лицом на юг официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
}
// 12
//Если официант подаёт с северной стороны и предыдущее блюдо на 3-eм месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с Южной стороны блюдо номер 1 "Используя подачи с правой руки"
if(sev==1 && Var1_Be_1==0 && Var2_Be_0==1 && ChekDIr==true) // Смещение по регистру с Севера *| на Юг .|
{
Yug_1=1;
// разрешение на обработку события. ok
Sev_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="S 12";
errorprint[12]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_1=2;
Var1_Bo_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_1=2;
Var2_Be_0=2;
Var1_Bo_1=0;
Var2_Be_1=1;//став лицом на юг официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
}
//__________________________________
// Правильная конфигурация Запад
//Если официант подаёт с западной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Be_0==0 && Var2_Bo_0==1 && ChekDIr==true)
{
Zap_1=1;// разрешение на обработку события.
Sev_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Z 1";
errorprint[13]=1;
//став лицом на запад официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
// 2
//Если официант подаёт с западной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Bo_0==0 && Var2_Be_0==1 && ChekDIr==true)
{
Zap_1=1;// разрешение на обработку события.
Sev_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Z 2";
errorprint[14]=1;
//став лицом на запад официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
// 3
//Если официант подаёт с западной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Be_1==0 && Var2_Bo_1==1 && ChekDIr==true)
{
Zap_1=1;// разрешение на обработку события.
Sev_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Z 3";
errorprint[5]=1;
//став лицом на запад официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
// 4
//Если официант подаёт с западной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Bo_1==0 && Var2_Be_1==1 && ChekDIr==true)
{
Zap_1=1;// разрешение на обработку события.
Sev_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Z 4";
errorprint[16]=1;
//став лицом на запад официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
// 5
// Не правильная конфигурация
//Если официант подаёт с западной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с Северной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Be_0==0 && Var2_Bo_1==1 && ChekDIr==true) //Смещение по регистру с Запада «- на Эг |. Смещение против часовой стрелки.
{
// разрешение на обработку события.ok
Yug_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Sev_1=1;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Z 5";
errorprint[17]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_0=2;
Var1_Be_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_0=2;
Var1_Bo_1=0;
Var2_Be_1=1;//став лицом на север официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
}
// 6
//Если официант подаёт с западной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с Южной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Bo_1==0 && Var2_Be_0==1 && ChekDIr==true) //Смещение по регистру с Запада «- на Эг |. Смещение против часовой стрелки.
{
// разрешение на обработку события.ok
Sev_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=1;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="Z 6";
errorprint[18]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_1=2;
Var1_Bo_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_1=2;
Var1_Be_0=0;
Var2_Bo_0=1;//став лицом на юг официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
}
// 7
//Если официант подаёт с западной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Южной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Bo_0==0 && Var2_Be_1==1 && ChekDIr==true) //Смещение по регистру с Запада «- на Севера *| Смещение по часовой стрелке
{
// разрешение на обработку события.ok
Sev_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=1;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="Z 7";
errorprint[19]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_0=2;
Var1_Bo_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_0=2;
Var1_Be_1=0;
Var2_Bo_1=1;//став лицом на юг официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
}
// 8
//Если официант подаёт с западной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Северной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Be_1==0 && Var2_Bo_0==1 && ChekDIr==true) //Смещение по регистру с Запада «- на Севера *| Смещение по часовой стрелке
{
// разрешение на обработку события. ok
Yug_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Sev_1=1;
//Var2_Be_0=1;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Z 8";
errorprint[20]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_1=2;
Var1_Be_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_1=2;
Var1_Bo_0=0;
Var2_Be_0=1;//став лицом на север официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
}
// 9
//Если официант подаёт с западной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Bo_0==0 && Var2_Bo_1==1 && ChekDIr==true) //Смещение по регистру с Запада «- на ВОсток -» Смещение 180 градусов
{
Vost_1=1;
// разрешение на обработку события.ok
Yug_1=0;
//Запрет для 3 направлений
Sev_1=0;
Zap_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="Z 9";
errorprint[21]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_0=2;
Var1_Be_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_0=2;
Var2_Bo_1=2;
Var1_Be_0=0;
Var2_Bo_0=1;//став лицом на восток официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
}
// 10
//Если официант подаёт с западной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки"
if(zap==1 && Var1_Bo_1==0 && Var2_Bo_0==1 && ChekDIr==true) //Смещение по регистру с Запада «- на ВОсток -» Смещение 180 градусов
{
Vost_1=1;
// разрешение на обработку события. ok
Zap_1=0;
//Запрет для 3 направлений
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="Z 10";
errorprint[22]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_1=2;
Var1_Be_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_1=2;
Var2_Bo_0=2;
Var1_Be_1=0;
Var2_Bo_1=1;//став лицом на восток официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
}
// 11
//Если официант подаёт с западной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(zap==1 && Var1_Be_0==0 && Var2_Be_1==1 && ChekDIr==true) //Смещение по регистру с Запада «- на ВОсток -» Смещение 180 градусов
{
Vost_1=1;
// разрешение на обработку события.ok
Zap_1=0;
//Запрет для 3 направлений
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="Z 11";
errorprint[23]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_0=2;
Var1_Bo_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_0=2;
Var2_Be_1=2;
Var1_Bo_0=0;
Var2_Be_0=1;//став лицом на восток официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
}
// 12
//Если официант подаёт с западной стороны и предыдущее блюдо на 3-ом месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(zap==1 && Var1_Be_1==0 && Var2_Be_0==1 && ChekDIr==true) //Смещение по регистру с Запада «- на ВОсток -» Смещение 180 градусов
{
Vost_1=1;
// разрешение на обработку события.ok
Zap_1=0;
//Запрет для 3 направлений
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="Z 12";
errorprint[24]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_1=2;
Var1_Bo_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_1=2;
Var2_Be_0=2;
Var1_Bo_1=0;
Var2_Be_1=1;//став лицом на восток официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
}
//__________________________________
// Правильная конфигурация Восток
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Be_0==0 && Var2_Bo_0==1 && ChekDIr==true)
{
Vost_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="V 1";
errorprint[25]=1;
//став лицом на восток официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
// 2
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 1-е место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Bo_0==0 && Var2_Be_0==1 && ChekDIr==true)
{
Vost_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="V 2";
errorprint[26]=1;
//став лицом на восток официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
// 3
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 4-е место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Be_1==0 && Var2_Bo_1==1 && ChekDIr==true)
{
Vost_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="V 3";
errorprint[27]=1;
//став лицом на восток официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
// 4
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Bo_1==0 && Var2_Be_1==1 && ChekDIr==true)
{
Vost_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="V 4";
errorprint[28]=1;
//став лицом на восток официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
// 5
// Не правильная конфигурация
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с Южной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Be_0==0 && Var2_Bo_1==1 && ChekDIr==true) //Смещение по регистру с Востока -» на Север *| . 9 часов
{
// разрешение на обработку события.
Sev_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=1;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="V 5";
errorprint[29]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_0=2;
Var1_Be_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_0=2;
Var1_Bo_1=0;
Var2_Be_1=1;//став лицом на юг официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
}
// 6
//Если официант подаёт с Восрочной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с Северной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Bo_1==0 && Var2_Be_0==1 && ChekDIr==true) //Смещение по регистру с Востока -» на Север *| 9 часов
{
// разрешение на обработку события.ok
Sev_1=1;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="V 6";
errorprint[30]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_1=2;
Var1_Bo_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_1=2;
Var1_Be_0=0;
Var2_Bo_0=1;//став лицом на север официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
}
// 7
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Северной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Bo_0==0 && Var2_Be_1==1 && ChekDIr==true) // Смещение по регистру с Востока -» на Юг .| 3 часа
{
// разрешение на обработку события.ok
Sev_1=1;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="V 7";
errorprint[31]=1;
if(Vol_B_Chang_1==true)
{
Var1_Bo_0=2;
Var1_Bo_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_0=2;
Var1_Be_1=0;
Var2_Bo_1=1;//став лицом на север официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
}
// 8
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 2-е место то следует подавать с Южной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Be_1==0 && Var2_Bo_0==1 && ChekDIr==true) // Смещение по регистру с Востока -» на Юг .| 3 часа
{
// разрешение на обработку события.ok
Yug_1=1;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Sev_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="V 8";
errorprint[32]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_1=2;
Var1_Be_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_1=2;
Var1_Bo_0=0;
Var2_Be_0=1;//став лицом на юг официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
}
// 9
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Bo_0==0 && Var2_Bo_1==1 && ChekDIr==true) // Смещение по регистру с Востока -» на Запад «- 6 часов
{
Zap_1=1;
// разрешение на обработку события.ok
Yug_1=0;
//Запрет для 3 направлений
Sev_1=0;
Vost_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="V 9";
errorprint[33]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_0=2;
Var1_Be_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_0=2;
Var2_Bo_1=2;
Var1_Be_0=0;
Var2_Bo_0=1;//став лицом на запад официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
}
// 10
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Bo_1==0 && Var2_Bo_0==1 && ChekDIr==true) // Смещение по регистру с Востока -» на Запад «- 6 часов
{
Zap_1=1;
// разрешение на обработку события.ok
Yug_1=0;
//Запрет для 3 направлений
Sev_1=0;
Vost_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="V 10";
errorprint[34]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_1=2;
Var1_Be_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_1=2;
Var2_Bo_0=2;
Var1_Be_1=0;
Var2_Bo_1=1;//став лицом на запад официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
}
// 11
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Be_0==0 && Var2_Be_1==1 && ChekDIr==true) // Смещение по регистру с Востока -» на Запад «- 6 часов
{
Zap_1=1;
// разрешение на обработку события.ok
Vost_1=0;
//Запрет для 3 направлений
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="V 11";
errorprint[35]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_0=2;
Var1_Bo_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_0=2;
Var2_Be_1=2;
Var1_Bo_0=0;
Var2_Be_0=1;//став лицом на запад официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
}
// 12
//Если официант подаёт с Восточной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(vost==1 && Var1_Be_1==0 && Var2_Be_0==1 && ChekDIr==true) // Смещение по регистру с Востока -» на Запад «- 6 часов
{
Zap_1=1;
// разрешение на обработку события.ok
Vost_1=0;
//Запрет для 3 направлений
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="V 12";
errorprint[36]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_1=2;
Var1_Bo_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_1=2;
Var2_Be_0=2;
Var1_Bo_1=0;
Var2_Be_1=1;//став лицом на запад официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
}
//__________________________________
// Правильная конфигурация Юг
// 1
//Если официант подаёт с Южной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Южной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Be_0==0 && Var2_Bo_0==1 && ChekDIr==true)
{
Yug_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Sev_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="Y 1";
errorprint[37]=1;
//став лицом на юг официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
// 2
//Если официант подаёт с Южной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Южной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Bo_0==0 && Var2_Be_0==1 && ChekDIr==true)
{
Yug_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Sev_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="Y 2";
errorprint[38]=1;
//став лицом на юг официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
// 3
//Если официант подаёт с Южной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с Южной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Be_1==0 && Var2_Bo_1==1 && ChekDIr==true)
{
Yug_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Sev_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="Y 3";
errorprint[39]=1;
//став лицом на юг официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
// 4
//Если официант подаёт с Южной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Южной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Bo_1==0 && Var2_Be_1==1 && ChekDIr==true)
{
Yug_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Sev_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=1;
vost=0;
ChekDIr=false;
BlockNum="Y 4";
errorprint[40]=1;
//став лицом на юг официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
// 5
// Не правильная конфигурация
//Если официант подаёт с Южной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Be_0==0 && Var2_Bo_1==1 && ChekDIr==true) //Смещение по регистру с Юга на .| на Восток -» 9 часов
{
// разрешение на обработку события.ok
Zap_1=1;
//Запрет для 3 направлений
Vost_1=0;
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Y 5";
errorprint[41]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_0=2;
Var1_Be_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_0=2;
Var1_Bo_1=0;
Var2_Be_1=1;//став лицом на запад официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
}
// 6
//Если официант подаёт с Южной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Bo_1==0 && Var2_Be_0==1 && ChekDIr==true) //Смещение по регистру с Юга на .| на Восток -» 9 часов
{
// разрешение на обработку события.ok
Vost_1=1;
//Запрет для 3 направлений
Zap_1=0;
Sev_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="Y 6";
errorprint[42]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_1=2;
Var1_Bo_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_1=2;
Var1_Be_0=0;
Var2_Bo_0=1;//став лицом на восток официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
}
// 7
//Если официант подаёт с Южной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Восточной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Bo_0==0 && Var2_Be_1==1 && ChekDIr==true) // Смещение по регистру с Юга на .| на Запад «- 3 часа
{
// разрешение на обработку события.ok
Vost_1=1;
//Запрет для 3 нап равлений
Sev_1=0;
Zap_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=0;
yug=0;
vost=1;
ChekDIr=false;
BlockNum="Y 7";
errorprint[43]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_0=2;
Var1_Bo_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_0=2;
Var1_Be_1=0;
Var2_Bo_1=1;//став лицом на восток официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
}
// 8
//Если официант подаёт с Южной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Западной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Be_1==0 && Var2_Bo_0==1 && ChekDIr==true) // Смещение по регистру с Юга на .| на Запад «- 3 часа
{
// разрешение на обработку события.ok
Zap_1=1;
//Запрет для 3 направлений
Sev_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=0;
zap=1;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Y 8";
errorprint[44]=1;
//Перекласификация после разворота с класса 90 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_1=2;
Var1_Be_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_1=2;
Var1_Bo_0=0;
Var2_Be_0=1;//став лицом на запад официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
}
// 9
//Если официант подаёт с Южной стороны и предыдущее блюдо на 2-ом месте а подаваемое блюдо Катируется в списке товара на 4-ое место то следует подавать с Северной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Bo_0==0 && Var2_Bo_1==1 && ChekDIr==true) // Смещение по регистру с Юга на .| на Север *| 6 часов
{
Sev_1=1;
// разрешение на обработку события.ok
Yug_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Y 9";
errorprint[45]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_0=2;
Var1_Be_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_0=2;
Var2_Bo_1=2;
Var1_Be_0=0;
Var2_Bo_0=1;//став лицом на север официант подаёт блюдо-заказ с правой руки дальнюю позицию
}
}
// 10
//Если официант подаёт с Южной стороны и предыдущее блюдо на 4-ом месте а подаваемое блюдо Катируется в списке товара на 2-ое место то следует подавать с Северной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Bo_1==0 && Var2_Bo_0==1 && ChekDIr==true) // Смещение по регистру с Юга на .| на Север *| 6 часов
{
Sev_1=1;
// разрешение на обработку события.ok
Yug_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Y 10";
errorprint[46]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Bo_1=2;
Var1_Be_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Bo_1=2;
Var2_Bo_0=2;
Var1_Be_1=0;
Var2_Bo_1=1;//став лицом на север официант подаёт блюдо-заказ с левой руки ближнюю позицию
}
}
// 11
//Если официант подаёт с Южной стороны и предыдущее блюдо на 1-ом месте а подаваемое блюдо Катируется в списке товара на 3-е место то следует подавать с Северной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Be_0==0 && Var2_Be_1==1 && ChekDIr==true) // Смещение по регистру с Юга на .| на Север *| 6 часов
{
Sev_1=1;
// разрешение на обработку события.ok
Yug_1=0;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Y 11";
errorprint[47]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_0=2;
Var1_Bo_1=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_0=2;
Var2_Be_1=2;
Var1_Bo_0=0;
Var2_Be_0=1;//став лицом на север официант подаёт блюдо-заказ с левой руки дальнюю позицию
}
}
// 12
//Если официант подаёт с Южной стороны и предыдущее блюдо на 3-ем месте а подаваемое блюдо Катируется в списке товара на 1-ое место то следует подавать с Северной стороны блюдо номер 1 "Используя подачи с правой руки" .
if(yug==1 && Var1_Be_1==0 && Var2_Be_0==1 && ChekDIr==true) // Смещение по регистру с Юга на .| на Север *| 6 часов
{
// разрешение на обработку события.ok
Sev_1=1;
//Запрет для 3 направлений
Zap_1=0;
Vost_1=0;
Yug_1=0;
//Проверка значения направления
sev=1;
zap=0;
yug=0;
vost=0;
ChekDIr=false;
BlockNum="Y 12";
errorprint[48]=1;
//Перекласификация после разворота с класса 180 градусов в класс 0 градусов
if(Vol_B_Chang_1==true)
{
Var1_Be_1=2;
Var1_Bo_0=0;
}
if(Vol_B_Chang_1==false)
{
Var1_Be_1=2;
Var2_Be_0=2;
Var1_Bo_1=0;
Var2_Be_1=1;//став лицом на север официант подаёт блюдо-заказ с правой руки ближнюю позицию
}
}
//+------------------------------------------------------------------+
//| END - Sunflower 1/0 - Cluster meter |
//+------------------------------------------------------------------+
//Слой Системы Коорденат. Расчёт системы коорденат базируется на выведенную архитектуру подсолнечника. Архитектура имеет 2 под архитектуры координат
//из которой выводится вся архитектура с использованием центра в каждом из углов и сопряжений 4 переменных. В сути можно представить квадрат с 9 центрами.
// 8 переметральных и 1 центральный.
// Выведение Групп по коорденатам с использованием полового признака. Be Женский род Bo Мужской род
//Grupo1 - исходный квадрат под индексом 1 в котором по средствам координат сведены 4 основные переменные.Человек взят для определения
//движение по средствам механики как лицо лицевые и изнаночные движения
// Соединение контура иконы Божей Матери "Кропивницкая церковь"
//Звёздочек вокруг иконы "Божей матери" Верикаль 2*12 Горизонталь 2*4 Всего 32
// Индекс BM - "Молитва божей матери"
//Comment(" Reloj ",Reloj," Contra Reloj ", Contra_Reloj," Reloj_1 ",Reloj_1," Contra Reloj_1 ", Contra_Reloj_1," Vost_1 ",Vost_1," Yug_1 ",Yug_1," Zap_1 ",Zap_1," Sev_1 ",Sev_1);
//Функция купольного вращения 2
//Проверка шаг 3
string napravlenie;
if(Sev_1==1)
{
napravlenie="Sev_1";
}
if(Yug_1==1)
{
napravlenie="Yug_1";
}
if(Zap_1==1)
{
napravlenie="Zap_1";
}
if(Vost_1==1)
{
napravlenie="Vost_1";
}
//Print(napravlenie);
// 4 направления в которых вложены 2 стороны и 8 регистров. В сумме 768 регистров
// ечать ошибок блока разрешений для индикатора Семечка
//for(int gh=1;gh<49;gh++)
//{
//Print("index ",gh);
//Print("errorprint ",errorprint[gh]);
ArrayInitialize(errorprint2,0);
//}
//Поведение северной стороны
//Поведение северной стороны
if(Sev_1==1)
{
//Подача значения на Лицо номер 1
//1 Be_0 && Bo_0
if(lic==1 && Var1_Be_0==0 && Var2_Bo_0==1) //Праверка регистра Bo_0 Лица ok
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,2]==0 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,2]=1;//Смена в регистре на противоположное значение на лице
Sev[1,6]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[1]=1;//Proverka zapuska bloka
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
if(Sev[1,2]==1 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку ok
{
Sev[1,6]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[2]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
}// lic==1 фин
if(izn==1 && Var1_Be_0==0 && Var2_Bo_0==1) //Праверка регистра Bo_0 Изнанки
{
//1/1 Be_0 && Bo_0
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению ok
if(Sev[1,6]==0 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,6]=1;//Смена в регистре на противоположное значение на лице
Sev[1,2]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[3]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
if(Sev[1,6]==1 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку ok
{
Sev[1,2]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[4]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
}// izn==1 фин
//Подача значения на Лицо номер 2
//1 Bo_0 && Be_0
if(lic==1 && Var1_Bo_0==0 && Var2_Be_0==1) //Праверка регистра Be_0 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,1]==0 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,1]=1;//Смена в регистре на противоположное значение на лице
Sev[1,5]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[5]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
if(Sev[1,1]==1 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,5]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[6]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
}// lic==1 фин
if(izn==1 && Var1_Bo_0==0 && Var2_Be_0==1) //Праверка регистра Be_0 Изнанки OK
{
//1/1 Bo_0 && Be_0
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,5]==0 && Var2_Be_0==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,5]=1;//Смена в регистре на противоположное значение на лице
Sev[1,1]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[6]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
if(Sev[1,5]==1 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,1]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[7]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
}// izn==1 фин
//Подача значения на Лицо номер 3
//1 Be_1 && Bo_1
if(lic==1 && Var1_Be_1==0 && Var2_Bo_1==1) //Праверка регистра Bo_1 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,4]==0 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,4]=1;//Смена в регистре на противоположное значение на лице
Sev[1,8]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[8]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
if(Sev[1,4]==1 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,8]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[9]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
}// lic==1 фин
if(izn==1 && Var1_Be_1==0 && Var2_Bo_1==1) //Праверка регистра Bo_1 Изнанки OK
{
//1/1 Be_1 && Bo_1
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,8]==0 && Var2_Bo_1==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,8]=1;//Смена в регистре на противоположное значение на лице
Sev[1,4]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[10]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
if(Sev[1,8]==1 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,4]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[11]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
}// izn==1 фин
//Подача значения на Лицо номер 4
//1 Bo_1 && Be_1
if(lic==1 && Var1_Bo_1==0 && Var2_Be_1==1) //Праверка регистра Be_1 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,3]==0 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,3]=1;//Смена в регистре на противоположное значение на лице
Sev[1,7]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[12]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
if(Sev[1,3]==1 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,7]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[13]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
}// lic==1 фин
if(izn==1 && Var1_Bo_1==0 && Var2_Be_1==1) //Праверка регистра Be_1 Изнанки
{
//1/1 Bo_1 && Be_1
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,7]==0 && Var2_Be_1==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,7]=1;//Смена в регистре на противоположное значение на лице
Sev[1,3]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[14]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
if(Sev[1,7]==1 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,3]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[15]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
}// izn==1 фин
}// Sever фин
//_____________________________________
// Поведение Юг
if(Yug_1==1)
{
//Подача значения на Лицо номер 1
//1 Be_0 && Bo_0
if(lic==1 && Var1_Be_0==0 && Var2_Bo_0==1) //Праверка регистра Bo_0 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,4]==0 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,4]=1;//Смена в регистре на противоположное значение на лице
Sev[1,8]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[32]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
if(Sev[1,4]==1 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,8]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[33]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
}// lic==1 фин
if(izn==1 && Var1_Be_0==0 && Var2_Bo_0==1) //Праверка регистра Bo_0 Изнанки
{
//1/1 Be_0 && Bo_0
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,8]==0 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,8]=1;//Смена в регистре на противоположное значение на лице
Sev[1,4]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[34]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
if(Sev[1,8]==1 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,4]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[35]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
}// izn==1 фин
//Подача значения на Лицо номер 2
//1 Bo_0 && Be_0
if(lic==1 && Var1_Bo_0==0 && Var2_Be_0==1) //Праверка регистра Be_0 Лица ok
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,3]==0 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,3]=1;//Смена в регистре на противоположное значение на лице
Sev[1,7]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[36]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
if(Sev[1,3]==1 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,7]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[37]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
}// lic==1 фин
if(izn==1 && Var1_Bo_0==0 && Var2_Be_0==1) //Праверка регистра Be_0 Изнанки
{
//1/1 Bo_0 && Be_0
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,7]==0 && Var2_Be_0==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,7]=1;//Смена в регистре на противоположное значение на лице
Sev[1,3]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[38]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
if(Sev[1,7]==1 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,3]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[39]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
}// izn==1 фин
//Подача значения на Лицо номер 3
//1 Be_1 && Bo_1
if(lic==1 && Var1_Be_1==0 && Var2_Bo_1==1) //Праверка регистра Bo_1 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,2]==0 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,2]=1;//Смена в регистре на противоположное значение на лице
Sev[1,6]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[40]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
if(Sev[1,2]==1 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,6]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[41]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
}// lic==1 фин
if(izn==1 && Var1_Be_1==0 && Var2_Bo_1==1) //Праверка регистра Bo_1 Изнанки
{
//1/1 Be_1 && Bo_1
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,6]==0 && Var2_Bo_1==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,6]=1;//Смена в регистре на противоположное значение на лице
Sev[1,2]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[42]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
if(Sev[1,6]==1 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,2]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gx++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[43]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
}// izn==1 фин
//Подача значения на Лицо номер 4
//1 Bo_1 && Be_1
if(lic==1 && Var1_Bo_1==0 && Var2_Be_1==1) //Праверка регистра Be_1 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,1]==0 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,1]=1;//Смена в регистре на противоположное значение на лице
Sev[1,5]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[44]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
if(Sev[1,1]==1 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,5]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[45]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
}// lic==1 фин
if(izn==1 && Var1_Bo_1==0 && Var2_Be_1==1) //Праверка регистра Be_1 Изнанки
{
//1/1 Bo_1 && Be_1
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,5]==0 && Var2_Be_1==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,5]=1;//Смена в регистре на противоположное значение на лице
Sev[1,1]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[46]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
if(Sev[1,5]==1 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,1]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gx--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[47]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
}// izn==1 фин
}// Yug фин
//___________________________________
// Поведение Запад
if(Zap_1==1)
{
//Подача значения на Лицо номер 1
//1 Be_0 && Bo_0
if(lic==1 && Var1_Be_0==0 && Var2_Bo_0==1) //Праверка регистра Bo_0 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,1]==0 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,1]=1;//Смена в регистре на противоположное значение на лице
Sev[1,5]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[64]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
if(Sev[1,1]==1 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,5]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[65]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
}// lic==1 фин
if(izn==1 && Var1_Be_0==0 && Var2_Bo_0==1) //Праверка регистра Bo_0 Изнанки
{
//1/1 Be_0 && Bo_0
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,5]==0 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,5]=1;//Смена в регистре на противоположное значение на лице
Sev[1,1]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[66]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
if(Sev[1,5]==1 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,1]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[67]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
}// izn==1 фин
//Подача значения на Лицо номер 2
//1 Bo_0 && Be_0
if(lic==1 && Var1_Bo_0==0 && Var2_Be_0==1) //Праверка регистра Be_0 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,4]==0 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,4]=1;//Смена в регистре на противоположное значение на лице
Sev[1,8]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[68]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
if(Sev[1,4]==1 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,8]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[69]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
}// lic==1 фин
if(izn==1 && Var1_Bo_0==0 && Var2_Be_0==1) //Праверка регистра Be_0 Изнанки
{
//1/1 Bo_0 && Be_0
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,8]==0 && Var2_Be_0==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,8]=1;//Смена в регистре на противоположное значение на лице
Sev[1,4]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[70]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
if(Sev[1,8]==1 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,4]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[71]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
}// izn==1 фин
//Подача значения на Лицо номер 3
//1 Be_1 && Bo_1
if(lic==1 && Var1_Be_1==0 && Var2_Bo_1==1) //Праверка регистра Bo_1 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,3]==0 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,3]=1;//Смена в регистре на противоположное значение на лице
Sev[1,7]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[72]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
if(Sev[1,3]==1 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,7]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[73]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
}// lic==1 фин
if(izn==1 && Var1_Be_1==0 && Var2_Bo_1==1) //Праверка регистра Bo_1 Изнанки
{
//1/1 Be_1 && Bo_1
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,7]==0 && Var2_Bo_1==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,7]=1;//Смена в регистре на противоположное значение на лице
Sev[1,3]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[74]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
if(Sev[1,7]==1 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,3]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[75]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
}// izn==1 фин
//Подача значения на Лицо номер 4
//1 Bo_1 && Be_1
if(lic==1 && Var1_Bo_1==0 && Var2_Be_1==1) //Праверка регистра Be_1 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,2]==0 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,2]=1;//ПРОВЕРИТъ Должно быть 1,4 Смена в регистре на противоположное значение на лице
Sev[1,6]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[76]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
if(Sev[1,2]==1 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,6]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[77]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
}// lic==1 фин
if(izn==1 && Var1_Bo_1==0 && Var2_Be_1==1) //Праверка регистра Be_1 Изнанки
{
//1/1 Bo_1 && Be_1
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,6]==0 && Var2_Be_1==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,6]=1;//Проверить 1,7 Смена в регистре на противоположное значение на лице
Sev[1,2]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[78]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
if(Sev[1,6]==1 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,2]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[79]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
}// izn==1 фин
}// Zapad фин
//___________________________________
// Поведение Восток
if(Vost_1==1)
{
//Подача значения на Лицо номер 1
//1 Be_0 && Bo_0
if(lic==1 && Var1_Be_0==0 && Var2_Bo_0==1) //Праверка регистра Bo_0 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,3]==0 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,3]=1;//Смена в регистре на противоположное значение на лице
Sev[1,7]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[96]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
if(Sev[1,3]==1 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,7]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[97]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
}// lic==1 фин
if(izn==1 && Var1_Be_0==0 && Var2_Bo_0==1) //Праверка регистра Bo_0 Изнанки
{
//1/1 Be_0 && Bo_0
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,7]==0 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,7]=1;//Смена в регистре на противоположное значение на лице
Sev[1,3]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[98]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
if(Sev[1,7]==1 && Var2_Bo_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,3]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=0;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[99]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
}// izn==1 фин
//Подача значения на Лицо номер 2
//1 Bo_0 && Be_0
if(lic==1 && Var1_Bo_0==0 && Var2_Be_0==1) //Праверка регистра Be_0 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,2]==0 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,2]=1;//Смена в регистре на противоположное значение на лице
Sev[1,6]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[100]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
if(Sev[1,2]==1 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,6]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[101]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
}// lic==1 фин
if(izn==1 && Var1_Bo_0==0 && Var2_Be_0==1) //Праверка регистра Be_0 Изнанки
{
//1/1 Bo_0 && Be_0
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,6]==0 && Var2_Be_0==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,6]=1;//Смена в регистре на противоположное значение на лице
Sev[1,2]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[102]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
if(Sev[1,6]==1 && Var2_Be_0==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,2]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=0;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=2;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[103]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
}// izn==1 фин
//Подача значения на Лицо номер 3
//1 Be_1 && Bo_1
if(lic==1 && Var1_Be_1==0 && Var2_Bo_1==1) //Праверка регистра Bo_1 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,1]==0 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,1]=1;//Смена в регистре на противоположное значение на лице
Sev[1,5]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[104]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
if(Sev[1,1]==1 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,5]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[105]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
}// lic==1 фин
if(izn==1 && Var1_Be_1==0 && Var2_Bo_1==1) //Праверка регистра Bo_1 Изнанки
{
//1/1 Be_1 && Bo_1
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,5]==0 && Var2_Bo_1==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,5]=1;//Смена в регистре на противоположное значение на лице
Sev[1,1]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[106]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
if(Sev[1,5]==1 && Var2_Bo_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,1]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=2;
Var1_Bo_1=0;
//----------
Gy++;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[107]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
}// izn==1 фин
//Подача значения на Лицо номер 4
//1 Bo_1 && Be_1
if(lic==1 && Var1_Bo_1==0 && Var2_Be_1==1) //Праверка регистра Be_1 Лица
{
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,4]==0 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,4]=1;//Смена в регистре на противоположное значение на лице
Sev[1,8]=0;//Смена в регистре на противоположное значение на изнанке
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[108]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
if(Sev[1,4]==1 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,8]=0;
lic=0;//Смена Стороны
izn=1;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[109]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
}// lic==1 фин
if(izn==1 && Var1_Bo_1==0 && Var2_Be_1==1) //Праверка регистра Be_1 Изнанки
{
//1/1 Bo_1 && Be_1
bool BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(Sev[1,4]==0 && Var2_Be_1==1 && BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
Sev[1,4]=1;//Смена в регистре на противоположное значение на лице
Sev[1,8]=0;//Смена в регистре на противоположное значение на изнанке
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[110]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
if(Sev[1,4]==1 && Var2_Be_1==1 && BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
Sev[1,8]=0;
lic=1;//Смена Стороны
izn=0;//Смена Стороны
//Перераспределение разрешений переменных
Var1_Be_0=2;
Var1_Bo_0=2;
Var1_Be_1=0;
Var1_Bo_1=2;
//----------
Gy--;
Var2_Be_0=2;
Var2_Bo_0=2;
Var2_Be_1=2;
Var2_Bo_1=2;
BlockPermis=false;
errorprint2[111]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
}// izn==1 фин
}// Vostok фин
//Праверка шаг 4
string face;
if(lic==1)
{
face="lic";
}
if(izn==1)
{
face="izn";
}
//-----
//--Проверка на колличество входов в блоки
int err2=0;
for(int yk=0; yk<=149; yk++)
{
if(Array_Errors==true)
{
Print(" Index Array ",yk," 5211");
}
if(errorprint2[yk]==1)
{
err2++;
}
}
string Sterr2;
Sterr2=IntegerToString(err2);
//+------------------------------------------------------------------+
//|END Sunflower 8 bit volume feed side X calculation |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|Sunflower 8 bit volume feed side Z calculation |
//+------------------------------------------------------------------+
//--Вращение Оси Z
if(z_Be_0==1)
{
z_Var2_Be_0=1;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_Be_0=0;
z_Bo_0=0;
z_Be_1=0;
z_Bo_1=0;
}
if(z_Bo_0==1)
{
z_Var2_Be_0=2;
z_Var2_Bo_0=1;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_Be_0=0;
z_Bo_0=0;
z_Be_1=0;
z_Bo_1=0;
}
if(z_Be_1==1)
{
z_Var2_Be_1=1;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Bo_1=2;
z_Be_0=0;
z_Bo_0=0;
z_Be_1=0;
z_Bo_1=0;
}
if(z_Bo_1==1)
{
z_Var2_Bo_1=1;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Be_0=0;
z_Bo_0=0;
z_Be_1=0;
z_Bo_1=0;
}
// Варианты вращение в правильной позиции. Смена строны производится мо методу переварота страницы в книге с лева на право или с права на лево
// Вращение производится базируясь на вторую переменную. После присваивания и расчёта значения из второй переменной перетекают в первую.
//Перед обработкой событий нужно выявить все правила для каждого направления.
//Переприсваивание значения в тойже плоскости и том же лице если выпало тоже самое значение.Пример Be_0 и Be_0
// Назначение переменной
if(z_Var1_Be_0==0 && z_Var2_Be_0==1)
{
z_Var1_Bo_0=0;
z_Var2_Be_0=1;
}
if(z_Var1_Be_0==2 && z_Var2_Be_0==1)
{
z_Var2_Be_0=1;
}
if(z_Var1_Bo_0==0 && z_Var2_Bo_0==1)
{
z_Var1_Be_0=0;
z_Var2_Bo_0=1;
}
if(z_Var1_Bo_0==2 && z_Var2_Bo_0==1)
{
z_Var2_Bo_0=1;
}
if(z_Var1_Be_1==0 && z_Var2_Be_1==1)
{
z_Var1_Bo_1=0;
z_Var2_Be_1=1;
}
if(z_Var1_Be_1==2 && z_Var2_Be_1==1)
{
z_Var2_Be_1=1;
}
if(z_Var1_Bo_1==0 && z_Var2_Bo_1==1)
{
z_Var1_Be_1=0;
z_Var2_Bo_1=1;
}
if(z_Var1_Bo_1==2 && z_Var2_Bo_1==1)
{
z_Var2_Bo_1=1;
}//CHeck ok
//Print("Step3 ",Var1_Be_0," Var1_Be_0 ",Var1_Bo_0," Var1_Bo_0 ",Var1_Be_1," Var1_Be_1 ",Var1_Bo_1," Var1_Bo_1 ");
//Print("Step4 ",Varz_Be_0," Varz_Be_0 ",Varz_Bo_0," Varz_Bo_0 ",Varz_Be_1," Varz_Be_1 ",Varz_Bo_1," Varz_Bo_1 ");
ArrayInitialize(z_errorprint,0);
bool z_ChekDIr=true;//еременная разрешающая 1 раз в цикл анализиравать блок направлений по компасу
z_BlockNum="0";
// Правильная конфигурация Север
// 1
// Правильная конфигурация Север
// 1
if(z_sev==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1 && z_ChekDIr==true)
{
z_Sev_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 1";
z_errorprint[1]=1;
}
// 2
if(z_sev==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1 && z_ChekDIr==true)
{
z_Sev_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 2";
z_errorprint[2]=1;
}
// 3
if(z_sev==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1 && z_ChekDIr==true)
{
z_Sev_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 3";
z_errorprint[3]=1;
}
// 4
if(z_sev==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1 && z_ChekDIr==true)
{
z_Sev_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 4";
z_errorprint[4]=1;
}
// 5
// Не правильная конфигурация
if(z_sev==1 && z_Var1_Be_0==0 && z_Var2_Bo_1==1 && z_ChekDIr==true) //Смещение по регистру с Севера *| на Запад «-
{
// разрешение на обработку события.
z_Vost_1=0;
z_Sev_1=0;
z_Zap_1=0;
z_Yug_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 5";
z_errorprint[5]=1;
z_Var1_Be_0=2;
z_Var1_Be_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 6
if(z_sev==1 && z_Var1_Bo_1==0 && z_Var2_Be_0==1 && z_ChekDIr==true) // Смещение по регистру с Севера *| на Запад «-
{
// разрешение на обработку события.
z_Zap_1=0;
z_Sev_1=0;
z_Vost_1=0;
z_Yug_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 6";
z_errorprint[6]=1;
z_Var1_Bo_1=2;
z_Var1_Bo_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 7
if(z_sev==1 && z_Var1_Bo_0==0 && z_Var2_Be_1==1 && z_ChekDIr==true) // Смещение по регистру с Севера *| на Восток -»
{
// разрешение на обработку события.
z_Vost_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Sev_1=0;
z_Yug_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 7";
z_errorprint[7]=1;
z_Var1_Bo_0=2;
z_Var1_Bo_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 8
if(z_sev==1 && z_Var1_Be_1==0 && z_Var2_Bo_0==1 && z_ChekDIr==true) // Смещение по регистру с Севера *| на Восток -»
{
// разрешение на обработку события.
z_Vost_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Sev_1=0;
z_Yug_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 8";
z_errorprint[8]=1;
z_Var1_Be_1=2;
z_Var1_Be_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 9
if(z_sev==1 && z_Var1_Bo_0==0 && z_Var2_Bo_1==1 && z_ChekDIr==true) // Смещение по регистру с Севера *| на Юг .|
{
z_Yug_1=0;
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=1;
z_Vost_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 9";
z_errorprint[9]=1;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 10
if(z_sev==1 && z_Var1_Bo_1==0 && z_Var2_Bo_0==1 && z_ChekDIr==true) // Смещение по регистру с Севера *| на Юг .|
{
z_Yug_1=0;
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=1;
z_Vost_1=0;
//Var1_Be_1=0;
//Varz_Bo_1=1;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="S 10";
z_errorprint[10]=1;
z_Var1_Bo_1=2;
z_Var1_Be_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 11
if(z_sev==1 && z_Var1_Be_0==0 && z_Var2_Be_1==1 && z_ChekDIr==true) // Смещение по регистру с Севера *| на Юг .|
{
z_Yug_1=0;
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="S 11";
z_errorprint[11]=1;
z_Var1_Be_0=2;
z_Var1_Bo_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 12
if(z_sev==1 && z_Var1_Be_1==0 && z_Var2_Be_0==1 && z_ChekDIr==true) // Смещение по регистру с Севера *| на Юг .|
{
z_Yug_1=0;
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="S 12";
z_errorprint[12]=1;
z_Var1_Be_1=2;
z_Var1_Bo_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
//__________________________________
// Правильная конфигурация Запад
if(z_zap==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1 && z_ChekDIr==true)
{
z_Zap_1=1;// разрешение на обработку события.
z_Sev_1=0;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Z 1";
z_errorprint[13]=1;
}
// 2
if(z_zap==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1 && z_ChekDIr==true)
{
z_Zap_1=1;// разрешение на обработку события.
z_Sev_1=0;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Z 2";
z_errorprint[14]=1;
}
// 3
if(z_zap==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1 && z_ChekDIr==true)
{
z_Zap_1=1;// разрешение на обработку события.
z_Sev_1=0;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Z 3";
z_errorprint[5]=1;
}
// 4
if(z_zap==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1 && z_ChekDIr==true)
{
z_Zap_1=1;// разрешение на обработку события.
z_Sev_1=0;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Z 4";
z_errorprint[16]=1;
}
// 5
// Не правильная конфигурация
if(z_zap==1 && z_Var1_Be_0==0 && z_Var2_Bo_1==1 && z_ChekDIr==true) //Смещение по регистру с Запада «- на Эг |. Смещение против часовой стрелки.
{
// разрешение на обработку события.
z_Yug_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=1;
z_Sev_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="Z 5";
z_errorprint[17]=1;
z_Var1_Be_0=2;
z_Var1_Be_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 6
if(z_zap==1 && z_Var1_Bo_1==0 && z_Var2_Be_0==1 && z_ChekDIr==true) //Смещение по регистру с Запада «- на Эг |. Смещение против часовой стрелки.
{
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=1;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="Z 6";
z_errorprint[18]=1;
z_Var1_Bo_1=2;
z_Var1_Bo_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 7
if(z_zap==1 && z_Var1_Bo_0==0 && z_Var2_Be_1==1 && z_ChekDIr==true) //Смещение по регистру с Запада «- на Севера *| Смещение по часовой стрелке
{
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=1;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="Z 7";
z_errorprint[19]=1;
z_Var1_Bo_0=2;
z_Var1_Bo_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 8
if(z_zap==1 && z_Var1_Be_1==0 && z_Var2_Bo_0==1 && z_ChekDIr==true) //Смещение по регистру с Запада «- на Севера *| Смещение по часовой стрелке
{
// разрешение на обработку события.
z_Yug_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=1;
z_Sev_1=0;
//Varz_Be_0=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="Z 8";
z_errorprint[20]=1;
z_Var1_Be_1=2;
z_Var1_Be_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 9
if(z_zap==1 && z_Var1_Bo_0==0 && z_Var2_Bo_1==1 && z_ChekDIr==true) //Смещение по регистру с Запада «- на ВОсток -» Смещение 180 градусов
{
z_Vost_1=0;
// разрешение на обработку события.
z_Yug_1=0;
//Запрет для 3 направлений
z_Sev_1=1;
z_Zap_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Z 9";
z_errorprint[21]=1;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 10
if(z_zap==1 && z_Var1_Bo_1==0 && z_Var2_Bo_0==1 && z_ChekDIr==true) //Смещение по регистру с Запада «- на ВОсток -» Смещение 180 градусов
{
z_Vost_1=0;
// разрешение на обработку события.
z_Zap_1=0;
//Запрет для 3 направлений
z_Sev_1=1;
z_Yug_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Z 10";
z_errorprint[22]=1;
z_Var1_Bo_1=2;
z_Var1_Be_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 11
if(z_zap==1 && z_Var1_Be_0==0 && z_Var2_Be_1==1 && z_ChekDIr==true) //Смещение по регистру с Запада «- на ВОсток -» Смещение 180 градусов
{
z_Vost_1=0;
// разрешение на обработку события.
z_Zap_1=0;
//Запрет для 3 направлений
z_Sev_1=0;
z_Yug_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Z 11";
z_errorprint[23]=1;
z_Var1_Be_0=2;
z_Var1_Bo_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 12
if(z_zap==1 && z_Var1_Be_1==0 && z_Var2_Be_0==1 && z_ChekDIr==true) //Смещение по регистру с Запада «- на ВОсток -» Смещение 180 градусов
{
z_Vost_1=0;
// разрешение на обработку события.
z_Zap_1=0;
//Запрет для 3 направлений
z_Sev_1=0;
z_Yug_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Z 12";
z_errorprint[24]=1;
z_Var1_Be_1=2;
z_Var1_Bo_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
//__________________________________
// Правильная конфигурация Восток
if(z_vost==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1 && z_ChekDIr==true)
{
z_Vost_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Sev_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="V 1";
z_errorprint[25]=1;
}
// 2
if(z_vost==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1 && z_ChekDIr==true)
{
z_Vost_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Sev_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="V 2";
z_errorprint[26]=1;
}
// 3
if(z_vost==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1 && z_ChekDIr==true)
{
z_Vost_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Sev_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="V 3";
z_errorprint[27]=1;
}
// 4
if(z_vost==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1 && z_ChekDIr==true)
{
z_Vost_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Sev_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="V 4";
z_errorprint[28]=1;
}
// 5
// Не правильная конфигурация
if(z_vost==1 && z_Var1_Be_0==0 && z_Var2_Bo_1==1 && z_ChekDIr==true) //Смещение по регистру с Востока -» на Север *| . 9 часов
{
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=1;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="V 5";
z_errorprint[29]=1;
z_Var1_Be_0=2;
z_Var1_Be_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 6
if(z_vost==1 && z_Var1_Bo_1==0 && z_Var2_Be_0==1 && z_ChekDIr==true) //Смещение по регистру с Востока -» на Север *| 9 часов
{
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=1;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="V 6";
z_errorprint[30]=1;
z_Var1_Bo_1=2;
z_Var1_Bo_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 7
if(z_vost==1 && z_Var1_Bo_0==0 && z_Var2_Be_1==1 && z_ChekDIr==true) // Смещение по регистру с Востока -» на Юг .| 3 часа
{
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=1;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="V 7";
z_errorprint[31]=1;
z_Var1_Bo_0=2;
z_Var1_Bo_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 8
if(z_vost==1 && z_Var1_Be_1==0 && z_Var2_Bo_0==1 && z_ChekDIr==true) // Смещение по регистру с Востока -» на Юг .| 3 часа
{
// разрешение на обработку события.
z_Yug_1=0;
//Запрет для 3 направлений
z_Zap_1=1;
z_Vost_1=0;
z_Sev_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="V 8";
z_errorprint[32]=1;
z_Var1_Be_1=2;
z_Var1_Be_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 9
if(z_vost==1 && z_Var1_Bo_0==0 && z_Var2_Bo_1==1 && z_ChekDIr==true) // Смещение по регистру с Востока -» на Запад «- 6 часов
{
z_Zap_1=0;
// разрешение на обработку события.
z_Yug_1=0;
//Запрет для 3 направлений
z_Sev_1=1;
z_Vost_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="V 9";
z_errorprint[33]=1;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 10
if(z_vost==1 && z_Var1_Bo_1==0 && z_Var2_Bo_0==1 && z_ChekDIr==true) // Смещение по регистру с Востока -» на Запад «- 6 часов
{
z_Zap_1=0;
// разрешение на обработку события.
z_Yug_1=0;
//Запрет для 3 направлений
z_Sev_1=1;
z_Vost_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="V 10";
z_errorprint[34]=1;
z_Var1_Bo_1=2;
z_Var1_Be_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 11
if(z_vost==1 && z_Var1_Be_0==0 && z_Var2_Be_1==1 && z_ChekDIr==true) // Смещение по регистру с Востока -» на Запад «- 6 часов
{
z_Zap_1=0;
// разрешение на обработку события.
z_Vost_1=0;
//Запрет для 3 направлений
z_Sev_1=0;
z_Yug_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="V 11";
z_errorprint[35]=1;
z_Var1_Be_0=2;
z_Var1_Bo_1=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 12
if(z_vost==1 && z_Var1_Be_1==0 && z_Var2_Be_0==1 && z_ChekDIr==true) // Смещение по регистру с Востока -» на Запад «- 6 часов
{
z_Zap_1=0;
// разрешение на обработку события.
z_Vost_1=0;
//Запрет для 3 направлений
z_Sev_1=0;
z_Yug_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="V 12";
z_errorprint[36]=1;
z_Var1_Be_1=2;
z_Var1_Bo_0=0;
//Смена Оси для правил Z
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
//__________________________________
// Правильная конфигурация Юг
// 1
if(z_yug==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1 && z_ChekDIr==true)
{
z_Yug_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=0;
z_Sev_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 1";
z_errorprint[37]=1;
}
// 2
if(z_yug==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1 && z_ChekDIr==true)
{
z_Yug_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=0;
z_Sev_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 2";
z_errorprint[38]=1;
}
// 3
if(z_yug==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1 && z_ChekDIr==true)
{
z_Yug_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=0;
z_Sev_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 3";
z_errorprint[39]=1;
}
// 4
if(z_yug==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1 && z_ChekDIr==true)
{
z_Yug_1=1;// разрешение на обработку события.
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=0;
z_Sev_1=0;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=1;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 4";
z_errorprint[40]=1;
}
// 5
// Не правильная конфигурация
if(z_yug==1 && z_Var1_Be_0==0 && z_Var2_Bo_1==1 && z_ChekDIr==true) //Смещение по регистру с Юга на .| на Восток -» 9 часов
{
// разрешение на обработку события.
z_Zap_1=0;
//Запрет для 3 направлений
z_Vost_1=0;
z_Sev_1=1;
z_Yug_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 5";
z_errorprint[41]=1;
z_Var1_Be_0=2;
z_Var1_Be_1=0;
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 6
if(z_yug==1 && z_Var1_Bo_1==0 && z_Var2_Be_0==1 && z_ChekDIr==true) //Смещение по регистру с Юга на .| на Восток -» 9 часов
{
// разрешение на обработку события.
z_Vost_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Sev_1=1;
z_Yug_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 6";
z_errorprint[42]=1;
z_Var1_Bo_1=2;
z_Var1_Bo_0=0;
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 7
if(z_yug==1 && z_Var1_Bo_0==0 && z_Var2_Be_1==1 && z_ChekDIr==true) // Смещение по регистру с Юга на .| на Запад «- 3 часа
{
// разрешение на обработку события.
z_Vost_1=0;
//Запрет для 3 нап равлений
z_Sev_1=1;
z_Zap_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 7";
z_errorprint[43]=1;
z_Var1_Bo_0=2;
z_Var1_Bo_1=0;
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 8
if(z_yug==1 && z_Var1_Be_1==0 && z_Var2_Bo_0==1 && z_ChekDIr==true) // Смещение по регистру с Юга на .| на Запад «- 3 часа
{
// разрешение на обработку события.
z_Zap_1=0;
//Запрет для 3 направлений
z_Sev_1=1;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=1;
z_zap=0;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 8";
z_errorprint[44]=1;
z_Var1_Be_1=2;
z_Var1_Be_0=0;
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 9
if(z_yug==1 && z_Var1_Bo_0==0 && z_Var2_Bo_1==1 && z_ChekDIr==true) // Смещение по регистру с Юга на .| на Север *| 6 часов
{
z_Sev_1=0;
// разрешение на обработку события.
z_Yug_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="Y 9";
z_errorprint[45]=1;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 10
if(z_yug==1 && z_Var1_Bo_1==0 && z_Var2_Bo_0==1 && z_ChekDIr==true) // Смещение по регистру с Юга на .| на Север *| 6 часов
{
z_Sev_1=0;
// разрешение на обработку события.
z_Yug_1=0;
//Запрет для 3 направлений
z_Zap_1=0;
z_Vost_1=1;
//Проверка значения направления
z_sev=0;
z_zap=0;
z_yug=0;
z_vost=1;
z_ChekDIr=false;
z_BlockNum="Y 10";
z_errorprint[46]=1;
z_Var1_Bo_1=2;
z_Var1_Be_0=0;
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 11
if(z_yug==1 && z_Var1_Be_0==0 && z_Var2_Be_1==1 && z_ChekDIr==true) // Смещение по регистру с Юга на .| на Север *| 6 часов
{
z_Sev_1=0;
// разрешение на обработку события.
z_Yug_1=0;
//Запрет для 3 направлений
z_Zap_1=1;
z_Vost_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 11";
z_errorprint[47]=1;
z_Var1_Be_0=2;
z_Var1_Bo_1=0;
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
// 12
if(z_yug==1 && z_Var1_Be_1==0 && z_Var2_Be_0==1 && z_ChekDIr==true) // Смещение по регистру с Юга на .| на Север *| 6 часов
{
// разрешение на обработку события.
z_Sev_1=0;
//Запрет для 3 направлений
z_Zap_1=1;
z_Vost_1=0;
z_Yug_1=0;
//Проверка значения направления
z_sev=0;
z_zap=1;
z_yug=0;
z_vost=0;
z_ChekDIr=false;
z_BlockNum="Y 12";
z_errorprint[48]=1;
z_Var1_Be_1=2;
z_Var1_Bo_0=0;
z_CheFe=1;
if(z_CheFe==1 && z_lic==1)
{
z_izn=1;
z_lic=0;
z_CheFe=0;
}
if(z_CheFe==1 && z_izn==1)
{
z_izn=0;
z_lic=1;
z_CheFe=0;
}
}
//Проверка шаг 3
string z_napravlenie;
if(z_Sev_1==1)
{
z_napravlenie="z_Sev_1";
}
if(z_Yug_1==1)
{
z_napravlenie="z_Yug_1";
}
if(z_Zap_1==1)
{
z_napravlenie="z_Zap_1";
}
if(z_Vost_1==1)
{
z_napravlenie="z_Vost_1";
}
//Print(napravlenie);
// 4 направления в которых вложены 2 стороны и 8 регистров. В сумме 768 регистров
// ечать ошибок блока разрешений для индикатора Семечка
//for(int gh=1;gh<49;gh++)
//{
//Print("index ",gh);
//Print("errorprint ",errorprint[gh]);
ArrayInitialize(z_errorprint2,0);
//}
//Поведение северной стороны
if(z_Sev_1==1)
{
//Подача значения на Лицо номер 1
//1 Be_0 && Bo_0
if(z_lic==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1) //Праверка регистра Bo_0 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,2]==0 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,2]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,6]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[1]=1;//Proverka zapuska bloka
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
if(z_Sev[1,2]==1 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,6]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[2]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1) //Праверка регистра Bo_0 Изнанки
{
//1/1 Be_0 && Bo_0
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,5]==0 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,5]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,1]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[3]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
if(z_Sev[1,5]==1 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,1]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[4]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
}// izn==1 фин
//Подача значения на Лицо номер 2
//1 Bo_0 && Be_0
if(z_lic==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1) //Праверка регистра Be_0 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,1]==0 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,1]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,5]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[5]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
if(z_Sev[1,1]==1 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,5]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[6]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1) //Праверка регистра Be_0 Изнанки
{
//1/1 Bo_0 && Be_0
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,6]==0 && z_Var2_Be_0==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,6]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,2]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[6]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
if(z_Sev[1,6]==1 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,2]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[7]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
}// izn==1 фин
//Подача значения на Лицо номер 3
//1 Be_1 && Bo_1
if(z_lic==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1) //Праверка регистра Bo_1 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,4]==0 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,4]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,8]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[8]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
if(z_Sev[1,4]==1 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,8]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[9]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1) //Праверка регистра Bo_1 Изнанки
{
//1/1 Be_1 && Bo_1
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,7]==0 && z_Var2_Bo_1==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,7]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,3]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[10]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
if(z_Sev[1,7]==1 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,3]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[11]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
}// izn==1 фин
//Подача значения на Лицо номер 4
//1 Bo_1 && Be_1
if(z_lic==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1) //Праверка регистра Be_1 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,3]==0 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,3]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,7]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[12]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
if(z_Sev[1,3]==1 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,7]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[13]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1) //Праверка регистра Be_1 Изнанки
{
//1/1 Bo_1 && Be_1
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,8]==0 && z_Var2_Be_1==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,8]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,4]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[14]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
if(z_Sev[1,8]==1 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,4]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[15]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
}// izn==1 фин
}// Sever фин
//_____________________________________
// Поведение Юг
if(z_Yug_1==1)
{
//Подача значения на Лицо номер 1
//1 Be_0 && Bo_0
if(z_lic==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1) //Праверка регистра Bo_0 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,4]==0 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,4]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,8]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[32]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
if(z_Sev[1,4]==1 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,8]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[33]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1) //Праверка регистра Bo_0 Изнанки
{
//1/1 Be_0 && Bo_0
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,7]==0 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,7]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,3]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[34]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
if(z_Sev[1,7]==1 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,3]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[35]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
}// izn==1 фин
//Подача значения на Лицо номер 2
//1 Bo_0 && Be_0
if(z_lic==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1) //Праверка регистра Be_0 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,3]==0 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,3]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,7]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[36]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
if(z_Sev[1,3]==1 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,7]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[37]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1) //Праверка регистра Be_0 Изнанки
{
//1/1 Bo_0 && Be_0
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,8]==0 && z_Var2_Be_0==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,8]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,4]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[38]=1;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
if(z_Sev[1,8]==1 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,4]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[39]=1;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
}// izn==1 фин
//Подача значения на Лицо номер 3
//1 Be_1 && Bo_1
if(z_lic==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1) //Праверка регистра Bo_1 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,2]==0 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,2]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,6]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[40]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
if(z_Sev[1,2]==1 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,6]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[41]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1) //Праверка регистра Bo_1 Изнанки
{
//1/1 Be_1 && Bo_1
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,5]==0 && z_Var2_Bo_1==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,5]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,1]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[42]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
if(z_Sev[1,5]==1 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,1]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gx++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[43]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
}// izn==1 фин
//Подача значения на Лицо номер 4
//1 Bo_1 && Be_1
if(z_lic==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1) //Праверка регистра Be_1 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,1]==0 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,1]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,5]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[44]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
if(z_Sev[1,1]==1 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,5]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[45]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1) //Праверка регистра Be_1 Изнанки
{
//1/1 Bo_1 && Be_1
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,6]==0 && z_Var2_Be_1==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,6]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,2]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[46]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
if(z_Sev[1,6]==1 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,2]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gx--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[47]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
}// izn==1 фин
}// Yug фин
//___________________________________
// Поведение Запад
if(z_Zap_1==1)
{
//Подача значения на Лицо номер 1
//1 Be_0 && Bo_0
if(z_lic==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1) //Праверка регистра Bo_0 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,1]==0 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,1]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,5]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[64]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
if(z_Sev[1,1]==1 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,5]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[65]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1) //Праверка регистра Bo_0 Изнанки
{
//1/1 Be_0 && Bo_0
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,7]==0 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,7]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,3]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[66]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
if(z_Sev[1,7]==1 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,3]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[67]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
}// izn==1 фин
//Подача значения на Лицо номер 2
//1 Bo_0 && Be_0
if(z_lic==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1) //Праверка регистра Be_0 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,4]==0 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,4]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,8]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[68]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
if(z_Sev[1,4]==1 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,8]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[69]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1) //Праверка регистра Be_0 Изнанки
{
//1/1 Bo_0 && Be_0
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,6]==0 && z_Var2_Be_0==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,6]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,2]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[70]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
if(z_Sev[1,6]==1 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,2]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[71]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
}// izn==1 фин
//Подача значения на Лицо номер 3
//1 Be_1 && Bo_1
if(z_lic==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1) //Праверка регистра Bo_1 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,3]==0 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,3]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,7]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[72]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
if(z_Sev[1,3]==1 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,7]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[73]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1) //Праверка регистра Bo_1 Изнанки
{
//1/1 Be_1 && Bo_1
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,8]==0 && z_Var2_Bo_1==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,8]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,4]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[74]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
if(z_Sev[1,8]==1 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,4]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[75]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
}// izn==1 фин
//Подача значения на Лицо номер 4
//1 Bo_1 && Be_1
if(z_lic==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1) //Праверка регистра Be_1 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,2]==0 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,2]=1;//ПРОВЕРИТъ Должно быть 1,4 Смена в регистре на противоположное значение на лице
z_Sev[1,6]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[76]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
if(z_Sev[1,2]==1 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,6]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[77]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1) //Праверка регистра Be_1 Изнанки
{
//1/1 Bo_1 && Be_1
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,5]==0 && z_Var2_Be_1==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,5]=1;//Проверить 1,7 Смена в регистре на противоположное значение на лице
z_Sev[1,1]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[78]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
if(z_Sev[1,5]==1 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,1]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[79]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
}// izn==1 фин
}// Zapad фин
//___________________________________
// Поведение Восток
if(z_Vost_1==1)
{
//Подача значения на Лицо номер 1
//1 Be_0 && Bo_0
if(z_lic==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1) //Праверка регистра Bo_0 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,3]==0 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,3]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,7]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[96]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
if(z_Sev[1,3]==1 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,7]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[97]=1;
kubo_8++;
Text_Kubo_8=IntegerToString(kubo_8);
ObjectSetString(0,obiekt509,OBJPROP_TEXT,Text_Kubo_8);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Be_0==0 && z_Var2_Bo_0==1) //Праверка регистра Bo_0 Изнанки
{
//1/1 Be_0 && Bo_0
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,8]==0 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,8]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,4]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[98]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
if(z_Sev[1,8]==1 && z_Var2_Bo_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,4]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=0;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[99]=1;
kubo_6++;
Text_Kubo_6=IntegerToString(kubo_6);
ObjectSetString(0,obiekt507,OBJPROP_TEXT,Text_Kubo_6);
}
}// izn==1 фин
//Подача значения на Лицо номер 2
//1 Bo_0 && Be_0
if(z_lic==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1) //Праверка регистра Be_0 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,2]==0 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,2]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,6]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[100]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
if(z_Sev[1,2]==1 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,6]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[101]=1;
kubo_5++;
Text_Kubo_5=IntegerToString(kubo_5);
ObjectSetString(0,obiekt506,OBJPROP_TEXT,Text_Kubo_5);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Bo_0==0 && z_Var2_Be_0==1) //Праверка регистра Be_0 Изнанки
{
//1/1 Bo_0 && Be_0
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,5]==0 && z_Var2_Be_0==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,5]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,1]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[102]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
if(z_Sev[1,5]==1 && z_Var2_Be_0==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,1]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=0;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=2;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[103]=1;
kubo_7++;
Text_Kubo_7=IntegerToString(kubo_7);
ObjectSetString(0,obiekt508,OBJPROP_TEXT,Text_Kubo_7);
}
}// izn==1 фин
//Подача значения на Лицо номер 3
//1 Be_1 && Bo_1
if(z_lic==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1) //Праверка регистра Bo_1 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,1]==0 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,1]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,5]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[104]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
if(z_Sev[1,1]==1 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,5]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[105]=1;
kubo_2++;
Text_Kubo_2=IntegerToString(kubo_2);
ObjectSetString(0,obiekt503,OBJPROP_TEXT,Text_Kubo_2);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Be_1==0 && z_Var2_Bo_1==1) //Праверка регистра Bo_1 Изнанки
{
//1/1 Be_1 && Bo_1
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,6]==0 && z_Var2_Bo_1==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,6]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,2]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[106]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
if(z_Sev[1,6]==1 && z_Var2_Bo_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,2]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=2;
z_Var1_Bo_1=0;
//----------
z_Gy++;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[107]=1;
kubo_4++;
Text_Kubo_4=IntegerToString(kubo_4);
ObjectSetString(0,obiekt505,OBJPROP_TEXT,Text_Kubo_4);
}
}// izn==1 фин
//Подача значения на Лицо номер 4
//1 Bo_1 && Be_1
if(z_lic==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1) //Праверка регистра Be_1 Лица
{
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,4]==0 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,4]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,8]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[108]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
if(z_Sev[1,4]==1 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,8]=0;
z_lic=0;//Смена Стороны
z_izn=1;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[109]=1;
kubo_3++;
Text_Kubo_3=IntegerToString(kubo_3);
ObjectSetString(0,obiekt504,OBJPROP_TEXT,Text_Kubo_3);
}
}// lic==1 фин
if(z_izn==1 && z_Var1_Bo_1==0 && z_Var2_Be_1==1) //Праверка регистра Be_1 Изнанки
{
//1/1 Bo_1 && Be_1
bool z_BlockPermis=true;
// Сравнение состояния 2 регистров лица и изнанки по поданному значению
if(z_Sev[1,7]==0 && z_Var2_Be_1==1 && z_BlockPermis==true)// Смена в регистре на противоположное значение и Смена Лица на Изнанку
{
z_Sev[1,7]=1;//Смена в регистре на противоположное значение на лице
z_Sev[1,3]=0;//Смена в регистре на противоположное значение на изнанке
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[110]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
if(z_Sev[1,7]==1 && z_Var2_Be_1==1 && z_BlockPermis==true) // Смена в регистре не производитсяи Смена Лица на Изнанку
{
z_Sev[1,3]=0;
z_lic=1;//Смена Стороны
z_izn=0;//Смена Стороны
//Перераспределение разрешений переменных
z_Var1_Be_0=2;
z_Var1_Bo_0=2;
z_Var1_Be_1=0;
z_Var1_Bo_1=2;
//----------
z_Gy--;
z_Var2_Be_0=2;
z_Var2_Bo_0=2;
z_Var2_Be_1=2;
z_Var2_Bo_1=2;
z_BlockPermis=false;
z_errorprint2[111]=1;
kubo_1++;
Text_Kubo_1=IntegerToString(kubo_1);
ObjectSetString(0,obiekt502,OBJPROP_TEXT,Text_Kubo_1);
}
}// izn==1 фин
}// Vostok фин
//+------------------------------------------------------------------+
//|END Sunflower 8 bit volume feed side Z calculation |
//+------------------------------------------------------------------+
//-----I write the received data into a Binary File for drawing data using the Histogram method
//-----int file_handle15=FileOpen(FileName15,FILE_READ|FILE_WRITE|FILE_BIN);
//-----if(file_handle15>0)
//----- {
//----- FileSeek(file_handle15,0,SEEK_CUR);
//----- FileWriteArray(file_handle15,PIPS_COL_DT,0,WHOLE_ARRAY);
//----- FileClose(file_handle15);
//----- }
//-----int file_handle16=FileOpen(FileName16,FILE_READ|FILE_WRITE|FILE_BIN);
//-----if(file_handle16>0)
//----- {
//----- FileSeek(file_handle16,0,SEEK_CUR);
//----- FileWriteArray(file_handle16,PIPS_COL_Price,0,WHOLE_ARRAY);
//----- FileClose(file_handle16);
//----- }
//+------------------------------------------------------------------+
//|Sunflower - 5 cells of the church dome |
//+------------------------------------------------------------------+
//-Купол - Расчёт базируется на 5 семечках и 4 архитектурах. Используется ценавая привязка к 20 центрам в 5 семечках
//-Формула расчёта привязки семечки
//Модуль позиционирования цены в купол
//Print(" 2 - bodypips[MaxInd_bodypips,0] ",bodypips[MaxInd_bodypips,0]);
Price=bodypips[MaxInd_bodypips,0];
//Print(" Price - ", Price);
//Print (" Price ",Price);
PriceConv1=(Price*cienm)/12;
// Print("PriceConv1 - ", PriceConv1);
PriceConv2=PriceConv1;
PriceConv4=PriceConv2;
PriceConv3=NormalizeDouble((PriceConv1-PriceConv4),2);
//N_Centro=PriceConv3/5;//Приведение цены к купольному центру
// Print(" PriceConv3 - ", PriceConv3);
N_Gr20=PriceConv2;
//if(N_Centro==0)
//{
// N_Centro=20;
// N_Gr20++;
// }
//+------------------------------------------------------------------+
//|Sunflower - cluster 16 variables of the church dome |
//+------------------------------------------------------------------+
int Arch_Inf;
string Var_Inf;
int Cluster16_inf;
int AgujaReloj_inf;
//Print(" + -------------------------------------------+");
double Price_A=(bodypips[MaxInd_bodypips,0])*cienm;
//Print(" Price_A] ",Price_A);
//double CLuster_Ne=Price_A/16;
//Print("CLuster_Ne ",CLuster_Ne);
double CLuster_N=NormalizeDouble(Price_A/16,4);
//Print("CLuster_N ",CLuster_N);
int CLuster_N1=CLuster_N;
//Print("CLuster_N1 ",CLuster_N1);
double Cluster_Res=(CLuster_N-CLuster_N1)*100;
//Print("Cluster_Res ",Cluster_Res);
double Var_I=Cluster_Res/6.25;
//+------------------------------------------------------------------+
//|END Sunflower - 5 cells of the church dome |
//+------------------------------------------------------------------+
//Print(" N_Centro ",N_Centro," N_Gr20 ",N_Gr20);
//Be_0
//Семечка 1
//Архитектура 1
//Заход в архитектуру по формуле
//Be_0
//+------------------------------------------------------------------+
//|Sunflower - sunflower seeds architecture |
//+------------------------------------------------------------------+
// ------ Свод Цена-Купол + Свод Цена - Крест Абьём
// Пример. Массива Север
// Sev[1,1]=0; Be_0
// Sev[1,2]=0; Bo_0
// Sev[1,3]=0; Be_1
// Sev[1,4]=0; Bo_1
//Блок Получения Разрешений для оброботки события расчёта патернов
//1.Расчитывается - сравнивается предыдущие значения с текущими
//Print(" comp_Sev[1,1]!=Sev[1,1] ",comp_Sev[1,1]!=Sev[1,1]); //
//Print(" comp_Sev ",comp_Sev[1,1],comp_Sev[1,2],comp_Sev[1,3],comp_Sev[1,4],comp_Sev[1,5],comp_Sev[1,6],comp_Sev[1,7],comp_Sev[1,8]);
//Print(" Sev ",Sev[1,1],Sev[1,2],Sev[1,3],Sev[1,4],Sev[1,5],Sev[1,6],Sev[1,7],Sev[1,8]);
if(comp_Sev[1,1]!=Sev[1,1] && Sev[1,1]==1)//Be_0 Место 1,5,9,13,17 Если в массиве появились изменения после пересчёта с массивом сравнения то выявляется место в котором появились изменения и присваиваются разрешения на оброботку
{
Per_Sev1=1;
Per_Sev2=0;
Per_Sev3=0;
Per_Sev4=0;
Per_Sev5=0;
Per_Sev6=0;
Per_Sev7=0;
Per_Sev8=0;
//Print("Per_Sev1 ",Per_Sev1);
Arch3=1;
} //присвоил разрешение на оброботку события
if(comp_Sev[1,2]!=Sev[1,2] && Sev[1,2]==1)//Bo_0 Место 2,6,10,14,18
{
Per_Sev1=0;
Per_Sev2=1;
Per_Sev3=0;
Per_Sev4=0;
Per_Sev5=0;
Per_Sev6=0;
Per_Sev7=0;
Per_Sev8=0;
//Print("Per_Sev2 ",Per_Sev2);
Arch3=2;
}
if(comp_Sev[1,3]!=Sev[1,3] && Sev[1,3]==1)//Be_1 Место 3,7,11,15,19
{
Per_Sev1=0;
Per_Sev2=0;
Per_Sev3=1;
Per_Sev4=0;
Per_Sev5=0;
Per_Sev6=0;
Per_Sev7=0;
Per_Sev8=0;
//Print("Per_Sev3 ",Per_Sev3);
Arch3=3;
}
if(comp_Sev[1,4]!=Sev[1,4] && Sev[1,4]==1)//Bo_1 Место 4,8,12,16,20
{
Per_Sev1=0;
Per_Sev2=0;
Per_Sev3=0;
Per_Sev4=1;
Per_Sev5=0;
Per_Sev6=0;
Per_Sev7=0;
Per_Sev8=0;
//Print("Per_Sev4 ",Per_Sev4);
Arch3=4;
}
if(comp_Sev[1,5]!=Sev[1,5] && Sev[1,5]==1)//Be_0 Место 1,5,9,13,17 Если в массиве появились изменения после пересчёта с массивом сравнения то выявляется место в котором появились изменения и присваиваются разрешения на оброботку
{
Per_Sev1=0;
Per_Sev2=0;
Per_Sev3=0;
Per_Sev4=0;
Per_Sev5=1;
Per_Sev6=0;
Per_Sev7=0;
Per_Sev8=0;
//Print("Per_Sev1 ",Per_Sev1);
Arch3=5;
} //присвоил разрешение на оброботку события
if(comp_Sev[1,6]!=Sev[1,6] && Sev[1,6]==1)//Be_0 Место 1,5,9,13,17 Если в массиве появились изменения после пересчёта с массивом сравнения то выявляется место в котором появились изменения и присваиваются разрешения на оброботку
{
Per_Sev1=0;
Per_Sev2=0;
Per_Sev3=0;
Per_Sev4=0;
Per_Sev5=0;
Per_Sev6=1;
Per_Sev7=0;
Per_Sev8=0;
//Print("Per_Sev1 ",Per_Sev1);
Arch3=6;
} //присвоил разрешение на оброботку события
if(comp_Sev[1,7]!=Sev[1,7] && Sev[1,7]==1)//Be_0 Место 1,5,9,13,17 Если в массиве появились изменения после пересчёта с массивом сравнения то выявляется место в котором появились изменения и присваиваются разрешения на оброботку
{
Per_Sev1=0;
Per_Sev2=0;
Per_Sev3=0;
Per_Sev4=0;
Per_Sev5=0;
Per_Sev6=0;
Per_Sev7=1;
Per_Sev8=0;
//Print("Per_Sev1 ",Per_Sev1);
Arch3=7;
} //присвоил разрешение на оброботку события
if(comp_Sev[1,8]!=Sev[1,8] && Sev[1,8]==1)//Be_0 Место 1,5,9,13,17 Если в массиве появились изменения после пересчёта с массивом сравнения то выявляется место в котором появились изменения и присваиваются разрешения на оброботку
{
Per_Sev1=0;
Per_Sev2=0;
Per_Sev3=0;
Per_Sev4=0;
Per_Sev5=0;
Per_Sev6=0;
Per_Sev7=0;
Per_Sev8=1;
//Print("Per_Sev1 ",Per_Sev1);
Arch3=8;
} //присвоил разрешение на оброботку события
//Print("Arch3 ",Arch3);
//int PermisBLock=0;
//if(comp_Sev[1,1]!=Sev[1,1] && comp_Sev[1,2]!=Sev[1,2] && comp_Sev[1,3]!=Sev[1,3] && comp_Sev[1,4]!=Sev[1,4] && comp_Sev[1,5]!=Sev[1,5] && comp_Sev[1,6]==Sev[1,6] && comp_Sev[1,7]==Sev[1,7] && comp_Sev[1,8]==Sev[1,8])//Если патерн после пересчёта на изменился относительно подачи абьёма
//{ PermisBLock=1;}
//if(PermisBLock==1 && Price_Compare!=bodypips[MaxInd_bodypips,0])//Если цена разная то доступ в блок открыт
//{
//2. Определяется номер центра и порядковый номер семечки
//Print("N_Centro 1 ",N_Centro);//test OK
N_Centro_r=0;
N_Centro=0;
PipsNumber=0;
if(PriceConv3==0.08)
{
N_Centro=1;
N_Centro_r=1;
PipsNumber=1;
}
if(PriceConv3==0.17)
{
N_Centro=2;
N_Centro_r=2;
PipsNumber=2;
}
if(PriceConv3==0.25)
{
N_Centro=3;
N_Centro_r=3;
PipsNumber=3;
}
if(PriceConv3==0.33)
{
N_Centro=4;
N_Centro_r=4;
PipsNumber=4;
}
if(PriceConv3==0.42)
{
N_Centro=5;
N_Centro_r=5;
PipsNumber=5;
}
if(PriceConv3==0.5)
{
N_Centro=6;
N_Centro_r=6;
PipsNumber=6;
}
if(PriceConv3==0.58)
{
N_Centro=7;
N_Centro_r=7;
PipsNumber=7;
}
if(PriceConv3==0.67)
{
N_Centro=8;
N_Centro_r=8;
PipsNumber=8;
}
if(PriceConv3==0.75)
{
N_Centro=9;
N_Centro_r=9;
PipsNumber=9;
}
if(PriceConv3==0.83)
{
N_Centro=10;
N_Centro_r=10;
PipsNumber=10;
}
if(PriceConv3==0.92)
{
N_Centro=11;
N_Centro_r=11;
PipsNumber=11;
}
if(PriceConv3==1 || PriceConv3==0.0)
{
N_Centro=12;
N_Centro_r=12;
PipsNumber=12;
}
//Print(" N_Centro ",N_Centro);
//Print(" N_Gr20 - ", N_Gr20);
//Print(" N_Centro_r ",N_Centro_r);ok
//Print(" PipsNumber ",PipsNumber);
//string PrintArch;
//3.Производится расчт по переменным Be_0,Bo_0,Be_1,Bo_1
//Расчёт по переменной Be_0 Место 1,5,9,13,17
//Print(" Be_0_C,Bo_0_C,Be_1_C,Bo_1_C" ,Be_0_C,Bo_0_C,Be_1_C,Bo_1_C);//ok
//InternalPat_1=0;
if(Per_Sev1==1 && N_Centro_r==1 && Be_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=1;//Присваивание понимания обьёма и цены
//Per_Sev1=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev1==1 && N_Centro_r==2 && Bo_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=1;//Присваивание понимания обьёма и цены
//Per_Sev1=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev1==1 && N_Centro_r==3 && Be_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
// N_Centro_r==3 - зелёный
// Per_Sev1==1 - Подача обьёма на Be_0
// Be_0_C==1 - Подаваемая переменная в архитектуре центра 3
InternalPat_1=1;//Присваивание понимания обьёма и цены
//Per_Sev1=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev1==1 && N_Centro_r==4 && Bo_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=1;//Присваивание понимания обьёма и цены
//Per_Sev1=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
//Расчёт по переменной Be_0 Место 2,6,10,14,18
if(Per_Sev2==1 && N_Centro_r==1 && Bo_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=2;//Присваивание понимания обьёма и цены
//Per_Sev2=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev2==1 && N_Centro_r==2 && Be_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=2;//Присваивание понимания обьёма и цены
//Per_Sev2=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev2==1 && N_Centro_r==3 && Bo_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=2;//Присваивание понимания обьёма и цены
//Per_Sev2=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev2==1 && N_Centro_r==4 && Be_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=2;//Присваивание понимания обьёма и цены
//Per_Sev2=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
//Расчёт по переменной Be_0 Место 3,7,11,15,19
if(Per_Sev3==1 && N_Centro_r==1 && Be_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=3;//Присваивание понимания обьёма и цены
//Per_Sev3=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev3==1 && N_Centro_r==2 && Bo_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=3;//Присваивание понимания обьёма и цены
//Per_Sev3=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev3==1 && N_Centro_r==3 && Be_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=3;//Присваивание понимания обьёма и цены
//Per_Sev3=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev3==1 && N_Centro_r==4 && Bo_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=3;//Присваивание понимания обьёма и цены
//Per_Sev3=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
//Расчёт по переменной Be_0 Место 4,8,12,16,20
if(Per_Sev4==1 && N_Centro_r==1 && Bo_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=4;//Присваивание понимания обьёма и цены
//Per_Sev4=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev4==1 && N_Centro_r==2 && Be_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=4;//Присваивание понимания обьёма и цены
//Per_Sev4=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev4==1 && N_Centro_r==3 && Bo_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=4;//Присваивание понимания обьёма и цены
//Per_Sev4=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev4==1 && N_Centro_r==4 && Be_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=4;//Присваивание понимания обьёма и цены
//Per_Sev4=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev5==1 && N_Centro_r==1 && Be_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=5;//Присваивание понимания обьёма и цены
//Per_Sev1=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev5==1 && N_Centro_r==2 && Bo_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=5;//Присваивание понимания обьёма и цены
//Per_Sev1=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev5==1 && N_Centro_r==3 && Be_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
// N_Centro_r==3 - зелёный
// Per_Sev1==1 - Подача обьёма на Be_0
// Be_0_C==1 - Подаваемая переменная в архитектуре центра 3
InternalPat_1=5;//Присваивание понимания обьёма и цены
//Per_Sev1=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev5==1 && N_Centro_r==4 && Bo_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=5;//Присваивание понимания обьёма и цены
//Per_Sev1=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
//Расчёт по переменной Be_0 Место 2,6,10,14,18
if(Per_Sev6==1 && N_Centro_r==1 && Bo_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=6;//Присваивание понимания обьёма и цены
//Per_Sev2=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev6==1 && N_Centro_r==2 && Be_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=6;//Присваивание понимания обьёма и цены
//Per_Sev2=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev6==1 && N_Centro_r==3 && Bo_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=6;//Присваивание понимания обьёма и цены
//Per_Sev2=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev6==1 && N_Centro_r==4 && Be_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=6;//Присваивание понимания обьёма и цены
//Per_Sev2=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
//Расчёт по переменной Be_0 Место 3,7,11,15,19
if(Per_Sev7==1 && N_Centro_r==1 && Be_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=7;//Присваивание понимания обьёма и цены
//Per_Sev3=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev7==1 && N_Centro_r==2 && Bo_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=7;//Присваивание понимания обьёма и цены
//Per_Sev3=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev7==1 && N_Centro_r==3 && Be_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=7;//Присваивание понимания обьёма и цены
//Per_Sev3=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev7==1 && N_Centro_r==4 && Bo_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=7;//Присваивание понимания обьёма и цены
//Per_Sev3=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
//Расчёт по переменной Be_0 Место 4,8,12,16,20
if(Per_Sev8==1 && N_Centro_r==1 && Bo_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=8;//Присваивание понимания обьёма и цены
//Per_Sev4=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev8==1 && N_Centro_r==2 && Be_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=8;//Присваивание понимания обьёма и цены
//Per_Sev4=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev8==1 && N_Centro_r==3 && Bo_1_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=8;//Присваивание понимания обьёма и цены
//Per_Sev4=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
if(Per_Sev8==1 && N_Centro_r==4 && Be_0_C==1)//Соеденение Цены в виде архитектуры и обьёма в виде бинарного механизма Патерн 1 Внутреннее соединение //
{
InternalPat_1=8;//Присваивание понимания обьёма и цены
//Per_Sev4=0;//Снятие разрешение на оброботку блока
//Print(" InternalPat_1 ",InternalPat_1," Price ",bodypips[MaxInd_bodypips,0]);
}
//Print(" R1 "," Per_Sev1 ",Per_Sev1," Per_Sev2 ",Per_Sev2," Per_Sev3 ",Per_Sev3," Per_Sev4 ",Per_Sev4," N_Centro_r ",N_Centro_r," Bo_0_C ",Bo_0_C," Be_0_C ",Be_0_C," Be_1_C ",Be_1_C," Bo_1_C ",Bo_1_C," InternalPat_1 ",InternalPat_1," Form_Patern_Finder[w3,8] ",Form_Patern_Finder[w3,8]);
// ------ Функция записи новой цены и отслеживание существующей на предмет складывания патерна "Внутреннего" ------
int newPrise=0;
int PriceExist=0;
for(w=1; w<=1000; w++)//Перебор для поиска по условию Если цена НЕ равна записаннаму значению в Массиве 1,00001!=1,00002
{
if(Array_Errors==true)
{
Print(" Index Array ",w," 9113");
}
if((Form_Patern_Finder[w,13]!=0 && Form_Patern_Finder[w,13]==N_Gr20 && Form_Patern_Finder[w,12]==PipsNumber && ((Form_Patern_Finder[w,1]!=bodypips[MaxInd_bodypips,0]) ||(Form_Patern_Finder[w,2]!=bodypips[MaxInd_bodypips,0])|| (Form_Patern_Finder[w,3]!=bodypips[MaxInd_bodypips,0])||(Form_Patern_Finder[w,4]!=bodypips[MaxInd_bodypips,0])))/*Form_Patern_Finder[w,9]=N_Gr20 && Form_Patern_Finder[w,6]==1 &&*/ && InternalPat_1==1) //Поиск цены . Возвращает индекс в массиве
{
PriceExist=1;
if(PriceExist==1/*"Указывает на найденную цену Функцией выше"*/ && InternalPat_1==1/*"Указывает на соеденение в ячейке цены и абьёма"*/ && Form_Patern_Finder[w,11]!=1)//Если цена существует и w не равен 0 и Патерн не был собран. Если w равен налю произвести новую запись то доступ в функцию открыт
{
// Print("Acces ok");
// Print("Form_Patern_Finder[w,2] ",Form_Patern_Finder[w,2]);
// Print("Form_Patern_Finder[w,3] ",Form_Patern_Finder[w,3]);
// Print("Form_Patern_Finder[w,4] ",Form_Patern_Finder[w,4]);
// Print("Form_Patern_Finder[w,5] ",Form_Patern_Finder[w,5]);
// Print("Form_Patern_Finder[w,8] ",Form_Patern_Finder[w,8]);
// Print("N_Centro_r ",N_Centro_r);
//Form_Patern_Finder[w,10]=Form_Patern_Finder[w,10]+1;//Подсчёт заходов на проверку при совпадении
//Прослеживаю существующий параметр патерна по 4 направлениям
//Центр 1 Желтый
int Change1=0,Change2=0,Change3=0,Change4=0;
//Print(" Price ",bodypips[MaxInd_bodypips,0]," Form_Patern_Finder[w,2] ",Form_Patern_Finder[w,2]," N_Centro_r==1 ",N_Centro_r==1);
if(Form_Patern_Finder[w,5]==0 && N_Centro_r==1) // Параметр архитектуры 1 ;//Номер Семечки . имеет значение от 1 до 5
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w,5]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w,1]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w,1]=iTime(Symbol(),PERIOD_M1,1);
Change1=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w,5]==1 && Form_Patern_Finder[w,6]==1 && Form_Patern_Finder[w,7]==1 && Form_Patern_Finder[w,8]==1)
{
Form_Patern_Finder[w,11]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 2 Красный
// Print(" Price ",bodypips[MaxInd_bodypips,0]," Form_Patern_Finder[w,3] ",Form_Patern_Finder[w,3]," N_Centro_r==2 ",N_Centro_r==2);
if(Form_Patern_Finder[w,6]==0 && N_Centro_r==2) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w,6]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w,2]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w,2]=iTime(Symbol(),PERIOD_M1,1);
Change2=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w,5]==1 && Form_Patern_Finder[w,6]==1 && Form_Patern_Finder[w,7]==1 && Form_Patern_Finder[w,8]==1)
{
Form_Patern_Finder[w,11]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 3 Зелёный
//Print(" Price ",bodypips[MaxInd_bodypips,0]," Form_Patern_Finder[w,4] ",Form_Patern_Finder[w,4]," N_Centro_r==3 ",N_Centro_r==3);
if(Form_Patern_Finder[w,7]==0 && N_Centro_r==3) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w,7]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w,3]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w,3]=iTime(Symbol(),PERIOD_M1,1);
Change3=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w,5]==1 && Form_Patern_Finder[w,6]==1 && Form_Patern_Finder[w,7]==1 && Form_Patern_Finder[w,8]==1)
{
Form_Patern_Finder[w,11]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 4 Синий
//Print(" Price ",bodypips[MaxInd_bodypips,0]," Form_Patern_Finder[w,5] ",Form_Patern_Finder[w,5]," N_Centro_r==4 ",N_Centro_r==4);
if(Form_Patern_Finder[w,8]==0 && N_Centro_r==4) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w,8]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w,4]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w,4]=iTime(Symbol(),PERIOD_M1,1);
Change4=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w,5]==1 && Form_Patern_Finder[w,6]==1 && Form_Patern_Finder[w,7]==1 && Form_Patern_Finder[w,8]==1)
{
Form_Patern_Finder[w,11]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
}
// break;
}
}
int WriteData=1;
for(int z=1; z<=1000; z++)
{
if(Array_Errors==true)
{
Print(" Index Array ",z," 9203");
}
if(bodypips[MaxInd_bodypips,0]!=0 && PriceExist==0 && (Form_Patern_Finder[z,1]==bodypips[MaxInd_bodypips,0] || Form_Patern_Finder[z,2]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z,3]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z,4]==bodypips[MaxInd_bodypips,0]))//Если в любой из ячеек существует цена то запись данных не нужна
{
WriteData=0;
break;
}
}
if(PriceExist==0 && InternalPat_1==1 && WriteData==1) //Еси нет цены в массиве для просмотра
{
// int WRinLine=0;
int t;
for(t=1; t<=1000; t++)
{
if(Array_Errors==true)
{
Print(" Index Array ",t," 9219");
}
if(Form_Patern_Finder[t,1]==0 && Form_Patern_Finder[t,2]==0 && Form_Patern_Finder[t,3]==0 && Form_Patern_Finder[t,4]==0 /*&& (Form_Patern_Finder[t,12]==PipsNumber && Form_Patern_Finder[t,13]==N_Gr20 ||Form_Patern_Finder[t,27]==PipsNumber && Form_Patern_Finder[t,28]==N_Gr20 || Form_Patern_Finder[t,42]==PipsNumber && Form_Patern_Finder[t,43]==N_Gr20 || Form_Patern_Finder[t,57]==PipsNumber && Form_Patern_Finder[t,58]==N_Gr20)*/) //Последнее пустое место в массиве
{
// WRinLine=1;
break;
}
}
// for(t=1; t<1000; t++)
// {
// if(WRinLine=0 && Form_Patern_Finder[t,1]==0 && Form_Patern_Finder[t,2]==0 && Form_Patern_Finder[t,3]==0 && Form_Patern_Finder[t,4]==0) //Последнее пустое место в массиве
// {
// break;
// }
// }
//Зацикливание процеса на остановке записывания в Массив данных
//int BlockPermis1=0;
// if(w==1000 && Form_Patern_Finder[t,1]>0)
// {
// BlockPermis1=1;
// }
// Print(" t ", t);
// if(BlockPermis1==0)
// { }
//Праизводится запись нового элемента
//новый элемент записан
//ok Print(" Form_Patern_Finder[t,1] ", Form_Patern_Finder[t,1]);
//ok Print(" N_Centro ",N_Centro_r);
//Print("t ",t);
if(N_Centro_r==1)
{
// Print("N_Centro_r ",N_Centro_r);
Form_Patern_Finder[t,5]=1;
Form_Patern_Finder[t,1]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t,1]=iTime(Symbol(),PERIOD_M1,1);
//Print(" Form_Patern_Finder[t,1] " ,Form_Patern_Finder[t,1]);
//ok Print(" Form_Patern_Finder[t,2] ", Form_Patern_Finder[t,2]);
}
if(N_Centro_r==2)
{
//Print("N_Centro_r ",N_Centro_r);
Form_Patern_Finder[t,6]=1;
Form_Patern_Finder[t,2]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t,2]=iTime(Symbol(),PERIOD_M1,1);
//Print("Form_Patern_Finder[t,2] ",Form_Patern_Finder[t,2]);
//ok Print(" Form_Patern_Finder[t,3] ", Form_Patern_Finder[t,2]);
}
if(N_Centro_r==3)
{
//Print("N_Centro_r ",N_Centro_r);
Form_Patern_Finder[t,7]=1;
Form_Patern_Finder[t,3]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t,3]=iTime(Symbol(),PERIOD_M1,1);
//Print("Form_Patern_Finder[t,3] ",Form_Patern_Finder[t,3]);
//ok Print(" Form_Patern_Finder[t,4] ", Form_Patern_Finder[t,4]);
}
if(N_Centro_r==4)
{
//Print("N_Centro_r ",N_Centro_r);
Form_Patern_Finder[t,8]=1;
Form_Patern_Finder[t,4]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t,4]=iTime(Symbol(),PERIOD_M1,1);
// Print("Form_Patern_Finder[t,4] ",Form_Patern_Finder[t,4]);
//ok Print(" Form_Patern_Finder[t,5] ", Form_Patern_Finder[t,5]);
}
Form_Patern_Finder[t,12]=PipsNumber;//Номер Семечки . имеет значение от 1 до 5
Form_Patern_Finder[t,13]=N_Gr20;//Номер блока ценавой 20-ки
Form_Patern_Finder[t,14]=N_Centro;//Номер центра архитектуры
//Произвести запись массива в Бинарнйы фаил.Фаил загружается в массив при запуске программы
}
//BO_0
int newPrise1=0;
int PriceExist1=0;
for(w1=1; w1<=1000; w1++)//Перебор для поиска по условию Если цена НЕ равна записаннаму значению в Массиве 1,00001!=1,00002
{
if(Array_Errors==true)
{
Print(" Index Array ",w1," 9296");
}
if((Form_Patern_Finder[w1,28]!=0 && Form_Patern_Finder[w1,28]==N_Gr20 && Form_Patern_Finder[w1,27]==PipsNumber && ((Form_Patern_Finder[w1,16]!=bodypips[MaxInd_bodypips,0]) || (Form_Patern_Finder[w1,17]!=bodypips[MaxInd_bodypips,0])|| (Form_Patern_Finder[w1,18]!=bodypips[MaxInd_bodypips,0])||(Form_Patern_Finder[w1,19]!=bodypips[MaxInd_bodypips,0])))/*Form_Patern_Finder[w,9]=N_Gr20 && Form_Patern_Finder[w,6]==1 &&*/ && InternalPat_1==2) //Поиск цены . Возвращает индекс в массиве
{
PriceExist1=1;
if(PriceExist==1/*"Указывает на найденную цену Функцией выше"*/ && InternalPat_1==2/*"Указывает на соеденение в ячейке цены и абьёма"*/ && Form_Patern_Finder[w,26]!=1)//Если цена существует и w не равен 0 и Патерн не был собран. Если w равен налю произвести новую запись то доступ в функцию открыт
{
int Change1_1=0,Change2_1=0,Change3_1=0,Change4_1=0;
if(Form_Patern_Finder[w1,20]==0 && N_Centro_r==1) // Параметр архитектуры 1 ;//Номер Семечки . имеет значение от 1 до 5
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w1,20]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w1,16]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w1,16]=iTime(Symbol(),PERIOD_M1,1);
Change1_1=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w1,20]==1 && Form_Patern_Finder[w1,21]==1 && Form_Patern_Finder[w1,22]==1 && Form_Patern_Finder[w1,23]==1)
{
Form_Patern_Finder[w1,26]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 2 Красный
if(Form_Patern_Finder[w1,21]==0 && N_Centro_r==2) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w1,21]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w1,17]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w1,17]=iTime(Symbol(),PERIOD_M1,1);
Change2_1=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w1,20]==1 && Form_Patern_Finder[w1,21]==1 && Form_Patern_Finder[w1,22]==1 && Form_Patern_Finder[w1,23]==1)
{
Form_Patern_Finder[w1,26]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 3 Зелёный
if(Form_Patern_Finder[w1,22]==0 && N_Centro_r==3) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w1,22]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w1,18]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w1,18]=iTime(Symbol(),PERIOD_M1,1);
Change3_1=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w1,20]==1 && Form_Patern_Finder[w1,21]==1 && Form_Patern_Finder[w1,22]==1 && Form_Patern_Finder[w1,23]==1)
{
Form_Patern_Finder[w1,26]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 4 Синий
if(Form_Patern_Finder[w1,23]==0 && N_Centro_r==4) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w1,23]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w1,19]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w1,19]=iTime(Symbol(),PERIOD_M1,1);
Change4_1=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w1,20]==1 && Form_Patern_Finder[w1,21]==1 && Form_Patern_Finder[w1,22]==1 && Form_Patern_Finder[w1,23]==1)
{
Form_Patern_Finder[w1,26]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
}
// break;
}
}
// ----- Ески нет цены в массиве для просмотра
int WriteData1=1;
for(int z1=1; z1<=1000; z1++)
{
if(Array_Errors==true)
{
Print(" Index Array ",z1," 9374");
}
if(bodypips[MaxInd_bodypips,0]!=0 && PriceExist1==0 && (Form_Patern_Finder[z1,16]==bodypips[MaxInd_bodypips,0] || Form_Patern_Finder[z1,17]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z1,18]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z1,19]==bodypips[MaxInd_bodypips,0]))//Если в любой из ячеек существует цена то запись данных не нужна
{
WriteData1=0;
break;
}
}
if(PriceExist1==0 && InternalPat_1==2 && WriteData1==1) //Еси нет цены в массиве для просмотра
{
//int WRinLine1=0;
int t1;
for(t1=1; t1<=1000; t1++)
{
if(Array_Errors==true)
{
Print(" Index Array ",t1," 9390");
}
if(Form_Patern_Finder[t1,16]==0 && Form_Patern_Finder[t1,17]==0 && Form_Patern_Finder[t1,18]==0 && Form_Patern_Finder[t1,19]==0 /*&& (Form_Patern_Finder[t1,12]==PipsNumber && Form_Patern_Finder[t1,13]==N_Gr20 ||Form_Patern_Finder[t1,27]==PipsNumber && Form_Patern_Finder[t1,28]==N_Gr20 || Form_Patern_Finder[t1,42]==PipsNumber && Form_Patern_Finder[t1,43]==N_Gr20 || Form_Patern_Finder[t1,57]==PipsNumber && Form_Patern_Finder[t1,58]==N_Gr20)*/) //Последнее пустое место в массиве
{
// WRinLine1=1;
break;
}
}
//for(t1=1; t1<1000; t1++)
// {
// if(WRinLine1=0 && Form_Patern_Finder[t1,17]==0 && Form_Patern_Finder[t1,18]==0 && Form_Patern_Finder[t1,19]==0 && Form_Patern_Finder[t1,20]==0) //Последнее пустое место в массиве
// {
// break;
// }
// }
if(N_Centro_r==1)
{
Form_Patern_Finder[t1,20]=1;
Form_Patern_Finder[t1,16]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t1,16]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==2)
{
Form_Patern_Finder[t1,21]=1;
Form_Patern_Finder[t1,17]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t1,17]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==3)
{
Form_Patern_Finder[t1,22]=1;
Form_Patern_Finder[t1,18]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t1,18]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==4)
{
Form_Patern_Finder[t1,23]=1;
Form_Patern_Finder[t1,19]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t1,19]=iTime(Symbol(),PERIOD_M1,1);
}
Form_Patern_Finder[t1,27]=PipsNumber;//Номер Семечки . имеет значение от 1 до 5
Form_Patern_Finder[t1,28]=N_Gr20;//Номер блока ценавой 20-ки
Form_Patern_Finder[t1,29]=N_Centro;//Номер центра архитектуры
//Произвести запись массива в Бинарнйы фаил.Фаил загружается в массив при запуске программы
}
//Be_1
int newPrise2=0;
int PriceExist2=0;
for(w2=1; w2<=1000; w2++)//Перебор для поиска по условию Если цена НЕ равна записаннаму значению в Массиве 1,00001!=1,00002
{
if(Array_Errors==true)
{
Print(" Index Array ",w2," 9441");
}
if((Form_Patern_Finder[w2,43]!=0 && Form_Patern_Finder[w2,43]==N_Gr20 && Form_Patern_Finder[w2,42]==PipsNumber && ((Form_Patern_Finder[w2,31]!=bodypips[MaxInd_bodypips,0]) || (Form_Patern_Finder[w2,32]!=bodypips[MaxInd_bodypips,0]) ||(Form_Patern_Finder[w2,33]!=bodypips[MaxInd_bodypips,0])|| (Form_Patern_Finder[w2,34]!=bodypips[MaxInd_bodypips,0])))/*Form_Patern_Finder[w,9]=N_Gr20 && Form_Patern_Finder[w,6]==1 &&*/ && InternalPat_1==3) //Поиск цены . Возвращает индекс в массиве
{
PriceExist2=1;
if(PriceExist2==1/*"Указывает на найденную цену Функцией выше"*/ && InternalPat_1==3/*"Указывает на соеденение в ячейке цены и абьёма"*/ && Form_Patern_Finder[w2,41]!=1)//Если цена существует и w не равен 0 и Патерн не был собран. Если w равен налю произвести новую запись то доступ в функцию открыт
{
int Change1_2=0,Change2_2=0,Change3_2=0,Change4_2=0;
if(Form_Patern_Finder[w2,35]==0 && N_Centro_r==1) // Параметр архитектуры 1 ;//Номер Семечки . имеет значение от 1 до 5
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w2,35]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w2,31]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w2,31]=iTime(Symbol(),PERIOD_M1,1);
Change1_2=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w2,35]==1 && Form_Patern_Finder[w2,36]==1 && Form_Patern_Finder[w2,37]==1 && Form_Patern_Finder[w2,38]==1)
{
Form_Patern_Finder[w2,41]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 2 Красный
if(Form_Patern_Finder[w2,36]==0 && N_Centro_r==2) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w2,36]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w2,32]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w2,32]=iTime(Symbol(),PERIOD_M1,1);
Change2_2=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w2,35]==1 && Form_Patern_Finder[w2,36]==1 && Form_Patern_Finder[w2,37]==1 && Form_Patern_Finder[w2,38]==1)
{
Form_Patern_Finder[w2,41]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 3 Зелёный
if(Form_Patern_Finder[w2,37]==0 && N_Centro_r==3) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w2,37]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w2,33]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w2,33]=iTime(Symbol(),PERIOD_M1,1);
Change3_2=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w2,35]==1 && Form_Patern_Finder[w2,36]==1 && Form_Patern_Finder[w2,37]==1 && Form_Patern_Finder[w2,38]==1)
{
Form_Patern_Finder[w2,41]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 4 Синий
if(Form_Patern_Finder[w2,38]==0 && N_Centro_r==4) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w2,38]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w2,34]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w2,34]=iTime(Symbol(),PERIOD_M1,1);
Change4_2=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w2,35]==1 && Form_Patern_Finder[w2,36]==1 && Form_Patern_Finder[w2,37]==1 && Form_Patern_Finder[w2,38]==1)
{
Form_Patern_Finder[w2,41]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
}
// break;
}
}
// ----- Ески нет цены в массиве для просмотра
int WriteData2=1;
for(int z2=1; z2<=1000; z2++)
{
if(Array_Errors==true)
{
Print(" Index Array ",z2," 9518");
}
if(bodypips[MaxInd_bodypips,0]!=0 && PriceExist2==0 && (Form_Patern_Finder[z2,31]==bodypips[MaxInd_bodypips,0] || Form_Patern_Finder[z2,32]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z2,33]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z2,34]==bodypips[MaxInd_bodypips,0]))//Если в любой из ячеек существует цена то запись данных не нужна
{
WriteData2=0;
break;
}
}
if(PriceExist2==0 && InternalPat_1==3 && WriteData2==1) //Еси нет цены в массиве для просмотра
{
// int WRinLine2=0;
int t2;
for(t2=1; t2<=1000; t2++)
{
if(Array_Errors==true)
{
Print(" Index Array ",t2," 9534");
}
if(Form_Patern_Finder[t2,31]==0 && Form_Patern_Finder[t2,32]==0 && Form_Patern_Finder[t2,33]==0 && Form_Patern_Finder[t2,34]==0 /*&& (Form_Patern_Finder[t2,12]==PipsNumber && Form_Patern_Finder[t2,13]==N_Gr20 ||Form_Patern_Finder[t2,27]==PipsNumber && Form_Patern_Finder[t2,28]==N_Gr20 || Form_Patern_Finder[t2,42]==PipsNumber && Form_Patern_Finder[t2,43]==N_Gr20 || Form_Patern_Finder[t2,57]==PipsNumber && Form_Patern_Finder[t2,58]==N_Gr20)*/) //Последнее пустое место в массиве
{
// WRinLine2=1;
break;
}
}
// for(t2=1; t2<1000; t2++)
// {
// if(WRinLine2=0 && Form_Patern_Finder[t2,31]==0 && Form_Patern_Finder[t2,32]==0 && Form_Patern_Finder[t2,33]==0 && Form_Patern_Finder[t2,34]==0) //Последнее пустое место в массиве
// {
// break;
// }
// }
if(N_Centro_r==1)
{
Form_Patern_Finder[t2,35]=1;
Form_Patern_Finder[t2,31]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t2,31]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==2)
{
Form_Patern_Finder[t2,36]=1;
Form_Patern_Finder[t2,32]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t2,32]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==3)
{
Form_Patern_Finder[t2,37]=1;
Form_Patern_Finder[t2,33]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t2,33]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==4)
{
Form_Patern_Finder[t2,38]=1;
Form_Patern_Finder[t2,34]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t2,34]=iTime(Symbol(),PERIOD_M1,1);
}
Form_Patern_Finder[t2,42]=PipsNumber;//Номер Семечки . имеет значение от 1 до 5
Form_Patern_Finder[t2,43]=N_Gr20;//Номер блока ценавой 20-ки
Form_Patern_Finder[t2,44]=N_Centro;//Номер центра архитектуры
//Произвести запись массива в Бинарнйы фаил.Фаил загружается в массив при запуске программы
}
//Bo_1
int newPrise3=0;
int PriceExist3=0;
for(w3=1; w3<=1000; w3++)//Перебор для поиска по условию Если цена НЕ равна записаннаму значению в Массиве 1,00001!=1,00002
{
if(Array_Errors==true)
{
Print(" Index Array ",w3," 9585");
}
if((Form_Patern_Finder[w3,58]!=0 && Form_Patern_Finder[w3,58]==N_Gr20 && Form_Patern_Finder[w3,57]==PipsNumber && ((Form_Patern_Finder[w3,46]!=bodypips[MaxInd_bodypips,0]) ||(Form_Patern_Finder[w3,47]!=bodypips[MaxInd_bodypips,0])|| (Form_Patern_Finder[w3,48]!=bodypips[MaxInd_bodypips,0])|| (Form_Patern_Finder[w3,49]!=bodypips[MaxInd_bodypips,0])))&& InternalPat_1==4) //Поиск цены . Возвращает индекс в массиве
{
PriceExist3=1;
if(PriceExist3==1/*"Указывает на найденную цену Функцией выше"*/ && InternalPat_1==4/*"Указывает на соеденение в ячейке цены и абьёма"*/ && Form_Patern_Finder[w3,56]!=1)//Если цена существует и w не равен 0 и Патерн не был собран. Если w равен налю произвести новую запись то доступ в функцию открыт
{
int Change1_3=0,Change2_3=0,Change3_3=0,Change4_3=0;
if(Form_Patern_Finder[w3,50]==0 && N_Centro_r==1) // Параметр архитектуры 1 ;//Номер Семечки . имеет значение от 1 до 5
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w3,50]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w3,46]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w3,46]=iTime(Symbol(),PERIOD_M1,1);
Change1_3=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w3,50]==1 && Form_Patern_Finder[w3,51]==1 && Form_Patern_Finder[w3,52]==1 && Form_Patern_Finder[w3,53]==1)
{
Form_Patern_Finder[w3,56]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 2 Красный
if(Form_Patern_Finder[w3,51]==0 && N_Centro_r==2) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w3,51]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w3,47]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w3,47]=iTime(Symbol(),PERIOD_M1,1);
Change2_3=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w3,50]==1 && Form_Patern_Finder[w3,51]==1 && Form_Patern_Finder[w3,52]==1 && Form_Patern_Finder[w3,53]==1)
{
Form_Patern_Finder[w3,56]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 3 Зелёный
if(Form_Patern_Finder[w3,52]==0 && N_Centro_r==3) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w3,52]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w3,48]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w3,48]=iTime(Symbol(),PERIOD_M1,1);
Change3_3=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w3,50]==1 && Form_Patern_Finder[w3,51]==1 && Form_Patern_Finder[w3,52]==1 && Form_Patern_Finder[w3,53]==1)
{
Form_Patern_Finder[w3,56]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 4 Синий
if(Form_Patern_Finder[w3,53]==0 && N_Centro_r==4) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w3,53]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w3,49]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w3,49]=iTime(Symbol(),PERIOD_M1,1);
Change4_3=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w3,50]==1 && Form_Patern_Finder[w3,51]==1 && Form_Patern_Finder[w3,52]==1 && Form_Patern_Finder[w3,53]==1)
{
Form_Patern_Finder[w3,56]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
}
// break;
}
}
// ----- Ески нет цены в массиве для просмотра
int WriteData3=1;
for(int z3=1; z3<=1000; z3++)
{
if(Array_Errors==true)
{
Print(" Index Array ",z3," 9662");
}
if(bodypips[MaxInd_bodypips,0]!=0 && PriceExist3==0 && (Form_Patern_Finder[z3,46]==bodypips[MaxInd_bodypips,0] || Form_Patern_Finder[z3,47]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z3,48]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z3,49]==bodypips[MaxInd_bodypips,0]))//Если в любой из ячеек существует цена то запись данных не нужна
{
WriteData3=0;
break;
}
}
if(PriceExist3==0 && InternalPat_1==4 && WriteData3==1) //Еси нет цены в массиве для просмотра
{
// int WRinLine3=0;
int t3;
for(t3=1; t3<=1000; t3++)
{
if(Array_Errors==true)
{
Print(" Index Array ",t3," 9678");
}
if(Form_Patern_Finder[t3,46]==0 && Form_Patern_Finder[t3,47]==0 && Form_Patern_Finder[t3,48]==0 && Form_Patern_Finder[t3,49]==0 /*&& (Form_Patern_Finder[t3,12]==PipsNumber && Form_Patern_Finder[t3,13]==N_Gr20 ||Form_Patern_Finder[t3,27]==PipsNumber && Form_Patern_Finder[t3,28]==N_Gr20 || Form_Patern_Finder[t3,42]==PipsNumber && Form_Patern_Finder[t3,43]==N_Gr20 || Form_Patern_Finder[t3,57]==PipsNumber && Form_Patern_Finder[t3,58]==N_Gr20)*/) //Последнее пустое место в массиве
{
// WRinLine3=1;
break;
}
}
// for(t3=1; t3<1000; t3++)
// {
// if(WRinLine3=0 && Form_Patern_Finder[t3,46]==0 && Form_Patern_Finder[t3,47]==0 && Form_Patern_Finder[t3,48]==0 && Form_Patern_Finder[t3,49]==0) //Последнее пустое место в массиве
// {
// break;
// }
// }
if(N_Centro_r==1)
{
Form_Patern_Finder[t3,50]=1;
Form_Patern_Finder[t3,46]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t3,46]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==2)
{
Form_Patern_Finder[t3,51]=1;
Form_Patern_Finder[t3,47]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t3,47]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==3)
{
Form_Patern_Finder[t3,52]=1;
Form_Patern_Finder[t3,48]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t3,48]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==4)
{
Form_Patern_Finder[t3,53]=1;
Form_Patern_Finder[t3,49]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t3,49]=iTime(Symbol(),PERIOD_M1,1);
}
Form_Patern_Finder[t3,57]=PipsNumber;//Номер Семечки . имеет значение от 1 до 5
Form_Patern_Finder[t3,58]=N_Gr20;//Номер блока ценавой 20-ки
Form_Patern_Finder[t3,59]=N_Centro;//Номер центра архитектуры
//Произвести запись массива в Бинарнйы фаил.Фаил загружается в массив при запуске программы
}
//BE_0_IZN
int PriceExist4=0;
int w4;
for(w4=1; w4<=1000; w4++)//Перебор для поиска по условию Если цена НЕ равна записаннаму значению в Массиве 1,00001!=1,00002
{
if(Array_Errors==true)
{
Print(" Index Array ",w4," 9729");
}
if((Form_Patern_Finder[w4,73]!=0 && Form_Patern_Finder[w4,73]==N_Gr20 && Form_Patern_Finder[w4,72]==PipsNumber && ((Form_Patern_Finder[w4,61]!=bodypips[MaxInd_bodypips,0]) || (Form_Patern_Finder[w4,62]!=bodypips[MaxInd_bodypips,0]) || (Form_Patern_Finder[w4,63]!=bodypips[MaxInd_bodypips,0])||(Form_Patern_Finder[w4,64]!=bodypips[MaxInd_bodypips,0]))) && InternalPat_1==5) //Поиск цены . Возвращает индекс в массиве
{
PriceExist4=1;
if(PriceExist4==1/*"Указывает на найденную цену Функцией выше"*/ && InternalPat_1==5/*"Указывает на соеденение в ячейке цены и абьёма"*/ && Form_Patern_Finder[w4,71]!=1)//Если цена существует и w не равен 0 и Патерн не был собран. Если w равен налю произвести новую запись то доступ в функцию открыт
{
int Change1_4=0,Change2_4=0,Change3_4=0,Change4_4=0;
if(Form_Patern_Finder[w4,65]==0 && N_Centro_r==1) // Параметр архитектуры 1 ;//Номер Семечки . имеет значение от 1 до 5
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w4,65]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w4,61]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w4,61]=iTime(Symbol(),PERIOD_M1,1);
Change1_4=1;
if(Form_Patern_Finder[w4,65]==1 && Form_Patern_Finder[w4,66]==1 && Form_Patern_Finder[w4,67]==1 && Form_Patern_Finder[w4,68]==1)
{
Form_Patern_Finder[w4,71]=1;//Патерн Заполнен
}
}
//Центр 2 Красный
// Print(" Price ",bodypips[MaxInd_bodypips,0]," Form_Patern_Finder[w4,3] ",Form_Patern_Finder[w4,3]," N_Centro_r==2 ",N_Centro_r==2);
if(Form_Patern_Finder[w4,66]==0 && N_Centro_r==2) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w4,66]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w4,62]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w4,62]=iTime(Symbol(),PERIOD_M1,1);
Change2_4=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w4,65]==1 && Form_Patern_Finder[w4,66]==1 && Form_Patern_Finder[w4,67]==1 && Form_Patern_Finder[w4,68]==1)
{
Form_Patern_Finder[w4,71]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 3 Зелёный
//Print(" Price ",bodypips[MaxInd_bodypips,0]," Form_Patern_Finder[w4,4] ",Form_Patern_Finder[w4,4]," N_Centro_r==3 ",N_Centro_r==3);
if(Form_Patern_Finder[w4,67]==0 && N_Centro_r==3) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w4,67]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w4,63]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w4,63]=iTime(Symbol(),PERIOD_M1,1);
Change3_4=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w4,65]==1 && Form_Patern_Finder[w4,66]==1 && Form_Patern_Finder[w4,67]==1 && Form_Patern_Finder[w4,68]==1)
{
Form_Patern_Finder[w4,71]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 4 Синий
//Print(" Price ",bodypips[MaxInd_bodypips,0]," Form_Patern_Finder[w4,5] ",Form_Patern_Finder[w4,5]," N_Centro_r==4 ",N_Centro_r==4);
if(Form_Patern_Finder[w4,68]==0 && N_Centro_r==4) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w4,68]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w4,64]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w4,64]=iTime(Symbol(),PERIOD_M1,1);
Change4_4=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w4,65]==1 && Form_Patern_Finder[w4,66]==1 && Form_Patern_Finder[w4,67]==1 && Form_Patern_Finder[w4,68]==1)
{
Form_Patern_Finder[w4,71]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
}
// break;
}
}
int WriteData4=1;
for(int z4=1; z4<=1000; z4++)
{
if(Array_Errors==true)
{
Print(" Index Array ",z4," 9806");
}
if(bodypips[MaxInd_bodypips,0]!=0 && PriceExist4==0 && (Form_Patern_Finder[z4,61]==bodypips[MaxInd_bodypips,0] || Form_Patern_Finder[z4,62]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z4,63]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z4,64]==bodypips[MaxInd_bodypips,0]))//Если в любой из ячеек существует цена то запись данных не нужна
{
WriteData4=0;
break;
}
}
if(PriceExist4==0 && InternalPat_1==5 && WriteData4==1) //Еси нет цены в массиве для просмотра
{
// int WRinLine=0;
int t4;
for(t4=1; t4<=1000; t4++)
{
if(Array_Errors==true)
{
Print(" Index Array ",t4," 9822");
}
if(Form_Patern_Finder[t4,61]==0 && Form_Patern_Finder[t4,62]==0 && Form_Patern_Finder[t4,63]==0 && Form_Patern_Finder[t4,64]==0 /*&& (Form_Patern_Finder[t,12]==PipsNumber && Form_Patern_Finder[t,13]==N_Gr20 ||Form_Patern_Finder[t,27]==PipsNumber && Form_Patern_Finder[t,28]==N_Gr20 || Form_Patern_Finder[t,42]==PipsNumber && Form_Patern_Finder[t,43]==N_Gr20 || Form_Patern_Finder[t,57]==PipsNumber && Form_Patern_Finder[t,58]==N_Gr20)*/) //Последнее пустое место в массиве
{
// WRinLine=1;
break;
}
}
// for(t4=1; t4<1000; t4++)
// {
// if(WRinLine=0 && Form_Patern_Finder[t,1]==0 && Form_Patern_Finder[t,2]==0 && Form_Patern_Finder[t,3]==0 && Form_Patern_Finder[t,4]==0) //Последнее пустое место в массиве
// {
// break;
// }
// }
//Зацикливание процеса на остановке записывания в Массив данных
//int BlockPermis1=0;
// if(w==1000 && Form_Patern_Finder[t,1]>0)
// {
// BlockPermis1=1;
// }
// Print(" t ", t);
// if(BlockPermis1==0)
// { }
//Праизводится запись нового элемента
//новый элемент записан
//ok Print(" Form_Patern_Finder[t,1] ", Form_Patern_Finder[t,1]);
//ok Print(" N_Centro ",N_Centro_r);
//Print("t ",t);
if(N_Centro_r==1)
{
// Print("N_Centro_r ",N_Centro_r);
Form_Patern_Finder[t4,65]=1;
Form_Patern_Finder[t4,61]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t4,61]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==2)
{
//Print("N_Centro_r ",N_Centro_r);
Form_Patern_Finder[t4,66]=1;
Form_Patern_Finder[t4,62]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t4,62]=iTime(Symbol(),PERIOD_M1,1);
//Print("Form_Patern_Finder[t,2] ",Form_Patern_Finder[t,2]);
//ok Print(" Form_Patern_Finder[t,3] ", Form_Patern_Finder[t,2]);
}
if(N_Centro_r==3)
{
//Print("N_Centro_r ",N_Centro_r);
Form_Patern_Finder[t4,67]=1;
Form_Patern_Finder[t4,63]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t4,63]=iTime(Symbol(),PERIOD_M1,1);
//Print("Form_Patern_Finder[t,3] ",Form_Patern_Finder[t,3]);
//ok Print(" Form_Patern_Finder[t,4] ", Form_Patern_Finder[t,4]);
}
if(N_Centro_r==4)
{
//Print("N_Centro_r ",N_Centro_r);
Form_Patern_Finder[t4,68]=1;
Form_Patern_Finder[t4,64]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t4,64]=iTime(Symbol(),PERIOD_M1,1);
// Print("Form_Patern_Finder[t,4] ",Form_Patern_Finder[t,4]);
//ok Print(" Form_Patern_Finder[t,5] ", Form_Patern_Finder[t,5]);
}
Form_Patern_Finder[t4,72]=PipsNumber;//Номер Семечки . имеет значение от 1 до 5
Form_Patern_Finder[t4,73]=N_Gr20;//Номер блока ценавой 20-ки
Form_Patern_Finder[t4,74]=N_Centro;//Номер центра архитектуры
//Произвести запись массива в Бинарнйы фаил.Фаил загружается в массив при запуске программы
}
//BO_0_IZN
int newPrise5=0;
int PriceExist5=0;
int w5;
for(w5=1; w5<=1000; w5++)//Перебор для поиска по условию Если цена НЕ равна записаннаму значению в Массиве 1,00001!=1,00002
{
if(Array_Errors==true)
{
Print(" Index Array ",w5," 9898");
}
if((Form_Patern_Finder[w5,88]!=0 && Form_Patern_Finder[w5,88]==N_Gr20 && Form_Patern_Finder[w5,87]==PipsNumber && ((Form_Patern_Finder[w5,76]!=bodypips[MaxInd_bodypips,0])|| (Form_Patern_Finder[w5,77]!=bodypips[MaxInd_bodypips,0])||(Form_Patern_Finder[w5,78]!=bodypips[MaxInd_bodypips,0])|| (Form_Patern_Finder[w5,79]!=bodypips[MaxInd_bodypips,0])))/*Form_Patern_Finder[w4,9]=N_Gr20 && Form_Patern_Finder[w4,6]==1 &&*/ && InternalPat_1==6) //Поиск цены . Возвращает индекс в массиве
{
PriceExist5=1;
if(PriceExist5==1/*"Указывает на найденную цену Функцией выше"*/ && InternalPat_1==6/*"Указывает на соеденение в ячейке цены и абьёма"*/ && Form_Patern_Finder[w5,86]!=1)//Если цена существует и w не равен 0 и Патерн не был собран. Если w равен налю произвести новую запись то доступ в функцию открыт
{
int Change1_5=0,Change2_5=0,Change3_5=0,Change4_5=0;
if(Form_Patern_Finder[w5,80]==0 && N_Centro_r==1) // Параметр архитектуры 1 ;//Номер Семечки . имеет значение от 1 до 5
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w5,80]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w5,76]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w5,76]=iTime(Symbol(),PERIOD_M1,1);
Change1_5=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w5,80]==1 && Form_Patern_Finder[w5,81]==1 && Form_Patern_Finder[w5,82]==1 && Form_Patern_Finder[w5,83]==1)
{
Form_Patern_Finder[w5,86]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 2 Красный
if(Form_Patern_Finder[w5,81]==0 && N_Centro_r==2) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w5,81]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w5,77]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w5,77]=iTime(Symbol(),PERIOD_M1,1);
Change2_5=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w5,80]==1 && Form_Patern_Finder[w5,81]==1 && Form_Patern_Finder[w5,82]==1 && Form_Patern_Finder[w5,83]==1)
{
Form_Patern_Finder[w5,86]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 3 Зелёный
if(Form_Patern_Finder[w5,82]==0 && N_Centro_r==3) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w5,82]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w5,78]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w5,78]=iTime(Symbol(),PERIOD_M1,1);
Change3_5=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w5,80]==1 && Form_Patern_Finder[w5,81]==1 && Form_Patern_Finder[w5,82]==1 && Form_Patern_Finder[w5,83]==1)
{
Form_Patern_Finder[w5,86]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 4 Синий
if(Form_Patern_Finder[w5,83]==0 && N_Centro_r==4) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w5,83]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w5,79]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w5,79]=iTime(Symbol(),PERIOD_M1,1);
Change4_5=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w5,80]==1 && Form_Patern_Finder[w5,81]==1 && Form_Patern_Finder[w5,82]==1 && Form_Patern_Finder[w5,83]==1)
{
Form_Patern_Finder[w5,86]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
}
// break;
}
}
// ----- Ески нет цены в массиве для просмотра
int WriteData5=1;
for(int z5=1; z5<=1000; z5++)
{
if(Array_Errors==true)
{
Print(" Index Array ",z5," 9975");
}
if(bodypips[MaxInd_bodypips,0]!=0 && PriceExist5==0 && (Form_Patern_Finder[z5,76]==bodypips[MaxInd_bodypips,0] || Form_Patern_Finder[z5,77]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z5,78]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z5,79]==bodypips[MaxInd_bodypips,0]))//Если в любой из ячеек существует цена то запись данных не нужна
{
WriteData5=0;
break;
}
}
if(PriceExist5==0 && InternalPat_1==6 && WriteData5==1) //Еси нет цены в массиве для просмотра
{
//int WRinLine1=0;
int t5;
for(t5=1; t5<1000; t5++)
{
if(Array_Errors==true)
{
Print(" Index Array ",t5," 9991");
}
if(Form_Patern_Finder[t5,76]==0 && Form_Patern_Finder[t5,77]==0 && Form_Patern_Finder[t5,78]==0 && Form_Patern_Finder[t5,79]==0 /*&& (Form_Patern_Finder[t5,12]==PipsNumber && Form_Patern_Finder[t5,13]==N_Gr20 ||Form_Patern_Finder[t5,27]==PipsNumber && Form_Patern_Finder[t5,28]==N_Gr20 || Form_Patern_Finder[t5,42]==PipsNumber && Form_Patern_Finder[t5,43]==N_Gr20 || Form_Patern_Finder[t5,57]==PipsNumber && Form_Patern_Finder[t5,58]==N_Gr20)*/) //Последнее пустое место в массиве
{
// WRinLine1=1;
break;
}
}
//for(t5=1; t5<1000; t5++)
// {
// if(WRinLine1=0 && Form_Patern_Finder[t5,17]==0 && Form_Patern_Finder[t5,18]==0 && Form_Patern_Finder[t5,19]==0 && Form_Patern_Finder[t5,20]==0) //Последнее пустое место в массиве
// {
// break;
// }
// }
if(N_Centro_r==1)
{
Form_Patern_Finder[t5,80]=1;
Form_Patern_Finder[t5,76]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t5,76]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==2)
{
Form_Patern_Finder[t5,81]=1;
Form_Patern_Finder[t5,77]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t5,77]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==3)
{
Form_Patern_Finder[t5,82]=1;
Form_Patern_Finder[t5,78]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t5,78]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==4)
{
Form_Patern_Finder[t5,83]=1;
Form_Patern_Finder[t5,79]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t5,79]=iTime(Symbol(),PERIOD_M1,1);
}
Form_Patern_Finder[t5,87]=PipsNumber;//Номер Семечки . имеет значение от 1 до 5
Form_Patern_Finder[t5,88]=N_Gr20;//Номер блока ценавой 20-ки
Form_Patern_Finder[t5,89]=N_Centro;//Номер центра архитектуры
//Произвести запись массива в Бинарнйы фаил.Фаил загружается в массив при запуске программы
}
//Be_1_IZN
int newPrise6=0;
int PriceExist6=0;
int w6;
for(w6=1; w6<=1000; w6++)//Перебор для поиска по условию Если цена НЕ равна записаннаму значению в Массиве 1,00001!=1,00002
{
if(Array_Errors==true)
{
Print(" Index Array ",w6," 10043");
}
if((Form_Patern_Finder[w6,103]!=0 && Form_Patern_Finder[w6,103]==N_Gr20 && Form_Patern_Finder[w6,102]==PipsNumber && ((Form_Patern_Finder[w6,91]!=bodypips[MaxInd_bodypips,0]) || (Form_Patern_Finder[w6,92]!=bodypips[MaxInd_bodypips,0]) || (Form_Patern_Finder[w6,93]!=bodypips[MaxInd_bodypips,0])|| (Form_Patern_Finder[w6,94]!=bodypips[MaxInd_bodypips,0])))/*Form_Patern_Finder[w4,9]=N_Gr20 && Form_Patern_Finder[w4,6]==1 &&*/ && InternalPat_1==7) //Поиск цены . Возвращает индекс в массиве
{
PriceExist6=1;
if(PriceExist6==1/*"Указывает на найденную цену Функцией выше"*/ && InternalPat_1==7/*"Указывает на соеденение в ячейке цены и абьёма"*/ && Form_Patern_Finder[w6,101]!=1)//Если цена существует и w не равен 0 и Патерн не был собран. Если w равен налю произвести новую запись то доступ в функцию открыт
{
int Change1_6=0,Change2_6=0,Change3_6=0,Change4_6=0;
if(Form_Patern_Finder[w6,95]==0 && N_Centro_r==1) // Параметр архитектуры 1 ;//Номер Семечки . имеет значение от 1 до 5
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w6,95]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w6,91]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w6,91]=iTime(Symbol(),PERIOD_M1,1);
Change1_6=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w6,95]==1 && Form_Patern_Finder[w6,96]==1 && Form_Patern_Finder[w6,97]==1 && Form_Patern_Finder[w6,98]==1)
{
Form_Patern_Finder[w6,101]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 2 Красный
if(Form_Patern_Finder[w6,96]==0 && N_Centro_r==2) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w6,96]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w6,92]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w6,92]=iTime(Symbol(),PERIOD_M1,1);
Change2_6=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w6,95]==1 && Form_Patern_Finder[w6,96]==1 && Form_Patern_Finder[w6,97]==1 && Form_Patern_Finder[w6,98]==1)
{
Form_Patern_Finder[w6,101]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 3 Зелёный
if(Form_Patern_Finder[w6,97]==0 && N_Centro_r==3) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w6,97]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w6,93]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w6,93]=iTime(Symbol(),PERIOD_M1,1);
Change3_6=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w6,95]==1 && Form_Patern_Finder[w6,96]==1 && Form_Patern_Finder[w6,97]==1 && Form_Patern_Finder[w6,98]==1)
{
Form_Patern_Finder[w6,101]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 4 Синий
if(Form_Patern_Finder[w6,98]==0 && N_Centro_r==4) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w6,98]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w6,94]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w6,94]=iTime(Symbol(),PERIOD_M1,1);
Change4_6=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w6,95]==1 && Form_Patern_Finder[w6,96]==1 && Form_Patern_Finder[w6,97]==1 && Form_Patern_Finder[w6,98]==1)
{
Form_Patern_Finder[w6,101]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
}
// break;
}
}
// ----- Ески нет цены в массиве для просмотра
int WriteData6=1;
for(int z6=1; z6<=1000; z6++)
{
if(Array_Errors==true)
{
Print(" Index Array ",z6," 10120");
}
if(bodypips[MaxInd_bodypips,0]!=0 && PriceExist6==0 && (Form_Patern_Finder[z6,91]==bodypips[MaxInd_bodypips,0] || Form_Patern_Finder[z6,92]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z6,93]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z6,94]==bodypips[MaxInd_bodypips,0]))//Если в любой из ячеек существует цена то запись данных не нужна
{
WriteData6=0;
break;
}
}
if(PriceExist6==0 && InternalPat_1==7 && WriteData6==1) //Еси нет цены в массиве для просмотра
{
// int WRinLine2=0;
int t6;
for(t6=1; t6<=1000; t6++)
{
if(Array_Errors==true)
{
Print(" Index Array ",t6," 10136");
}
if(Form_Patern_Finder[t6,91]==0 && Form_Patern_Finder[t6,92]==0 && Form_Patern_Finder[t6,93]==0 && Form_Patern_Finder[t6,94]==0 /*&& (Form_Patern_Finder[t6,12]==PipsNumber && Form_Patern_Finder[t6,13]==N_Gr20 ||Form_Patern_Finder[t6,27]==PipsNumber && Form_Patern_Finder[t6,28]==N_Gr20 || Form_Patern_Finder[t6,42]==PipsNumber && Form_Patern_Finder[t6,43]==N_Gr20 || Form_Patern_Finder[t6,57]==PipsNumber && Form_Patern_Finder[t6,58]==N_Gr20)*/) //Последнее пустое место в массиве
{
// WRinLine2=1;
break;
}
}
// for(t6=1; t6<1000; t6++)
// {
// if(WRinLine6=0 && Form_Patern_Finder[t6,31]==0 && Form_Patern_Finder[t6,32]==0 && Form_Patern_Finder[t6,33]==0 && Form_Patern_Finder[t6,34]==0) //Последнее пустое место в массиве
// {
// break;
// }
// }
if(N_Centro_r==1)
{
Form_Patern_Finder[t6,95]=1;
Form_Patern_Finder[t6,91]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t6,91]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==2)
{
Form_Patern_Finder[t6,96]=1;
Form_Patern_Finder[t6,92]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t6,92]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==3)
{
Form_Patern_Finder[t6,97]=1;
Form_Patern_Finder[t6,93]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t6,93]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==4)
{
Form_Patern_Finder[t6,98]=1;
Form_Patern_Finder[t6,94]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t6,94]=iTime(Symbol(),PERIOD_M1,1);
}
Form_Patern_Finder[t6,102]=PipsNumber;//Номер Семечки . имеет значение от 1 до 5
Form_Patern_Finder[t6,103]=N_Gr20;//Номер блока ценавой 20-ки
Form_Patern_Finder[t6,104]=N_Centro;//Номер центра архитектуры
//Произвести запись массива в Бинарнйы фаил.Фаил загружается в массив при запуске программы
}
//Bo_1_IZN
int newPrise7=0;
int PriceExist7=0;
int w7;
for(w7=1; w7<=1000; w7++)//Перебор для поиска по условию Если цена НЕ равна записаннаму значению в Массиве 1,00001!=1,00002
{
if(Array_Errors==true)
{
Print(" Index Array ",w7," 10188");
}
if((Form_Patern_Finder[w7,118]!=0 && Form_Patern_Finder[w7,118]==N_Gr20 && Form_Patern_Finder[w7,117]==PipsNumber && ((Form_Patern_Finder[w7,106]!=bodypips[MaxInd_bodypips,0]) ||(Form_Patern_Finder[w7,107]!=bodypips[MaxInd_bodypips,0]) ||(Form_Patern_Finder[w7,108]!=bodypips[MaxInd_bodypips,0])||(Form_Patern_Finder[w7,109]!=bodypips[MaxInd_bodypips,0])))&& InternalPat_1==8) //Поиск цены . Возвращает индекс в массиве
{
PriceExist7=1;
if(PriceExist7==1/*"Указывает на найденную цену Функцией выше"*/ && InternalPat_1==8/*"Указывает на соеденение в ячейке цены и абьёма"*/ && Form_Patern_Finder[w7,116]!=1)//Если цена существует и w не равен 0 и Патерн не был собран. Если w равен налю произвести новую запись то доступ в функцию открыт
{
int Change1_7=0,Change2_7=0,Change3_7=0,Change4_7=0;
if(Form_Patern_Finder[w7,110]==0 && N_Centro_r==1) // Параметр архитектуры 1 ;//Номер Семечки . имеет значение от 1 до 5
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w7,110]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w7,106]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w7,106]=iTime(Symbol(),PERIOD_M1,1);
Change1_7=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w7,110]==1 && Form_Patern_Finder[w7,111]==1 && Form_Patern_Finder[w7,112]==1 && Form_Patern_Finder[w7,113]==1)
{
Form_Patern_Finder[w7,116]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 2 Красный
if(Form_Patern_Finder[w7,111]==0 && N_Centro_r==2) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w7,111]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w7,107]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w7,107]=iTime(Symbol(),PERIOD_M1,1);
Change2_7=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w7,110]==1 && Form_Patern_Finder[w7,111]==1 && Form_Patern_Finder[w7,112]==1 && Form_Patern_Finder[w7,113]==1)
{
Form_Patern_Finder[w7,116]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 3 Зелёный
if(Form_Patern_Finder[w7,112]==0 && N_Centro_r==3) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w7,112]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w7,108]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w7,108]=iTime(Symbol(),PERIOD_M1,1);
Change3_7=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w7,110]==1 && Form_Patern_Finder[w7,111]==1 && Form_Patern_Finder[w7,112]==1 && Form_Patern_Finder[w7,113]==1)
{
Form_Patern_Finder[w7,116]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
//Центр 4 Синий
if(Form_Patern_Finder[w7,113]==0 && N_Centro_r==4) // Параметр архитектуры 1
{
//Присваиваю значение по архитектуре
Form_Patern_Finder[w7,113]=1;//Присваиваю значение соеденения в архитектуре "Желтый Карсный Синий Зелёный " + Место по цене"Архитектура" + Место по полученному абьёму"00000000"
Form_Patern_Finder[w7,109]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[w7,109]=iTime(Symbol(),PERIOD_M1,1);
Change4_7=1;
//Проверяю наличие остальных архитектур в ячейке
if(Form_Patern_Finder[w7,110]==1 && Form_Patern_Finder[w7,111]==1 && Form_Patern_Finder[w7,112]==1 && Form_Patern_Finder[w7,113]==1)
{
Form_Patern_Finder[w7,116]=1;//Патерн Заполнен
//Вывести на график цены флаг собранного патерна
}
}
}
// break;
}
}
// ----- Ески нет цены в массиве для просмотра
int WriteData7=1;
for(int z7=1; z7<=1000; z7++)
{
if(Array_Errors==true)
{
Print(" Index Array ",z7," 10265");
}
if(bodypips[MaxInd_bodypips,0]!=0 && PriceExist7==0 && (Form_Patern_Finder[z7,106]==bodypips[MaxInd_bodypips,0] || Form_Patern_Finder[z7,107]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z7,108]==bodypips[MaxInd_bodypips,0]||Form_Patern_Finder[z7,109]==bodypips[MaxInd_bodypips,0]))//Если в любой из ячеек существует цена то запись данных не нужна
{
WriteData7=0;
break;
}
}
if(PriceExist7==0 && InternalPat_1==8 && WriteData7==1) //Еси нет цены в массиве для просмотра
{
// int WRinLine3=0;
int t7;
for(t7=1; t7<=1000; t7++)
{
if(Array_Errors==true)
{
Print(" Index Array ",t7," 10281");
}
if(Form_Patern_Finder[t7,110]==0 && Form_Patern_Finder[t7,111]==0 && Form_Patern_Finder[t7,112]==0 && Form_Patern_Finder[t7,113]==0 /*&& (Form_Patern_Finder[t7,12]==PipsNumber && Form_Patern_Finder[t7,13]==N_Gr20 ||Form_Patern_Finder[t7,27]==PipsNumber && Form_Patern_Finder[t7,28]==N_Gr20 || Form_Patern_Finder[t7,42]==PipsNumber && Form_Patern_Finder[t7,43]==N_Gr20 || Form_Patern_Finder[t7,57]==PipsNumber && Form_Patern_Finder[t7,58]==N_Gr20)*/) //Последнее пустое место в массиве
{
// WRinLine3=1;
break;
}
}
// for(t7=1; t7<1000; t7++)
// {
// if(WRinLine3=0 && Form_Patern_Finder[t7,46]==0 && Form_Patern_Finder[t7,47]==0 && Form_Patern_Finder[t7,48]==0 && Form_Patern_Finder[t7,49]==0) //Последнее пустое место в массиве
// {
// break;
// }
// }
if(N_Centro_r==1)
{
Form_Patern_Finder[t7,106]=1;
Form_Patern_Finder[t7,110]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t7,110]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==2)
{
Form_Patern_Finder[t7,107]=1;
Form_Patern_Finder[t7,111]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t7,111]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==3)
{
Form_Patern_Finder[t7,108]=1;
Form_Patern_Finder[t7,112]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t7,112]=iTime(Symbol(),PERIOD_M1,1);
}
if(N_Centro_r==4)
{
Form_Patern_Finder[t7,109]=1;
Form_Patern_Finder[t7,113]=bodypips[MaxInd_bodypips,0];
DT_Form_Patern_Finder[t7,113]=iTime(Symbol(),PERIOD_M1,1);
}
Form_Patern_Finder[t7,117]=PipsNumber;//Номер Семечки . имеет значение от 1 до 5
Form_Patern_Finder[t7,118]=N_Gr20;//Номер блока ценавой 20-ки
Form_Patern_Finder[t7,119]=N_Centro;//Номер центра архитектуры
//Произвести запись массива в Бинарнйы фаил.Фаил загружается в массив при запуске программы
}
Pr_Arch="0";
//Функция соответствия ключа в к номеру центра и полюсному состоянию
//Print("TEST1 Print "," N_Centro_Ind ",N_Centro_Ind," Arch3 ",Arch3);
// клас для складывания и раскладывания архитектуры. Управляющие элементы
//Существует Подклас для Деления с указанием на переменную
//Подкласы:Kлас деления, Указание на перемнную и Подклас Деление с Указанием на переменную поочерёдно накладываются на Круг и Звезду и выводят следующие подкласы.
// 1. Звесда с Переменной. 2. Звезда с вертикальным разделением 3. Звезда с горизонтальным разделением.4. Звезда с вертикальным разделением и указателем Переменной 5.Звезда с горизонтальным разделением и указателем Переменной
// 1. Круг с Переменной. 2. Круг с вертикальным разделением 3. Круг с горизонтальным разделением.4. Круг с вертикальным разделением и указателем Переменной 5.Круг с горизонтальным разделением и указателем Переменной
if(comp_Sev[1,1]==0 && comp_Sev[1,2]==0 && comp_Sev[1,3]==0 && comp_Sev[1,4]==0 && comp_Sev[1,5]==0 && comp_Sev[1,6]==0 && comp_Sev[1,7]==0 && comp_Sev[1,8]==0)
{
N_Petalo_1=0;
}
int Ch_d1=0;//Permiso para cambiar datos
for(int iu=1; iu<=8; iu++)//Сравнение пересчёта бинарного кода. Выявление изменений в 01110110 байте 01101110
{
if(Array_Errors==true)
{
Print(" Index Array ",iu," 10342");
}
if(comp_Sev[1,iu]!=Sev[1,iu] && Sev[1,iu]==1)// условие если произошло изменение в структуре 8 бит
{
N_Petalo_1=iu;//Присвоение индекса как номер лепестка
Ch_d1=1;
break;
}
}
if(N_Petalo_1!=0 && Ch_d1==1)
{
N_Petalo=N_Petalo_1;
}
//Print("Fractal ",flower_Price_3[opa,40]," N_Petalo_1 ",N_Petalo_1);
//Произвести присваивание новых значений в Массив сравнения после проведения всего расчёта
//Print(" Cotejamiento de Arrays antes de reasignacion",comp_Sev[1,1],comp_Sev[1,2],comp_Sev[1,3],comp_Sev[1,4]);
comp_Sev[1,1]=Sev[1,1];
//Print(" comp_Sev[1,1]",comp_Sev[1,1]);
comp_Sev[1,2]=Sev[1,2];
//Print(" comp_Sev[1,2]",comp_Sev[1,2]);
comp_Sev[1,3]=Sev[1,3];
//Print(" comp_Sev[1,3]",comp_Sev[1,3]);
comp_Sev[1,4]=Sev[1,4];
//Print(" comp_Sev[1,4",comp_Sev[1,4]);
comp_Sev[1,5]=Sev[1,5];
//Print(" comp_Sev[1,1]",comp_Sev[1,1]);
comp_Sev[1,6]=Sev[1,6];
//Print(" comp_Sev[1,2]",comp_Sev[1,2]);
comp_Sev[1,7]=Sev[1,7];
//Print(" comp_Sev[1,3]",comp_Sev[1,3]);
comp_Sev[1,8]=Sev[1,8];
//Print(" comp_Sev[1,4",comp_Sev[1,4]);
Price_Compare=bodypips[MaxInd_bodypips,0];//Переменная для сравнения цены с предыдущим значением
// Конец функции
//метод складывания в лепесток. Исходные значения. Номера центров подачи и приёма + или - импулса Определение подачи от центра 2 в центр 4 с использованием текущей архитектуры
// произвести сравнения бинарности для выявления номера лепестка.
//+------------------------------------------------------------------+
//| Sunflower 1/0 - Cluster flower |
//+------------------------------------------------------------------+
// Зброс параметров переменных перед расчётом
// flower[99,39] Обьявить массив 0. Произвести проверку на >=1 0000 Лепесток1(по архитектурно арх 1 2 3 4) 0000 Лепесток2 0000 Лепесток3 0000 лепесток4 также 5 6 7 8
insert_chanel_1=0;
insert_chanel_2=0;
output_Dir=0;
zaryad=0;
zapret_podachi_input=0;
zapret_podachi_output=0;
//----modo test
Print("2- OPA ",opa);
// Print(" flower_Price_3[opa,33] ",flower_Price_3[0,33]);
Print(" Precio AR ",flower_Price_3[opa,33]," precio cor ",Price," N centro AR ",flower_Price_3[opa,37]," N centro ",N_Centro," n20 arr ",flower_Price_3[opa,38]," N20 ",N_Gr20);
if(flower_perm==true)
{
//модуль загрузки предыдущих переменных
if(LD_Mod48Bit[1,2]==1)
{
LastV_f_Be_0=1;
LastV_f_Bo_0=0;
LastV_f_Be_1=0;
LastV_f_Bo_1=0;
LastC_N_Centro_r=LD_Mod48Bit[1,1];
}
if(LD_Mod48Bit[1,2]==2)
{
LastV_f_Be_0=0;
LastV_f_Bo_0=1;
LastV_f_Be_1=0;
LastV_f_Bo_1=0;
LastC_N_Centro_r=LD_Mod48Bit[1,1];
}
if(LD_Mod48Bit[1,2]==3)
{
LastV_f_Be_0=0;
LastV_f_Bo_0=0;
LastV_f_Be_1=1;
LastV_f_Bo_1=0;
LastC_N_Centro_r=LD_Mod48Bit[1,1];
}
if(LD_Mod48Bit[1,2]==4)
{
LastV_f_Be_0=0;
LastV_f_Bo_0=0;
LastV_f_Be_1=0;
LastV_f_Bo_1=4;
LastC_N_Centro_r=LD_Mod48Bit[1,1];
}
// Funcion " Cogsworth "
if(sev==1 && N_Petalo==1 && N_Centro_r==1 && f_Be_1==1 && LastC_N_Centro_r==4 && LastV_f_Bo_1==1) // установка расчёта с 3 архитектуры лица
{
LD_Mod48Bit[1,1]=1;//номер центра 1,2,3,4
LD_Mod48Bit[1,2]=3;//номер переменной
LastC_N_Centro_r=0;//обнуление после оброботки блока
LastV_f_Bo_1=0;//обнуление после оброботки блока
bool chbox=true;//Разрешение на пересчёт в модуле.
//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//flower[1,1]=flower[1,1]+1;//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//KlasterTime[9,385];// 8 linias 8 petalos,celdas, numero de fraccion" 1- 4",num agija de reloj "1234","03,36,69,91"" Numero de variable,Numero asignado segun calculo.
// Regla de suma en fractal. Fase 1 preparativo. fase 2 transporte de tiempo "+1" FIn de transporte ver hacia donde se guardan los tiempos.
//Ejemplo en caso de Petalo 1, Variable Be_0 se rellena la fraccion 3 hasta alcanzar permiso 24 o 25. Una vez alcanzado permiso la proxima variabe transporta el numero de tiempo +1. En caso de permiso 24 tiempo se transporta hasta
// Centro de arquitectura 2 +1, En caso de permiso 25 tiempo se transporta hasta el centro 4 +1. Cada petalo contiene 4 clusters. Cada claster corresponde al reloj. Ejemplo . Petalo 1. Cluster 1 corresponde al centro 1, cluster 2 al centro 4,Cluster 3 corresponde al centro 3 cluster 4 corresponde al centro 2.
//-----------------------------------------------
// Подача переменных на массив времени flower_Time
// цель мониторинг складываемости цифер временного фрактала при вращении
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
//Производим сборку 2 пересечения
//+
if(flower_Time[1,2]!=25 || flower_Time[1,2]!=24 && flower_Time[1,2]<25 && chbox==true) //То сумируем полученное значение из переменной
{
flower_Time[1,2]=flower_Time[1,2]+KlasterTime[1,48];
chbox=false;
}
//-
if(flower_Time[1,2]!=25 || flower_Time[1,2]!=24 && flower_Time[1,2]>25 && chbox==true) //То вычитаем полученное значение из переменной
{
flower_Time[1,2]=flower_Time[1,2]-KlasterTime[1,48];
chbox=false;
}
//
if(flower_Time[1,2]==24) //Заводим одну из 12 едениц времени напрямую
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,2]==0 ||flower_Time_CL[1,2]<0)
{
flower_Time_CL[1,2]=1;
}
flower_Time_CL[1,2]=flower_Time_CL[1,2]-1;//Передача времени 1
flower_Time_CL[1,4]=flower_Time_CL[1,4]+1;// + ar 4
flower_Time[1,2]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_24[4,i]==0)
{
flower_Time_DT_24[4,i]=iTime(Symbol(),0,1);
break;
}
}
}
if(flower_Time[1,2]==25) //заводим 1 из 12 едениц времени косвенно
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,4]==0 ||flower_Time_CL[1,4]<0)
{
flower_Time_CL[1,4]=1;
}
flower_Time_CL[1,4]=flower_Time_CL[1,4]-1;//Передача времени 4
flower_Time_CL[1,1]=flower_Time_CL[1,1]+1;// + ar 1
flower_Time[1,2]=0;//После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_25[1,i]==0)
{
flower_Time_DT_25[1,i]=iTime(Symbol(),0,1);
break;
}
}
}
//------------------------------------------------
// Подача переменных на массив flower_diferenc
// Цель мониторинг расчёта сумм лепестка с выводом на печать полученного значения диферента
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
}
// 2
if(sev==1 && N_Petalo==2 && N_Centro_r==1 && f_Bo_1==1 && LastC_N_Centro_r==4 && LastV_f_Be_0==1)
{
LD_Mod48Bit[1,1]=1;//номер центра 1,2,3,4
LD_Mod48Bit[1,2]=4;//номер переменной
LastC_N_Centro_r=0;//обнуление после оброботки блока
LastV_f_Bo_1=0;//обнуление после оброботки блока
bool chbox=true;//Разрешение на пересчёт в модуле.
//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//flower[1,1]=flower[1,1]+1;//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//KlasterTime[9,385];// 8 linias 8 petalos,celdas, numero de fraccion" 1- 4",num agija de reloj "1234","03,36,69,91"" Numero de variable,Numero asignado segun calculo.
// Regla de suma en fractal. Fase 1 preparativo. fase 2 transporte de tiempo "+1" FIn de transporte ver hacia donde se guardan los tiempos.
//Ejemplo en caso de Petalo 1, Variable Be_0 se rellena la fraccion 3 hasta alcanzar permiso 24 o 25. Una vez alcanzado permiso la proxima variabe transporta el numero de tiempo +1. En caso de permiso 24 tiempo se transporta hasta
// Centro de arquitectura 2 +1, En caso de permiso 25 tiempo se transporta hasta el centro 4 +1. Cada petalo contiene 4 clusters. Cada claster corresponde al reloj. Ejemplo . Petalo 1. Cluster 1 corresponde al centro 1, cluster 2 al centro 4,Cluster 3 corresponde al centro 3 cluster 4 corresponde al centro 2.
//-----------------------------------------------
// Подача переменных на массив времени flower_Time
// цель мониторинг складываемости цифер временного фрактала при вращении
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
//Производим сборку 2 пересечения
//+
if(flower_Time[2,2]!=25 || flower_Time[2,2]!=24 && flower_Time[2,2]<25 && chbox==true) //То сумируем полученное значение из переменной
{
flower_Time[2,2]=flower_Time[2,2]+KlasterTime[2,48];
chbox=false;
}
//-
if(flower_Time[2,2]!=25 || flower_Time[2,2]!=24 && flower_Time[2,2]>25 && chbox==true) //То вычитаем полученное значение из переменной
{
flower_Time[2,2]=flower_Time[2,2]-KlasterTime[2,48];
chbox=false;
}
//=
if(flower_Time[2,2]==24) //Заводим одну из 12 едениц времени напрямую
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,4]==0 ||flower_Time_CL[1,4]<0)
{
flower_Time_CL[1,4]=1;
}
flower_Time_CL[1,4]=flower_Time_CL[1,4]-1;//Передача времени в 5
flower_Time_CL[1,5]=flower_Time_CL[1,5]+1;// + ar 4
flower_Time[2,2]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_24[5,i]==0)
{
flower_Time_DT_24[5,i]=iTime(Symbol(),0,1);// занос времени в 5 центр
break;
}
}
}
if(flower_Time[2,2]==25) //заводим 1 из 12 едениц времени косвенно
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,4]==0 ||flower_Time_CL[1,4]<0)
{
flower_Time_CL[1,4]=1;
}
flower_Time_CL[1,4]=flower_Time_CL[1,4]-1;//Передача времени в 1
flower_Time_CL[1,1]=flower_Time_CL[1,1]+1;// + ar 1
flower_Time[2,2]=0;//После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_25[1,i]==0)
{
flower_Time_DT_25[1,i]=iTime(Symbol(),0,1);
break;
}
}
}
//------------------------------------------------
// Подача переменных на массив flower_diferenc
// Цель мониторинг расчёта сумм лепестка с выводом на печать полученного значения диферента
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
}
// 3
if(sev==1 && N_Petalo==3 && N_Centro_r==1 && f_Be_0==1 && LastC_N_Centro_r==6 && LastV_f_Bo_0==1)
{
LD_Mod48Bit[1,1]=1;//номер центра 1,2,3,4
LD_Mod48Bit[1,2]=1;//номер переменной
LastC_N_Centro_r=0;//обнуление после оброботки блока
LastV_f_Bo_1=0;//обнуление после оброботки блока
bool chbox=true;//Разрешение на пересчёт в модуле.
//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//flower[1,1]=flower[1,1]+1;//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//KlasterTime[9,385];// 8 linias 8 petalos,celdas, numero de fraccion" 1- 4",num agija de reloj "1234","03,36,69,91"" Numero de variable,Numero asignado segun calculo.
// Regla de suma en fractal. Fase 1 preparativo. fase 2 transporte de tiempo "+1" FIn de transporte ver hacia donde se guardan los tiempos.
//Ejemplo en caso de Petalo 1, Variable Be_0 se rellena la fraccion 3 hasta alcanzar permiso 24 o 25. Una vez alcanzado permiso la proxima variabe transporta el numero de tiempo +1. En caso de permiso 24 tiempo se transporta hasta
// Centro de arquitectura 2 +1, En caso de permiso 25 tiempo se transporta hasta el centro 4 +1. Cada petalo contiene 4 clusters. Cada claster corresponde al reloj. Ejemplo . Petalo 1. Cluster 1 corresponde al centro 1, cluster 2 al centro 4,Cluster 3 corresponde al centro 3 cluster 4 corresponde al centro 2.
//-----------------------------------------------
// Подача переменных на массив времени flower_Time
// цель мониторинг складываемости цифер временного фрактала при вращении
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
//Производим сборку 3 пересечения
//+
if(flower_Time[3,3]!=25 || flower_Time[3,3]!=24 && flower_Time[3,3]<25 && chbox==true)//То сумируем полученное значение из переменной
{
flower_Time[3,3]=flower_Time[3,3]+KlasterTime[3,60];
chbox=false;
}
//-
if(flower_Time[3,3]!=25 || flower_Time[3,3]!=24 && flower_Time[3,3]>25 && chbox==true)//То вычитаем полученное значение из переменной
{
flower_Time[3,3]=flower_Time[3,3]-KlasterTime[3,60];
chbox=false;
}
//=
if(flower_Time[3,3]==24) //Заводим одну из 12 едениц времени напрямую
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,5]==0 ||flower_Time_CL[1,5]<0)
{
flower_Time_CL[1,5]=1;
}
flower_Time_CL[1,5]=flower_Time_CL[1,5]-1;//Передача времени 5
flower_Time[1,6]=flower_Time[1,6]+1;// + ar 6
flower_Time[3,3]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_24[6,i]==0)
{
flower_Time_DT_24[6,i]=iTime(Symbol(),0,1);
break;
}
}
}
if(flower_Time[3,3]==25) //заводим 1 из 12 едениц времени косвенно
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,5]==0 ||flower_Time_CL[1,5]<0)
{
flower_Time_CL[1,5]=1;
}
flower_Time_CL[1,5]=flower_Time_CL[1,5]-1;//Передача времени 5
flower_Time[1,1]=flower_Time[1,1]+1;// + ar 1
flower_Time[3,3]=0;//После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_25[1,i]==0)
{
flower_Time_DT_25[1,i]=iTime(Symbol(),0,1);
break;
}
}
}
//------------------------------------------------
// Подача переменных на массив flower_diferenc
// Цель мониторинг расчёта сумм лепестка с выводом на печать полученного значения диферента
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
}
// 4
if(sev==1 && N_Petalo==4 && N_Centro_r==1 && f_Bo_0==1 && LastC_N_Centro_r==6 && LastV_f_Be_0==1)
{
LD_Mod48Bit[1,1]=1;//номер центра 1,2,3,4
LD_Mod48Bit[1,2]=2;//номер переменной
LastC_N_Centro_r=0;//обнуление после оброботки блока
LastV_f_Bo_1=0;//обнуление после оброботки блока
bool chbox=true;//Разрешение на пересчёт в модуле.
//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//flower[1,1]=flower[1,1]+1;//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//KlasterTime[9,385];// 8 linias 8 petalos,celdas, numero de fraccion" 1- 4",num agija de reloj "1234","03,36,69,91"" Numero de variable,Numero asignado segun calculo.
// Regla de suma en fractal. Fase 1 preparativo. fase 2 transporte de tiempo "+1" FIn de transporte ver hacia donde se guardan los tiempos.
//Ejemplo en caso de Petalo 1, Variable Be_0 se rellena la fraccion 3 hasta alcanzar permiso 24 o 25. Una vez alcanzado permiso la proxima variabe transporta el numero de tiempo +1. En caso de permiso 24 tiempo se transporta hasta
// Centro de arquitectura 2 +1, En caso de permiso 25 tiempo se transporta hasta el centro 4 +1. Cada petalo contiene 4 clusters. Cada claster corresponde al reloj. Ejemplo . Petalo 1. Cluster 1 corresponde al centro 1, cluster 2 al centro 4,Cluster 3 corresponde al centro 3 cluster 4 corresponde al centro 2.
//-----------------------------------------------
// Подача переменных на массив времени flower_Time
// цель мониторинг складываемости цифер временного фрактала при вращении
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
//Производим сборку 3 пересечения
//+
if(flower_Time[4,3]!=25 || flower_Time[4,3]!=24 && flower_Time[4,3]<25 && chbox==true)//То сумируем полученное значение из переменной
{
flower_Time[4,3]=flower_Time[4,3]+KlasterTime[4,60];
chbox=false;
}
//-
if(flower_Time[4,3]!=25 || flower_Time[4,3]!=24 && flower_Time[4,3]>25 && chbox==true)//То вычитаем полученное значение из переменной
{
flower_Time[4,3]=flower_Time[4,3]- KlasterTime[4,60];
chbox=false;
}
//=
if(flower_Time[4,3]==24) //Заводим одну из 12 едениц времени напрямую
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,2]==0 ||flower_Time_CL[1,2]<0)
{
flower_Time_CL[1,2]=1;
}
flower_Time_CL[1,2]=flower_Time_CL[1,2]-1;//Передача времени 2
flower_Time_CL[1,6]=flower_Time_CL[1,6]+1;// + ar 6
flower_Time[4,3]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_24[6,i]==0)
{
flower_Time_DT_24[6,i]=iTime(Symbol(),0,1);
break;
}
}
}
if(flower_Time[4,3]==25) //заводим 1 из 12 едениц времени косвенно
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,2]==0 ||flower_Time_CL[1,2]<0)
{
flower_Time_CL[1,2]=1;
}
flower_Time_CL[1,2]=flower_Time_CL[1,2]-1;//Передача времени 2
flower_Time_CL[1,1]=flower_Time_CL[1,1]+1;// + ar 1
flower_Time[4,3]=0;//После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_25[1,i]==0)
{
flower_Time_DT_25[1,i]=iTime(Symbol(),0,1);
break;
}
}
}
//------------------------------------------------
// Подача переменных на массив flower_diferenc
// Цель мониторинг расчёта сумм лепестка с выводом на печать полученного значения диферента
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
}
//5
if(sev==1 && N_Petalo==1 && N_Centro_r==2 && f_Bo_0==1 && LastC_N_Centro_r==3 && LastV_f_Be_0==1)
{
LD_Mod48Bit[1,1]=2;//номер центра 1,2,3,4
LD_Mod48Bit[1,2]=1;//номер переменной
LastC_N_Centro_r=0;//обнуление после оброботки блока
LastV_f_Bo_1=0;//обнуление после оброботки блока
bool chbox=true;//Разрешение на пересчёт в модуле.
//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//flower[1,1]=flower[1,1]+1;//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//KlasterTime[9,385];// 8 linias 8 petalos,celdas, numero de fraccion" 1- 4",num agija de reloj "1234","03,36,69,91"" Numero de variable,Numero asignado segun calculo.
// Regla de suma en fractal. Fase 1 preparativo. fase 2 transporte de tiempo "+1" FIn de transporte ver hacia donde se guardan los tiempos.
//Ejemplo en caso de Petalo 1, Variable Be_0 se rellena la fraccion 3 hasta alcanzar permiso 24 o 25. Una vez alcanzado permiso la proxima variabe transporta el numero de tiempo +1. En caso de permiso 24 tiempo se transporta hasta
// Centro de arquitectura 2 +1, En caso de permiso 25 tiempo se transporta hasta el centro 4 +1. Cada petalo contiene 4 clusters. Cada claster corresponde al reloj. Ejemplo . Petalo 1. Cluster 1 corresponde al centro 1, cluster 2 al centro 4,Cluster 3 corresponde al centro 3 cluster 4 corresponde al centro 2.
//-----------------------------------------------
// Подача переменных на массив времени flower_Time
// цель мониторинг складываемости цифер временного фрактала при вращении
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
//Производим сборку 3 пересечения
//+
if(flower_Time[1,3]!=25 || flower_Time[1,3]!=24 && flower_Time[1,3]<25 && chbox==true)//То сумируем полученное значение из переменной
{
flower_Time[1,3]=flower_Time[1,3]+KlasterTime[1,60];
chbox=false;
}
//-
if(flower_Time[1,3]!=25 || flower_Time[1,3]!=24 && flower_Time[1,3]>25 && chbox==true)//То вычитаем полученное значение из переменной
{
flower_Time[1,3]=flower_Time[1,3]- KlasterTime[1,60];
chbox=false;
}
//=
if(flower_Time[1,3]==24) //Заводим одну из 12 едениц времени напрямую
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,1]==0 ||flower_Time_CL[1,1]<0)
{
flower_Time_CL[1,1]=1;
}
flower_Time_CL[1,1]=flower_Time_CL[1,1]-1;//Передача времени 1
flower_Time_CL[1,3]=flower_Time_CL[1,3]+1;// + ar 3
flower_Time[1,3]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_24[3,i]==0)
{
flower_Time_DT_24[3,i]=iTime(Symbol(),0,1);
break;
}
}
}
if(flower_Time[1,3]==25) //заводим 1 из 12 едениц времени косвенно
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,1]==0 ||flower_Time_CL[1,1]<0)
{
flower_Time_CL[1,1]=1;
}
flower_Time_CL[1,1]=flower_Time_CL[1,1]-1;//Передача времени 1
flower_Time[1,2]=flower_Time[1,2]+1;// + ar 2
flower_Time[1,3]=0;//После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_25[2,i]==0)
{
flower_Time_DT_25[2,i]=iTime(Symbol(),0,1);
break;
}
}
}
//------------------------------------------------
// Подача переменных на массив flower_diferenc
// Цель мониторинг расчёта сумм лепестка с выводом на печать полученного значения диферента
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
}
//6
if(sev==1 && N_Petalo==2 && N_Centro_r==5 && f_Be_0==1 && LastC_N_Centro_r==3 && LastV_f_Bo_0==1)
{
LD_Mod48Bit[1,1]=5;//номер центра 1,2,3,4
LD_Mod48Bit[1,2]=1;//номер переменной
LastC_N_Centro_r=0;//обнуление после оброботки блока
LastV_f_Bo_1=0;//обнуление после оброботки блока
bool chbox=true;//Разрешение на пересчёт в модуле.
//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//flower[1,1]=flower[1,1]+1;//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//KlasterTime[9,385];// 8 linias 8 petalos,celdas, numero de fraccion" 1- 4",num agija de reloj "1234","03,36,69,91"" Numero de variable,Numero asignado segun calculo.
// Regla de suma en fractal. Fase 1 preparativo. fase 2 transporte de tiempo "+1" FIn de transporte ver hacia donde se guardan los tiempos.
//Ejemplo en caso de Petalo 1, Variable Be_0 se rellena la fraccion 3 hasta alcanzar permiso 24 o 25. Una vez alcanzado permiso la proxima variabe transporta el numero de tiempo +1. En caso de permiso 24 tiempo se transporta hasta
// Centro de arquitectura 2 +1, En caso de permiso 25 tiempo se transporta hasta el centro 4 +1. Cada petalo contiene 4 clusters. Cada claster corresponde al reloj. Ejemplo . Petalo 1. Cluster 1 corresponde al centro 1, cluster 2 al centro 4,Cluster 3 corresponde al centro 3 cluster 4 corresponde al centro 2.
//-----------------------------------------------
// Подача переменных на массив времени flower_Time
// цель мониторинг складываемости цифер временного фрактала при вращении
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
//Производим сборку 3 пересечения
//+
if(flower_Time[2,3]!=25 || flower_Time[2,3]!=24 && flower_Time[2,3]<25 && chbox==true)//То сумируем полученное значение из переменной
{
flower_Time[2,3]=flower_Time[2,3]+KlasterTime[2,60];
chbox=false;
}
//-
if(flower_Time[2,3]!=25 || flower_Time[2,3]!=24 && flower_Time[2,3]>25 && chbox==true)//То вычитаем полученное значение из переменной
{
flower_Time[2,3]=flower_Time[2,3]- KlasterTime[2,60];
chbox=false;
}
//=
if(flower_Time[2,3]==24) //Заводим одну из 12 едениц времени напрямую
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,1]==0 ||flower_Time_CL[1,1]<0)
{
flower_Time_CL[1,1]=1;
}
flower_Time_CL[1,1]=flower_Time_CL[1,1]-1;//Передача времени 1
flower_Time_CL[1,3]=flower_Time_CL[1,3]+1;// + ar 3
flower_Time[2,3]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_24[3,i]==0)
{
flower_Time_DT_24[3,i]=iTime(Symbol(),0,1);
break;
}
}
}
if(flower_Time[2,3]==25) //заводим 1 из 12 едениц времени косвенно
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,1]==0 ||flower_Time_CL[1,1]<0)
{
flower_Time_CL[1,1]=1;
}
flower_Time_CL[1,1]=flower_Time_CL[1,1]-1;//Передача времени 1
flower_Time_CL[1,5]=flower_Time_CL[1,5]+1;// + ar 5
flower_Time[2,3]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_25[5,i]==0)
{
flower_Time_DT_25[5,i]=iTime(Symbol(),0,1);
break;
}
}
}
//------------------------------------------------
// Подача переменных на массив flower_diferenc
// Цель мониторинг расчёта сумм лепестка с выводом на печать полученного значения диферента
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
}
//7
if(sev==1 && N_Petalo==3 && N_Centro_r==5 && f_Bo_1==1 && LastC_N_Centro_r==3 && LastV_f_Be_1==1)
{
LD_Mod48Bit[1,1]=5;//номер центра 1,2,3,4
LD_Mod48Bit[1,2]=4;//номер переменной
LastC_N_Centro_r=0;//обнуление после оброботки блока
LastV_f_Bo_1=0;//обнуление после оброботки блока
bool chbox=true;//Разрешение на пересчёт в модуле.
//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//flower[1,1]=flower[1,1]+1;//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//KlasterTime[9,385];// 8 linias 8 petalos,celdas, numero de fraccion" 1- 4",num agija de reloj "1234","03,36,69,91"" Numero de variable,Numero asignado segun calculo.
// Regla de suma en fractal. Fase 1 preparativo. fase 2 transporte de tiempo "+1" FIn de transporte ver hacia donde se guardan los tiempos.
//Ejemplo en caso de Petalo 1, Variable Be_0 se rellena la fraccion 3 hasta alcanzar permiso 24 o 25. Una vez alcanzado permiso la proxima variabe transporta el numero de tiempo +1. En caso de permiso 24 tiempo se transporta hasta
// Centro de arquitectura 2 +1, En caso de permiso 25 tiempo se transporta hasta el centro 4 +1. Cada petalo contiene 4 clusters. Cada claster corresponde al reloj. Ejemplo . Petalo 1. Cluster 1 corresponde al centro 1, cluster 2 al centro 4,Cluster 3 corresponde al centro 3 cluster 4 corresponde al centro 2.
//-----------------------------------------------
// Подача переменных на массив времени flower_Time
// цель мониторинг складываемости цифер временного фрактала при вращении
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
//Производим сборку 2 пересечения
//+
if(flower_Time[3,2]!=25 || flower_Time[3,2]!=24 && flower_Time[3,2]<25 && chbox==true)//То сумируем полученное значение из переменной
{
flower_Time[3,2]=flower_Time[3,2]+KlasterTime[3,48];
chbox=false;
}
//-
if(flower_Time[3,2]!=25 || flower_Time[3,2]!=24 && flower_Time[3,2]>25 && chbox==true)//То вычитаем полученное значение из переменной
{
flower_Time[3,2]=flower_Time[3,2]- KlasterTime[3,48];
chbox=false;
}
//=
if(flower_Time[3,2]==24) //Заводим одну из 12 едениц времени напрямую
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,1]==0 ||flower_Time_CL[1,1]<0)
{
flower_Time_CL[1,1]=1;
}
flower_Time_CL[1,1]=flower_Time_CL[1,1]-1;//Передача времени 1
flower_Time_CL[1,3]=flower_Time_CL[1,3]+1;// + ar 3
flower_Time[3,2]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_24[3,i]==0)
{
flower_Time_DT_24[3,i]=iTime(Symbol(),0,1);
break;
}
}
}
if(flower_Time[3,2]==25) //заводим 1 из 12 едениц времени косвенно
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,1]==0 ||flower_Time_CL[1,1]<0)
{
flower_Time_CL[1,1]=1;
}
flower_Time_CL[1,1]=flower_Time_CL[1,1]-1;//Передача времени 1
flower_Time_CL[1,5]=flower_Time_CL[1,5]+1;// + ar 5
flower_Time[3,2]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_25[5,i]==0)
{
flower_Time_DT_25[5,i]=iTime(Symbol(),0,1);
break;
}
}
}
//------------------------------------------------
// Подача переменных на массив flower_diferenc
// Цель мониторинг расчёта сумм лепестка с выводом на печать полученного значения диферента
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
}
//8
if(sev==1 && N_Petalo==4 && N_Centro_r==2 && f_Be_1==1 && LastC_N_Centro_r==3 && LastV_f_Bo_1==1)
{
LD_Mod48Bit[1,1]=2;//номер центра 1,2,3,4
LD_Mod48Bit[1,2]=3;//номер переменной
LastC_N_Centro_r=0;//обнуление после оброботки блока
LastV_f_Bo_1=0;//обнуление после оброботки блока
bool chbox=true;//Разрешение на пересчёт в модуле.
//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//flower[1,1]=flower[1,1]+1;//Регистрация подачи значения. Расчёт производится по методу 4 архитектур в 1 лепесток. Заполнение массива по 4 цифры в лепесток по порядку.
//KlasterTime[9,385];// 8 linias 8 petalos,celdas, numero de fraccion" 1- 4",num agija de reloj "1234","03,36,69,91"" Numero de variable,Numero asignado segun calculo.
// Regla de suma en fractal. Fase 1 preparativo. fase 2 transporte de tiempo "+1" FIn de transporte ver hacia donde se guardan los tiempos.
//Ejemplo en caso de Petalo 1, Variable Be_0 se rellena la fraccion 3 hasta alcanzar permiso 24 o 25. Una vez alcanzado permiso la proxima variabe transporta el numero de tiempo +1. En caso de permiso 24 tiempo se transporta hasta
// Centro de arquitectura 2 +1, En caso de permiso 25 tiempo se transporta hasta el centro 4 +1. Cada petalo contiene 4 clusters. Cada claster corresponde al reloj. Ejemplo . Petalo 1. Cluster 1 corresponde al centro 1, cluster 2 al centro 4,Cluster 3 corresponde al centro 3 cluster 4 corresponde al centro 2.
//-----------------------------------------------
// Подача переменных на массив времени flower_Time
// цель мониторинг складываемости цифер временного фрактала при вращении
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
//Производим сборку 2 пересечения
//+
if(flower_Time[4,2]!=25 || flower_Time[4,2]!=24 && flower_Time[4,2]<25 && chbox==true)//То сумируем полученное значение из переменной
{
flower_Time[4,2]=flower_Time[4,2]+KlasterTime[4,48];
chbox=false;
}
//-
if(flower_Time[4,2]!=25 || flower_Time[4,2]!=24 && flower_Time[4,2]>25 && chbox==true)//То вычитаем полученное значение из переменной
{
flower_Time[4,2]=flower_Time[4,2]- KlasterTime[4,48];
chbox=false;
}
//=
if(flower_Time[4,2]==24) //Заводим одну из 12 едениц времени напрямую
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,1]==0 ||flower_Time_CL[1,1]<0)
{
flower_Time_CL[1,1]=1;
}
flower_Time_CL[1,1]=flower_Time_CL[1,1]-1;//Передача времени 1
flower_Time_CL[1,3]=flower_Time_CL[1,3]+1;// + ar 3
flower_Time[4,2]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_24[3,i]==0)
{
flower_Time_DT_24[3,i]=iTime(Symbol(),0,1);
break;
}
}
}
if(flower_Time[4,2]==25) //заводим 1 из 12 едениц времени косвенно
{
// перенос значений. Заменить на единый массив без пересчёта
if(flower_Time_CL[1,1]==0 ||flower_Time_CL[1,1]<0)
{
flower_Time_CL[1,1]=1;
}
flower_Time_CL[1,1]=flower_Time_CL[1,1]-1;//Передача времени 1
flower_Time_CL[1,2]=flower_Time_CL[1,2]+1;// + ar 3
flower_Time[4,2]=0;// После передачи времени старт с 0
for(int i=1; i<250; i++)
{
if(flower_Time_DT_25[2,i]==0)
{
flower_Time_DT_25[2,i]=iTime(Symbol(),0,1);
break;
}
}
}
//------------------------------------------------
// Подача переменных на массив flower_diferenc
// Цель мониторинг расчёта сумм лепестка с выводом на печать полученного значения диферента
// Массив заполнен заранее приготовленными расчётами. значения выводятся формулами
}
//9
} //flower_perm
}
//+------------------------------------------------------------------+
//| Sunflower 1/0 - Cluster flower |
//+------------------------------------------------------------------+
//Print(" PR ",bodypips[MaxInd_bodypips,0]);
//Comment(" Fly X ",Sev[1,1],Sev[1,2],Sev[1,3],Sev[1,4],Sev[1,5],Sev[1,6],Sev[1,7],Sev[1,8], " PR ",bodypips[MaxInd_bodypips,0]," Fly Z ",z_Sev[1,1],z_Sev[1,2],z_Sev[1,3],z_Sev[1,4],z_Sev[1,5],z_Sev[1,6],z_Sev[1,7],z_Sev[1,8]);
//---Были определены синапсные связи которые могут показывать на смену тенденции---//
//---Тип 1 Bo_0/Bo_1
//---Тип 2 Be_0/Be_1
//---Было выявленно чо нужно обратить внимание на цену каждого типа и индекс контейнера.
//Расчитать до конца этот механизм на подаче 2 переменных Также расчитать второй механизм и сравнить разницы сумм и вычитаний цифер.
//На разнице цифер вывести индикатор
// Привентить буквенную подачу в механизм
//Print(" IFb1 ",IFb1);
//if(IFb1==1441)//Запись данных в Массив и обнуление первичьного массива один раз в сутки
// {
//-----
//bintoarrTIME[IFb1]=iTime(Symbol(),0,1);//Пишу время предыдущей анализируемой свечи в массив
//Print( bintoarrTIME[IFb1]);
//-----
//int i;
//---загружаю в 2 массива данные о Бинарном коде, Времени и Цене
//int file_handle8=FileOpen(FileName8,FILE_READ|FILE_BIN);
//Print(" file_handle8 ",file_handle8);//Monitoring
//if(file_handle8>0)
//{
//FileSeek(file_handle8,0,SEEK_CUR);
//FileReadArray(file_handle8,BinaryToArray,0,WHOLE_ARRAY);//загрузка данных из файла в массив данных
//FileClose(file_handle8);
//}
//---Загрузка в массив базы данных о повторах бинарных ключей
//int file_handle11=FileOpen(FileName11,FILE_READ|FILE_BIN);
//Print(" file_handle8 ",file_handle8);//Monitoring
//if(file_handle11>0)
//{
//FileSeek(file_handle11,0,SEEK_CUR);
//FileReadArray(file_handle11,binrepit,0,WHOLE_ARRAY);//данны о полученых повторах.С
//FileClose(file_handle11);
//}
//int file_handle9=FileOpen(FileName9,FILE_READ|FILE_BIN);
//if(file_handle9>0)
//{
// FileSeek(file_handle9,0,SEEK_CUR);
// FileReadArray(file_handle9,BinaryToArrayBID,0,WHOLE_ARRAY);
// FileClose(file_handle9);
//}
// int file_handle10=FileOpen(FileName10,FILE_READ|FILE_BIN);
//if(file_handle10>0)
// {
//FileSeek(file_handle10,0,SEEK_CUR);
//FileReadArray(file_handle10,BinaryToArrayTIME,0,WHOLE_ARRAY);
//FileClose(file_handle10);
//}
//-------------------
//for(i=1; i<32000; i++) //Получение индекса в заполненом массива
//{
//if(BinaryToArray[i,0]==10)
// {
// break;
//}
// }
//Print("index ",i);
//--Перед записью в файлы нужно фильтрую на дубли с переносом во временный массив
//int ia=0;//индекс для перебора массива
//int ib=0;//индекс для перебора массива
//int ic=0;//индекс для перебора массива
//int id=0;//индекс для перебора массива
//int iei=0;
//int ie=1;
//for(ia=1; ia<20/*1442*/; ia++) //Получение индекса в заполненом массива
//{
//Print("щёт ia ",ia);
// for(ib=1; ib<20/*32001*/; ib++) //Получение индекса в заполненом массива
// {
//Print("щёт ib ",ib);
// for(ic=0; ic<20/*1002*/; ic++) //Получение индекса в заполненом массива
// {
// Print("щёт ia ",ia,"щёт ib ",ib,"щёт ic ",ic);
//Print(" BinaryToArray[ib,ic] ",BinaryToArray[ib,ic]," bintoarr[ia,ic] ",bintoarr[ia,ic]," bintoarr[1,0] ",bintoarr[1,0]," bintoarr[1,1] ",bintoarr[1,1]," bintoarr[2,0] ",bintoarr[2,0]," bintoarr[2,1] ",bintoarr[2,1]);
//if(BinaryToArray[ib,ic]!=bintoarr[ia,ic])//Ищу не равенство в строке.Если хоть один элемент не равен то щитать как новая запись
//{
//-----Писать во временный фаил отфильтрованные сигналы с дальнейшей дозаписью
//Переносить во времменный массив все параметры
// for(id=0; id<20/*1002*/; id++)
// {
// permis=1;
// iei=ie;
//temparrbin[ie,id]=bintoarr[ia,id];//Присваиваю во временный массив не повторение полученное в результате отсева
//temparrbid[ie,id]=bintoarrBID[ia,id];//цена
//temparrtime[ie]=bintoarrTIME[ia];//
// Print(" temparrbin[ie,id] ",temparrbin[ie,id]);
//Print(" temparrbid[ie,id] ",temparrbid[ie,id]);
// Print(" temparrtime[ie] ",temparrtime[ie]);
//Print(" ie ",ie," id ",id);
// Print("щёт ie ",ie,"щёт id ",id);
// }
//ie++;//Увеличиваю номер строки на 1
//---Ошибкав доступе в массив
//if(ie>1441)//Если ие 1442 то прервать функцию
//{
// Print(" ie ",ie," Break ");
// break;
// }
// Print(" ie ",ie);//
//}
//if(permis==1)
// {
// break;
// }
//break;
//if(iei0)
// {
// FileSeek(file_handle8,0,SEEK_CUR);
// FileWriteArray(file_handle8,temparrbin,i,WHOLE_ARRAY);
// FileClose(file_handle8);
// }
//int file_handle9=FileOpen(FileName9,FILE_READ|FILE_WRITE|FILE_BIN);
// if(file_handle9>0)
// {
// FileSeek(file_handle9,0,SEEK_CUR);
//FileWriteArray(file_handle9,temparrbid,i,WHOLE_ARRAY);
//FileClose(file_handle9);
// }
// int file_handle10=FileOpen(FileName10,FILE_READ|FILE_WRITE|FILE_BIN);
//if(file_handle10>0)
//{
// FileSeek(file_handle10,0,SEEK_CUR);
//FileWriteArray(file_handle10,temparrtime,i,WHOLE_ARRAY);
//FileClose(file_handle10);
// }
//---Провожу запись в базу данных отобранных повторов - в базу нужно писать как время новых ключей так и время повторений
//------------------------------------
//ArrayInitialize(bintoarr,10);//Перезагрузка массива после отгрузки в базу
//ArrayInitialize(temparrbin,10);
//ArrayInitialize(temparrbid,10);
//ArrayInitialize(temparrtime,10);
//ArrayInitialize(bintoarrBID,10);
//ArrayInitialize(bintoarrTIME,10);
//IFb1=0;//Индекс строки устанавливаю на 1
//IFb2=0;//Начинаю писать в строке с 0 позиции
//}
//if(IFb1<1441)
// {
// bintoarrTIME[IFb1]=iTime(Symbol(),0,1);//Пишу время предыдущей анализируемой свечи в массив
// IFb1++;//Увеличивание значения строки в массиве при наступлении нового бара.Запись будетпроизводится в следующую строку
// IFb2=0;//Начинаю писать в строке с 0 позиции
// }
//Print(" IFb1 ",IFb1," IFb2 ", IFb2);//Мониторинг индексов массива
//---------------------
//+------------------------------------------------------------------+
//|END Sunflower - sunflower seeds architecture |
//+------------------------------------------------------------------+
ArrayInitialize(komp1,0);
ArrayInitialize(kompa,10);
//---------------------------------------------
int inr;
for(inr=1; inr<=99998; inr++)
{
if(Array_Errors==true)
{
Print(" Index Array ",inr," 27665 ");
}
if(body[inr,0]==10)
{
break;
}
}
int inr1=inr-1;
for(int inb=1; inb0 && body[inb+1,0]>0)
{
if(body[inb,0]==body[inb+1,0])
{
if((body[inb,1]==1 && body[inb+1,1]==0) || (body[inb,1]==0 && body[inb+1,1]==1))
{
komp1[inb]=body[inb,0];
kompa[inb]=body[inb,0];
}
}
}
if(body[inb,0]>0 && body[inb+1,0]==0)
{
if(body[inb,0]==body[inb+1,3])
{
if((body[inb,1]==1 && body[inb+1,1]==0) || (body[inb,1]==0 && body[inb+1,1]==1))
{
komp1[inb]=body[inb,0];
kompa[inb]= body[inb,0];
}
}
}
if(body[inb,0]==0 && body[inb+1,0]>0)
{
if(body[inb,3]==body[inb+1,0])
{
if((body[inb,1]==1 && body[inb+1,1]==0) || (body[inb,1]==0 && body[inb+1,1]==1))
{
komp1[inb]=body[inb,0];
kompa[inb]= body[inb,0];
}
}
}
}
int MinPriceSintezINDEX=ArrayMinimum(kompa,WHOLE_ARRAY,0);
double MinPriceSintez=(kompa[MinPriceSintezINDEX]);
//---------------------------------------
int MaxPriceSintezINDEX=ArrayMaximum(kompa,WHOLE_ARRAY,0);
double MaxPriceSintez=(kompa[MaxPriceSintezINDEX]);
int file_handle17=FileOpen(FileName17,FILE_READ|FILE_WRITE," ");
if(file_handle17>0)
{
FileSeek(file_handle17,0,SEEK_END);
FileWrite(file_handle17,Symbol()," MinPriceSintezINDEX ",MinPriceSintezINDEX," MaxPriceSintezINDEX ",MaxPriceSintezINDEX);
FileClose(file_handle17);
}
//+------------------------------------------------------------------+
//|END Counter Summa 1/0 - Synapsys Indicator |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Counter Summa 1/0 - MaxBinNumber 1/0 |
//+------------------------------------------------------------------+
//-------Arrays------
ArrayInitialize(ArrayMaximum_0,0);
ArrayInitialize(ArrayMaximum_1,0);
//---------------Contador de ARRAY Identificacion de Index. Se identifica fin de relleno de datos
int i;
for(i=1; i<=99998; i++)
{
if(Array_Errors==true)
{
Print(" Index Array ",i," 27744 ");
}
if(body[i,0]==10)
{
//Print(i);//index maximum donde acava array hay que restar 1 para saber ultimo dato
break;
}
}
//--------------
int If=i-1;
//-------------------------------------
int count_1=1;
int count_0=1;
int in1;//Index
int ArM1=1;
int ArM0=1;
int Permis=1;
//Print(If);
for(in1=1; in10)
{
FileSeek(file_handle17,0,SEEK_END);
FileWrite(file_handle17,Symbol()," zeroindex ",zeroindex);
FileClose(file_handle17);
}
//+------------------------------------------------------------------+
//| Counter Summa 1/0 - MaxBinNumber 1/0 Signal processing |
//+------------------------------------------------------------------+
// ------------- Signal processing with classification and writing to the bbb_compare array ----------------- //
if(Rez_BE==0)
{
int ibbb;
for(ibbb=1; ibbb<=1680; ibbb++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ibbb," 27861 ");
}
if(one_BE>15 && bbb[ibbb,0]==Maximum-MaxBinNumber_1 && bbb[ibbb,1]==Minimum+MaxBinNumber_0)
{
int ibb;
for(ibb=1; ibb<=9998; ibb++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ibb," 27872 ");
}
if(bbb_compare[ibb,0,ibbb]==0)
{
bbb_compare[ibb,0,ibbb]=iarw;
int SignalCuant=bbb_compare[1,1,ibbb];
SignalCuant++;
bbb_compare[1,1,ibbb]=SignalCuant;
int file_handle13=FileOpen(FileName13,FILE_READ|FILE_WRITE|FILE_BIN);
//Print("HANDLE ",file_handle13);
if(file_handle13>0)
{
FileSeek(file_handle13,0,SEEK_CUR);
uint test =FileWriteArray(file_handle13,bbb_compare,0,WHOLE_ARRAY);
//Print("WRITED ",test);
FileClose(file_handle13);
}
break;
}
}
}
}
}
//+------------------------------------------------------------------+
//| END Counter Summa 1/0 - MaxBinNumber 1/0 Signal processing |
//+------------------------------------------------------------------+
//-----брос переменных и массива
Counter1=0; //obnulyaem peremennye
Counter1_1 = 0;
Counter0 = 0;
Counter0_1 = 0;
Counter_Summa1 = 0;
Counter_Summa0 = 0;
Counter=0;
//+------------------------------------------------------------------+
//|Counter Summa 1/0 - Generation of initial data |
//+------------------------------------------------------------------+
ArrayInitialize(body,10);
//Print("TEST1 WRITDATA "," resOperandMax==PriceZero ",resOperandMax==PriceZero," Maximum ",Maximum," Minimum ",Minimum," Rez_BE ",Rez_BE);
if(resOperandMax==PriceZero && (Maximum>0 || Maximum<0 || Maximum==0) && (Minimum>0 || Minimum<0 || Minimum==0) && Rez_BE==0)
{
//TextVisualIndicator="SHORT";
//Alert("SHORT");
//string signalgroup=IntegerToString(zeroindex);
//string Hora=TimeToString(iTime(Symbol(),0,1));
//string levelnotificacion=DoubleToString(one_BE);
//string message1=" TIME "+Hora+" SIGNAL NUMBER "+levelnotificacion+" SHORT ";
//SendNotification(message1);
//TelegramSendText(apikey,chatid,message1);
//SendNotification("SHORT");
//SendNotification(Hora);
//SendNotification(levelnotificacion);
ONE_BE=(int)one_BE;
file_handle4=FileOpen(FileName4,FILE_READ|FILE_WRITE," ");
if(file_handle4>0)
{
FileSeek(file_handle4,0,SEEK_END);
FileWrite(file_handle4," NEW SIGNAL ");
// FileWrite(file_handle4,"___________________________________________________________");
// FileWrite(file_handle4," SIMBOL | TIME | FONT | DIRECTION | PUSH |");
// FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
FileWrite(file_handle4,Symbol()," | ",iTime(Symbol(),0,1)," | ",ONE_BE," | "," SHORT "," | ",zeroindex," | ");
// FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
FileClose(file_handle4);
}
}
//---LONG Posicion
//Print("TEST2 WRITDATA "," resOperandMin==PriceZero ",resOperandMin==PriceZero," Maximum ",Maximum," Minimum ",Minimum," Rez_BE ",Rez_BE);
if(resOperandMin==PriceZero && (Maximum>0 || Maximum<0 || Maximum==0) && (Minimum>0 || Minimum<0 || Minimum==0) && Rez_BE==0)
{
//TextVisualIndicator="LONG";
//Alert("LONG");
//string signalgroup=IntegerToString(zeroindex);
//string Hora1=TimeToString(iTime(Symbol(),0,1));
//string levelnotificacion1=DoubleToString(one_BE);
//string message2=" TIME "+Hora1+" SIGNAL NUMBER "+levelnotificacion1+" LONG "+signalgroup;
//SendNotification(message2); //
//TelegramSendText(apikey,chatid,message2);
//SendNotification("LONG");
//SendNotification(Hora);
//SendNotification(levelnotificacion);
file_handle4=FileOpen(FileName4,FILE_READ|FILE_WRITE," ");
if(file_handle4>0)
{
FileSeek(file_handle4,0,SEEK_END);
FileWrite(file_handle4," NEW SIGNAL ");
// FileWrite(file_handle4,"___________________________________________________________");
// FileWrite(file_handle4," SIMBOL | TIME | FONT | DIRECTION | PUSH |");
// FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
FileWrite(file_handle4,Symbol()," | ",iTime(Symbol(),0,1)," | ",ONE_BE," | "," LONG "," | ",zeroindex," | ");
//FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
FileClose(file_handle4);
}
}// Anadir excepcion de 10
double Copen=iOpen(Symbol(),0,1);
double Cclose=iClose(Symbol(),0,1);
if(Copen>Cclose)
{
CopenRes=Copen-MaxPriceSintez;
CcloseRes=MinPriceSintez-Cclose;
}
if(Copen0)
{
FileSeek(file_handle17,0,SEEK_END);
FileWrite(file_handle17,Symbol()," MaxBinNumber_1 ",MaxBinNumber_1," MaxBinNumber_0 ",MaxBinNumber_0);
FileClose(file_handle17);
}
if((resOperandMin==PriceZero || resOperandMax==PriceZero) && (Maximum>0 || Maximum<0 || Maximum==0) && (Minimum>0 || Minimum<0 || Minimum==0))
{
if(printdesc1==1)
{
ObjectSetString(0,Obiektcampo1,OBJPROP_TEXT,TimeToString(iTime(Symbol(),0,1)));
ObjectSetString(0,Obiektcampo7,OBJPROP_TEXT,IntegerToString(one_BE,3));//Obiektcampo7 - 11
ObjectSetString(0,Obiektcampo8,OBJPROP_TEXT,IntegerToString((int) Maximum,3));
ObjectSetString(0,Obiektcampo9,OBJPROP_TEXT,IntegerToString((int) Minimum,3));
ObjectSetString(0,Obiektcampo10,OBJPROP_TEXT,IntegerToString(MaxBinNumber_1,3));
ObjectSetString(0,Obiektcampo11,OBJPROP_TEXT,IntegerToString(MaxBinNumber_0,3));
ObjectSetString(0,Obiektcampo12,OBJPROP_TEXT,TextVisualIndicator);
//printdesc1=0;
//printdesc2=1;
string priceZero=DoubleToStr(PriceZero,8);//Pole ceni zero
ObjectDelete(Obiektcampo13);//Pole vivod Long ili Short
ObjectCreate(Obiektcampo13,OBJ_BITMAP_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetInteger(0,Obiektcampo13,OBJPROP_XDISTANCE,CHWPX-250);
ObjectSetInteger(0,Obiektcampo13,OBJPROP_YDISTANCE,150);
ObjectSetString(0,Obiektcampo13,OBJPROP_BMPFILE,priceZero);
ObjectSetInteger(0,Obiektcampo13,OBJPROP_COLOR,clrRed);
string pricemin=DoubleToStr(resOperandMin,8);//Pole ceni zero
int PixMin=(int)(PriceZero-resOperandMin)*100000;
ObjectDelete(Obiektcampo14);
ObjectCreate(Obiektcampo14,OBJ_BITMAP_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetInteger(0,Obiektcampo14,OBJPROP_XDISTANCE,CHWPX-230);
ObjectSetInteger(0,Obiektcampo14,OBJPROP_YDISTANCE,150-PixMin);
ObjectSetString(0,Obiektcampo14,OBJPROP_BMPFILE,pricemin);
ObjectSetInteger(0,Obiektcampo14,OBJPROP_COLOR,clrGreen);
string pricemax=DoubleToStr(resOperandMax,8);//Pole ceni zero
int PixMax=(int)(resOperandMax-PriceZero)*100000;
ObjectDelete(Obiektcampo15);//Pole cenizero
ObjectCreate(Obiektcampo15,OBJ_BITMAP_LABEL,0,BrTime,HIGHT+0.00015);
ObjectSetInteger(0,Obiektcampo15,OBJPROP_XDISTANCE,CHWPX-280);
ObjectSetInteger(0,Obiektcampo15,OBJPROP_YDISTANCE,150-PixMax);
ObjectSetString(0,Obiektcampo15,OBJPROP_BMPFILE,pricemax);
ObjectSetInteger(0,Obiektcampo15,OBJPROP_COLOR,clrBlue);
//operandopen
//operandclose
}
}
int Result_Compensation=compensation_1+compensation_2;
int CompensationForGrafik=compensation_2*(-1);
//Print("TEST4 WRITDATA "," resOperandMin==PriceZero ",resOperandMin==PriceZero," resOperandMax==PriceZero ",resOperandMax==PriceZero," Maximum ",Maximum," Minimum ",Minimum," Rez_BE ",Rez_BE);
if((resOperandMin==PriceZero || resOperandMax==PriceZero) && (Maximum>0 || Maximum<0 || Maximum==0) && (Minimum>0 || Minimum<0 || Minimum==0) && Rez_BE==0)
{
int fg=0;
fg++;
//Print(" fg ",fg);
file_handle4=FileOpen(FileName4,FILE_READ|FILE_WRITE," ");
if(file_handle4>0)
{
// --- Direction change indicator -----
// The indicator remembers the last change of direction based on the compensation indicator
// If there is 0 in one or the other indicator, then the position in short or long changes
string Text_Switch="No Data";
Bool_Z=Maximum-MaxBinNumber_1;
Bear_Z=Minimum+MaxBinNumber_0;
//--------------------------------------------
if(((Bool_Z>0 && Bear_Z==0)||(Bool_Z==0 && Bear_Z<0)) && Rez_BE==0 && one_BE>=1 && one_BE<=60)
{
Switch_L_S=1;// Position 1 means opening only long orders
}
if(((Bool_Z<0 && Bear_Z==0)||(Bool_Z==0 && Bear_Z>0)) && Rez_BE==0 && one_BE>=1 && one_BE<=60)
{
Switch_L_S=2;// Position 2 means opening only order shorts
}
if(Switch_L_S==1)
{
Text_Switch="Switch_L_S -- LONG";
}
if(Switch_L_S==2)
{
Text_Switch="Switch_L_S -- SHORT";
}
// --- function Record price in the Market Events Log
// --- The prices of the UP5 / 8 i DOWSN5 / 8 levels are recorded
double Price5ForWrite=0;
double Price8ForWrite=0;
if(Maximum-MaxBinNumber_1==0)
{
Price5ForWrite=IpaintFiboLineDOWN_5;
Price8ForWrite=IpaintFiboLineDOWN_8;
}
if(Minimum+MaxBinNumber_0==0)
{
Price5ForWrite=IpaintFiboLineUP_5;
Price8ForWrite=IpaintFiboLineUP_8;
}
BoolInd=NormalizeDouble((Maximum+MaxBinNumber_1)/(Minimum+MaxBinNumber_0),2);//Bool
BearInd=NormalizeDouble((Minimum+MaxBinNumber_0)/(Maximum+MaxBinNumber_1),2);//Bear
double SumaBoolBear=BoolInd+BearInd;
// ----- record the index number in the database ----- //
// load base from file into array
int file_handle7=FileOpen(FileName7,FILE_READ|FILE_BIN);
if(file_handle7>0)
{
FileSeek(file_handle7,0,SEEK_CUR);
FileReadArray(file_handle7,bodyAR,0,WHOLE_ARRAY);
FileClose(file_handle7);
}
for(iarw=1; iarw<=89999; iarw++)
{
if(Array_Errors==true)
{
Print(" Index Array ",iarw," 28091 ");
}
if(bodyAR[iarw,0]==61)
{
//Print(" indexIAR = ",iar);
break;
}
}
//---------------------------------------------//
FileSeek(file_handle4,0,SEEK_END);
// FileWrite(file_handle4,"___________________________________________________________");
// FileWrite(file_handle4," SIMBOL | TIME | FONT | BOOL-F | BEAR-F |");
//FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
FileWrite(file_handle4,Symbol()," | ",iTime(Symbol(),0,1)," | ",ONE_BE," | ",Maximum-MaxBinNumber_1," | ",Minimum+MaxBinNumber_0," | ");
// FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
// FileWrite(file_handle4," ",Text_Switch);
// FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
// FileWrite(file_handle4," SIMBOL | TIME | FONT | BOOL-N | BEAR-N|");
// FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
// FileWrite(file_handle4,Symbol()," | ",iTime(Symbol(),0,1)," | ",ONE_BE," | ",Maximum+MaxBinNumber_1," | ",Minimum+MaxBinNumber_0," | ");
// FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
// FileWrite(file_handle4,Symbol()," | ",iTime(Symbol(),0,1)," | ",ONE_BE," | ",BoolInd," | ",BearInd," | ",SumaBoolBear);
// FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
// FileWrite(file_handle4,Symbol()," | ",iTime(Symbol(),0,1)," | ",ONE_BE," | ",Price5ForWrite," | ",Price8ForWrite," | ");
//FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
// FileWrite(file_handle4,"| INDEX in DB | ",iarw," | ");
FileWrite(file_handle4,"¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
FileClose(file_handle4);
}
LongShort=10;
if(resOperandMin==PriceZero && (Maximum>0 || Maximum<0 || Maximum==0) && (Minimum>0 || Minimum<0 || Minimum==0) && one_BE>=1 && one_BE<=60 && Rez_BE==0)
{
TextVisualIndicator="LONG";
Alert("LONG");
string signalgroup=IntegerToString(zeroindex);
string Hora1=TimeToString(iTime(Symbol(),0,1));
string levelnotificacion1=IntegerToString(ONE_BE);
string Comp1=IntegerToString(Maximum-MaxBinNumber_1);
string Comp2=IntegerToString(Minimum+MaxBinNumber_0);
string message2=SYmbol+" TIME "+Hora1+" SIGNAL NUMBER "+levelnotificacion1+" LONG "+" BOOL-F= "+Comp1+" BEAR-F= "+Comp2;
SendNotification(message2); //
LongShort=1;
}
if(resOperandMax==PriceZero && (Maximum>0 || Maximum<0 || Maximum==0) && (Minimum>0 || Minimum<0 || Minimum==0) && one_BE>=1 && one_BE<=60 && Rez_BE==0)
{
TextVisualIndicator="SHORT";
Alert("SHORT");
string signalgroup=IntegerToString(zeroindex);
string Hora=TimeToString(iTime(Symbol(),0,1));
string levelnotificacion=IntegerToString(ONE_BE);
string Comp1=IntegerToString(Maximum-MaxBinNumber_1);
string Comp2=IntegerToString(Minimum+MaxBinNumber_0);
string message1=SYmbol+"-TIME "+Hora+" SIGNAL NUMBER "+levelnotificacion+" SHORT "+" BOOL-F= "+Comp1+" BEAR-F= "+Comp2;
SendNotification(message1);
LongShort=0;
}
RefreshRates();
if(one_BE>15 && Maximum-MaxBinNumber_1==0 && Minimum+MaxBinNumber_0>0 && Rez_BE==0)
{
LongPosition=true;
ShortPosition=false;
}
if(one_BE>15 && Maximum-MaxBinNumber_1<0 && Minimum+MaxBinNumber_0==0 && Rez_BE==0)
{
ShortPosition=true;
LongPosition=false;
}
//------------------------------------------------------------------------------
if(one_BE>15 && Maximum-MaxBinNumber_1==0 && Minimum+MaxBinNumber_0<0 && Rez_BE==0)
{
ShortPosition=true;
LongPosition=false;
}
if(one_BE>15 && Maximum-MaxBinNumber_1>0 && Minimum+MaxBinNumber_0==0 && Rez_BE==0)
{
LongPosition=true;
ShortPosition=false;
}
if(LongPosition==true && ((one_BE>15 && Maximum-MaxBinNumber_1>0 && Minimum+MaxBinNumber_0>0)||(one_BE>15 && Maximum-MaxBinNumber_1<0 && Minimum+MaxBinNumber_0<0)) && Rez_BE==0)//||(one_BE>25 && Maximum-MaxBinNumber_1<0 && Minimum+MaxBinNumber_0==0)||(one_BE>25 && Maximum-MaxBinNumber_1>0 && Minimum+MaxBinNumber_0==0)
{
string subject="From Tatiana - RootDiamond - LONG SIGNAL EURUSD"; // заголовок
string messageLong="Open Long, "+" Simbol "+Symbol()+" Time "+TimeToString(iTime(Symbol(),0,1),TIME_DATE|TIME_MINUTES)+" FONT "+IntegerToString(one_BE,0,0)+"/ DONATE PLEASE FOR UPDATE PROJECT http://paypal.me/mql4Root ";
SendMail(subject,messageLong);
string Curency=Symbol();
string Hora=TimeToString(iTime(Symbol(),0,1));
string levelnotificacion=IntegerToString(ONE_BE);
string message1=Curency +" LONG - FOR ROOTDIAMOND, TIME "+Hora+" SIGNAL NUMBER "+levelnotificacion;
//TelegramSendText(apikey,chatid,message1);
}
if(ShortPosition==true && ((one_BE>15 && Maximum-MaxBinNumber_1>0 && Minimum+MaxBinNumber_0>0)||(one_BE>15 && Maximum-MaxBinNumber_1<0 && Minimum+MaxBinNumber_0<0)) && Rez_BE==0)//||(one_BE>25 && Maximum-MaxBinNumber_1<0 && Minimum+MaxBinNumber_0==0)||(one_BE>25 && Maximum-MaxBinNumber_1>0 && Minimum+MaxBinNumber_0==0)
{
string subject="From Tatiana - RootDiamond - SHORT SIGNAL EURUSD"; // заголовок
string messageShort=" Open Short, "+" Simbol "+Symbol()+" Time "+TimeToString(iTime(Symbol(),0,1),TIME_DATE|TIME_MINUTES)+" FONT "+IntegerToString(one_BE,0,0)+"/ DONATE PLEASE FOR UPDATE PROJECT http://paypal.me/mql4Root ";
SendMail(subject,messageShort);
string Hora=TimeToString(iTime(Symbol(),0,1));
string Curency=Symbol();
string levelnotificacion=IntegerToString(ONE_BE);
string message1=Curency + " SHORT - FOR ROOTDIAMOND, TIME "+Hora+" SIGNAL NUMBER "+levelnotificacion;
//TelegramSendText(apikey,chatid,message1);
}
if(((one_BE>15 && Maximum-MaxBinNumber_1==0 && Minimum+MaxBinNumber_0>0)||(one_BE>15 && Maximum-MaxBinNumber_1==0 && Minimum+MaxBinNumber_0<0)) && Rez_BE==0)//||(one_BE>25 && Maximum-MaxBinNumber_1<0 && Minimum+MaxBinNumber_0==0)||(one_BE>25 && Maximum-MaxBinNumber_1>0 && MaxMinArr[IndexMinimum]+MaxBinNumber_0==0)
{
string subject="From Tatiana - RootDiamond_8 - SHORT SIGNAL EURUSD"; // заголовок
string messageShort=" Open Short, "+" Simbol "+Symbol()+" Time "+TimeToString(iTime(Symbol(),0,1),TIME_DATE|TIME_MINUTES)+" FONT "+IntegerToString(one_BE,0,0)+" DONATE PLEASE FOR UPDATE PROJECT http://paypal.me/mql4Root ";
SendMail(subject,messageShort);
string Curency=Symbol();
string Hora=TimeToString(iTime(Symbol(),0,1));
string levelnotificacion=IntegerToString(ONE_BE);
string message1=Curency+" SHORT - FOR ROOTDIAMOND_8 , TIME "+Hora+" SIGNAL NUMBER "+levelnotificacion;
//int testT=TelegramSendText(apikey,chatid,message1);
}
if(((one_BE>15 && Maximum-MaxBinNumber_1>0 && Minimum+MaxBinNumber_0==0)||(one_BE>15 && Maximum-MaxBinNumber_1<0 && Minimum+MaxBinNumber_0==0)) && Rez_BE==0)//||(one_BE>25 && Maximum-MaxBinNumber_1<0 && MaxMinArr[IndexMinimum]+MaxBinNumber_0==0)||(one_BE>25 && Maximum-MaxBinNumber_1>0 && MaxMinArr[IndexMinimum]+MaxBinNumber_0==0)
{
string subject="From Tatiana - RootDiamond_8 - LONG SIGNAL EURUSD";
string messageLong="Open Long, "+" Simbol "+Symbol()+" Time "+TimeToString(iTime(Symbol(),0,1),TIME_DATE|TIME_MINUTES)+" LEVEL "+IntegerToString(one_BE,0,0)+" DONATE PLEASE FOR UPDATE PROJECT http://paypal.me/mql4Root ";
SendMail(subject,messageLong);
string Hora=TimeToString(iTime(Symbol(),0,1));
string Curency=Symbol();
string levelnotificacion=IntegerToString(ONE_BE);
string message1=Curency+" LONG - FOR ROOTDIAMOND_8 , TIME "+Hora+" SIGNAL NUMBER "+levelnotificacion;
}
if(one_BE>0 && Rez_BE==0)
{
int file_handle6=FileOpen(FileName6,FILE_READ|FILE_BIN);
if(file_handle6>0)
{
FileSeek(file_handle6,0,SEEK_CUR);
FileReadArray(file_handle6,bodydt,0,WHOLE_ARRAY);
FileClose(file_handle6);
}
int file_handle7=FileOpen(FileName7,FILE_READ|FILE_BIN);
if(file_handle7>0)
{
FileSeek(file_handle7,0,SEEK_CUR);
FileReadArray(file_handle7,bodyAR,0,WHOLE_ARRAY);
FileClose(file_handle7);
}
//----------------------------------------------
int iar=1;
for(iar=1; iar<=89999; iar++)
{
if(Array_Errors==true)
{
Print(" Index Array ",iar," 28236 ");
}
if(bodyAR[iar,0]==61)
{
//Print(" indexIAR = ",iar);
break;
}
}
RefreshRates();
datetime IreceiveBarTime=iTime(Symbol(),0,1);
bartimeresult=IreceiveBarTime;
IreceiveLevelresult=one_BE;
HIGHT=iHigh(Symbol(),0,1);
LOW=iLow(Symbol(),0,1);
CLOSE=iClose(Symbol(),0,1);
OPEN=iOpen(Symbol(),0,1);
normalLevel=IreceiveLevelresult*Point;
center=NormalizeDouble(HIGHT-((HIGHT-LOW)/2),NormalizaDigi);
//---Lines calculation------
DoublspredPoint=spredpoints*Point();
LEVELUP=NormalizeDouble((center+normalLevel),NormalizaDigi);//1
LEVELDOWN=NormalizeDouble((center-normalLevel),NormalizaDigi);//1
//--------niveles de caracol
bodydt[iar]=bartimeresult;
bodyAR[iar,0]=IreceiveLevelresult;
bodyAR[iar,1]=LEVELUP;
bodyAR[iar,2]=IpaintFiboLineUP_2;
bodyAR[iar,3]=IpaintFiboLineUP_3;
bodyAR[iar,4]=IpaintFiboLineUP_5;
bodyAR[iar,5]=IpaintFiboLineUP_8;
bodyAR[iar,6]=IpaintFiboLineUP_13;
bodyAR[iar,7]=IpaintFiboLineUP_21;
bodyAR[iar,8]=IpaintFiboLineUP_34;
bodyAR[iar,9]=IpaintFiboLineUP_55;
bodyAR[iar,10]=IpaintFiboLineUP_89;
bodyAR[iar,11]=IpaintFiboLineUP_144;
bodyAR[iar,12]=LEVELDOWN;
bodyAR[iar,13]=IpaintFiboLineDOWN_2;
bodyAR[iar,14]=IpaintFiboLineDOWN_3;
bodyAR[iar,15]=IpaintFiboLineDOWN_5;
bodyAR[iar,16]=IpaintFiboLineDOWN_8;
bodyAR[iar,17]=IpaintFiboLineDOWN_13;
bodyAR[iar,18]=IpaintFiboLineDOWN_21;
bodyAR[iar,20]=IpaintFiboLineDOWN_34;
bodyAR[iar,21]=IpaintFiboLineDOWN_55;
bodyAR[iar,22]=IpaintFiboLineDOWN_89;
bodyAR[iar,23]=IpaintFiboLineDOWN_144;
//--------сигналы------------
bodyAR[iar,24]=Maximum-MaxBinNumber_1;
bodyAR[iar,25]=Minimum+MaxBinNumber_0;
bodyAR[iar,26]=Maximum+MaxBinNumber_1;
bodyAR[iar,27]=Minimum+MaxBinNumber_0;
bodyAR[iar,28]=BoolInd;
bodyAR[iar,29]=BearInd;
//--------Лонг Шорт-----------
bodyAR[iar,30]=LongShort;//0/1
FileDelete(FileName6,0);
FileDelete(FileName7,0);
file_handle6=FileOpen(FileName6,FILE_READ|FILE_WRITE|FILE_BIN);
if(file_handle6>0)
{
FileSeek(file_handle6,0,SEEK_CUR);
FileWriteArray(file_handle6,bodydt,0,WHOLE_ARRAY);
FileClose(file_handle6);
}
file_handle7=FileOpen(FileName7,FILE_READ|FILE_WRITE|FILE_BIN);
if(file_handle7>0)
{
FileSeek(file_handle7,0,SEEK_CUR);
FileWriteArray(file_handle7,bodyAR,0,WHOLE_ARRAY);
FileClose(file_handle7);
}
}
//------------------------------------//
}
if(ALLtoARRAYWRITE==true)
{
// ---- Writing Mass to the Binary file of all indicators.
// ---- Every minute session I write time and data into arrays using an index.
for(i=1; i<=7204; i++)
{
if(Array_Errors==true)
{
Print(" Index Array ",i," 28321 ");
}
if(AllAnalisysData[i,1]==1000)//получаю индекс заполненного элемента
{
break;
}
}
DT_AllAnalisysData[i,0]=iTime(Symbol(),0,1);
AllAnalisysData[i,0]=Counter_Summa0;
AllAnalisysData[i,1]=Counter_Summa1;
AllAnalisysData[i,2]=IndexMaximum;
AllAnalisysData[i,3]=IndexMinimum;
AllAnalisysData[i,4]=Maximum;
AllAnalisysData[i,5]=Minimum;
AllAnalisysData[i,6]=MinPriceSintezINDEX;
AllAnalisysData[i,7]=MaxBinNumber_1;
AllAnalisysData[i,8]=MaxBinNumber_0;
AllAnalisysData[i,9]=Minimum-MaxBinNumber_1;
AllAnalisysData[i,10]=Minimum+MaxBinNumber_0;
AllAnalisysData[i,11]=bodypips[MaxInd_bodypips,0];
AllAnalisysData[i,12]=bodypips[MaxInd_bodypips,1];
AllAnalisysData[i,13]=BinInd3BO;
AllAnalisysData[i,14]=BinInd3BE;
AllAnalisysData[i,15]=Onda1;
int file_handle19=FileOpen(FileName19,FILE_READ|FILE_WRITE|FILE_BIN);
if(file_handle19>0)
{
FileSeek(file_handle19,0,SEEK_CUR);
FileWriteArray(file_handle19,AllAnalisysData,0,WHOLE_ARRAY);
FileClose(file_handle19);
}
int file_handle20=FileOpen(FileName20,FILE_READ|FILE_WRITE|FILE_BIN);
if(file_handle20>0)
{
FileSeek(file_handle20,0,SEEK_CUR);
FileWriteArray(file_handle20,DT_AllAnalisysData,0,WHOLE_ARRAY);
FileClose(file_handle20);
}
}
//}
//}
//if((resOperandMin==PriceZero || resOperandMax==PriceZero) && Maximum>0 && Minimum>0 && one_BE>=1 && one_BE<=60 && Rez_BE==0)
// {
// }
//-------------------------------------------
// string filename_bin=TimeToStr(iTime(Symbol(),0,1),TIME_DATE|TIME_MINUTES)+"_BIN.bin";
//int file_handle_BIN=FileOpen(filename_bin,FILE_READ|FILE_WRITE|FILE_BIN );
// if(file_handle_BIN>0)
// {
// int i;
// for(i=0;i<9999;i++)
//FileReadArray(file_handle_BIN,body,0,i);
// Comment(body[i,0]);
//FileClose(file_handle_BIN);
// }
//FileClose(file_handle_BIN);
//-----------------------------------------------------------
// Вариант 1
/*if(Z_N<500)
{MasD[Z_N,0]=(int)Time[1];
MasD[Z_N,1]=Counter_Summa1;
MasD[Z_N,2]=Counter_Summa0;
Z_N++;
}
else {Z_N=0;ArrayInitialize(MasD,0);}*/
// Вариант 2
/* MasD[Z_N,0]=(int)Time[1];
MasD[Z_N,1]=Counter_Summa1;
MasD[Z_N,2]=Counter_Summa0;
Z_N++;
if(Z_N>499)
{
Z_N-=1;
for(int qt=0; qt<499; qt++)
{
MasD[qt,0]=MasD[qt+1,0];
MasD[qt,1]=MasD[qt+1,1];
MasD[qt,2]=MasD[qt+1,2];
}
MasD[499,0]=0;
MasD[499,1]=0;
MasD[499,2]=0;
}*/
// Вариант 3/2
// op_MasD(Counter_Summa1,Counter_Summa0);
//---------------------------------------------
//-------------------------------------------------------------------
// if(Rez_BE>=0)
// {
//string Color1=IntegerToString(Rez_BE,0);
//string Color2=IntegerToString(one_BE,0);
//string Color3=IntegerToString(zero_BE,0);
//string Color=Color1+","+Color2+","+Color3;
//string rgb="C'"+Color+"'";
//color rgbcolor=StringToColor(rgb);
//ObjectSetInteger(0,Obiekt101,OBJPROP_COLOR,rgbcolor);
//Comment(rgb);
// }
// int file_handle3=FileOpen(FileName3,FILE_READ|FILE_WRITE," ");
//if(file_handle3>0)
// {
// FileSeek(file_handle3,0,SEEK_END);
// FileWrite(file_handle3,Symbol()," ",iTime(Symbol(),0,1),Rez_BE," % ",one_BE," ",zero_BE);
// FileClose(file_handle3);
// }
//-----------------------Tiempo de senal
// datetime date1=D'00:00:00';
//datetime date2=D'06:00:00';
//------------------------------------
//if(Rez_BE==0 /*&& zero_BE>60*//*&& TimeCurrent()> date2 && TimeCurrent()0)
// {
//FileClose(Handle);
//FileCopy(
//--
// FileSeek(file_handle2,0,SEEK_END);
// FileWrite(file_handle2,Symbol()," ",iTime(Symbol(),0,1),Rez_BE," % ",one_BE," ",zero_BE);
// FileClose(file_handle2);
//Alert(Rez_BE);
//string Hora=TimeToString(iTime(Symbol(),0,1));
//string levelnotificacion=DoubleToString(one_BE);
//SendNotification(Hora);
//SendNotification(levelnotificacion);
//SendFTP(FileName3);
//---Move Files to destyny foldrer
//FileCopy(filename,0,filename+copy,0);
// FileMove(filename,0,"Candles H1+ binmarker\\Analiz\\"+filename,/*|FILE_COMMON|/FILE_REWRITE*/0);
//-----------------
// }
// }
// }
//+------------------------------------------------------------------+
//|END Counter Summa 1/0 - Generation of initial data |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|Grafic indicator |
//+------------------------------------------------------------------+
}
if(Bar_Tm==0 && time_BR==Time[0])
{
Text_OBJ_LABEL("Tx_FM",1,1,50,"l",28,"Wingdings",clrWhite);
return(0);
}
if(Bar_Tm!=Time[0])
{
Bar_Tm=Time[0];
string File_Name_Close=TimeToStr(iTime(Symbol(),0,1),TIME_DATE|TIME_MINUTES)+"-"+SYmbol+FR_Nm;
int replacedC=StringReplace(File_Name_Close,":"," ");
FileClose(replacedC);
filename=TimeToStr(iTime(Symbol(),0,1),TIME_DATE|TIME_MINUTES)+"-"+SYmbol+FR_Nm;
string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
File_Name=terminal_data_path+"\\MQL4\\Files\\digitscandlesALL\\"+filename;
int replaced=StringReplace(File_Name,":"," ");
File_Name=DoubleToStr(Bar_Tm/60,0)+FR_Nm;
Str_Pr_Bar=Bid;
//Handle=FileOpen(File_Name_Close,FILE_CSV|FILE_WRITE,";");
}
Bars_Z(Bid);
Text_OBJ_LABEL("Tx_FM",1,1,50,"l",28,"Wingdings",clrOrange);
return(0);
}
//+------------------------------------------------------------------+
//|Grafic indicator |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Binary Miner |
//+------------------------------------------------------------------+
void Bars_Z(double iBid)// Собрал я с Ирой с красочьных полей зерно и дали по горсти каждый дочери Крестине
{
int Cqt=0;
Counter++;
Cqt=(int)NormalizeDouble((iBid-Str_Pr_Bar)/Point,0);
int qt_C=0;
if(Cqt>1)//paso 1 arriba
{
for(int qt=0; qt