CopyBuffers из хендла iFractals за последние 100 (100500) баров в массив double[]. Проверяем значения, если пусто - значит нет фрактала, если не пусто то там его цена. Далее уже просто операторы сравнения < > :-)
/// совсем почти в MQL стилеbool DealTypeToPositionType(ENUM_DEAL_TYPE dealType,ENUM_POSITION_TYPE &savePosType)
{
bool ok=true;
switch(dealType) {
// что можем соотнести - соотносимcaseDEAL_TYPE_BUY: savePosType=POSITION_TYPE_BUY; break;
caseDEAL_TYPE_SELL: savePosType=POSITION_TYPE_SELL;break;
//// some case`s skipped//// иначе тип сделки нельзя соотнести с типом позицииdefault: ok=false;
}
return ok;
}
Правильных вариантов несколько. Если не использовать перечисление, то никаких вопросов и не возникает.
В структуре
structMqlTradeTransaction
{
ulong deal; // Тикет сделки ulong order; // Тикет ордера string symbol; // Имя торгового инструмента ENUM_TRADE_TRANSACTION_TYPE type; // Тип торговой транзакции ENUM_ORDER_TYPE order_type; // Тип ордера ENUM_ORDER_STATE order_state; // Состояние ордера ENUM_DEAL_TYPE deal_type; // Тип сделки ENUM_ORDER_TYPE_TIME time_type; // Тип ордера по времени действия datetime time_expiration; // Срок истечения ордера double price; // Цена double price_trigger; // Цена срабатывания стоп-лимитного ордера double price_sl; // Уровень Stop Loss double price_tp; // Уровень Take Profit double volume; // Объем в лотах ulong position; // Тикет позицииulong position_by; // Тикет встречной позиции
};
тип сделки имеет тип ulong и тип позиции имеет тип ulong. И по значению они одинаковы. Следовательно, а какого июля изгаляться переводить типы в тип перечисления. Но вот хочется же… Читается приятней… А код, почти в полную страницу редактора не упрощает чтение.
Правильных вариантов несколько. Если не использовать перечисление, то никаких вопросов и не возникает.
В структуре
тип сделки имеет тип ulong и тип позиции имеет тип ulong. И по значению они одинаковы. Следовательно, а какого июля изгаляться переводить типы в тип перечисления. Но вот хочется же… Читается приятней… А код, почти в полную страницу редактора не упрощает чтение.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
вы же говорили что писали какого-то робота..
CopyBuffers из хендла iFractals за последние 100 (100500) баров в массив double[]. Проверяем значения, если пусто - значит нет фрактала, если не пусто то там его цена. Далее уже просто операторы сравнения < > :-)
Вот такой вопрос возник: как поизящней имея тип сделки записать тип позиции?
Какие есть варианты, кроме тупого if else или тернарного оператора.
Вот такой вопрос возник: как поизящней имея тип сделки записать тип позиции?
Какие есть варианты, кроме тупого if else или тернарного оператора.
switch
switch
Не интересно. Длиннее чем тернарный оператор.
Не интересно. Длиннее чем тернарный оператор.
зато правильнее ;-)
зато правильнее ;-)
Правильных вариантов несколько. Если не использовать перечисление, то никаких вопросов и не возникает.
В структуре
тип сделки имеет тип ulong и тип позиции имеет тип ulong. И по значению они одинаковы. Следовательно, а какого июля изгаляться переводить типы в тип перечисления. Но вот хочется же… Читается приятней… А код, почти в полную страницу редактора не упрощает чтение.
Правильных вариантов несколько. Если не использовать перечисление, то никаких вопросов и не возникает.
В структуре
тип сделки имеет тип ulong и тип позиции имеет тип ulong. И по значению они одинаковы. Следовательно, а какого июля изгаляться переводить типы в тип перечисления. Но вот хочется же… Читается приятней… А код, почти в полную страницу редактора не упрощает чтение.
Тикет, не тип.
Ну да, я не точно выразился. Имел ввиду тип переменной «тикет сделки» и тип переменной «тикет позиции»…
Вот такой вопрос возник: как поизящней имея тип сделки записать тип позиции?
Какие есть варианты, кроме тупого if else или тернарного оператора.
Если оба параметра - числа, то вычислить функцию зависимости между параметрами и записать формулу функции в одну строчку)
Если оба параметра - числа, то вычислить функцию зависимости между параметрами и записать формулу функции в одну строчку)
Да тут и вычислять нет необходимости, позиций только две
POSITION_TYPE_BUY
Покупка
POSITION_TYPE_SELL
Продажа
А сделок много, но первые две тоже самое
DEAL_TYPE_BUY
Покупка
DEAL_TYPE_SELL
Продажа
И ордеров тоже больше двух, но первые
ORDER_TYPE_BUY
Рыночный ордер на покупку
ORDER_TYPE_SELL
Рыночный ордер на продажу
А согласно справке именованные константы нумеруются от 0 и каждая следующая на 1 увеличивается.