Ошибки, баги, вопросы - страница 1738
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
))))))) и рекламить свой блог ))))))))
Лучше бы зарезервировали место для показа меток новостей, а то они жесть как мешают нижнюю часть графика смотреть, особенно когда цена именно там и торгуется. А при удалении снова восстанавливаются через какое-то время. И как их отключить - не нашёл.
Можно ведь вручную изменить вертикальный масштаб: наведите указатель мыши на цены, ЛКМ и тяните...
Это место зарезервировано для показа объёмов:
Я так и подумал. Это нехорошо. И других способов кроме как написать индикатор нет?
Можно ведь вручную изменить вертикальный масштаб: наведите указатель мыши на цены, ЛКМ и тяните...
Тяну изо всех сил) Зазор все равно остается
Можно ведь вручную изменить вертикальный масштаб: наведите указатель мыши на цены, ЛКМ и тяните...
Тяну изо всех сил) Зазор все равно остается
Кто знает, как можно получить параметры не текущего графика? Дело в том, что все работает отлично, пока текущий график активен. Но если перейти на другой, то события не приходят и через ChartGet нельзя получить актуальную информацию.
const long &lparam,
const double &dparam,
const string &sparam)
{
//---
if(id==CHARTEVENT_CHART_CHANGE)
{
printf("chart height: %i",ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS));
}
}
Выходит, рендерится только активный график, или все же можно как-то это обойти?
upd. Частично решил проблему принудительной перерисовкой, получается определить изменение размера графика, но ChartXYToTimePrice возвращает не совсем корректные данные – если открыть нужный график вручную, все работает как надо. Пока что не выяснил, почему.
while(currChart>=0)
{
ChartSetInteger(currChart,CHART_BRING_TO_TOP,true);
ChartRedraw(currChart);
currChart=ChartNext(currChart);
}
upd.. Другой вопрос, как определить, что текущий график активный, то есть имеет фокус?
upd... Разобрался.
int parent = GetParent(GetParent(hWnd));
int active = SendMessageW(parent, WM_MDIGETACTIVE, 0, 0); // хэндл активного окна
Правильно ли я понимаю, что на бирже модификация ордеров через СБ работать не будет?
//| Modify specified pending order |
//+------------------------------------------------------------------+
bool CTrade::OrderModify(const ulong ticket,const double price,const double sl,const double tp,
const ENUM_ORDER_TYPE_TIME type_time,const datetime expiration,const double stoplimit)
{
//--- check stopped
if(IsStopped(__FUNCTION__))
return(false);
//--- clean
ClearStructures();
//--- setting request
m_request.action =TRADE_ACTION_MODIFY;
m_request.magic =m_magic;
m_request.order =ticket;
m_request.price =price;
m_request.stoplimit =stoplimit;
m_request.sl =sl;
m_request.tp =tp;
m_request.type_time =type_time;
m_request.expiration =expiration;
//--- action and return the result
return(OrderSend(m_request,m_result));
}
filling не задается.
//| Get the property value "ORDER_TYPE_FILLING" |
//+------------------------------------------------------------------+
ENUM_ORDER_TYPE_FILLING COrderInfo::TypeFilling(void) const
{
return((ENUM_ORDER_TYPE_FILLING)OrderGetInteger(ORDER_TYPE_FILLING));
}
ВСЕГДА в тестере возвращает ENUM_ORDER_TYPE_FILLING::ORDER_FILLING_RETURN.
filling не задается.
Поэтому если в OrderModify filling задать через COrderInfo::TypeFilling(), то на том же RoboForexEU-MetaTrader 5 будет логичная ошибка [Unsupported filling mode]. Однако, на MetaQuotes-Demo этой ошибки не возникает - криво настроен сервер разработчиков?
Правильно ли я понимаю, что на бирже модификация ордеров через СБ работать не будет?
//| Modify specified pending order |
//+------------------------------------------------------------------+
bool CTrade::OrderModify(const ulong ticket,const double price,const double sl,const double tp,
const ENUM_ORDER_TYPE_TIME type_time,const datetime expiration,const double stoplimit)
{
//--- check stopped
if(IsStopped(__FUNCTION__))
return(false);
//--- clean
ClearStructures();
//--- setting request
m_request.action =TRADE_ACTION_MODIFY;
m_request.magic =m_magic;
m_request.order =ticket;
m_request.price =price;
m_request.stoplimit =stoplimit;
m_request.sl =sl;
m_request.tp =tp;
m_request.type_time =type_time;
m_request.expiration =expiration;
//--- action and return the result
return(OrderSend(m_request,m_result));
}
filling не задается.
Без паники!
{
protected:
MqlTradeRequest m_request; // request data
MqlTradeResult m_result; // result data
MqlTradeCheckResult m_check_result; // result check data
bool m_async_mode; // trade mode
ulong m_magic; // expert magic number
ulong m_deviation; // deviation default
ENUM_ORDER_TYPE_FILLING m_type_filling;
ENUM_ACCOUNT_MARGIN_MODE m_margin_mode;
//---
ENUM_LOG_LEVELS m_log_level;
public: