Ошибки, баги, вопросы - страница 1611

 

Здесь сразу несколько ошибок

class B;
class A { public:
        virtual B *f() { Print( __FUNCSIG__ ); return &this; }
};
class B : public A { public:
        virtual B *f() { Print( __FUNCSIG__ ); return &this; }
};
void OnStart() 
{
        A a;
        a.f().f();
}

1. Неявное преобразование от базового класса к производному. Должно быть явное, иначе - сообщение об ошибке

        virtual B *f() { Print( __FUNCSIG__ ); return (B *)&this; } //(*)
2. Ошибка при выполнении: результат (снизу вверх)

B* B::f()
B* A::f()

а если переписать в С++, то там результат был бы

B* A::f()
B* A::f()  

 
Если уж на то пошло, здесь еще и ошибка каста. Каст &this к B* должен выкинуть ошибку. В плюсах кстати по идее тоже
 
Комбинатор:
Если уж на то пошло, здесь еще и ошибка каста. Каст &this к B* должен выкинуть ошибку. В плюсах кстати по идее тоже
Явное преобразование допустимо (проверьте в С++)
 
A100:
Явное преобразование допустимо (проверьте в С++)
Здесь нужен dynamic_cast, с ним работает?
 
Комбинатор:
Здесь нужен dynamic_cast, с ним работает?
если
        virtual B *f() { Print( __FUNCSIG__ ); return dynamic_cast<B *>( &this ); }

то результат выполнения правильный (снизу вверх):

invalid pointer access
B* A::f()

 
A100:

Другой каст в вашем примере применять некорректно.

Значит ошибка в приведении типов в mql которое должно разворачиваться в динамический каст, что по факту не происходит или происходит неправильно.

[Удален]  

Уважаемые господа!

В МТ4 очень удобно сделана установка стоп-ордеров путём перетаскивания: когда я тяну курсор от линии сделки, я сразу вижу размер прибыли, которая будет получена, если сделка закроется по цене, на которой стоит курсор.

В своей торговле я использую стратегию, где часто бывает нужно аналогичное средство, но не для одной сделки, а для ВСЕХ сделок, открытых на данном графике.

Т.е. хотелось бы. чтобы при установке курсора на какую-либо цену я видел размер СУММАРНОЙ ПРИБЫЛИ, которая будет, если ВСЕ сделки закроются по цене, на которой стоит курсор.

И уж совсем было бы роскошно, если бы при отпускании кнопки мыши на всех открытых сделках автоматически устанавливались нужные для получения этой прибыли ТР и SL, как это сейчас происходит для одиночной сделки.

Может быть, я хочу слишком многого, но я описал идеальную ситуацию. По минимуму мне нужен калькулятор, которому на вход подаются уровни и объёмы открытых сделок (все сделки - однонаправленные, либо все sell, либо все buy) и цена закрытия, а на выходе он выдаёт суммарную прибыль, которая будет получена после закрытия всех сделок при достижении заданной цены. Или, например, это может быть индикатор в виде горизонтальной линии, которая показывает цену, при закрытии по которой групповая прибыль будет равна нулю. Сейчас я считаю это на калькуляторе врукопашную, но это очень долго и чревато ошибками.

Я бы и сам поискал на Маркете, но не знаю, что искать. Это должен быть советник, индикатор, робот или что-то ещё? Если не существует ничего такого готового, готов обсудить условия заказа на написание такого средства.
[Удален]  
vodoleyvl:

Уважаемые господа!

В МТ4 очень удобно сделана установка стоп-ордеров путём перетаскивания: когда я тяну курсор от линии сделки, я сразу вижу размер прибыли, которая будет получена, если сделка закроется по цене, на которой стоит курсор.

В своей торговле я использую стратегию, где часто бывает нужно аналогичное средство, но не для одной сделки, а для ВСЕХ сделок, открытых на данном графике.

Т.е. хотелось бы. чтобы при установке курсора на какую-либо цену я видел размер СУММАРНОЙ ПРИБЫЛИ, которая будет, если ВСЕ сделки закроются по цене, на которой стоит курсор.

И уж совсем было бы роскошно, если бы при отпускании кнопки мыши на всех открытых сделках автоматически устанавливались нужные для получения этой прибыли ТР и SL, как это сейчас происходит для одиночной сделки.

Может быть, я хочу слишком многого, но я описал идеальную ситуацию. По минимуму мне нужен калькулятор, которому на вход подаются уровни и объёмы открытых сделок (все сделки - однонаправленные, либо все sell, либо все buy) и цена закрытия, а на выходе он выдаёт суммарную прибыль, которая будет получена после закрытия всех сделок при достижении заданной цены. Или, например, это может быть индикатор в виде горизонтальной линии, которая показывает цену, при закрытии по которой групповая прибыль будет равна нулю. Сейчас я считаю это на калькуляторе врукопашную, но это очень долго и чревато ошибками.

Я бы и сам поискал на Маркете, но не знаю, что искать. Это должен быть советник, индикатор, робот или что-то ещё? Если не существует ничего такого готового, готов обсудить условия заказа на написание такого средства.
язык программирования MQL вам в помощь, реализуются все прихоти.
[Удален]  
Vladimir Zubov:
язык программирования MQL вам в помощь, реализуются все прихоти.
Ответ тривиальный. Спрашиваю именно потому, что не хочу изучать ещё один язык ради одной прихоти. И прихоть-то вроде многим нужная - неужели никто ещё такого не написал?
 
vodoleyvl:

Я бы и сам поискал на Маркете, но не знаю, что искать. Это должен быть советник, индикатор, робот или что-то ещё? Если не существует ничего такого готового, готов обсудить условия заказа на написание такого средства.

Советник (он же робот). Обратитесь во Фриланс, долларов за 30 вам это сделают.