1
1
Fork 0
forked from eugeniokp/ROOT
ROOT/root3.0

12244 lines
No EOL
614 KiB
Text
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//+------------------------------------------------------------------+
//| 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]<body[1,0])// The closing price is higher than the opening price, which means the price has dropped
{
PipsDif=NormalizeDouble(((NormalizeDouble(body[1,0],5)- NormalizeDouble(BodyHorizont_Price[inx-1,fg-1],5))*100000),0);// Get the number of pips of the price difference
//Print(" PipsDIf 2 ",PipsDif," body[1,0] ",body[1,0]," BodyHorizont_Price[inx-1,fg-1] ",BodyHorizont_Price[inx-1,fg-1]);
swi=2;
}
}
}
if(inx>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]<body[1,3])// The closing price is higher than the opening price, which means the price has dropped
{
PipsDif=NormalizeDouble(((NormalizeDouble(body[1,3],5)-NormalizeDouble(BodyHorizont_Price[inx-1,fg-1],5))*100000),0);// Get the number of pips of the price difference
//Print(" PipsDIf 4 ",PipsDif);
swi=2;
}
}
}
// ----- I overwrite arrays to add values -----
// -----I transfer the values of the body array to the body plus
if(inx>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; fgi<fgf; fgi++)
{
if(Array_Errors==true)
{
Print(" Index Array ",fgi," ind 2",fgo," Array Name Body_plus 1048");
}
//Print("Line 613 ",body[fgi,fgo]);//ассмотреть масив по столбцам раздельно
body_Plus[fgi,fgo]=body[fgi,fgo];
}
}
// ----- Fill the array with GEP values-----
if(BodyHorizont_Price[inx-1,fg-1]<body[1,0])// If the price is the same in the arrays and the binary code is the same, then I skip the action
{
if(body[1,0]<3)
{
ArrayInitialize(body,10);
if(swi==2)
{
for(int fgw=0; fgw<PipsDif+1; fgw++)
{
if(Array_Errors==true)
{
Print(" Index Array ",fgw," Array Name Body 1066");
}
body[fgw,0]=BodyHorizont_Price[inx-1,fg-1]+0.00001;// Assign price values
body[fgw,1]=1;// Assign binary code values
//Print("Body Init 2 ",body[fgw,0]);
}
}
}
}
// Comparison of 2 arrays, I correct the writing of the binary code in the BODY array
if(BodyHorizont_Price[inx-1,fg-1]<body[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]=1;// If the price in BODY is more than in BodyHorizont then I assign 1
}
if(BodyHorizont_Price[inx-1,fg-1]>body[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_2<inx_1; inx_2++)
{
if(Array_Errors==true)
{
Print(" Index Array ",inx," In 2",inx_2," Array Name BodyHorizont_Bin 1094");
}
//Print(" Line 659 ",body[inx_2,0]);
BodyHorizont_Bin[inx,inx_2]=body[inx_2,1];
}
// Assigning price values to an array
for(inx_2=1; inx_2<inx_1; inx_2++)
{
if(Array_Errors==true)
{
Print(" Index Array ",inx_2," Array Name Body 1104");
}
if(body[inx_2,0]<2 && body[inx_2,0]!=3)// Assign a value if the value in the 0 column is less than 0
{
BodyHorizont_Price[inx,inx_2]=body[inx_2,0];
}
if(body[inx_2,0]==3)// Assign a value if the 0 column has a value of 3
{
BodyHorizont_Price[inx,inx_2]=body[inx_2,3];
}
}
if(BODYHorizont==true)
{
// Writing arrays to a binary file
// --- ADD CHANGE FILE NAME TO x_FILE NAME
//------Writing the received data to a files-----------
int file_handle21=FileOpen(FileName21,FILE_READ|FILE_WRITE|FILE_BIN);
if(file_handle21>0)
{
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; mn<inx_1; mn++)
// {
// Print("Цена весь Массив ",BodyHorizont_Price[inx,mn]);
// }
// for(int mn=1; mn<inx_1; mn++)
// {
// Print("Бинкод Весь Массив ",BodyHorizont_Bin[inx,mn]);
// }
//+------------------------------------------------------------------+
//|Sunflower |
//+------------------------------------------------------------------+
if(BinIndWRITE==true)
{
//+------------------------------------------------------------------+
//|Sunflower Maximum Price Reference |
//+------------------------------------------------------------------+
// ----- BigPipsFinder indicator ------
price_Menus_one=bodypips[MaxInd_bodypips,0];//Референцируемая женщина
pips_Menus_one=bodypips[MaxInd_bodypips,1];//Референцируемый мужчина
//Print("Price init 1 - ",bodypips[MaxInd_bodypips,0]);
ArrayInitialize(bodypips,0);
ArrayInitialize(comp_bodypips,0);
for(int imm=1; imm<=99998; imm++)
{
if(Array_Errors==true)
{
Print(" Index Array ",imm," Array Name Body 1200");
}
//Print("body[imm,0] ",body[imm,0]);
if(body[imm,0]==10)
{
break;
}
}
if(body[1,0]>0 && 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)// If the current price is less than the Received price with pips, then the price inside is assigned 1
{
BinInd3=0;
BinInd3BO=0;
//Андрей Владимировичь Копаницкий
Bo="Bo_"+IntegerToString(BinInd3);
//Подача значений на маховик
Bo_0=1;//Подача значений для X
z_Bo_0=1;//Подача значений для Z
Bo_0_C=1;//Подача значений для Kupol
f_Bo_0=1;// Складывание в Лепесток
//Обнуление преременных подачи после расчёта по блоку
Be_0_C=0;
Be_1_C=0;
Bo_1_C=0;
}
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_Menus_one)
{
price_minus=price_Menus_one-PipsPrice;
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]<price_minus)
{
//Дюкарева Людмила Николаевна
BinInd3=1;
BinInd3BE=1;
Be="Be_"+IntegerToString(BinInd3);
//Подача значений на маховик
Be_1=1;//Подача значений для X
z_Be_1=1;//Подача значений для Z
Be_1_C=1;//Подача значений для Kupol
f_Be_1=1;// Складывание в Лепесток
//Обнуление преременных подачи после расчёта по блоку
Be_0_C=0;
Bo_0_C=0;
Bo_1_C=0;
}
}
//+------------------------------------------------------------------+
//|END Sunflower Seed sides |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|Sunflower Cupol |
//+------------------------------------------------------------------+
//-----Rotation-----
//-----Ротация оси базируется на делении семечки подоснуха на 4 части.Присваиваются следующие индексы
//-----Be_0,Bo_0 (Снисходящий тренд, восходящий тренд).Bе_1,Bo_1 (Снисходящий тренд, восходящий тренд)
// -------- Binary price field scanner
// -------- When the minute arrives, write the price change to the array, assigning the value obtained by the indicator
// -------------- Phase 1 ------------- // Calculation. I get the number of pips traversed by the price for periods 1 and 2.
// ----Модуль проверки конверсии перменных в модулях
string Var1Wr;
if(Var1_Bo_1==0)
{
Var1Wr="Bo_1";
}
if(Var1_Bo_0==0)
{
Var1Wr="Bo_0";
}
if(Var1_Be_0==0)
{
Var1Wr="Be_0";
}
if(Var1_Be_1==0)
{
Var1Wr="Be_1";
}
Price1=Price0;
Price0=bodypips[MaxInd_bodypips,0];
if(Price1!=0 && Price0!=0)
{
if(Price1<Price0)
{
CurPips=NormalizeDouble((Price0-Price1),5)*mult;//
}
if(Price1>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]<price_Menus_one)
{
PIPS_COL_Price[indmas,2]=1;//Bear type
PIPS_COL_Price[indmas,3]=0;// Subtype 0/1
}
//-----Time-----
PIPS_COL_DT[indmas]=iTime(Symbol(),0,1);// record the time
//-----Price------
PIPS_COL_Price[indmas,0]=bodypips[MaxInd_bodypips,0];// Write the price to zero
PIPS_COL_Price[indmas,1]=bodypips[MaxInd_bodypips,1];// Maximum index value-
//-----Расчёт Маховик Времени
for(int il=1; il<=99998; il++)
{
if(Array_Errors==true)
{
Print(" Index Array ",il," 1755");
}
//Print(bodypips[il,0]);
if(bodypips[il,0]==0)
{
break;
}
}
//--- Для вычисления полного цикла нужно иметь 2 переменные, Север и Юг
//--- Переменная, реальность 1для внешнего кольца не изменяется а остаётся постоянной константой. Счётчик при смене с севера на юг считает в обратном порядке.при смене с юга на север считает в правильном порядке.
//--- 4 стороны плюс 2 переворота.1_2_3_4_0/1
//--- Второй набор 1_2_3_4_0/1 часовые 1,2
//--- Третий набор 1_2_3_4_0/1 часовые 3 и 4 1_0/1 отношение север юг
//--- UP_BeBo0-1_0/1_1_2_3_4_0/1_1_2_3_4_0/1_1_2_3_4_0/1
// Присваивание значений из подсолнуха. Нужно определить в какую из 4 переменных произведено присваивание.
//+------------------------------------------------------------------+
//|Sunflower 8 bit volume feed - start calculation |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Counter Summa 1/0 |
//+------------------------------------------------------------------+
if(GetLastError()==4002)
{
Alert(" EA ERROR- RELOAD");
ResetLastError();
}
im=im++;
//Compensation price calculation function
int ikz;
for(ikz=1; ikz<=99998; ikz++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ikz," 1788");
}
if(body[ikz,1]==10)
{
break;
}
}
int Counter_Summa1_AR=0;
int Counter_Summa0_AR=0;
for(int ik=1; ik<ikz; ik++)
{
if(Array_Errors==true)
{
Print(" Index Array ",ik," 1801");
}
if(body[ik,1]==1)
{
Counter_Summa1_AR++;
}
}
for(int il=1; il<ikz; il++)
{
if(Array_Errors==true)
{
Print(" Index Array ",il," 1812");
}
if(body[il,1]==0)
{
Counter_Summa0_AR++;
}
}
//+------------------------------------------------------------------+
//|Counter Summa 1/0 - Synapsys Indicator |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Counter Summa 1/0 - Fibonacci ruler calculation |
//+------------------------------------------------------------------+
one_BE=Counter_Summa1_AR;//Power of bears
int zero_BE=Counter_Summa0_AR;//Power of Bull
Rez_BE=one_BE-zero_BE;
// ----- Calculation of Fibonacci levels -----
//Angelusvitae fond - https://www.facebook.com/angelusvitae.fond
//можно провести эквивалент расчёта архитектуры семечьки подсолнуха приравнивая к 4 семечкам кофе
//добавить счётчик сбора зёрен с файла
//1 euro - расчёт варьирования по семенам кофе. 1 буква равна максимальному варьированию.Кластер из 48 множу на 4 стороны света и получаю варьирование из 192 варриантов буз учёта фракций.
//итог чтобы получить букву из всего варьирования нижно привести к эквивалентности 1 варьирование равно 1 евро цент.
// и того мы получим 1,92 евро как еденицу буквы.
// теперь постараемся пощитать вложенный нами текст в банер рекламы
odna_chaska_kofe=15;// грн
kolvo_gram_1_chashka_kofe=9;
ves_1_zerno=0.2;
kolvo_zeren_1_chashka_Kofe=kolvo_gram_1_chashka_kofe/ves_1_zerno;//45 зерен кофе
one_kg_kofe_soderzhit_chawek=111;
Kolvo_zeren_v_kilograme=one_kg_kofe_soderzhit_chawek*kolvo_zeren_1_chashka_Kofe;//4.995
Kolvo_chashek_kofe_dlya_sbora=Kolvo_sredstv_dlya_sbora/odna_chaska_kofe;//1000
Kolvo_zeren_dlya_Sbora=Kolvo_chashek_kofe_dlya_sbora*kolvo_zeren_1_chashka_Kofe;//45000 зёрен кофе
kolvo_zeren_sessiya=(one_BE+zero_BE)/2;//Для приведения зерна кофе к 4 граням зерна подсолнуха нужно использовать 2 зерна
kolvo_zeren=kolvo_zeren+kolvo_zeren_sessiya;//Колличество зёрен при складывании сессий.
//Print("kolvo_zeren ",kolvo_zeren);
if(kolvo_zeren>=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(iei<ie)
//{
//break;
//}
//----Вписать сравнение на совместимость. Если совмещается сигнал то писать только время открытия свечи в массив.
//}
//}
//}
//file_handle8=FileOpen(FileName8,FILE_READ|FILE_WRITE|FILE_BIN);
//Print(" file_handle8 ",file_handle8);
//if(file_handle8>0)
// {
// 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; inb<inr1; inb++)
{
if(Array_Errors==true)
{
Print(" Index Array ",inb," 27679 ");
}
if(body[inb,0]>0 && 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; in1<If; in1++)
{
if(Array_Errors==true)
{
Print(" Index Array ",in1," 27768 ");
}
if(Permis==1)
{
if(body[in1,1]==body[in1+1,1] && body[in1,1]==1 && body[in1+1,1]==1)
{
count_1++;
}
if(body[in1,1]!=body[in1+1,1])
{
ArrayMaximum_1[ArM1]=count_1;//4
ArM1++;
Permis=0;
in1++;
count_1=1;
}
}
if(Permis==0)
{
if(body[in1,1]==body[in1+1,1] && body[in1,1]==0 && body[in1+1,1]==0)
{
count_0++;
}
if(body[in1,1]!=body[in1+1,1])
{
ArrayMaximum_0[ArM0]=count_0;
ArM0++;
Permis=1;
count_0=1;
}
}
}
MaxBinNumber_1Index=ArrayMaximum(ArrayMaximum_1,WHOLE_ARRAY,0);
MaxBinNumber_0Index=ArrayMaximum(ArrayMaximum_0,WHOLE_ARRAY,0);
MaxBinNumber_1=(ArrayMaximum_1[MaxBinNumber_1Index]);
MaxBinNumber_0=(ArrayMaximum_0[MaxBinNumber_0Index]);
// ----- Compensation indicator-----
int compensation_1,compensation_2;
compensation_1=Maximum-MaxBinNumber_1;
compensation_2=Minimum+MaxBinNumber_0;
//Print(" compensation_1 ",compensation_1);
//Print(" compensation_2 ",compensation_2);
//+------------------------------------------------------------------+
//| END Counter Summa 1/0 - MaxBinNumber 1/0 |
//+------------------------------------------------------------------+
// --------- Test of received values --------
//Print(" TIME ",iTime(Symbol(),0,1));
//Print(" Counter_Summa0 ",Counter_Summa0," Counter_Summa1 ",Counter_Summa1);//OK
//Print(" IndexMaximum ",IndexMaximum," IndexMinimum ",IndexMinimum);//
//Print(" Maximum ",Maximum," Minimum ",Minimum);
//Print(" zeroindex ",zeroindex);
//Print(" MinPriceSintezINDEX ",MinPriceSintezINDEX," MaxPriceSintezINDEX ",MaxPriceSintezINDEX);
//Print(" Sw_On ",Sw_On);
//Print(" MaxBinNumber_1 ",MaxBinNumber_1," MaxBinNumber_0 ",MaxBinNumber_0);
//Print(" compensation_1 ",MaxMinArr[IndexMaximum]-MaxBinNumber_1," compensation_2 ",MaxMinArr[IndexMinimum]+MaxBinNumber_0);
//Print("Bo ",Bo," Be ",Be);
//Print("LasData ",LasData);
//------resepcion de indice del 0
for(i=1; i<=8; i++)
{
if(Array_Errors==true)
{
Print(" Index Array ",i," 27832 ");
}
if(MaxMinArr[i,1]==0)
{
zeroindex=i;
break;
}
}
file_handle17=FileOpen(FileName17,FILE_READ|FILE_WRITE," ");
if(file_handle17>0)
{
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(Copen<Cclose)
{
CopenRes=Cclose-MaxPriceSintez;
CcloseRes=MinPriceSintez-Copen;
}
file_handle17=FileOpen(FileName17,FILE_READ|FILE_WRITE," ");
if(file_handle17>0)
{
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()<date1*/)//--Минусавой сигнал
// {
// if(write_Zero==true)
// {
// int file_handle2=FileOpen(FileName2,FILE_READ|FILE_WRITE," ");
// if(file_handle2>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<Cqt-1; qt++)
{
if(Array_Errors==true)
{
Print(" Index Array ",qt," 28507 ");
}
qt_C=Counter+qt;
body[qt_C,0]=3;
body[qt_C,1]=1;
body [qt_C,2]=2;
body [qt_C,3]=Str_Pr_Bar+(qt+1)*Point;
//body [qt_C,4]=TimeCurrent();//Записываю время тика.
//bintoarr[IFb1,IFb2]=1;//запись в строку параметров бинарного вычисления
//bintoarrBID[IFb1,IFb2]=Bid;
//body [qt_C,7]=iTime(Symbol(),PERIOD_CURRENT,0);
//---
// body [qt_C,4]=Open[0];
// body [qt_C,5]=High[0];
// body [qt_C,6]=Low[0];
// body [qt_C,7]=111;//TEST
// FileWrite(Handle,body[qt_C,0],body[qt_C,1],body[qt_C,2],body[qt_C,3],body[qt_C,4],body[qt_C,5],body[qt_C,6],body[qt_C,7]);
Counter1++;
}
Counter=qt_C+1;
}
if(Cqt<-1)
{
for(int qt=0; qt<MathAbs(Cqt)-1; qt++)
{
if(Array_Errors==true)
{
Print(" Index Array ",qt," 28535 ");
}
qt_C=Counter+qt;
body [qt_C,0]=3;
body [qt_C,1]=0;
body [qt_C,2]=3;
body [qt_C,3]=Str_Pr_Bar-(qt+1)*Point;
//body [qt_C,4]=TimeCurrent();//Записываю время тика.
// bintoarr[IFb1,IFb2]=0;
// bintoarrBID[IFb1,IFb2]=Bid;
//body [qt_C,7]=iTime(Symbol(),PERIOD_CURRENT,0);
//---
// body [qt_C,4]=Open[0];
// body [qt_C,5]=High[0];
// body [qt_C,6]=Low[0];
//FileWrite(Handle,body[qt_C,0],body[qt_C,1],body[qt_C,2],body[qt_C,3],body[qt_C,4],body[qt_C,5],body[qt_C,6],body[qt_C,7]);
Counter0++;
}
Counter=qt_C+1;
}
if(Str_Pr_Bar<=iBid)
{
body [Counter,1]=1;
body [Counter,2]=1;
//body [Counter,4]=TimeCurrent();//Записываю время тика.
//bintoarr[IFb1,IFb2]=1;
//bintoarrBID[IFb1,IFb2]=Bid;
Counter1_1++;
}
else
{
body [Counter,1]=0;
body [Counter,2]=0;
//body [Counter,4]=TimeCurrent();//Записываю время тика.
//bintoarr[IFb1,IFb2]=0;//пишу тик в бинарной интерпретации
//bintoarrBID[IFb1,IFb2]=Bid;//пишу цену для тика
Counter0_1++;
}
body [Counter,0]=iBid;
body [Counter,3]=111;
//body [Counter,4]=TimeCurrent();//Записываю время тика.p
// body [Counter,4]=Open[0];
// body [Counter,5]=High[0];
// body [Counter,6]=Low[0];
//body[Counter,7]=iTime(Symbol(),PERIOD_CURRENT,0);
//FileWrite(Handle,body[Counter,0],body[Counter,1],body[Counter,2],body[Counter,3],body[Counter,4],body[Counter,5],body[Counter,6],body[Counter,7]);
Str_Pr_Bar=iBid;
Counter_Summa1 = Counter1+Counter1_1;
Counter_Summa0 = Counter0+Counter0_1;
}
//+------------------------------------------------------------------+
//| END Binary Miner |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void deinit()
{
//-------------------------------------------------------------------------
Str_Pr_Bar=0;
time_bar=0;
time_BR=0;
ObjectsDeleteAll(0,OBJ_LABEL);
FileClose(Handle);
}
//+------------------------------------------------------------------+
//| void Text_OBJ_LABEL() |
//+------------------------------------------------------------------+
void Text_OBJ_LABEL(string Nm_T,int CORN,int XD,int YD,string Tx_Znk,int Sz,string Tx_cr,color CLR)
{
//----
ObjectCreate(Nm_T,OBJ_LABEL,0,0,0);
ObjectSet(Nm_T,OBJPROP_CORNER,CORN);
ObjectSet(Nm_T,OBJPROP_XDISTANCE,XD);
ObjectSet(Nm_T,OBJPROP_YDISTANCE,YD);
ObjectSetText(Nm_T,Tx_Znk,Sz,Tx_cr,CLR);
ObjectSet(Nm_T,OBJPROP_HIDDEN,true);
ObjectSet(Nm_T,OBJPROP_SELECTABLE,false);
//---
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+