Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Понятно, а можно это как то исправить?
Понятно, а можно это как то исправить?
Добрый день!
Идея интересная, но я пишу здесь по другому поводу. Как программист программисту, хочу поделиться методом нумерации ордеров. У вас это сделано с помощью комментария. Я тоже так делал раньше. Но поскольку брокеры могут затереть ваш комментарий или он полностью измениться (при частичном закрытии ордера), то это метод не является стабильным.
Я это делаю теперь с помощью магика. Т.е. если в советнике задан какой-то магик (а вы всё равно это сделаете), то если магик умножить на 10, потом прибавить какую-либо цифру (от 0 до 9), то у вас получится нумерованный ордер. Только потом нужно будет найти "свои" ордера и выделить нужную цифру. Привожу пример такой процедуры:
{
if (!OrderSelect(i,SELECT_BY_POS,mode))return(0);
if (OrderSymbol()!=Symbol())return(0);
if (OrderMagicNumber()>0)
{
int n=(int)MathMod(OrderMagicNumber(),10);
if (Magic==(OrderMagicNumber()-n)/10)
{
n_mag=n;
return(1);
}
}
return(0);
}
//---------------------------------------------------------------
вызов этой процедуры я делаю так:
{
if (!Good_ord(i,MODE_TRADES,n_mag))continue;
//...................
}
или так:
{
if (!Good_ord(i,MODE_HISTORY,n_mag))continue;
//.............
}
Magic задаётся во вх. параметрах.
Так можно задавать любое значение для ордера. Я, например,так задаю день час и минуту открытия серии ордеров. Т.е. там у меня добавляются числа с шестью нулями.
Всё это ограничивает размер задаваемого магика (по кол-ву цифр). Это я проверяю и указываю трейдеру при старте советника.
(Может будет полезно)
Добрый день!
Идея интересная, но я пишу здесь по другому поводу. Как программист программисту, хочу поделиться методом нумерации ордеров. У вас это сделано с помощью комментария. Я тоже так делал раньше. Но поскольку брокеры могут затереть ваш комментарий или он полностью измениться (при частичном закрытии ордера), то это метод не является стабильным.
Я это делаю теперь с помощью магика. Т.е. если в советнике задан какой-то магик (а вы всё равно это сделаете), то если магик умножить на 10, потом прибавить какую-либо цифру (от 0 до 9), то у вас получится нумерованный ордер. Только потом нужно будет найти "свои" ордера и выделить нужную цифру. Привожу пример такой процедуры:
{
if (!OrderSelect(i,SELECT_BY_POS,mode))return(0);
if (OrderSymbol()!=Symbol())return(0);
if (OrderMagicNumber()>0)
{
int n=(int)MathMod(OrderMagicNumber(),10);
if (Magic==(OrderMagicNumber()-n)/10)
{
n_mag=n;
return(1);
}
}
return(0);
}
//---------------------------------------------------------------
вызов этой процедуры я делаю так:
{
if (!Good_ord(i,MODE_TRADES,n_mag))continue;
//...................
}
или так:
{
if (!Good_ord(i,MODE_HISTORY,n_mag))continue;
//.............
}
Magic задаётся во вх. параметрах.
(Может будет полезно)
Спасибо) Действительно, идея хорошая. Возьму на заметку.
Да, вы правы, иногда хочется ещё чего-нибудь туда засунуть.... Но это тоже можно закодировать в цифры. В принципе, этого метода мне хватает на все случаи в жизни.
Часто бывает необходимость сохранить время первого ордера серии или цену какого то уровня.
вот именно так я и задаю время первого ордера в серии:
"Так можно задавать любое значение для ордера. Я, например,так задаю день час и минуту открытия серии ордеров. Т.е. там у меня добавляются числа с шестью нулями. "
И цену также задаю (предварительно превращая её в целое число, т.е. цену делю на PointЗдравствуйте ! У меня как то он странно работает на Альпари демо открывает сделки (5 знак) ,а на Альпари реал нано (4 знак) нет.
В журнале и в экспертах ошибок нет .
Здравствуйте ! У меня как то он странно работает на Альпари демо открывает сделки (5 знак) ,а на Альпари реал нано (4 знак) нет.
В журнале и в экспертах ошибок нет .
Я понял в чем ошибка. Многие брокеры в случае стоплосса добавляют в комментарий ордера символы "[sl]" например и это сбивает советник.
Советник из комментария закрытого ордера берет информацию о том какой номер ордера был в серии ордеров.