[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 605
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как отключить звук? Довёл до белого коленья. Окон инструментоа много (33). Никаких советников нет. Одни средние и Zup. Откуда он поёт не могу понять. Умоляю, помогите. В сервисе, событиях был. Крестики на событиях не помогают. Всё поёт, гадина.
Techno:
скворец может в индюке сидеть )))
Просмотрел код - нигде нет никаких алертов! Что делать?
Просмотрел код - нигде нет никаких алертов! Что делать?
Проверь на PlaySound().
Мне нужно для частичного закрытия позиции переменной Part, заданной на глобальном уровне, присваивать определённые значения и передавать их как параметр функции, которая выполняет частичное закрытие ордера. Эта переменная является простым делителем. Т.е., при изначально заданном ей значении 1, лот делится на 1 и закрывается вся позиция. При изменении условий торговли, эта переменная получает новые значения и может равняться, допустим 1.5, или 2, тогда лот позиции делится на это число и выполняется частичное закрытие. Вызов функции с передачей параметра выглядит дословно так:
Так вот, несмотря на то, что при вызове функции ...
... задаётся CloseMethod = 1 (частичное закрытие) и указывается явное значение Part = 2, в функцию передаётся не значение Part, заданное по ходу программы (например 2), а изначальное её значение = 1, заданное на глобальном уровне...
Как это победить??? Спасибо...
Ну, вот когда условия торговли изменятся, тогда и меняй свою переменную Part. Или они у тебя в другом советнике? тогда постоянно надо считывать эту переменную, т.е.
int init()
{
.....
GlobalVariableSet("Part0",Part);
.....
}
int start()
{
...
Part=StrToInteger(GlobalVariableGet("Part0"));
...
}
Ну, вот когда условия торговли изменятся, тогда и меняй свою переменную Part. Или они у тебя в другом советнике? тогда постоянно надо считывать эту переменную, т.е.
int init()
{
.....
GlobalVariableSet("Part0",Part);
.....
}
int start()
{
...
Part=StrToInteger(GlobalVariableGet("Part0"));
...
}
При передаче переменной в функцию, через её параметр, переменная передается по значению, это значит изменения переменной в самой функции не приведет к ее перезаписи.
Попробуй передать по ссылке, для этого вставь перед именем параметра символ «&»
Просмотрел код - нигде нет никаких алертов! Что делать?
На вкладке «События» сбрось галочку «Разрешить».
Здравствуйте уважаемые профи.
Очень хочу написать советник который бы открывал одновременно две сделки Sell и Buy.
Затем по прошествии определенного количества пунктов (параметр lim), убыточный ордер закрывался,
а прибыльный чтоб закрылся тогда когда цена опустится ниже максимальной цены с момента открытия ордера
(своего рода виртуальный трейлинг-стоп).
В ужасных муках родил вот это, но оно них... не работает
Подскажите плиз чтонибудь
Как сделать, чтобы можно было переменной, заданной на глобальном уровне по ходу исполнения программы присваивать разные значения при вызове разных функций и она их сохраняла?
два пути
1. в функции, где производится изменение значения добавить амперсант,
например void функция( double& Part ){}
тогда, при изменении значения внутри функции новое значение будет возвращаться в место вызова
2. убрать переменную из списка параметров функции, т.к. переменная задана глобально, то ее значение можно изменять в любом месте кода не передавая ее в качестве параметра..
но чтобы не запутаться лучше 1-й вариант, чтобы не думать что это за переменная, т.к. таких глобально заданных переменных (и внутри одной функции) может быть не одна..
зы. проглядел пост, по сути уже ответили..
, но её значение, изменённое внутри функций во внешние не возвращается.
Покажите саму функцию.
Если это void ClosePartPosBySelect(double Part), то поменяйте на
void ClosePartPosBySelect()