← К каталогу
Исходный код · ID 875

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 и перейдите к оплате.

Стоимость полного кода
5 600,90₽ ≈ $68.45