traideringer.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «traideringer.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для платформы MetaTrader 4, реализующий сеточную торговую стратегию с несколькими уровнями. Использует индикаторы скользящей средней и стохастика для подтверждения входов в сделки, а также внешнюю DLL-библиотеку для проверки лицензии и получения данных. Поддерживает защиту equity, достижение недельной цели прибыли, фильтрацию новостных событий и настройку торговых дней и времени.
Настройки программы
| Настройка | Описание |
|---|---|
| =========Expert Settings========= (InpEA) | Название советника — Текстовый параметр для идентификации советника; разделитель группы Expert Settings |
| Weekly Goal (%) (WeeklyGoal) | Недельная цель — Целевой процент прибыли за неделю для остановки торговли |
| Equity Protector (%) (EquityProtector) | Защита equity — Процент equity, при достижении которого срабатывает защита и закрытие позиций |
| Stop Running After Equity Protection (StopTradeAfterProtection) | Остановка после защиты — Флаг остановки торговли после срабатывания защиты equity |
| Starting Lot Size (Fixedlot) | Фиксированный лот — Начальный размер лота для открытия позиций |
| Range Between Levels (Range) | Диапазон уровней — Расстояние между уровнями сетки в пунктах |
| Max Number of Levels (Level_Max) | Максимум уровней — Максимальное количество уровней сетки |
| Moving Average Period (maPeriod) | Период MA — Период скользящей средней для анализа |
| Trading on 4 Digit Broker (Broker) | 4-значный брокер — Режим работы с брокером, использующим 4-значные котировки |
| Range Multiplier (RangeMult) | Множитель диапазона — Множитель для увеличения диапазона между уровнями сетки |
| Position Size Multiplier (Marti) | Множитель позиции — Множитель размера позиции при увеличении лота |
| =========News Settings========= (InpNews) | Настройки новостей — Текстовый параметр-разделитель для группы настроек новостей |
| Stop Trading for News (StopNews) | Остановка на новостях — Флаг остановки торговли во время новостных событий |
| When to Stop Before News (BeforeNews) | За сколько минут до новости — Время остановки торговли перед новостным событием |
| When to Start After News (AfterNews) | Через сколько минут после новости — Время возобновления торговли после новостного события |
| ==========Trading Times========== (InpDays) | Настройки торгового времени — Текстовый параметр-разделитель для группы настроек торговых дней |
| Wait 2 Hours After Market Open (Delay) | Задержка после открытия — Ожидание 2 часов после открытия рынка перед началом торговли |
| Trade on Sunday (GMT) (Sunday) | Торговля в воскресенье — Разрешение торговли в воскресенье по GMT |
| Trade on Monday (GMT) (Monday) | Торговля в понедельник — Разрешение торговли в понедельник по GMT |
| Trade on Tuesday (GMT) (Tuesday) | Торговля во вторник — Разрешение торговли во вторник по GMT |
| Trade on Wednesday (GMT) (Wednesday) | Торговля в среду — Разрешение торговли в среду по GMT |
| Trade on Thursday (GMT) (Thursday) | Торговля в четверг — Разрешение торговли в четверг по GMT |
| Trade on Friday (GMT) (Friday) | Торговля в пятницу — Разрешение торговли в пятницу по GMT |
| Trade on Saturday (GMT) (Saturday) | Торговля в субботу — Разрешение торговли в субботу по GMT |
Поиск по коду файла
#property version "5.02"
#property strict
enum ANSWER
{
ANSWER_NO = 0, // No
ANSWER_YES = 1 // Yes
};
enum TIMES
{
TIMES_15 = 15, // 15 Minutes
TIMES_30 = 30, // 30 Minutes
TIMES_45 = 45, // 45 Minutes
TIMES_60 = 60 // 60 Minutes
};
#import "traideringerdll.dll"
int getEntryConfirmation(double,double,double,double,int);
double getTakeProfit(int,int,double,double);
bool checkEquity(double,double,double);
bool checkEntry1(bool,bool,int,int);
bool checkEntry2(bool,bool,int,int);
bool checkEntry3(bool,bool,int,int);
bool checkEntry4(bool,bool,int,int);
int getStatusCode();
int getLicenseStatus();
int getNextEventIdentifier(string);
int getNextEventMinutes(string);
void setEquityProtection(int);
int getEquityProtection();
void setWeeklyGoalHit(int);
int getWeeklyGoalHit();
void updateNews();
void eaconomySignln();
void eaconomySignOut();
void setInformation(double,double,double,int,int,string,string);
void updateInformation(double,double);
#import
extern string InpEA=""; // =========Expert Settings=========
extern int WeeklyGoal = 5; // Weekly Goal (%)
extern double EquityProtector = 100; // Equity Protector (%)
extern ANSWER StopTradeAfterProtection = ANSWER_YES; // Stop Running After Equity Protection
extern double Fixedlot = 0.01; // Starting Lot Size
extern double Range = 21.0; // Range Between Levels
extern int Level_Max = 12; // Max Number of Levels
extern int maPeriod = 20; // Moving Average Period
extern ANSWER Broker = ANSWER_NO; // Trading on 4 Digit Broker
extern double RangeMult = 1.0; // Range Multiplier
extern double Marti = 1.5; // Position Size Multiplier
extern string InpNews=""; // =========News Settings=========
extern ANSWER StopNews = ANSWER_NO; // Stop Trading for News
extern TIMES BeforeNews = TIMES_15; // When to Stop Before News
extern TIMES AfterNews = TIMES_15; // When to Start After News
extern string InpDays=""; // ==========Trading Times==========
extern ANSWER Delay = ANSWER_YES; // Wait 2 Hours After Market Open
extern ANSWER Sunday = ANSWER_YES; // Trade on Sunday (GMT)
extern ANSWER Monday = ANSWER_YES; // Trade on Monday (GMT)
extern ANSWER Tuesday = ANSWER_YES; // Trade on Tuesday (GMT)
extern ANSWER Wednesday = ANSWER_YES; // Trade on Wednesday (GMT)
extern ANSWER Thursday = ANSWER_NO; // Trade on Thursday (GMT)
extern ANSWER Friday = ANSWER_NO; // Trade on Friday (GMT)
extern ANSWER Saturday = ANSWER_NO; // Trade on Saturday (GMT)
double Id_8 = 253;
double Id_10 = 30;
int Ii_18 = 10;
int Ii_1C = 7;
int Ii_20 = 10;
int Ii_24 = 3;
int Ii_28 = 3;
color Ii_2C = 16045122;
color Ii_30 = 255;
int Ii_B4 = 7786;
int Ii_B8 = 7876;
int Ii_BC = 8776;
int Ii_C0 = 17776;
int WeeklyGoalHitFlag;
int EquityProtectionFlag;
bool Gb_3;
int Gi_4;
int Gi_6;
int Gi_7;
int Gi_8;
int Ii_CC;
bool Gb_8;
bool Rb_0;
int Gi_9;
double Gd_A;
double Gd_B;
long Il_38;
int Gi_C;
int Gi_D;
int Gi_E;
int Gi_10;
int Gi_11;
int Gi_14;
int Gi_15;
int Gi_1;
int Gi_2;
int Gi_3;
int Ii_D0;
double Gd_0;
bool Ib_C7;
int Gi_0;
int Gi_5;
int Gi_B;
bool Ib_C6;
bool Ib_C8;
double Gd_1;
bool Gb_0;
int Gi_A;
int Gi_F;
int Gi_12;
int Gi_13;
double Gd_15;
double Gd_16;
int Gi_17;
double Gd_17;
int Gi_19;
bool Gb_19;
int Gi_1A;
int Gi_1B;
int Gi_1C;
int Gi_1D;
int Gi_1E;
int Gi_1F;
int Gi_20;
int Gi_21;
int Gi_22;
int Gi_23;
double Gd_23;
int Gi_25;
double Gd_25;
double Gd_26;
int Gi_27;
int Gi_28;
int Gi_29;
int Gi_2A;
int Gi_2B;
int Gi_2C;
int Gi_2D;
int Gi_2E;
int Gi_2F;
double Gd_2F;
bool Gb_33;
bool Gb_34;
double Gd_3;
double Gd_8;
double Gd_19;
double Gd_1B;
int Gi_24;
double Gd_2;
bool Gb_2;
bool Gb_4;
double Gd_4;
double Gd_5;
bool Gb_6;
double Gd_6;
double Gd_7;
double Gd_9;
bool Gb_A;
double Gd_D;
double Gd_E;
bool Gb_10;
double Gd_10;
double Gd_11;
double Gd_14;
bool Gb_16;
int Gi_18;
double Gd_1A;
bool Gb_1C;
double Gd_1C;
double Gd_1D;
double Gd_20;
bool Gb_22;
bool Gb_28;
double Gd_28;
double Gd_29;
double Gd_2C;
bool Gb_2E;
class InformationPanel
{
public:
color m_00000010;
color m_00000014;
color m_00000018;
int m_0000001C;
int m_00000020;
int m_00000024;
int m_00000028;
int m_0000002C;
int m_00000030;
int m_00000034;
int m_00000038;
void method_00000401(string arg_0, int arg_1)
{
string str_0;
string str_1;
string str_2;
string str_3;
string str_4;
int Li_8;
ChartSetInteger(ChartID(), 1, 0, 0);
str_0 = "Information Panel";
ObjectCreate(ChartID(), str_0, 28, 0, 0, 0);
ObjectSetInteger(ChartID(), str_0, 102, this.m_0000001C);
ObjectSetInteger(ChartID(), str_0, 103, this.m_00000020);
ObjectSetInteger(ChartID(), str_0, 9, 0);
ObjectSetInteger(ChartID(), str_0, 1019, this.m_00000024);
ObjectSetInteger(ChartID(), str_0, 1020, this.m_00000028);
ObjectSetInteger(ChartID(), str_0, 1029, 0);
ObjectSet(str_0, 6, this.m_00000014);
ObjectSet(str_0, 1025, this.m_00000018);
str_1 = arg_0;
method_000003FB(str_1);
Gi_4 = this.m_0000002C - this.m_00000020;
ObjectSetInteger(ChartID(), "Information Panel", 1020, Gi_4);
Li_8 = 0;
if (arg_1 > 0)
{
do
{
this.m_00000030 = this.m_00000030 + 1;
str_2 = "Arial Bold";
str_3 = "";
Gi_5 = this.m_0000001C + 10;
str_4 = (string)this.m_00000030;
str_4 = "S" + str_4;
str_4 = str_4;
ObjectCreate(ChartID(), str_4, 23, 0, 0, 0);
ObjectSetInteger(ChartID(), str_4, 102, Gi_5);
ObjectSetInteger(ChartID(), str_4, 103, this.m_0000002C);
ObjectSetInteger(ChartID(), str_4, 1011, 0);
ObjectSetInteger(ChartID(), str_4, 100, 10);
ObjectSetString(ChartID(), str_4, 999, str_3);
ObjectSetString(ChartID(), str_4, 1001, str_2);
ObjectSet(str_4, 6, this.m_00000010);
this.m_0000002C = this.m_0000002C + 30;
Gi_8 = this.m_0000002C - this.m_00000020;
ObjectSetInteger(ChartID(), "Information Panel", 1020, Gi_8);
Li_8 = Li_8 + 1;
} while (Li_8 < arg_1);
}
}
void method_00000403()
{
string str_0;
string str_1;
color Ld_0;
double Ld_E8;
int Li_E4;
int Li_E0;
int Li_DC;
int Li_D8;
int Li_D4;
this.m_00000034 = (int)ChartGetInteger(ChartID(), 106, 0);
this.m_00000038 = (int)ChartGetInteger(ChartID(), 107, 0);
Ld_0 = 250;
Ld_E8 = (this.m_00000034 / 1000);
Gd_0 = (this.m_00000034 / 1000);
Gd_0 = (1 - Gd_0);
Gd_0 = (this.m_00000034 * Gd_0);
this.m_00000024 = (int)NormalizeDouble(Gd_0, 0);
Gd_0 = (this.m_00000038 / 2000);
Gd_0 = (1 - Gd_0);
Gd_0 = (this.m_00000038 * Gd_0);
this.m_00000028 = (int)NormalizeDouble(Gd_0, 0);
if (this.m_00000024 > 250 || Ld_E8 > 0.5)
{
this.m_00000024 = Ld_0;
}
ObjectSet("Information Panel", 1019, this.m_00000024);
ObjectSet("Information Panel", 1020, this.m_00000028);
Gi_0 = this.m_00000024 - 20;
ObjectSet("Divider1", 1019, Gi_0);
ObjectSet("Divider2", 1019, Gi_0);
Gi_0 = this.m_00000024 / 2;
Gi_0 = this.m_0000001C + Gi_0;
ObjectSet("Title", 102, Gi_0);
Li_E4 = this.m_00000020 + 60;
Gi_0 = this.m_00000028 - 60;
Gi_1 = this.m_00000030 + 1;
Li_E0 = Gi_0 / Gi_1;
Li_DC = 0;
if (this.m_00000030 >= 0)
{
do
{
Gd_1 = Li_E4;
str_0 = (string)Li_DC;
str_0 = "S" + str_0;
ObjectSet(str_0, 103, Gd_1);
Li_E4 = Li_E4 + Li_E0;
Li_DC = Li_DC + 1;
} while (Li_DC <= this.m_00000030);
}
Li_D8 = 0;
if (this.m_00000024 > 250)
{
Li_D8 = 10;
}
else
{
if (this.m_00000024 > 200)
{
Li_D8 = 9;
}
else
{
if (this.m_00000024 > 170)
{
Li_D8 = 8;
}
else
{
if (this.m_00000024 > 130)
{
Li_D8 = 7;
}
else
{
Li_D8 = 6;
}
}
}
}
Li_D4 = 0;
if (this.m_00000030 >= 0)
{
do
{
Gd_1 = Li_D8;
str_1 = (string)Li_D4;
str_1 = "S" + str_1;
ObjectSet(str_1, 100, Gd_1);
Li_D4 = Li_D4 + 1;
} while (Li_D4 <= this.m_00000030);
}
}
private:
void method_000003FB(string arg_0)
{
string str_0;
string str_1;
string str_2;
string str_3;
string str_4;
Gi_0 = this.m_00000024 - 20;
Gi_1 = this.m_00000020 + 10;
Gi_2 = this.m_0000001C + 10;
str_0 = "Divider1";
ObjectCreate(ChartID(), str_0, 28, 0, 0, 0);
ObjectSetInteger(ChartID(), str_0, 102, Gi_2);
ObjectSetInteger(ChartID(), str_0, 103, Gi_1);
ObjectSetInteger(ChartID(), str_0, 9, 0);
ObjectSetInteger(ChartID(), str_0, 1019, Gi_0);
ObjectSetInteger(ChartID(), str_0, 1020, 3);
ObjectSetInteger(ChartID(), str_0, 1029, 0);
ObjectSet(str_0, 6, this.m_00000014);
ObjectSet(str_0, 1025, this.m_00000014);
Gi_6 = this.m_00000020 + 45;
str_1 = "Divider2";
ObjectCreate(ChartID(), str_1, 28, 0, 0, 0);
ObjectSetInteger(ChartID(), str_1, 102, Gi_2);
ObjectSetInteger(ChartID(), str_1, 103, Gi_6);
ObjectSetInteger(ChartID(), str_1, 9, 0);
ObjectSetInteger(ChartID(), str_1, 1019, Gi_0);
ObjectSetInteger(ChartID(), str_1, 1020, 3);
ObjectSetInteger(ChartID(), str_1, 1029, 0);
ObjectSet(str_1, 6, this.m_00000014);
ObjectSet(str_1, 1025, this.m_00000014);
str_2 = "Arial Bold";
str_3 = arg_0;
Gi_A = this.m_00000020 + 30;
Gi_B = this.m_00000024 / 2;
Gi_B = this.m_0000001C + Gi_B;
str_4 = "Title";
ObjectCreate(ChartID(), str_4, 23, 0, 0, 0);
ObjectSetInteger(ChartID(), str_4, 102, Gi_B);
ObjectSetInteger(ChartID(), str_4, 103, Gi_A);
ObjectSetInteger(ChartID(), str_4, 1011, 8);
ObjectSetInteger(ChartID(), str_4, 100, 10);
ObjectSetString(ChartID(), str_4, 999, str_3);
ObjectSetString(ChartID(), str_4, 1001, str_2);
ObjectSet(str_4, 6, this.m_00000014);
this.m_0000002C = this.m_00000020 + 70;
}
};
class CFile
{
public:
int m_handle;
string m_name;
int m_flags;
virtual ~CFile()
{
if (this.m_handle != -1)
{
Close();
}
}
int CFile::Open(const string file_name, int open_flags, const short delimiter)
{
if(m_handle!=INVALID_HANDLE)
Close();
if((open_flags &(FILE_BIN|FILE_CSV))==0)
open_flags|=FILE_TXT;
m_handle=FileOpen(file_name,open_flags|m_flags,delimiter);
if(m_handle!=INVALID_HANDLE)
{
m_flags|=open_flags;
m_name=file_name;
}
return(m_handle);
}
void Close()
{
if (this.m_handle != -1)
{
FileClose(this.m_handle);
this.m_handle = -1;
this.m_name = "";
m_flags&=FILE_ANSI|FILE_UNICODE;
}
}
protected:
};
class FileLogger : public CFile
{
public:
bool m_00000034;
int m_00000035;
void LogMessage(string arg_0)
{
string str_0;
string str_1;
string str_2;
string str_3;
str_0 = arg_0;
Gi_0 = 2;
str_2 = EnumToString(TIMES_45);
str_1 = StringFormat("[%s]", str_2);
if (this.m_00000034)
{
if (this.m_00000035 <= 2)
{
PrintFormat("%s %s", str_1, str_0);
}
}
if (this.m_handle != -1)
{
if (this.m_00000035 <= Gi_0)
{
str_3 = TimeToString(TimeCurrent(), 7);
FileWrite(this.m_handle, str_3, str_1, str_0);
FileFlush(this.m_handle);
}
}
}
};
class GridSettings
{
public:
int m_00000000;
int m_00000004;
int m_00000008;
int m_0000000C;
int m_00000010;
int m_00000014;
int m_00000018;
int m_0000001C;
int m_00000020;
int m_00000024;
int m_00000028;
int m_0000002C;
double m_00000030;
double m_00000038;
double m_00000040;
double m_00000048;
double m_00000050;
double m_00000058;
string m_00000060;
};
class GridProperties : public GridSettings
{
public:
double m_0000006C;
double m_00000074;
double m_0000007C;
int m_00000084;
};
class RingGrid
{
public:
RingGrid(GridProperties& arg_0)
{
double Ld_0;
Ld_0 = 0;
this.m_00000010.m_00000000 = arg_0.m_00000000;
this.m_00000010.m_00000004 = arg_0.m_00000004;
this.m_00000010.m_00000008 = arg_0.m_00000008;
this.m_00000010.m_0000000C = arg_0.m_0000000C;
this.m_00000010.m_00000010 = arg_0.m_00000010;
this.m_00000010.m_00000030 = arg_0.m_00000030;
this.m_00000010.m_00000014 = arg_0.m_00000014;
this.m_00000010.m_00000018 = arg_0.m_00000018;
this.m_00000010.m_0000001C = arg_0.m_0000001C;
this.m_00000010.m_00000020 = arg_0.m_00000020;
this.m_00000010.m_00000024 = arg_0.m_00000024;
this.m_00000010.m_00000038 = arg_0.m_00000038;
this.m_00000010.m_00000040 = arg_0.m_00000040;
this.m_00000010.m_00000048 = arg_0.m_00000048;
this.m_00000010.m_00000028 = arg_0.m_00000028;
this.m_00000010.m_00000050 = arg_0.m_00000050;
this.m_00000010.m_00000060 = arg_0.m_00000060;
this.m_00000010.m_00000058 = arg_0.m_00000058;
this.m_00000010.m_0000002C = arg_0.m_0000002C;
this.m_00000010.m_0000006C = AccountBalance();
this.m_00000010.m_00000084 = 0;
Gd_0 = MarketInfo(this.m_00000010.m_00000060, 25);
Gd_1 = MarketInfo(this.m_00000010.m_00000060, 23);
Gd_2 = MarketInfo(this.m_00000010.m_00000060, 24);
Gd_3 = (this.m_00000010.m_00000048 / Gd_2);
Gd_3 = (Gd_2 * NormalizeDouble(Gd_3, 0));
Gd_4 = Gd_1;
Gd_5 = Gd_0;
if (Gd_0 >= Gd_3)
{
Gd_3 = Gd_3;
}
else
{
Gd_3 = Gd_5;
}
if (Gd_3 <= Gd_4)
{
Gd_5 = Gd_4;
}
else
{
Gd_5 = Gd_3;
}
this.m_00000010.m_00000074 = Gd_5;
this.m_00000010.m_0000007C = MarketInfo(this.m_00000010.m_00000060, 17);
if (this.m_00000010.m_00000000 == 5)
{
this.m_00000010.m_0000007C = (this.m_00000010.m_0000007C * 10);
Ld_0 = (MarketInfo(this.m_00000010.m_00000060, 14) / 10);
}
else
{
if (this.m_00000010.m_00000000 == 4)
{
Ld_0 = MarketInfo(this.m_00000010.m_00000060, 14);
}
}
if (this.m_00000010.m_00000050 > 0)
{
if (this.m_00000010.m_00000050 < Ld_0)
{
Print("stoploss is too tight.");
this.m_00000010.m_00000050 = Ld_0;
}
}
if (this.m_00000010.m_00000058 > 0)
{
if (this.m_00000010.m_00000058 < Ld_0)
{
Print("takeprofit is too tight.");
this.m_00000010.m_00000058 = Ld_0;
}
}
if (this.m_00000010.m_0000002C < Ld_0)
{
Print("trailing is too tight.");
this.m_00000010.m_0000002C = (int)Ld_0;
}
}
void method_00000489()
{
string str_0;
string str_1;
string str_2;
string str_3;
string str_4;
string str_5;
string str_6;
string str_7;
string str_8;
string str_9;
string str_A;
string str_B;
string str_C;
string str_D;
string str_E;
string str_F;
str_0 = "BUY TREND-Lvl-";
method_00000484(this.m_00000010.m_00000008, str_0);
str_1 = "SELL TREND-Lvl-";
method_00000484(this.m_00000010.m_00000010, str_1);
str_2 = "BUY COUNTER-Lvl-";
method_00000484(this.m_00000010.m_00000004, str_2);
str_3 = "SELL COUNTER-Lvl-";
method_00000484(this.m_00000010.m_0000000C, str_3);
Gi_0 = this.m_00000010.m_00000008;
Gd_1 = 0;
Gd_2 = 0;
str_4 = this.m_00000010.m_00000060;
Gi_3 = method_00000452(str_4, this.m_00000010.m_00000008);
if (Gi_3 != 0)
{
Gb_4 = (this.m_00000010.m_00000058 == 0);
if (Gb_4 != true)
{
str_5 = this.m_00000010.m_00000060;
Gd_4 = method_0000044F(str_5, Gi_0, 0);
str_6 = this.m_00000010.m_00000060;
Gd_5 = method_0000044F(str_6, Gi_0, 1);
if (Gd_5 <= Gd_4)
{
Gd_4 = Gd_4;
}
else
{
Gd_4 = Gd_5;
}
Gd_1 = Gd_4;
Gi_4 = OrdersTotal() - 1;
Gi_6 = Gi_4;
if (Gi_4 >= 0)
{
do
{
Rb_0 = OrderSelect(Gi_6, 0, 0);
if (Rb_0)
{
if (OrderSymbol() == this.m_00000010.m_00000060)
{
if (OrderMagicNumber() == Gi_0)
{
if (Gi_3 < 3)
{
Gd_2 = getTakeProfit(OrderType(), (int)this.m_00000010.m_00000058, OrderOpenPrice(), this.m_00000010.m_0000007C);
}
else
{
Gd_2 = getTakeProfit(OrderType(), 7, Gd_1, this.m_00000010.m_0000007C);
}
Gd_8 = MarketInfo(this.m_00000010.m_00000060, 11);
Gd_9 = (Gd_2 / Gd_8);
Gd_9 = NormalizeDouble(Gd_9, 0);
Gd_A = (OrderTakeProfit() / Gd_8);
Gb_A = (Gd_9 == NormalizeDouble(Gd_A, 0));
if (Gb_A != true)
{
if (OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Gd_2, 0, 4294967295)){}
}
}
}
}
Gi_6 = Gi_6 - 1;
} while (Gi_6 >= 0);
}
}
}
Gi_C = this.m_00000010.m_00000010;
Gd_D = 0;
Gd_E = 0;
str_7 = this.m_00000010.m_00000060;
Gi_F = method_00000452(str_7, this.m_00000010.m_00000010);
if (Gi_F != 0)
{
Gb_10 = (this.m_00000010.m_00000058 == 0);
if (Gb_10 != true)
{
str_8 = this.m_00000010.m_00000060;
Gd_10 = method_0000044F(str_8, Gi_C, 0);
str_9 = this.m_00000010.m_00000060;
Gd_11 = method_0000044F(str_9, Gi_C, 1);
if (Gd_11 <= Gd_10)
{
Gd_10 = Gd_10;
}
else
{
Gd_10 = Gd_11;
}
Gd_D = Gd_10;
Gi_10 = OrdersTotal() - 1;
Gi_12 = Gi_10;
if (Gi_10 >= 0)
{
do
{
Rb_0 = OrderSelect(Gi_12, 0, 0);
if (Rb_0)
{
if (OrderSymbol() == this.m_00000010.m_00000060)
{
if (OrderMagicNumber() == Gi_C)
{
if (Gi_F < 3)
{
Gd_E = getTakeProfit(OrderType(), (int)this.m_00000010.m_00000058, OrderOpenPrice(), this.m_00000010.m_0000007C);
}
else
{
Gd_E = getTakeProfit(OrderType(), 7, Gd_D, this.m_00000010.m_0000007C);
}
Gd_14 = MarketInfo(this.m_00000010.m_00000060, 11);
Gd_15 = (Gd_E / Gd_14);
Gd_15 = NormalizeDouble(Gd_15, 0);
Gd_16 = (OrderTakeProfit() / Gd_14);
Gb_16 = (Gd_15 == NormalizeDouble(Gd_16, 0));
if (Gb_16 != true)
{
if (OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Gd_E, 0, 4294967295)){}
}
}
}
}
Gi_12 = Gi_12 - 1;
} while (Gi_12 >= 0);
}
}
}
Gi_18 = this.m_00000010.m_00000004;
Gd_19 = 0;
Gd_1A = 0;
str_A = this.m_00000010.m_00000060;
Gi_1B = method_00000452(str_A, this.m_00000010.m_00000004);
if (Gi_1B != 0)
{
Gb_1C = (this.m_00000010.m_00000058 == 0);
if (Gb_1C != true)
{
str_B = this.m_00000010.m_00000060;
Gd_1C = method_0000044F(str_B, Gi_18, 0);
str_C = this.m_00000010.m_00000060;
Gd_1D = method_0000044F(str_C, Gi_18, 1);
if (Gd_1D <= Gd_1C)
{
Gd_1C = Gd_1C;
}
else
{
Gd_1C = Gd_1D;
}
Gd_19 = Gd_1C;
Gi_1C = OrdersTotal() - 1;
Gi_1E = Gi_1C;
if (Gi_1C >= 0)
{
do
{
Rb_0 = OrderSelect(Gi_1E, 0, 0);
if (Rb_0)
{
if (OrderSymbol() == this.m_00000010.m_00000060)
{
if (OrderMagicNumber() == Gi_18)
{
if (Gi_1B < 3)
{
Gd_1A = getTakeProfit(OrderType(), (int)this.m_00000010.m_00000058, OrderOpenPrice(), this.m_00000010.m_0000007C);
}
else
{
Gd_1A = getTakeProfit(OrderType(), 7, Gd_19, this.m_00000010.m_0000007C);
}
Gd_20 = MarketInfo(this.m_00000010.m_00000060, 11);
Gb_22 = (NormalizeDouble(Gd_1A / Gd_20, 0) == NormalizeDouble(OrderTakeProfit() / Gd_20, 0));
if (Gb_22 != true)
{
if (OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Gd_1A, 0, 4294967295)){}
}
}
}
}
Gi_1E = Gi_1E - 1;
} while (Gi_1E >= 0);
}
}
}
Gi_24 = this.m_00000010.m_0000000C;
Gd_25 = 0;
Gd_26 = 0;
str_D = this.m_00000010.m_00000060;
Gi_27 = method_00000452(str_D, this.m_00000010.m_0000000C);
if (Gi_27 != 0)
{
Gb_28 = (this.m_00000010.m_00000058 == 0);
if (Gb_28 != true)
{
str_E = this.m_00000010.m_00000060;
Gd_28 = method_0000044F(str_E, Gi_24, 0);
str_F = this.m_00000010.m_00000060;
Gd_29 = method_0000044F(str_F, Gi_24, 1);
if (Gd_29 <= Gd_28)
{
Gd_28 = Gd_28;
}
else
{
Gd_28 = Gd_29;
}
Gd_25 = Gd_28;
Gi_28 = OrdersTotal() - 1;
Gi_2A = Gi_28;
if (Gi_28 >= 0)
{
do
{
Rb_0 = OrderSelect(Gi_2A, 0, 0);
if (Rb_0)
{
if (OrderSymbol() == this.m_00000010.m_00000060)
{
if (OrderMagicNumber() == Gi_24)
{
if (Gi_27 < 3)
{
Gd_26 = getTakeProfit(OrderType(), (int)this.m_00000010.m_00000058, OrderOpenPrice(), this.m_00000010.m_0000007C);
}
else
{
Gd_26 = getTakeProfit(OrderType(), 7, Gd_25, this.m_00000010.m_0000007C);
}
Gd_2C = MarketInfo(this.m_00000010.m_00000060, 11);
Gb_2E = (NormalizeDouble(Gd_26 / Gd_2C, 0) == NormalizeDouble(OrderTakeProfit() / Gd_2C, 0));
if (Gb_2E != true)
{
if (OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), Gd_26, 0, 4294967295)){}
}
}
}
}
Gi_2A = Gi_2A - 1;
} while (Gi_2A >= 0);
}
}
}
method_00000482(this.m_00000010.m_00000008);
method_00000482(this.m_00000010.m_00000010);
method_00000482(this.m_00000010.m_00000004);
method_00000482(this.m_00000010.m_0000000C);
method_00000481();
}
protected:
GridProperties m_00000010;
virtual double method_00000480(double arg_0)
{
double Ld_E8;
double Ld_E0;
double Ld_D8;
double Ld_D0;
double Ld_0;
Ld_E8 = MarketInfo(this.m_00000010.m_00000060, 25);
Ld_E0 = MarketInfo(this.m_00000010.m_00000060, 23);
Ld_D8 = MarketInfo(this.m_00000010.m_00000060, 24);
Gd_0 = (arg_0 / Ld_D8);
Ld_D0 = (Ld_D8 * NormalizeDouble(Gd_0, 0));
Gd_0 = Ld_E0;
Gd_1 = Ld_E8;
if (Ld_E8 >= Ld_D0)
{
Gd_2 = Ld_D0;
}
else
{
Gd_2 = Gd_1;
}
if (Gd_2 <= Gd_0)
{
Gd_1 = Gd_0;
}
else
{
Gd_1 = Gd_2;
}
Ld_0 = Gd_1;
return Gd_1;
}
virtual void method_00000481()
{
string str_0;
string str_1;
string str_2;
string str_3;
string str_4;
string str_5;
string str_6;
string str_7;
string str_8;
string str_9;
string str_A;
string str_B;
string str_C;
string Ls_0;
string Ls_E0;
string Ls_D0;
string Ls_C0;
double Ld_B8;
double Ld_B0;
double Ld_A8;
double Ld_A0;
int Li_9C;
double Ld_90;
double Ld_88;
double Ld_80;
double Ld_78;
double Ld_70;
double Ld_68;
Ls_0 = "BUY TREND-Lvl-";
Ls_E0 = "SELL TREND-Lvl-";
Ls_D0 = "BUY COUNTER-Lvl-";
Ls_C0 = "SELL COUNTER-Lvl-";
Ld_B8 = iMA(this.m_00000010.m_00000060, 0, this.m_00000010.m_00000020, 0, 3, 0, 0);
Ld_B0 = iStochastic(this.m_00000010.m_00000060, 0, this.m_00000010.m_0000001C, this.m_00000010.m_00000018, this.m_00000010.m_00000024, 0, 0, 0, 0);
Ld_A8 = iStochastic(this.m_00000010.m_00000060, 0, this.m_00000010.m_0000001C, this.m_00000010.m_00000018, this.m_00000010.m_00000024, 0, 0, 0, 0);
Ld_A0 = iClose(this.m_00000010.m_00000060, _Period, 1);
Li_9C = getEntryConfirmation(Ld_A0, Ld_B8, Ld_B0, Ld_A8, 1);
Ld_90 = AccountFreeMarginCheck(this.m_00000010.m_00000060, 0, this.m_00000010.m_00000074);
Ld_88 = AccountFreeMarginCheck(this.m_00000010.m_00000060, 1, this.m_00000010.m_00000074);
if (Ld_90 > 0)
{
str_0 = this.m_00000010.m_00000060;
Rb_0 = checkEntry1(false, true, method_00000452(str_0, this.m_00000010.m_00000008), Li_9C);
if (Rb_0)
{
Ld_80 = MarketInfo(this.m_00000010.m_00000060, 10);
str_1 = "BUY TREND-Lvl-0";
Gd_0 = (this.m_00000010.m_00000050 * this.m_00000010.m_0000007C);
Gd_1 = (Ld_80 - Gd_0);
this.m_00000010.m_00000084 = OrderSend(this.m_00000010.m_00000060, 0, this.m_00000010.m_00000074, Ld_80, 3, Gd_1, 0, str_1, this.m_00000010.m_00000008, 0, 16777215);
str_2 = (string)this.m_00000010.m_00000084;
str_2 = "Opening #" + str_2;
str_2 = str_2 + " ";
str_2 = str_2 + "BUY TREND-Lvl-";
str_2 = str_2 + "0";
str_2 = str_2 + " ";
str_2 = str_2 + DoubleToString(this.m_00000010.m_00000074, 2);
str_2 = str_2 + " at ";
str_3 = (string)Ld_80;
str_2 = str_2 + str_3;
str_2 = str_2 + " sl: ";
str_3 = (string)(Ld_80 - Gd_0);
str_2 = str_2 + str_3;
logger.LogMessage(str_2);
}
}
else
{
Print("Not enough money for buy");
}
if (Ld_88 > 0)
{
str_3 = this.m_00000010.m_00000060;
Rb_0 = checkEntry2(false, true, method_00000452(str_3, this.m_00000010.m_00000010), Li_9C);
if (Rb_0)
{
Ld_78 = MarketInfo(this.m_00000010.m_00000060, 9);
str_4 = Ls_E0 + "0";
Gd_2 = (this.m_00000010.m_00000050 * this.m_00000010.m_0000007C);
Gd_3 = (Gd_2 + Ld_78);
this.m_00000010.m_00000084 = OrderSend(this.m_00000010.m_00000060, 1, this.m_00000010.m_00000074, Ld_78, 3, Gd_3, 0, str_4, this.m_00000010.m_00000010, 0, 16776960);
str_5 = (string)this.m_00000010.m_00000084;
str_5 = "Opening #" + str_5;
str_5 = str_5 + " ";
str_5 = str_5 + Ls_E0;
str_5 = str_5 + "0";
str_5 = str_5 + " ";
str_5 = str_5 + DoubleToString(this.m_00000010.m_00000074, 2);
str_5 = str_5 + " at ";
str_6 = (string)Ld_78;
str_5 = str_5 + str_6;
str_5 = str_5 + " sl: ";
str_6 = (string)(Ld_78 + Gd_2);
str_5 = str_5 + str_6;
logger.LogMessage(str_5);
}
}
else
{
Print("Not enough money for sell");
}
Li_9C = getEntryConfirmation(Ld_A0, Ld_B8, Ld_B0, Ld_A8, -1);
if (Ld_90 > 0)
{
str_6 = this.m_00000010.m_00000060;
Rb_0 = checkEntry3(false, true, method_00000452(str_6, this.m_00000010.m_00000004), Li_9C);
if (Rb_0)
{
Ld_70 = MarketInfo(this.m_00000010.m_00000060, 10);
str_7 = Ls_D0 + "0";
Gd_4 = (this.m_00000010.m_00000050 * this.m_00000010.m_0000007C);
Gd_5 = (Ld_70 - Gd_4);
this.m_00000010.m_00000084 = OrderSend(this.m_00000010.m_00000060, 0, this.m_00000010.m_00000074, Ld_70, 3, Gd_5, 0, str_7, this.m_00000010.m_00000004, 0, 16711680);
str_8 = (string)this.m_00000010.m_00000084;
str_8 = "Opening #" + str_8;
str_8 = str_8 + " ";
str_8 = str_8 + Ls_D0;
str_8 = str_8 + "0";
str_8 = str_8 + " ";
str_8 = str_8 + DoubleToString(this.m_00000010.m_00000074, 2);
str_8 = str_8 + " at ";
str_9 = (string)Ld_70;
str_8 = str_8 + str_9;
str_8 = str_8 + " sl: ";
str_9 = (string)(Ld_70 - Gd_4);
str_8 = str_8 + str_9;
logger.LogMessage(str_8);
}
}
if (Ld_88 > 0)
{
str_9 = this.m_00000010.m_00000060;
Rb_0 = checkEntry4(false, true, method_00000452(str_9, this.m_00000010.m_0000000C), Li_9C);
if (Rb_0)
{
Ld_68 = MarketInfo(this.m_00000010.m_00000060, 9);
str_A = Ls_C0 + "0";
Gd_6 = (this.m_00000010.m_00000050 * this.m_00000010.m_0000007C);
Gd_7 = (Gd_6 + Ld_68);
this.m_00000010.m_00000084 = OrderSend(this.m_00000010.m_00000060, 1, this.m_00000010.m_00000074, Ld_68, 3, Gd_7, 0, str_A, this.m_00000010.m_0000000C, 0, 255);
str_B = (string)this.m_00000010.m_00000084;
str_B = "Opening #" + str_B;
str_B = str_B + " ";
str_B = str_B + Ls_C0;
str_B = str_B + "0";
str_B = str_B + " ";
str_B = str_B + DoubleToString(this.m_00000010.m_00000074, 2);
str_B = str_B + " at ";
str_C = (string)Ld_68;
str_B = str_B + str_C;
str_B = str_B + " sl: ";
str_C = (string)(Ld_68 + Gd_6);
str_B = str_B + str_C;
logger.LogMessage(str_B);
}
}
}
virtual void method_00000482(int arg_0)
{
int Li_8;
double Ld_0;
double Ld_E8;
double Ld_E0;
int Li_DC;
int Li_D8;
bool Lb_D7;
bool Lb_D6;
Li_8 = 0;
Ld_0 = 0;
Ld_E8 = method_0000044F(this.m_00000010.m_00000060, arg_0, 0);
Ld_E0 = method_0000044F(this.m_00000010.m_00000060, arg_0, 1);
Li_DC = OrdersTotal() - 1;
if (Li_DC >= 0)
{
do
{
Rb_0 = OrderSelect(Li_DC, 0, 0);
if (Rb_0)
{
if (OrderSymbol() == this.m_00000010.m_00000060)
{
if (OrderMagicNumber() == arg_0)
{
Li_D8 = (int)MarketInfo(this.m_00000010.m_00000060, 12);
if (OrderType() == OP_BUY)
{
Gd_0 = (MarketInfo(this.m_00000010.m_00000060, 9) - Ld_E8);
Gd_0 = (Gd_0 / this.m_00000010.m_0000007C);
Li_8 = (int)NormalizeDouble(Gd_0, 0);
if (Li_8 < this.m_00000010.m_00000028) break;
Gd_0 = (this.m_00000010.m_0000002C * this.m_00000010.m_0000007C);
Gd_0 = (MarketInfo(this.m_00000010.m_00000060, 9) - Gd_0);
Ld_0 = NormalizeDouble(Gd_0, Li_D8);
if (OrderStopLoss() == 0 || Ld_0 > OrderStopLoss())
{
Lb_D7 = OrderModify(OrderTicket(), OrderOpenPrice(), Ld_0, OrderTakeProfit(), 0, 16776960);
}
}
if (OrderType() == OP_SELL)
{
Gd_2 = (Ld_E0 - MarketInfo(this.m_00000010.m_00000060, 10));
Gd_2 = (Gd_2 / this.m_00000010.m_0000007C);
Li_8 = (int)NormalizeDouble(Gd_2, 0);
if (Li_8 < this.m_00000010.m_00000028) break;
Gd_2 = (((this.m_00000010.m_0000002C * this.m_00000010.m_0000007C)) + MarketInfo(this.m_00000010.m_00000060, 10));
Ld_0 = NormalizeDouble(Gd_2, Li_D8);
if (OrderStopLoss() == 0 || Ld_0 < OrderStopLoss())
{
Lb_D6 = OrderModify(OrderTicket(), OrderOpenPrice(), Ld_0, OrderTakeProfit(), 0, 13353215);
}
}
}
}
}
Li_DC = Li_DC - 1;
} while (Li_DC >= 0);
}
}
virtual void method_00000484(int arg_0, string arg_1)
{
string str_0;
string str_1;
string str_2;
string str_3;
string str_4;
string str_5;
string str_6;
string str_7;
int Li_8;
double Ld_0;
double Ld_E8;
double Ld_E0;
int Li_DC;
int Li_D8;
double Ld_D0;
int Li_CC;
double Ld_C0;
double Ld_B8;
double Ld_B0;
double Ld_A8;
double Ld_A0;
Li_8 = 0;
Ld_0 = 0;
Ld_E8 = 0;
Ld_E0 = 0;
str_0 = this.m_00000010.m_00000060;
Li_DC = method_00000452(str_0, arg_0);
if (Li_DC > 0)
{
if (Li_DC < this.m_00000010.m_00000014)
{
Li_D8 = 0;
if (OrdersTotal() > 0)
{
do
{
Rb_0 = OrderSelect(Li_D8, 0, 0);
if (Rb_0)
{
if (OrderSymbol() == this.m_00000010.m_00000060)
{
if (OrderMagicNumber() == arg_0)
{
Li_8 = OrderType();
Ld_0 = OrderOpenPrice();
Ld_E8 = OrderLots();
}
}
}
Li_D8 = Li_D8 + 1;
} while (Li_D8 < OrdersTotal());
}
Ld_D0 = this.m_00000010.m_00000038;
Li_CC = 1;
str_1 = this.m_00000010.m_00000060;
if (method_00000452(str_1, arg_0) > 1)
{
do
{
Ld_D0 = (Ld_D0 * this.m_00000010.m_00000040);
Li_CC = Li_CC + 1;
str_2 = this.m_00000010.m_00000060;
} while (Li_CC < method_00000452(str_2, arg_0));
}
Gd_0 = (Ld_D0 * this.m_00000010.m_0000007C);
Ld_E0 = (Ld_0 - Gd_0);
Ld_C0 = method_00000480(Ld_E8 * this.m_00000010.m_00000030);
Ld_B8 = AccountFreeMarginCheck(this.m_00000010.m_00000060, 0, Ld_C0);
Ld_B0 = AccountFreeMarginCheck(this.m_00000010.m_00000060, 1, Ld_C0);
if (Ld_C0 == Ld_E8)
{
if (this.m_00000010.m_00000030 > 1)
{
Ld_C0 = (Ld_C0 + MarketInfo(this.m_00000010.m_00000060, 23));
}
}
if (Ld_B8 > 0)
{
if (Li_8 == 0 && MarketInfo(this.m_00000010.m_00000060, 10) <= Ld_E0)
{
Ld_A8 = MarketInfo(this.m_00000010.m_00000060, 10);
str_3 = (string)Li_DC;
str_3 = arg_1 + str_3;
Gd_0 = (this.m_00000010.m_00000050 * this.m_00000010.m_0000007C);
Gd_1 = (Ld_A8 - Gd_0);
this.m_00000010.m_00000084 = OrderSend(this.m_00000010.m_00000060, 0, Ld_C0, Ld_A8, 3, Gd_1, 0, str_3, arg_0, 0, 32768);
str_4 = (string)this.m_00000010.m_00000084;
str_4 = "Opening #" + str_4;
str_4 = str_4 + " ";
str_4 = str_4 + arg_1;
str_5 = (string)Li_DC;
str_4 = str_4 + str_5;
str_4 = str_4 + " ";
str_4 = str_4 + DoubleToString(Ld_C0, 2);
str_4 = str_4 + " at ";
str_5 = (string)Ld_A8;
str_4 = str_4 + str_5;
str_4 = str_4 + " sl: ";
str_5 = (string)(Ld_A8 - Gd_0);
str_4 = str_4 + str_5;
str_4 = str_4 + " (Last Open: ";
str_5 = (string)Ld_0;
str_4 = str_4 + str_5;
str_4 = str_4 + "; Last Lots: ";
str_5 = (string)Ld_E8;
str_4 = str_4 + str_5;
str_4 = str_4 + "; Calculated Level: ";
str_5 = (string)Ld_E0;
str_4 = str_4 + str_5;
str_4 = str_4 + ")";
logger.LogMessage(str_4);
}
}
else
{
Print("Not enough money for buy");
}
Ld_E0 = ((Ld_D0 * this.m_00000010.m_0000007C) + Ld_0);
if (Ld_B0 > 0)
{
if (Li_8 == 1 && MarketInfo(this.m_00000010.m_00000060, 9) >= Ld_E0)
{
Ld_A0 = MarketInfo(this.m_00000010.m_00000060, 9);
str_5 = (string)Li_DC;
str_5 = arg_1 + str_5;
Gd_2 = (this.m_00000010.m_00000050 * this.m_00000010.m_0000007C);
Gd_3 = (Gd_2 + Ld_A0);
this.m_00000010.m_00000084 = OrderSend(this.m_00000010.m_00000060, 1, Ld_C0, Ld_A0, 3, Gd_3, 0, str_5, arg_0, 0, 65535);
str_6 = (string)this.m_00000010.m_00000084;
str_6 = "Opening #" + str_6;
str_6 = str_6 + " ";
str_6 = str_6 + arg_1;
str_7 = (string)Li_DC;
str_6 = str_6 + str_7;
str_6 = str_6 + " ";
str_6 = str_6 + DoubleToString(Ld_C0, 2);
str_6 = str_6 + " at ";
str_7 = (string)Ld_A0;
str_6 = str_6 + str_7;
str_6 = str_6 + " sl: ";
str_7 = (string)(Ld_A0 + Gd_2);
str_6 = str_6 + str_7;
str_6 = str_6 + " (Last Open: ";
str_7 = (string)Ld_0;
str_6 = str_6 + str_7;
str_6 = str_6 + "; Last Lots: ";
str_7 = (string)Ld_E8;
str_6 = str_6 + str_7;
str_6 = str_6 + "; Calculated Level: ";
str_7 = (string)Ld_E0;
str_6 = str_6 + str_7;
str_6 = str_6 + ")";
logger.LogMessage(str_6);
}
}
else
{
Print("Not enough money for sell");
}
}
}
}
};
class NewsEvent
{
public:
datetime m_00000010;
int m_00000018;
string m_0000001C;
};
FileLogger* logger;
NewsEvent* tmpNewsEvent;
NewsEvent* newsArray[];
InformationPanel* infoPanel;
RingGrid* gridsArray[];
int OnInit()
{
// код доступен только после оплаты
}
void OnTick()
{
// код доступен только после оплаты
}
void OnTimer()
{
int Li_C;
int Li_8;
Li_C = getEntryConfirmation(0, 0, 0, 0, 0);
Li_8 = method_00000490();
method_00000492(Li_8);
if (Ii_D0 > 3600)
{
Gd_0 = AccountEquity();
updateInformation(AccountBalance(), Gd_0);
Ii_D0 = 0;
}
Ii_D0 = Ii_D0 + 1;
}
void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam)
{
int Li_C;
if (id == 9)
{
infoPanel.method_00000403();
Gi_1 = (int)ObjectGetInteger(ChartID(), "Information Panel", 102, 0);
Gi_2 = (int)ObjectGetInteger(ChartID(), "Information Panel", 1019, 0);
Gi_2 = Gi_1 + Gi_2;
Li_C = Gi_2 + 5;
ObjectSet("BTN-LOGIN", 102, Li_C);
}
if (id == 1)
{
if (sparam == "BTN-LOGIN")
{
ObjectSetInteger(ChartID(), "BTN-LOGIN", 1018, 0);
eaconomySignOut();
}
}
}
void OnDeinit(const int reason)
{
string str_0;
string str_1;
string str_2;
string str_3;
string str_4;
string str_5;
int Li_C;
int Li_8;
EventKillTimer();
Ib_C7 = false;
Li_C = 0;
if (ArraySize(newsArray) > 0)
{
do
{
delete newsArray[Li_C];
Li_C = Li_C + 1;
} while (Li_C < ArraySize(newsArray));
}
ArrayResize(newsArray, 0, 0);
Li_8 = 0;
if (ArraySize(gridsArray) > 0)
{
do
{
delete gridsArray[Li_8];
Li_8 = Li_8 + 1;
} while (Li_8 < ArraySize(gridsArray));
}
ObjectDelete("BTN-LOGIN");
str_0 = "Deinitialized Successfully";
str_1 = str_0;
Gi_7 = 2;
str_3 = EnumToString(TIMEПоказано первые 50% кода (символов: 56009)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.