Ошибки, баги, вопросы - страница 1014
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В справке:
struct MqlTradeRequest
{
ENUM_TRADE_REQUEST_ACTIONS action; // Тип выполняемого действия
ulong magic; // Штамп эксперта (идентификатор magic number)
ulong order; // Тикет ордера
string symbol; // Имя торгового инструмента
double volume; // Запрашиваемый объем сделки в лотах
double price; // Цена
double stoplimit; // Уровень StopLimit ордера
double sl; // Уровень Stop Loss ордера
double tp; // Уровень Take Profit ордера
ulong deviation; // Максимально приемлемое отклонение от запрашиваемой цены
ENUM_ORDER_TYPE type; // Тип ордера
ENUM_ORDER_TYPE_FILLING type_filling; // Тип ордера по исполнению
ENUM_ORDER_TYPE_TIME type_time; // Тип ордера по времени действия
datetime expiration; // Срок истечения ордера (для ордеров типа ORDER_TIME_SPECIFIED)
string comment; // Комментарий к ордеру
};
Однако, ниже в таблице, описание:
deviation
Максимально приемлемое отклонение от запрашиваемой цены, задаваемое в пунктах
Т.е. тип переменной должен быть по крайней мере float, но ни как не ulong.
Т.е. тип переменной должен быть по крайней мере float, но ни как не ulong.
В справке:
struct MqlTradeRequest
{
ENUM_TRADE_REQUEST_ACTIONS action; // Тип выполняемого действия
ulong magic; // Штамп эксперта (идентификатор magic number)
ulong order; // Тикет ордера
string symbol; // Имя торгового инструмента
double volume; // Запрашиваемый объем сделки в лотах
double price; // Цена
double stoplimit; // Уровень StopLimit ордера
double sl; // Уровень Stop Loss ордера
double tp; // Уровень Take Profit ордера
ulong deviation; // Максимально приемлемое отклонение от запрашиваемой цены
ENUM_ORDER_TYPE type; // Тип ордера
ENUM_ORDER_TYPE_FILLING type_filling; // Тип ордера по исполнению
ENUM_ORDER_TYPE_TIME type_time; // Тип ордера по времени действия
datetime expiration; // Срок истечения ордера (для ордеров типа ORDER_TIME_SPECIFIED)
string comment; // Комментарий к ордеру
};
Однако, ниже в таблице, описание:
deviation
Максимально приемлемое отклонение от запрашиваемой цены, задаваемое в пунктах
Т.е. тип переменной должен быть по крайней мере float, но ни как не ulong.
Количество пунктов - целое число.
подскажите что такое MQL5 - пароль и где его посмотреть????
Количество пунктов - целое число.
Где сказано про "Количество пунктов"?
По факту в структуре deviation типа ulong, а в табличном описалове ниже: double Point();
В этом и есть расхождение. Либо поправить структуру и справку, либо только справку привести в соответствие со структурой.
Здравствуйте!
Попытался адаптировать эксперта к работе на рынках отличных от форекса, в связи с чем, возникли следующие вопросы:
1. Если на форексе котировка дается на единицу валюты, то например на фьючесах и CFD на 1 контракт. Специально в документации этот вопрос не оговорен. Можно ли считать что вид котировки соответствует способу вычисления залоговых средств, из перечисления ENUM_SYMBOL_CALC_MODE. То есть: при ENUM_SYMBOL_CALC_MODE: SYMBOL_CALC_MODE_FOREX котировка дается на единицу валюты (и курс валюты счета по отношению к валюте котировки вычисляется какSymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE)), а при значениях SYMBOL_CALC_MODE_FUTURES, SYMBOL_CALC_MODE_CFD, SYMBOL_CALC_MODE_CFDINDEX,SYMBOL_CALC_MODE_CFDLEVERAGE котировка дается на 1 контракт (и курс валюты счета по отношению к валюте котировки вычисляется как SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE)) или есть исключения?
2. Что возвращает функция PositionGetDouble(POSITION_SWAP)? Накопленный к моменту запроса своп в валюте счета? Не зависит ли возвращаемое значение от способа начисления свопов из перечисления ENUM_SYMBOL_SWAP_MODE. Например не могут ли это быть пункты, базовая или маржинальная валюты?
3. В таблице расчетов маржи:
Для получения информации о способе вычисления величины залоговых средств по инструменту (размера маржинальных требований) предназначено перечисление ENUM_SYMBOL_CALC_MODE.
ENUM_SYMBOL_CALC_MODE
Идентификатор
Описание
Формула
SYMBOL_CALC_MODE_FOREX
Forex mode – расчет прибыли и маржи для Форекс
Margin: Lots*Contract_Size/Leverage
Profit: (close_price-open_price)*Contract_Size*Lots
SYMBOL_CALC_MODE_FUTURES
Futures mode – расчет залога и прибыли для фьючерсов
Margin: Lots *InitialMargin*Percentage/100
Profit: (close_price-open_price)*TickPrice/TickSize*Lots
SYMBOL_CALC_MODE_CFD
CFD mode – расчет залога и прибыли для CFD
Margin: Lots *ContractSize*MarketPrice*Percentage/100
Profit: (close_price-open_price)*Contract_Size*Lots
SYMBOL_CALC_MODE_CFDINDEX
CFD index mode – расчет залога и прибыли для CFD на индексы
Margin: (Lots*ContractSize*MarketPrice)*TickPrice/TickSize
Profit: (close_price-open_price)*Contract_Size*Lots
SYMBOL_CALC_MODE_CFDLEVERAGE
CFD Leverage mode – расчет залога и прибыли для CFD при торговле с плечом
Margin: (Lots*ContractSize*MarketPrice*Percentage)/Leverage
Profit: (close_price-open_price)*Contract_Size*Lots
не указано в какой валюте вычисляется маржа и прибыль? Как запросить Percentage? В чем особенность режима CFD Leverage mode?
4. Функция запроса плеча AccountInfoInteger(ACCOUNT_LEVERAGE), которая корректно работает на форексе, на рынке фьючерсов дает 1. Как правильно запросить/определить плечо на фьючерсах?
5. Функция SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL) - работает только для фьючерсов?
Нет ли более подробного описания этих вопросов применительно к MQL5.
Здравствуйте!
Нет ли более подробного описания этих вопросов применительно к MQL5.
Сами принципы расчета можно поискать в интернете, а выйти на правильный результат, ориентируясь на спецификацию инструмента путем проверки на конкретном инструменте и брокере.
Не подскажете ли брокера, где можно было бы проверить с одного счета валютные пары и CFD всех видов, а желательно и фьючерсы с одного демо-счета?
В MT4 у Финама есть валютные пары, CFD на акции и на индексы, но в MT5, к сожалению, только валютные пары.
Сейчас опробую валютные пары на Финаме, а фьючерсы на Открытии, но у открытия сервер на запрос SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE) выдает 33 и 34 - чего нет в перечислении ENUM_SYMBOL_CALC_MODE.
По свопам тоже не нашел пока брокера, чтобы протестировать различные способы их вычисления, а из документации не понять влияет ли способ начисления свопов на результат запроса PositionGetDouble(POSITION_SWAP).
Заранее спасибо!
zfs:
Сами принципы расчета можно поискать в интернете, а выйти на правильный результат, ориентируясь на спецификацию инструмента путем проверки на конкретном инструменте и брокере.
Не подскажете ли брокера, где можно было бы проверить с одного счета валютные пары и CFD всех видов, а желательно и фьючерсы с одного демо-счета?
В MT4 у Финама есть валютные пары, CFD на акции и на индексы, но в MT5, к сожалению, только валютные пары.
Сейчас опробую валютные пары на Финаме, а фьючерсы на Открытии, но у открытия сервер на запрос SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE) выдает 33 и 34 - чего нет в перечислении ENUM_SYMBOL_CALC_MODE.
По свопам тоже не нашел пока брокера, чтобы протестировать различные способы их вычисления, а из документации не понять влияет ли способ начисления свопов на результат запроса PositionGetDouble(POSITION_SWAP).
Заранее спасибо!
Такого брокера нет видимо. Используйте несколько терминалов. Значение там типа лонг, поэтому и выдает вам цифру, проводите сравнение, если не желаете вникать в цифры. Значение свопа PositionGetDouble(POSITION_SWAP) фактическое по позиции. Да влияет, своп начисляется в один день за выходные.
Такого брокера нет видимо. Используйте несколько терминалов. Значение там типа лонг, поэтому и выдает вам цифру, проводите сравнение, если не желаете вникать в цифры. Значение свопа PositionGetDouble(POSITION_SWAP) фактическое по позиции. Да влияет, своп начисляется в один день за выходные.
Тогда подскажите где найти CFD под пятый метатрейдер?
В цифры я пытаюсь вникнуть, но несколько мешает недосказанность в документации, например в таблицах перечислений не приведены соответствующие цифры. Опытным путем установил, что SYMBOL_CALC_MODE_FOREX - это 0, но 33 и 34 в ответе сервера открытия не идентифицируется никак.
По поводу свопов - верно ли я понимаю, что PositionGetDouble(POSITION_SWAP) и HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) дают фактически накопленный своп в валюте депозита независимо от способа его начисления?