Помогите разобраться, открытие/закрытие сделок происходит по ценам, значительно выше графика. Скрин во вложении. Подскажите, почему возникает такая ситуация?
Помогите разобраться, открытие/закрытие сделок происходит по ценам, значительно выше графика. Скрин во вложении. Подскажите, почему возникает такая ситуация?
Покупка: открывается по Ask, закрывается по Bid
Продажа: открывается по Bid, закрывается по Ask.
Включите в настройках графика отображение цены Ask (график строится по цене Bid)
ПКМ (или F8) --> Свойства - -> Показывать - -> Показывать линию Ask
В строке *1* выдается ошибка компилятора - ожидамо.
А строка *2* отлично компилируется и работает. Почему?
Нужно явное противоречие показать (что Вы значение const поменяли):
int f( int &p ) { return p = !p; }
struct X {
constint i;
X( int i ) : i( i ) {}
X( X& x ) : i( f(x.i) ) {}
};
voidOnStart()
{
X x1( 1 );
constint i = x1.i;
{ X x2 = x1; }
Print( i == x1.i ); //Результат: false - не может быть
}
А Вы предлагаете и опытным Пользователям догадываться и Разработчикам
Можно ли поменять поля const-объекта класса или вызвать его не const-методы? -Можно!
template <typename T>
T GetMe( const T Ptr )
{
return((T)Ptr);
}
class A
{
public:
int i;
};
voidOnStart()
{
const A a;
GetMe(&a).i = 1;Print(a.i); // 1
}
Самому не нравится такая фишка. Думал, что застрахован от несанкционированного доступа. Облом, однако! С const-структурами такое, конечно, не прокатывает. Так что имейте в виду эту лазейку.
Здравствуйте.
Помогите разобраться, открытие/закрытие сделок происходит по ценам, значительно выше графика. Скрин во вложении. Подскажите, почему возникает такая ситуация?
Здравствуйте.
Помогите разобраться, открытие/закрытие сделок происходит по ценам, значительно выше графика. Скрин во вложении. Подскажите, почему возникает такая ситуация?
Покупка: открывается по Ask, закрывается по Bid
Продажа: открывается по Bid, закрывается по Ask.
Включите в настройках графика отображение цены Ask (график строится по цене Bid)
ПКМ (или F8) --> Свойства - -> Показывать - -> Показывать линию Ask
Покупка: открывается по Ask, закрывается по Bid
Продажа: открывается по Bid, закрывается по Ask.
Включите в настройках графика отображение цены Ask (график строится по цене Bid)
ПКМ (или F8) --> Свойства - -> Показывать - -> Показывать линию Ask
в b3095 запускаю скрипт:
Если убрать перегрузку f1(T* & Ptr), то все 5 вызовов возвращают void f1<const X>(const X*const).
Это какая-то особенность?
Объясните, пожалуйста:
В строке *1* выдается ошибка компилятора - ожидамо.
А строка *2* отлично компилируется и работает. Почему?
Объясните, пожалуйста:
В строке *1* выдается ошибка компилятора - ожидамо.
А строка *2* отлично компилируется и работает. Почему?
Нужно явное противоречие показать (что Вы значение const поменяли):
А Вы предлагаете и опытным Пользователям догадываться и Разработчикамзначение const поменяли
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2017.11.07 14:57
Можно ли поменять поля const-объекта класса или вызвать его не const-методы? -Можно!Самому не нравится такая фишка. Думал, что застрахован от несанкционированного доступа. Облом, однако! С const-структурами такое, конечно, не прокатывает. Так что имейте в виду эту лазейку.
Нужно явное противоречие показать (что Вы значение const поменяли):
А Вы предлагаете и опытным Пользователям догадываться и РазработчикамДа. Но у вас в примере явное ( через ф-ю) преобразование const T в T - т.е. "легализованная" лазейка.
((A*)(&a)).i = 1;