class CControl
Класс для контроля состояния торгового ордера: хранение данных, инициализация и проверка статуса.
Сообщите нам, если считаете, что материал размещён без разрешения.
Обращение по товару «control.mqh» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Библиотека control.mqh реализует класс CControl на языке MQL, предназначенный для контроля состояния торговых ордеров. Класс позволяет инициализировать объект данными из ордера, искать ордер в массиве по тикету и проверять его текущее состояние с возможностью блокировки.
Конструктор создаёт пустой объект с обнулёнными полями и тикетом, равным -1. Метод инициализации принимает ссылку на ордер и сохраняет его ключевые параметры внутри объекта.
Проверка состояния ордера определяет, нужно ли заблокировать позицию на основании текущих условий, а оператор присваивания позволяет копировать основные данные между объектами контроля. Библиотека содержит один класс с четырьмя методами и одним конструктором.
Классов: 1 · методов: 4 · конструкторов: 1 · деструкторов: 0 · отдельных функций: 0
class CControl
Класс для контроля состояния торгового ордера: хранение данных, инициализация и проверка статуса.
CControl()
Конструктор класса — создание пустого объекта контроля с обнулением полей и установкой тикета в -1.
void Init(CThisTrade &ord)
Инициализация объекта контроля данными из переданного ордера (тикет, символ, тип, идентификатор).
char Check()
Проверка состояния ордера: возвращает 1 при блокировке, 0 если не активировано, -1 если ордер не найден.
int FindOrder()
Поиск ордера в массиве торговых ордеров по тикету и возврат его индекса или -1.
void operator=(const CControl &master)
Присваивание значений символа, тикета и типа от другого объекта контроля.
#include "Header.mqh"
#ifndef _CONTROL_
#define _CONTROL_
class CControl{
public:
string symbol;
string ident;
_tTicket ticket;
int type;
CControl();
void Init(CThisTrade &ord);
char Check();
int FindOrder();
void operator=(const CControl &master);
};
CControl::CControl(){
ZeroMemory(this);
ticket=-1;}
void CControl::Init(CThisTrade &ord){
ticket=ord.Ticket();
symbol=ord.Symbol();
type=1-ord.Type()%2;
ident=ord.Ident();}
Показано первые 50% кода (символов: 896)
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.