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

define.mqh

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Библиотека define.mqh представляет собой набор вспомогательных структур и определений для платформы MQL5. Она содержит структуры данных для работы с торговыми сигналами, временными метками файлов, флагами состояния и ценовыми параметрами, а также обёртки над базовыми Windows API для файловых операций.

В библиотеке определены перечисления типов ордеров (рыночный, лимитный), типов прибыли (в валюте, в процентах) и типов лотов (фиксированный, динамический). Предусмотрены макросы для настройки параметров таймера, координат элементов интерфейса и текстовых констант условий завершения торговли.

Структура SSignal хранит данные о сигнале (время, символ, комментарий, тип ордера, цена), а структура SFlag содержит логические флаги основных состояний. Структура SPrice инкапсулирует цену и дельты стоп-лосса и тейк-профита. Файловые функции обеспечивают низкоуровневый доступ к файлам через WinAPI.

Состав библиотеки

Классов: 4 · методов: 2 · конструкторов: 2 · деструкторов: 0 · отдельных функций: 7

Классы
Класс class SSignal

Структура для хранения данных торгового сигнала

Класс class SFileTime

Структура для представления временных меток файла

Класс class SFlag

Структура флагов состояния торговли

Класс class SPrice

Структура для хранения цены и дельт стоп-лосса и тейк-профита

Функции
Функция int CreateFileW(string,uint,int,int,int,int,int)

Создание файла через Windows API

Функция int GetFileSize(int,int)

Получение размера файла

Функция bool ReadFile(int,uchar&[],int,int&,int)

Чтение данных из файла

Функция int CloseHandle(int)

Закрытие дескриптора файла

Функция bool GetFileTime(int,SFileTime&,SFileTime&,SFileTime&)

Получение временных меток файла

Функция uint GetLastError(void)

Получение кода последней ошибки

Функция uint SetFilePointer(int,int,uint,uint)

Установка указателя позиции в файле

Методы и конструкторы
Метод · SSignal void operator=(const SSignal &master)

Оператор присваивания значений структуре SSignal

Метод · SFileTime bool operator==(const SFileTime &other)

Оператор сравнения двух объектов SFileTime на равенство

Конструктор · SFlag SFlag(const SFlag& o)

Конструктор копирования структуры флагов

Конструктор · SPrice SPrice(const SPrice& o)

Конструктор копирования ценовой структуры

Получить полный код

Поиск по коду файла

??//+------------------------------------------------------------------+

//|                                                      ProjectName |

//|                                      Copyright 2018, CompanyName |

//|                                       http://www.companyname.net |

//+------------------------------------------------------------------+

#include "Header.mqh"



#ifndef _DEFINE_

#define _DEFINE_



#define  _TIMER    500

#define  _DAY      86400



#define  _MAIN          "Main|"

#define  _LOCK          "Lock|"

#define  _ALLOWED_TEXT  "Trade is allowed. Start equity ",DoubleToString(gEquity,2),". ",!eMaxRestart?NULL:"Restarts left: "+string(eMaxRestart-gRestartCount)

#define  _TIME_STOP     "Trade over time."

#define  _PROFIT_STOP   "Trade is over the trading horizon. Stopped on equity "

#define  _BUTTON_STOP   "The trade is finished manually."



#define  _X             15

#define  _Y             45

#define  _X_SIZE        135

#define  _Y_SIZE        35

#define  _FONT          "Arial"

#define  _FONT_SIZE     10

#define  _CLOSE_BUTTON  "Close all and stop"

#define  _START_BUTTON  "Start trade"



#define  K_GENERIC_READ    0x80000000

#define  K_FILE_SARE_READ  0x01

#define  K_FILE_SARE_WRITE 0x02

#define  K_OPEN_EXISTING   3

#define  K_CREATE_PARAM    K_GENERIC_READ,K_FILE_SARE_READ|K_FILE_SARE_WRITE,0,K_OPEN_EXISTING,0,0



#define G_FLAG_STOP_OUT 0x1



enum ENUM_TRADE_TYPE

  {

   _MARKET,     // K=>G=K5

   _LIMIT       //B;>65==K9, ;8<8B=K9

  };



enum ENUM_PROFIT_TYPE

  {

   PROFIT_TYPE_NONE,       //B:;.

   PROFIT_TYPE_CURRENCY,   //$

   PROFIT_TYPE_PERCENT     //%

  };



enum ELotType

  {

   EFixedLot, //$8:A8@>20==K9

   EDinamicLot //> :>MDD8F85=BC

  };



struct SSignal

  {

   datetime          time;

   string            symbol;

   string            comment;

#ifdef __MQL5__

   ENUM_ORDER_TYPE   type;

#else

   int               type;

#endif

   double            price;

   string    

Показано первые 50% кода (символов: 6803)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
680,30₽ ≈ $8.31