//+------------------------------------------------------------------+ //| X_O_serg153xo.mq4 | //| Copyright © 2005, Serg153 | //| "" | //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, Serg153" #property link "" //---- #property indicator_chart_window extern color ColorUp = Red; // Цвет "крестика" extern color ColorDown = Yellow; // Цвет "нолика" //---- input parameters extern int RazmBox=20; //---- int i,p,Lt,Lt1,Tb; double RazmBoXO,Cnac; int VsegoBarov; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { Print(__FUNCTION__); for(i=0; i<99999; i++) { ObjectDelete("BodyXO"+i); ObjectDelete("BodyX"+i); } //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { Print(__FUNCTION__); for(i=0; i<99999; i++) { ObjectDelete("BodyXO"+i); ObjectDelete("BodyX"+i); } //---- return(0); } //+------------------------------------------------------------------+ //| Крестики Нолики | //+------------------------------------------------------------------+ int start() { RazmBoXO=RazmBox*Point; VsegoBarov=Bars-1; Lt=0; Cnac=Open[VsegoBarov]; Tb= 0; p = 0; // 1 прогон подсчёт всех баров for(i=VsegoBarov; i>=1; i--) { p=0; while(High[i]>=Cnac+RazmBoXO) { if(Tb==0) Lt++; Cnac+=RazmBoXO; p++; Tb=1; } if(p>0) continue; while(Low[i]<=Cnac-RazmBoXO) { if(Tb==1) Lt++; Cnac-=RazmBoXO; Tb=0; } } Lt=10+Lt*2; // сдвигаем все бары вправо // 2 прогон разрисовка графика Cnac= Open[VsegoBarov]; Lt1 = 0; for(i=VsegoBarov; i>=1; i--) { p=0; while(High[i]>=Cnac+RazmBoXO) { if(Tb==0) Lt-=2; Lt1++; if(Lt-2>=0 && Lt0) continue; while(Low[i]<=Cnac-RazmBoXO) { if(Tb==1) Lt-=2; Lt1++; if(Lt-2>=0 && Lt