Price Data Components
Orders Execution
Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
JS-MA-Day
//+-----------------------------------------------------------------+
//| JS-MA-Day.mq4 |
//+-----------------------------------------------------------------+
//| HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH |
//| H\ \ http://wsforex.ru/ / / H |
//| H )----)----------------------------------------------(----( H |
//| H/ / Ïèøó òîðãîâûå ñèñòåìû íà çàêàç: wsforex.ru \ \ H |
//| HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH |
//+-----------------------------------------------------------------+
#property copyright "wsforex@list.ru"
#property link "http://wsforex.ru/"
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
extern int CloseHour = 23;
extern int MA.Period = 27;
extern int TakeProfit = 0; // Åñëè TakeProfit=0 òî îí íå óñòàíàâëèâàåòñÿ:
extern int StopLoss = 860; // Åñëè StopLoss=0 òî îí ñòàâèòñÿ ïî ÌÀ
extern int Slippage = 10; // Ïðîñêàëüçûâàíèå öåíû:
extern int NumberOfTry = 5; // Êîëè÷åñòâî òîðãîâûõ ïîïûòîê îòêðûòèÿ îðäåðà:
extern bool MM = false; // MM Óïðàâëåíèå êàïèòàëîì åñëè ÌÌ=False òî ëîò ñòàíäàðòíûé
extern double MaxRisk = 3.3; // Ðèñê â ïðîöåíòàõ îò ñâîáîäíûõ ñðåäñòâ
extern double Lots = 0.01;
extern int MagicNumber = 7773777;
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
extern bool UseSound = True;
extern bool ShowComment = True;
extern string NameFileSound = "expert.wav"; // Çâóê Îòêðûòèÿ ïîçèöèè
extern string SoundSuccess = "expert.wav"; // Çâóê Ñòîïà
extern string SoundError = "timeout.wav"; // Çâóê Îøèáêè
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
extern bool Ea.Disabled = False;
extern color clOpenBuy = LightBlue; // Öâåò çíà÷êà îòêðûòèÿ ïîêóïêè
extern color clOpenSell = LightCoral; // Öâåò çíà÷êà îòêðûòèÿ ïðîäàæè
extern color clCloseBuy = Blue; // Öâåò çíà÷êà çàêðûòèÿ ïîêóïêè
extern color clCloseSell = Red; // Öâåò çíà÷êà çàêðûòèÿ ïðîäàæè
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
int init()
{
//----
if (!IsTesting()) {
if (IsExpertEnabled()) Comment("\nÑîâåòíèê óñòàíîâëåí è áóäåò çàïóùåí ñëåäóþùèì òèêîì");
else Comment("\nÂíèìàíèå! îòæàòà êíîïêà íà âêëàäêå ñîâåòíèêè");
}
//----
return(0);
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
string Dayof(){
string dd;
switch(DayOfWeek()){
case 1: dd="Ïîíåäåëüíèê"; break;
case 2: dd="Âòîðíèê"; break;
case 3: dd="Ñðåäà"; break;
case 4: dd="×åòâåðã"; break;
case 5: dd="Ïÿòíèöà"; break;
case 6: dd="Ñóááîòà"; break;
case 7: dd="Âîñêðåñåíüå"; break;
}
return(dd);
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
string IIcm(int com){
if(com==1)return("äà:"); else return("íåò:");
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
string shet(){
string s;
if (IsDemo())s="Äåìî"; else s="Ðåàë";
return(s);
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
int start()
{
//----
RefreshRates();
int lv=MarketInfo(Symbol(),MODE_STOPLEVEL);
// -----
Comment("\nÑîâåòíèê âåñü â ðàáîòå: - ",IIcm(Ea.Disabled==False),
"\nÄåíü: - ",Dayof(),
"\nÒîðãîâûé ñ÷¸ò: - ",shet(),
"\nSpread: - ",MarketInfo(Symbol(),MODE_SPREAD),
"\nStopLevel: - ",MarketInfo(Symbol(),MODE_STOPLEVEL)
);
//----
if(Hour()>=CloseHour)
{
ClosePos(OP_BUY, MagicNumber);
ClosePos(OP_SELL, MagicNumber);
}
double sl,tp;
RefreshRates();
double ma0day =iMA(Symbol(), PERIOD_D1, MA.Period, 0, MODE_SMA, PRICE_MEDIAN, 0);
double ma1day =iMA(Symbol(), PERIOD_D1, MA.Period, 0, MODE_SMA, PRICE_MEDIAN, 1);
double ma2day =iMA(Symbol(), PERIOD_D1, MA.Period, 0, MODE_SMA, PRICE_MEDIAN, 2);
//----
if(Hour()<2 && OrdersCount(Symbol(), OP_SELL, MagicNumber)==0
&& ma0day<ma1day && ma0day>iOpen(Symbol(), PERIOD_D1, 0)
&& ma1day<ma2day && ma1day>iOpen(Symbol(), PERIOD_D1, 1)) {
if(StopLoss>0) sl=Bid+StopLoss*Point; else sl=ma1day;
if(TakeProfit>0) tp=Bid-TakeProfit*Point; else tp=0;
if((sl-Bid)/Point>lv) { OpenPosition(Symbol(), OP_SELL, GetLots(), sl, tp, MagicNumber);
}
}
if(Hour()<2 && OrdersCount(Symbol(), OP_BUY, MagicNumber)==0
&& ma0day>ma1day && ma0day<iOpen(Symbol(), PERIOD_D1, 0)
&& ma1day>ma2day && ma1day<iOpen(Symbol(), PERIOD_D1, 1)) {
if(StopLoss>0) sl=Ask-StopLoss*Point; else sl=ma1day;
if(TakeProfit>0) tp=Ask+TakeProfit*Point; else tp=0;
if((Ask-sl)/Point>lv) { OpenPosition(Symbol(), OP_BUY, GetLots(), sl, tp, MagicNumber);
}
}
//----
return(0);
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
int OpenPosition(string sy,int op,double ll,double sl=0,double tp=0,int mn=0)
{
color clOpen;
datetime ot;
double pp, pa, pb;
int dg, err, it, ticket=0;
string lsComm=" ";
//+----
if (sy=="" || sy=="0") sy=Symbol();
if (op==OP_BUY) clOpen=clOpenBuy; else clOpen=clOpenSell;
for (it=1; it<=NumberOfTry; it++) {
if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;
while (!IsTradeAllowed()) Sleep(5000);
RefreshRates();
dg=MarketInfo(sy, MODE_DIGITS);
pa=MarketInfo(sy, MODE_ASK);
pb=MarketInfo(sy, MODE_BID);
if (op==OP_BUY) pp=pa; else pp=pb;
pp=NormalizeDouble(pp, dg);
sl=NormalizeDouble(sl, dg);
tp=NormalizeDouble(tp, dg);
ot=TimeCurrent();
ticket=OrderSend(sy, op, ll, pp, Slippage, sl, tp, lsComm, mn, 0, clOpen);
if (ticket>0) {
if (UseSound) PlaySound(NameFileSound); break;
} else {
err=GetLastError();
if (err==128 || err==142 || err==143) {
Sleep(1000*66.666);
if (ExistPositions(sy, op, mn, ot)) {
if (UseSound) PlaySound(NameFileSound); break;
}
}
Print("Error(",err,") opening position: ",error(err),", try ",it);
Print("Ask=",pa," Bid=",pb," sy=",sy," ll=",ll," op=",GetNameOP(op),
" pp=",pp," sl=",sl," tp=",tp," mn=",mn);
if (pa==0 && pb==0) Message("Ïðîâåðüòå â Îáçîðå ðûíêà íàëè÷èå ñèìâîëà "+sy);
if (err==2 || err==64 || err==65 || err==133) {
Ea.Disabled=True; break;
}
if (err==4 || err==131 || err==132) {
Sleep(1000*300); break;
}
if (err==140 || err==148 || err==4110 || err==4111) break;
if (err==141) Sleep(1000*100);
if (err==145) Sleep(1000*17);
if (err==146) while (IsTradeContextBusy()) Sleep(1000*11);
if (err!=135) Sleep(1000*7.7);
}
}
return(ticket);
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) {
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
}
return(False);
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
string GetNameOP(int op) {
switch (op) {
case OP_BUY : return("Buy");
case OP_SELL : return("Sell");
case OP_BUYLIMIT : return("Buy Limit");
case OP_SELLLIMIT: return("Sell Limit");
case OP_BUYSTOP : return("Buy Stop");
case OP_SELLSTOP : return("Sell Stop");
default : return("Unknown Operation");
}
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
void Message(string m) {
Comment(m);
if (StringLen(m)>0) Print(m);
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
int OrdersCount(string sy="", int op=-1, int mn=0)
{
//+----
int orders=0;
int cnt=OrdersTotal();
for (int i=0; i<cnt; i++) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderMagicNumber()!=mn) continue;
if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) { orders++;
}
}
}
//+----
return (orders);
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
void ClosePos(int type, int mn=-1) {
bool fc;
color clClose;
double ll, pa, pb, pp;
int i, k=OrdersTotal();
int dg=MarketInfo(OrderSymbol(), MODE_DIGITS), err, it;
for (i=k-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType()==type && OrderMagicNumber()==mn) {
for (it=1; it<=NumberOfTry; it++) {
if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;
while (!IsTradeAllowed()) Sleep(5000);
RefreshRates();
pa=MarketInfo(OrderSymbol(), MODE_ASK);
pb=MarketInfo(OrderSymbol(), MODE_BID);
if (OrderType()==OP_BUY) {
pp=pb; clClose=clCloseBuy;
} else {
pp=pa; clClose=clCloseSell;
}
ll=OrderLots();
pp=NormalizeDouble(pp, dg);
fc=OrderClose(OrderTicket(), ll, pp, Slippage, clClose);
if (fc) {
if (UseSound) PlaySound(SoundSuccess); break;
} else {
err=GetLastError();
if (UseSound) PlaySound(SoundError);
if (err==146) while (IsTradeContextBusy()) Sleep(1000*11);
Print("Error(",err,") Close ",GetNameOP(OrderType())," ",
error(err),", try ",it);
Print(OrderTicket()," Ask=",pa," Bid=",pb," pp=",pp);
Print("sy=",OrderSymbol()," ll=",ll," sl=",OrderStopLoss(),
" tp=",OrderTakeProfit()," mn=",OrderMagicNumber());
Sleep(1000*5);
}
}
}
}
}
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
double GetLots(){
//---
double Lot=Lots;
if(!MM)return(Lot);
double Free =AccountFreeMargin();
double LotVal =MarketInfo(Symbol(),MODE_TICKVALUE);
double Min_Lot =MarketInfo(Symbol(),MODE_MINLOT);
double Max_Lot =MarketInfo(Symbol(),MODE_MAXLOT);
double Step =MarketInfo(Symbol(),MODE_LOTSTEP);
//---
if(StopLoss>0){
Lot=MathFloor((Free*MaxRisk/100)/(StopLoss*LotVal)/Step)*Step;
}else{
Lot=MathFloor((Free*MaxRisk/100)/(1000*LotVal)/Step)*Step;
}
if(Lot<Min_Lot) Lot=Min_Lot;
if(Lot>Max_Lot) Lot=Max_Lot;
return(Lot);
//---
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
string error(int eer)
{
string er;
switch(eer)
{
//----
case 0:
case 1: er="Íåò îøèáêè, íî ðåçóëüòàò íåèçâåñòåí"; break;
case 2: er="Îáùàÿ îøèáêà"; break;
case 3: er="Íåïðàâèëüíûå ïàðàìåòðû"; break;
case 4: er="Òîðãîâûé ñåðâåð çàíÿò"; break;
case 5: er="Ñòàðàÿ âåðñèÿ êëèåíòñêîãî òåðìèíàëà"; break;
case 6: er="Íåò ñâÿçè ñ òîðãîâûì ñåðâåðîì"; break;
case 7: er="Íåäîñòàòî÷íî ïðàâ"; break;
case 8: er="Ñëèøêîì ÷àñòûå çàïðîñû"; break;
case 9: er="Íåäîïóñòèìàÿ îïåðàöèÿ íàðóøàþùàÿ ôóíêöèîíèðîâàíèå ñåðâåðà"; break;
case 64: er="Ñ÷åò çàáëîêèðîâàí"; break;
case 65: er="Íåïðàâèëüíûé íîìåð ñ÷åòà"; break;
case 128: er="Èñòåê ñðîê îæèäàíèÿ ñîâåðøåíèÿ ñäåëêè"; break;
case 129: er="Íåïðàâèëüíàÿ öåíà"; break;
case 130: er="Íåïðàâèëüíûå ñòîïû"; break;
case 131: er="Íåïðàâèëüíûé îáúåì"; break;
case 132: er="Ðûíîê çàêðûò"; break;
case 133: er="Òîðãîâëÿ çàïðåùåíà"; break;
case 134: er="Íåäîñòàòî÷íî äåíåã äëÿ ñîâåðøåíèÿ îïåðàöèè"; break;
case 135: er="Öåíà èçìåíèëàñü"; break;
case 136: er="Íåò öåí"; break;
case 137: er="Áðîêåð çàíÿò"; break;
case 138: er="Íîâûå öåíû - Ðåêâîò"; break;
case 139: er="Îðäåð çàáëîêèðîâàí è óæå îáðàáàòûâàåòñÿ"; break;
case 140: er="Ðàçðåøåíà òîëüêî ïîêóïêà"; break;
case 141: er="Ñëèøêîì ìíîãî çàïðîñîâ"; break;
case 145: er="Ìîäèôèêàöèÿ çàïðåùåíà, òàê êàê îðäåð ñëèøêîì áëèçîê ê ðûíêó"; break;
case 146: er="Ïîäñèñòåìà òîðãîâëè çàíÿòà"; break;
case 147: er="Èñïîëüçîâàíèå äàòû èñòå÷åíèÿ îðäåðà çàïðåùåíî áðîêåðîì"; break;
case 148: er="Êîëè÷åñòâî îòêðûòûõ è îòëîæåííûõ îðäåðîâ äîñòèãëî ïðåäåëà "; break;
//----
case 4000: er="Íåò îøèáêè"; break;
case 4001: er="Íåïðàâèëüíûé óêàçàòåëü ôóíêöèè"; break;
case 4002: er="Èíäåêñ ìàññèâà - âíå äèàïàçîíà"; break;
case 4003: er="Íåò ïàìÿòè äëÿ ñòåêà ôóíêöèé"; break;
case 4004: er="Ïåðåïîëíåíèå ñòåêà ïîñëå ðåêóðñèâíîãî âûçîâà"; break;
case 4005: er="Íà ñòåêå íåò ïàìÿòè äëÿ ïåðåäà÷è ïàðàìåòðîâ"; break;
case 4006: er="Íåò ïàìÿòè äëÿ ñòðîêîâîãî ïàðàìåòðà"; break;
case 4007: er="Íåò ïàìÿòè äëÿ âðåìåííîé ñòðîêè"; break;
case 4008: er="Íåèíèöèàëèçèðîâàííàÿ ñòðîêà"; break;
case 4009: er="Íåèíèöèàëèçèðîâàííàÿ ñòðîêà â ìàññèâå"; break;
case 4010: er="Íåò ïàìÿòè äëÿ ñòðîêîâîãî ìàññèâà"; break;
case 4011: er="Ñëèøêîì äëèííàÿ ñòðîêà"; break;
case 4012: er="Îñòàòîê îò äåëåíèÿ íà íîëü"; break;
case 4013: er="Äåëåíèå íà íîëü"; break;
case 4014: er="Íåèçâåñòíàÿ êîìàíäà"; break;
case 4015: er="Íåïðàâèëüíûé ïåðåõîä"; break;
case 4016: er="Íåèíèöèàëèçèðîâàííûé ìàññèâ"; break;
case 4017: er="Âûçîâû DLL íå ðàçðåøåíû"; break;
case 4018: er="Íåâîçìîæíî çàãðóçèòü áèáëèîòåêó"; break;
case 4019: er="Íåâîçìîæíî âûçâàòü ôóíêöèþ"; break;
case 4020: er="eÂûçîâû âíåøíèõ áèáëèîòå÷íûõ ôóíêöèé íå ðàçðåøåíû"; break;
case 4021: er="Íåäîñòàòî÷íî ïàìÿòè äëÿ ñòðîêè, âîçâðàùàåìîé èç ôóíêöèè"; break;
case 4022: er="Ñèñòåìà çàíÿòà"; break;
case 4050: er="Íåïðàâèëüíîå êîëè÷åñòâî ïàðàìåòðîâ ôóíêöèè"; break;
case 4051: er="Íåäîïóñòèìîå çíà÷åíèå ïàðàìåòðà ôóíêöèè"; break;
case 4052: er="Âíóòðåííÿÿ îøèáêà ñòðîêîâîé ôóíêöèè"; break;
case 4053: er="Îøèáêà ìàññèâà"; break;
case 4054: er="Íåïðàâèëüíîå èñïîëüçîâàíèå ìàññèâà-òàéìñåðèè"; break;
case 4055: er="Îøèáêà ïîëüçîâàòåëüñêîãî èíäèêàòîðà"; break;
case 4056: er="Ìàññèâû íåñîâìåñòèìû"; break;
case 4057: er="Îøèáêà îáðàáîòêè ãëîáàëüíûåõ ïåðåìåííûõ"; break;
case 4058: er="Ãëîáàëüíàÿ ïåðåìåííàÿ íå îáíàðóæåíà"; break;
case 4059: er="Ôóíêöèÿ íå ðàçðåøåíà â òåñòîâîì ðåæèìå"; break;
case 4060: er="Ôóíêöèÿ íå ïîäòâåðæäåíà"; break;
case 4061: er="Îøèáêà îòïðàâêè ïî÷òû"; break;
case 4062: er="Îæèäàåòñÿ ïàðàìåòð òèïà string"; break;
case 4063: er="Îæèäàåòñÿ ïàðàìåòð òèïà integer"; break;
case 4064: er="Îæèäàåòñÿ ïàðàìåòð òèïà double"; break;
case 4065: er=" êà÷åñòâå ïàðàìåòðà îæèäàåòñÿ ìàññèâ"; break;
case 4066: er="Çàïðîøåííûå èñòîðè÷åñêèå äàííûå â ñîñòîÿíèè îáíîâëåíèÿ"; break;
case 4067: er="Îøèáêà ïðè âûïîëíåíèè òîðãîâîé îïåðàöèè"; break;
case 4099: er="Êîíåö ôàéëà"; break;
case 4100: er="Îøèáêà ïðè ðàáîòå ñ ôàéëîì"; break;
case 4101: er="Íåïðàâèëüíîå èìÿ ôàéëà"; break;
case 4102: er="Ñëèøêîì ìíîãî îòêðûòûõ ôàéëîâ"; break;
case 4103: er="Íåâîçìîæíî îòêðûòü ôàéë"; break;
case 4104: er="Íåñîâìåñòèìûé ðåæèì äîñòóïà ê ôàéëó"; break;
case 4105: er="Íè îäèí îðäåð íå âûáðàí"; break;
case 4106: er="Íåèçâåñòíûé ñèìâîë"; break;
case 4107: er="Íåïðàâèëüíûé ïàðàìåòð öåíû äëÿ òîðãîâîé ôóíêöèè"; break;
case 4108: er="Íåâåðíûé íîìåð òèêåòà"; break;
case 4109: er="Òîðãîâëÿ íå ðàçðåøåíà"; break;
case 4110: er="Äëèííûå ïîçèöèè íå ðàçðåøåíû"; break;
case 4111: er="Êîðîòêèå ïîçèöèè íå ðàçðåøåíû"; break;
case 4200: er="Îáúåêò óæå ñóùåñòâóåò"; break;
case 4201: er="Çàïðîøåíî íåèçâåñòíîå ñâîéñòâî îáúåêòà"; break;
case 4202: er="Îáúåêò íå ñóùåñòâóåò"; break;
case 4203: er="Íåèçâåñòíûé òèï îáúåêòà"; break;
case 4204: er="Íåò èìåíè îáúåêòà"; break;
case 4205: er="Îøèáêà êîîðäèíàò îáúåêòà"; break;
case 4206: er="Íå íàéäåíî óêàçàííîå ïîäîêíî"; break;
case 4207: er="Îøèáêà ïðè ðàáîòå ñ îáúåêòîì"; break;
default: er="unknown error";
}
return(er);
}
//+-----------------------------------------------------------------+
//| Ðàçðàáîòêà : Ñåðãåé.Æ - ìîé ñàéò - "http://wsforex.ru/" |
//+-----------------------------------------------------------------+
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
---