Miscellaneous
0
Views
0
Downloads
0
Favorites
Tick-Tack-toe_v1.1
//+-------------------------------------------------------------------+
//| Tick-Tack-toe_v1.mq4 |
//| Copyright © 2009, GoldenFox corp. |
//| |
//| Ãðàôèê "Êðåñòèêè-Íîëèêè" |
//| |
//| |
//| Ìåòîä îòîáðàæåíèÿ ãðàôèêà îñíîâàí íà ñêðèïòå Period_Converter.mq4 |
//| âûëîæåííûé íà ñàéòå http://mql4.com/ru/ |
//| |
//| Äëÿ çàïóñêà ñêðèïòà íåîáõîäèìî ïåðåòàùèòü åãî íà òåêóùèé ãðàôèê, |
//| â ïîÿâèâøåìñÿ îêíå ïàðàìåòðîâ ñêðèïòà íà âêëàäêå "Îáùèå" óñòàíî- |
//| âèòü ãàëî÷êó "Ðàçðåøèòü èìïîðò ôóíêöèé èç DLL", è ñíÿòü ãàëî÷êó |
//| "Ðó÷íîå ïîäòâåðæäåíèå âûçîâà". Íà âêëàäêå "Âõîäíûå ïàðàìåòðû" |
//| óñòàíîâèòü íåîáõîäèìûå ïàðàìåòðû ðàáîòû ñêðèïòà è íàæàòü "ÎÊ". |
//| |
//| Âõîäíûå ïàðàìåòðû: |
//| Kletka - ðàçìåð êëåòêè â ïóíêòàõ |
//| Razvorot - êîë-âî êëåòêîê, íåîáõîäèìîå äëÿ ðàçâîðîòà |
//| |
//| (çíà÷åíèÿ ïî óìîë÷àíèþ âçÿòû äëÿ ïàðû EUR/USD è |
//| 5-òè çíàêîâ ïîñëå çàïÿòîé â êîòèðîâêå) |
//| |
//| Ïîñëå ïîÿâëåíèÿ íà òåêóùåì ãðàôèêå èíôîðìàöèè î çàïóñêå, íåîáõî- |
//| äèìî îòêðûòü àâòîíîìíûé äâóõìèíóòíûé ãðàôèê ïî òåêóùåìó èíñòðóìå- |
//| íòó ñëåäóþùèì îáðàçîì. Â ìåíþ "Ôàéë" âûáðàòü "Îòêðûòü àâòîíîìíî", |
//| â ïîÿâèâøåìñÿ îêíå íàéòè äâóõìèíóòíûé àâòîíîìíûé ãðàôèê ïî âàøåìó |
//| èíñòðóìåíòó (íàïðèìåð EURUSD,M2) è íàæàòü êíîïêó îòêðûòü. Äàëåå |
//| íà îòêðûâøåìñÿ ãðàôèêå âêëþ÷èòü ðåæèì "ßïîíñêèå ñâå÷è" |
//| |
//| Ïîñòðîåíèå ãðàôèêà ïî èñòîðè÷åñêèì äàííûì ñîäåðæàùèìñÿ íà òåêóùåì |
//| ðàáî÷åì ãðàôèêå ïðîèçâîäèòñÿ â ñîîòâåòñòâèè ñ êëàñè÷åñêèì îïèñà- |
//| íèåì ãðàôèêà "Êðåñòèêè-Íîëèêè" (ïî ìèíèìóìàì è ìàêñèìóìàì áàðîâ |
//| òåêóùåãî ãðàôèêà íà÷èíàÿ îò ñàìîãî ñòàðîãî è çàêàí÷èâàÿ òåêóùèì). |
//| Äàëåå ãðàôèê ñòðîèòñÿ ïî òåêóùèì êîòèðîâêàì. |
//| |
//| Â ïàðàìåòðå "Îáúåì" êàæäîãî áàðà îòîáðàæàåòñÿ âûcîòà ñòîëáèêà â |
//| ïóíêòàõ, à â êà÷åñòâå âðåìåíè èñïîëüçóåòñÿ âðåìÿ çàêðûòèÿ áàðà. |
//| |
//| Äëÿ áîëåå íàãëÿäíîãî îòîáðàæåíèÿ òåêóùåé êîòèðîâêè ïîñëåäíèé áàð |
//| íà ãðàôèêå îòîáðàæàåòñÿ ñ òåíüþ. Áîëåå ñòàðûå áàðû îòîáðàæàþòñÿ |
//| áåç òåíåé. |
//| |
//| Ãðàôèê îáíîâëÿåòñÿ ñ ïðèõîäîì êàæäîé íîâîé êîòèðîâêè. |
//| |
//+-------------------------------------------------------------------+
#property copyright "Copyright © 2009, GoldenFox Corp."
#property link ""
#property show_inputs
#include <WinUser32.mqh>
static string s_ver="1.1"; //âåðñèÿ èíäèêàòîðà
extern int Kletka=50; //ðàçìåð êëåòêè â ïóíêòàõ
extern int RazvorotKletka=2; //êîë-âî êëåòîê íåîáõîäèìûõ äëÿ ðàçâîðîòà (øóì)
static int Revers=0; //Êîë-âî ïóíêòîâ äëÿ ðàçâîðîòà (øóì)
static int ExtHandle=-1; //Óêàçàòåëü íà ôàéë êîòèðîâîê èíäèêàòîðà
static int Kurs=0; //òåêóùèé íîðìàëèçîâàííûé ê êëåòêå êóðñ â ïóíêòàõ
static int i_digits, i_time, i_open, i_low, i_high, i_close, i_last_close, last_fpos;
static double d_point,d_volume;
static int hwnd=0;
static int ind_period=2; //Ïåðèîä ãðàôèêà èíäèêàòîðà
static int i_period=0; //ïåðèîä òåêóùåãî ãðàôèêà â ìèíóòàõ
static string c_symbol; //ñèìâîë òåêóùåãî ãðàôèêà
static bool b_work=false; //false - ïèøåì èñòîðèþ; true - ðàáîòàåì
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//---- Çàãîëîâî÷íûå äàííûå
int version=400;
string c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
c_symbol=Symbol(); //âàëþòíàÿ ïàðà (ñèìâîë)
int i_unused[13]; //ðåçåðâíûå íå èñïîëüçóåòñÿ
i_digits=Digits; //êîë-âî çíàêîâ ïîñëå çàïÿòîé
d_point=NormalizeDouble(Point,i_digits+1); //öåíà ïóíêòà
i_period=Period()*60; //ïåðèîä òåêóùåãî ãðàôèêà â ìèíóòàõ
Revers=Kletka*RazvorotKletka; //ðàçâîðîò â ïóíêòàõ
//---- Cîçäàåì íîâûé ôàéë èíäèêàòîðà (äâóõìèíóòíûé ïî òåêóùåìó ñèìâîëó)
ExtHandle=FileOpenHistory(c_symbol+ind_period+".hst", FILE_BIN|FILE_WRITE);//ñîçäàåì íîâûé äâóõìèíóòíûé ôàéë
if(ExtHandle < 0) return(-1); //åñëè íå îòêðûëñÿ òî âûõîä ñ îøèáêîé
//---------Çàïèñûâàåì çàãîëîâî÷íûå äàííûå
FileWriteInteger(ExtHandle, version, LONG_VALUE); // 4 áàéòà âåðñèÿ
FileWriteString(ExtHandle, c_copyright, 64); //64 áàéòà êîïèðàéò
FileWriteString(ExtHandle, c_symbol, 12); //12 áàéò ñèìâîë
FileWriteInteger(ExtHandle, ind_period, LONG_VALUE); // 4 áàéòà ïåðèîä ãðàôèêà
FileWriteInteger(ExtHandle, i_digits, LONG_VALUE); // 4 áàéòà êîë-âî çíàêîâ ïîñëå çàïÿòîé
FileWriteInteger(ExtHandle, 0, LONG_VALUE); // 4 áàéòà timesign
FileWriteInteger(ExtHandle, 0, LONG_VALUE); // 4 áàéòà last_sync
FileWriteArray(ExtHandle, i_unused, 0, 13); //52 áàéòà
// âñåãî 148 áàéò
WriteHistory(); //ïèøåì èñòîðèþ.
Comment("\nÑêðèïò Êðåñòèêè-Íîëèêè v",s_ver," çàïóùåí. Êëåòêà: ",Kletka,"p. Ðàçâîðîò ", Revers, "p.",
"\nÎòêðîéòå àâòîíîìíûé ãðàôèê ",c_symbol,",M",ind_period,
"\n(Ôàéë -> Îòêðûòü àâòîíîìíî -> ",c_symbol,",M",ind_period," -> Îòêðûòü)");
//---------------- îñíîâíîé öèêë
while(IsStopped()==false) //Ðàáîòàåì ïîêà íå ïîëó÷åíà êîìàíäà çàâåðøåíèÿ
{
if(RefreshRates()) //åñëè åñòü íîâàÿ êîòèðîâêà
{
Kurs=(NormalizeDouble(Bid, i_digits+1)/d_point)-MathMod(NormalizeDouble(Bid, i_digits+1)/d_point,Kletka); //íîâûé íîðìàëèçîâàííûé ê êëåòêå êóðñ
CalculateBar(); //äîáàâèì òåêóùóþ êîòèðîâêó â ôàéë
}
}
//--------------------------------------
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void CalculateBar() //Ôóíêöèÿ îáðàáîòêè òåêóùèõ êîòèðîâîê (êîòèðîâêè â ïóíêòàõ)
{
if (i_open>i_last_close) //åñëè îòêðûòèå òåêóùåãî áàðà èíäèêàòîðà áîëüøå çàêðûòèÿ, òî íàïð.âíèç
{
if (i_last_close>Kurs) //åñëè ïðåäûäóùåå çàêðûòèå áîëüøå íîðìàëèçîâàííîãî êóðñà
{ // òî äâèæåíèå âíèç ïðîäîëæàåòñÿ. ñîõðàíèì êîòèðîâêó
i_time=TimeCurrent(); //âðåìÿ çàêðûòèÿ òåêóùåãî áàðà èíäèêàòîðà ðàâíî òåêóùåìó âðåìåíè ñåðâåðà
i_close=Kurs; //çàêðûòèå òåêóùåãî áàðà èíäèêàòîðà ðàâíî êóðñó
i_low=i_close; //ìèíèìóì òåêóùåãî áàðà èíäèêàòîðà ðàâåí çàêðûòèþ
i_last_close=i_low; //ñîõðàíèì ìèíèìóì òåêóùåãî áàðà èíäèêàòîðà
WriteBar(); //ïåðåïèøåì òåêóùèé áàð èíäèêàòîðà
}
else //èíà÷å ïðîâåðÿåì íà ðàçâîðîò
{
if (Kurs-i_last_close>Revers) //åñëè ðàçíèöà íîâîãî êóðñà è ìèíèìóìà òåêóùåãî áàðà èíäèêàòîðà áîëüøå øóìà
{ //òî ðàçâîðîò (íîâûé áàð ââåðõ)
i_close=i_last_close; //çàêðûòèå òåêóùåãî áàðà èíäèêàòîðà ðàâíî ðàâíî åãî ìèíèìóìó
WriteBar(); //ïåðåïèøåì òåêóùèé áàð èíäèêàòîðà
i_open=i_last_close+Kletka; //îòêðûòèå íîâîãî áàðà èíäèêàòîðà íà êëåòêó ââåðõ
i_low=i_open; //ìèíèìóì íîâîãî áàðà èíäèêàòîðà ðàâåí åãî îòêðûòèþ
i_close=Kurs; //çàêðûòèå íîâîãî áàðà èíäèêàòîðà ðàâíî êóðñó
i_high=i_close; //ìàêñèìóì íîâîãî áàðà èíäèêàòîðà ðàâåí åãî çàêðûòèþ
i_last_close=i_high; //ñîõðàíèì ìàêñèìóì íîâîãî áàðà èíäèêàòîðà
i_time=TimeCurrent(); //âðåìÿ çàêðûòèÿ íîâîãî áàðà èíäèêàòîðà ðàâíî òåêóùåìó âðåìåíè ñåðâåðà
WriteNewBar(); //çàïèøåì íîâûé áàð èíäèêàòîðà
}
else //èíà÷å øóì íå ïðåâûøåí, íàðèñóåì òåíü
{
if (i_close!=Kurs) //åñëè çàêðûòèå òåêóùåãî áàðà èíäèêàòîðà íå ðàâíî êóðñó
{ //òî ïåðåïèøåì òåêóùèé áàð èíäèêàòîðà ñ òåíüþ
i_close=Kurs; //çàêðûòèå òåêóùåãî áàðà èíäèêàòîðà ðàâíî êóðñó
WriteBar(); //ïåðåïèøåì òåêóùèé áàð èíäèêàòîðà
}
}
}
}
else //èíà÷å îòêðûòèå òåêóùåãî áàðà èíäèêàòîðà ìåíüøå çàêðûòèÿ (íàïð.ââåðõ)
{
if (i_last_close<Kurs) //åñëè ïðåäûäóùåå çàêðûòèå ìåíüøå íîðìàëèçîâàííîãî êóðñà
{ // òî äâèæåíèå ââåðõ ïðîäîëæàåòñÿ. ñîõðàíèì êîòèðîâêó
i_time=TimeCurrent(); //âðåìÿ çàêðûòèÿ òåêóùåãî áàðà èíäèêàòîðà ðàâíî òåêóùåìó âðåìåíè ñåðâåðà
i_close=Kurs; //çàêðûòèå òåêóùåãî áàðà èíäèêàòîðà ðàâíî êóðñó
i_high=i_close; //ìàêñèìóì íîâîãî áàðà èíäèêàòîðà ðàâåí åãî çàêðûòèþ
i_last_close=i_high; //ñîõðàíèì ìàêñèìóì íîâîãî áàðà èíäèêàòîðà
WriteBar(); //ïåðåïèøåì òåêóùèé áàð èíäèêàòîðà
}
else //èíà÷å ïðîâåðÿåì íà ðàçâîðîò
if (i_last_close-Kurs>Revers) //åñëè ðàçíèöà çàêðûòèÿ òåêóùåãî áàðà èíäèêàòîðà è íîâîãî êóðñà áîëüøå øóìà
{ //òî ðàçâîðîò (íîâûé áàð âíèç)
i_close=i_last_close; //çàêðûòèå òåêóùåãî áàðà èíäèêàòîðà ðàâíî ðàâíî åãî ìàêñèìóìó
WriteBar(); //ïåðåïèøåì òåêóùèé áàð èíäèêàòîðà
i_open=i_close-Kletka; //îòêðûòèå íîâîãî áàðà èíäèêàòîðà íà êëåòêó âíèç
i_high=i_open; //ìàêñèìóì íîâîãî áàðà èíäèêàòîðà ðàâåí îòêðûòèþ ïðåäûäóùåãî
i_close=Kurs; //çàêðûòèå íîâîãî áàðà èíäèêàòîðà ðàâíî êóðñó
i_low=i_close; //ìèíèìóì íîâîãî áàðà èíäèêàòîðà ðàâåí åãî çàêðûòèþ
i_last_close=i_low; //ñîõðàíèì ìèíèìóì òåêóùåãî áàðà èíäèêàòîðà
i_time=TimeCurrent(); //âðåìÿ çàêðûòèÿ íîâîãî áàðà èíäèêàòîðà ðàâíî òåêóùåìó âðåìåíè ñåðâåðà
WriteNewBar(); //çàïèøåì íîâûé áàð èíäèêàòîðà
}
else //èíà÷å øóì íå ïðåâûøåí, íàðèñóåì òåíü
{
if (i_close!=Kurs) //åñëè çàêðûòèå òåêóùåãî áàðà èíäèêàòîðà íå ðàâíî êóðñó
{ //òî ïåðåïèøåì òåêóùèé áàð èíäèêàòîðà ñ òåíüþ
i_close=Kurs; //çàêðûòèå òåêóùåãî áàðà èíäèêàòîðà ðàâíî êóðñó
WriteBar(); //ïåðåïèøåì òåêóùèé áàð èíäèêàòîðà
}
}
}
return(0);
}
void WriteNewBar() //ôóíêöèÿ çàïèñè íîâîãî áàðà
{
FileSeek(ExtHandle, 0, SEEK_CUR); //äëÿ èñêëþ÷åíèÿ îøèáîê ïåðåìåùåíèÿ
FileWriteInteger(ExtHandle, i_time, LONG_VALUE); //4 áàéòà òåêóùåå âðåìÿ ñåðâåðà
FileWriteDouble(ExtHandle, i_open*d_point, DOUBLE_VALUE); //8 áàéò îòêðûòèå
FileWriteDouble(ExtHandle, i_low*d_point, DOUBLE_VALUE); //8 áàéò ìèíèìóì
FileWriteDouble(ExtHandle, i_high*d_point, DOUBLE_VALUE); //8 áàéò ìàêñèìóì
FileWriteDouble(ExtHandle, i_close*d_point, DOUBLE_VALUE); //8 áàéò çàêðûòèå
FileWriteDouble(ExtHandle, i_high-i_low, DOUBLE_VALUE); //8 áàéò âûñîòà áàðà â ïóíêòàõ
FileFlush(ExtHandle); //ñáðîñ áóôåðà â ôàéë
FileSeek(ExtHandle, 0, SEEK_CUR); //äëÿ èñêëþ÷åíèÿ îøèáîê ïåðåìåùåíèÿ
if (b_work) //åñëè íå ïèøåì èñòîðèþ, òî îáíîâèì èíäèêàòîð
{
if(hwnd==0)hwnd=WindowHandle(Symbol(),ind_period); //íàéäåì îêíî èíäèêàòîðà
if(hwnd!=0) PostMessageA(hwnd,WM_COMMAND,33324,0); //åñëè åñòü îêíî, òî îáíîâèì åãî
}
return(0);
}
void WriteBar() //ôóíêöèÿ ïåðåçàïèñè òåêóùåãî áàðà
{
FileSeek(ExtHandle, -44, SEEK_CUR); //ïåðåìåùàåìñÿ íà íà÷àëî òåêóùåãî áàðà
FileWriteInteger(ExtHandle, i_time, LONG_VALUE); //4 áàéòà òåêóùåå âðåìÿ ñåðâåðà
FileWriteDouble(ExtHandle, i_open*d_point, DOUBLE_VALUE); //8 áàéò îòêðûòèå
FileWriteDouble(ExtHandle, i_low*d_point, DOUBLE_VALUE); //8 áàéò ìèíèìóì
FileWriteDouble(ExtHandle, i_high*d_point, DOUBLE_VALUE); //8 áàéò ìàêñèìóì
FileWriteDouble(ExtHandle, i_close*d_point, DOUBLE_VALUE); //8 áàéò çàêðûòèå
FileWriteDouble(ExtHandle, i_high-i_low, DOUBLE_VALUE); //8 áàéò âûñîòà áàðà â ïóíêòàõ
FileFlush(ExtHandle); //ñáðîñ áóôåðà â ôàéë
FileSeek(ExtHandle, 0, SEEK_CUR); //äëÿ èñêëþ÷åíèÿ îøèáîê ïåðåìåùåíèÿ
if (b_work) //åñëè íå ïèøåì èñòîðèþ, òî îáíîâèì èíäèêàòîð
{
if(hwnd==0)hwnd=WindowHandle(Symbol(),ind_period); //íàéäåì îêíî èíäèêàòîðà
if(hwnd!=0) PostMessageA(hwnd,WM_COMMAND,33324,0); //åñëè åñòü îêíî, òî îáíîâèì åãî
}
return(0);
}
int WriteHistory() //ôóíêöèÿ çàïèñè èñòîðèè
{
b_work=false; //ñíîñèì ôëàã ðàáîòû (ïèøåì èñòîðèþ)
int i=0; //èíäåêñ ñàìîãî ñòàðîãî áàðà íà òåêóùåì ãðàôèêå
int t=0; //ñ÷åò÷èê çàïèñàííûõ áàðîâ â ôàéë èíäèêàòîðà
int l,h; //ìèíèìóì è ìàêñèìóì òåêóùåãî áàðà íà òåêóùåì ãðàôèêå
i=Bars-2; //áåðåì èíäåêñ ñàìîãî ñòàðîãî áàðà íà òåêóùåì ãðàôèêå
//----------------------Ïèøåì ñàìûé ïåðâûé áàð
i_time=Time[i]+i_period; //âðåìÿ çàêðûòèÿ áàðà
i_low=NormalizeDouble(Low[i],i_digits+1)/d_point; //ìèíèìóì áàðà â ïóíêòàõ
i_low=i_low-MathMod(i_low,Kletka); //íîðìàëèçóåì ìèíèìóì ê êëåòêå
i_high=NormalizeDouble(High[i],i_digits+1)/d_point; //ìàêñèìóì áàðà â ïóíêòàõ
i_high=i_high-MathMod(i_high,Kletka); //íîðìàëèçóåì ìàêñèìóì ê êëåòêå
if (Open[i]>Close[i]) //åñëè îòêðûòè ñàìîãî ñòàðîãî áàðà ãðàôèêà áîëüøå çàêðûòèÿ
{ //òî áàð âíèç
i_open=i_high; //îòêðûòèå ïåðâîãî áàðà èíäèêàòîðà ðàâíî ìàêñèìóìó áàðà ãðàôèêà
i_close=i_low; //çàêðûòèå ïåðâîãî áàðà èíäèêàòîðà ðàâíî ìèíèìóìó áàðà ãðàôèêà
}
else //èíà÷å ñàìûé ñòàðûé áàð ãðàôèêà ââåðõ
{
i_open=i_low; //îòêðûòèå ïåðâîãî áàðà èíäèêàòîðà ðàâíî ìèíèìóìó áàðà ãðàôèêà
i_close=i_high; //çàêðûòèå ïåðâîãî áàðà èíäèêàòîðà ðàâíî ìàêñèìóìó áàðà ãðàôèêà
}
WriteBar(); //çàïèøåì ïåðâûé áàð
//----------------------------------------------
for (i=i-1; i>=0; i--) //äëÿ âñåx áàðîâ ãðàôèêà íà÷èíàÿ ñî 2-ãî ñòàðåéøåãî
{
if (i>0) i_time=Time[i]+i_period; //åñëè íå ïîñëåäíèé áàð, òî áåðåì âðåìÿ çàêðûòèÿ òåêóùåãî áàðà íà ãðàôèêå
else i_time=TimeCurrent(); //èíà÷å áåðåì òåêóùåå âðåìÿ ñåðâåðà
if (i_open>i_close) //åñëè ïðåäûäóùèé áàð èíäèêàòîðà âíèç
{
l=NormalizeDouble(Low[i],i_digits+1)/d_point; //ìèíèìóì òåêóùåãî áàðà íà ãðàôèêå â ïóíêòàõ
l=l-MathMod(l,Kletka); //íîðìàëèçóåì ìèíèìóì ê êëåòêå
if (l<i_close) //åñëè ìèíèìóì òåêóùåãî áàðà ìåíüøå ïîñëåäíåãî áàðà èíäèêàòîðà
{ // òî äâèæåíèå âíèç ïðîäîëæàåòñÿ. ñîõðàíèì êîòèðîâêó
i_close=l; //çàêðûòèå áàðà èíäèêàòîðà ðàâíî ìèíèìóìó òåêóùåãî áàðà
i_low=l; //ìèíèìóì áàðà èíäèêàòîðà ðàâåí ìèíèìóìó òåêóùåãî áàðà
WriteBar(); //ïåðåïèøåì áàð èíäèêàòîðà
}
else //èíà÷å âîçìîæíî ðàçâîðîò
{
h=NormalizeDouble(High[i],i_digits+1)/d_point; //ìàêñèìóì òåêóùåãî áàðà íà ãðàôèêå â ïóíêòàõ
h=h-MathMod(h,Kletka); //íîðìàëèçóåì ìàêñèìóì ê êëåòêå
if (h-i_close>Revers) //åñëè ðàçíèöà ìàêñèìóìà òåêóùåãî áàðà è çàêðûòèÿ ïîñëåäíåãî áàðà èíäèêàòîðàè áîëüøå øóìà
{ //òî ðàçâîðîò ââåðõ
i_open=i_close+Kletka; //îòêðûòèå íîâîãî áàðà èíäèêàòîðà íà êëåòêó ââåðõ
i_low=i_open; //ìèíèìóì íîâîãî áàðà èíäèêàòîðà ðàâåí îòêðûòèþ ïðåäûäóùåãî áàðà èíäèêàòîðà
i_close=h; //çàêðûòèå íîâîãî áàðà èíäèêàòîðà ðàâíî ìàêñèìóìó òåêóùåãî áàðà ãðàôèêà
i_high=h; //ìàêñèìóì íîâîãî áàðà èíäèêàòîðà ðàâíî ìàêñèìóìó òåêóùåãî áàðà ãðàôèêà
WriteNewBar(); //çàïèøåì íîâûé áàð èíäèêàòîðà
}
}
}
else //èíà÷å ïðåäûäóùèé áàð èíäèêàòîðà ââåðõ
{
h=NormalizeDouble(High[i],i_digits+1)/d_point; //ìàêñèìóì òåêóùåãî áàðà íà ãðàôèêå
h=h-MathMod(h,Kletka); //íîðìàëèçóåì ìàêñèìóì ê êëåòêå
if (h>i_close) //åñëè ìàêñèìóì òåêóùåãî áàðà áîëüøå ïîñëåäíåãî áàðà èíäèêàòîðà
{ // òî äâèæåíèå ââåðõ ïðîäîëæàåòñÿ. ñîõðàíèì êîòèðîâêó
i_close=h; //çàêðûòèå áàðà èíäèêàòîðà ðàâíî ìàêñèìóìó òåêóùåãî áàðà
i_high=h; //ìàêñèìóì áàðà èíäèêàòîðà ðàâåí ìàêñèìóìó òåêóùåãî áàðà
WriteBar(); //ïåðåïèøåì áàð èíäèêàòîðà
}
else //èíà÷å âîçìîæíî ðàçâîðîò
{
l=NormalizeDouble(Low[i],i_digits+1)/d_point; //ìèíèìóì òåêóùåãî áàðà íà ãðàôèêå â ïóíêòàõ
l=l-MathMod(l,Kletka); //íîðìàëèçóåì ìèíèìóì ê êëåòêå
if (i_close-l>Revers) // åñëè ðàçíèöà çàêðûòèÿ ïîñëåäíåãî áàðà èíäèêàòîðàè è ìèíèìóìà òåêóùåãî áàðà áîëüøå øóìà
{ //òî ðàçâîðîò âíèç
i_open=i_close-Kletka; //îòêðûòèå íîâîãî áàðà èíäèêàòîðà íà êëåòêó âíèç
i_high=i_open; //ìàêñèìóì íîâîãî áàðà èíäèêàòîðà ðàâåí îòêðûòèþ ïðåäûäóùåãî áàðà èíäèêàòîðà
i_close=l; //çàêðûòèå íîâîãî áàðà èíäèêàòîðà ðàâíî ìèíèìóìó òåêóùåãî áàðà ãðàôèêà
i_low=l; //ìèíèìóì íîâîãî áàðà èíäèêàòîðà ðàâåí ìèíèìóìó òåêóùåãî áàðà ãðàôèêà
WriteNewBar(); //çàïèøåì íîâûé áàð èíäèêàòîðà
}
}
}
//----------÷åðåç êàæäûå 1000 çàïèñåé îáíîâèì îêíî èíäèêàòîðà åñëè åñòü è íàðèñóåì êîìåíòàðèé
t++; //óâåëè÷èì ñ÷åò÷èê çàïèñè áàðîâ èíäèêàòîðà
if (t>1000)
{
t=0;
if(hwnd==0)hwnd=WindowHandle(Symbol(),ind_period); //íàéäåì îêíî èíäèêàòîðà
if(hwnd!=0) PostMessageA(hwnd,WM_COMMAND,33324,0); //åñëè åñòü îêíî, òî îáíîâèì åãî
Comment ("\nÑêðèïò Êðåñòèêè-Íîëèêè v",s_ver," çàïóùåí. Êëåòêà: ",Kletka,"p. Ðàçâîðîò ", Revers, "p.",
"\nÎòêðîéòå àâòîíîìíûé ãðàôèê ",c_symbol,",M",ind_period,
"\n(Ôàéë -> Îòêðûòü àâòîíîìíî -> ",c_symbol,",M",ind_period," -> Îòêðûòü)",
"\n\nÏèøåì èñòîðèþ: Âðåìÿ ",TimeToStr(i_time,TIME_DATE|TIME_MINUTES|TIME_SECONDS));
}
}
i_last_close=i_close; // ñîõðàíèì çàêðûòèå ïîñëåäíåãî áàðà èíäèêàòîðà
if(hwnd==0)hwnd=WindowHandle(Symbol(),ind_period); //íàéäåì îêíî èíäèêàòîðà
if(hwnd!=0) PostMessageA(hwnd,WM_COMMAND,33324,0); //åñëè åñòü îêíî, òî îáíîâèì åãî
b_work=true; //óñòàíîâèì ôëàã ðàáîòû (çàêîí÷èëè ïèñàòü èñòîðèþ: ðàáîòàåì)
return(0);
}
void deinit() //âûãðóçêà ñêðèïòà èíäèêàòîðà
{
if(ExtHandle>=0) { FileClose(ExtHandle); ExtHandle=-1; } //çàêðîåì ôàéë èíäèêàòîðà åñëè åñòü
Comment("\nÑêðèïò Êðåñòèêè-íîëèêè v",s_ver," âûãðóæåí");
}
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---