[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 86
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо. Так будет правильно?
Да. Так думаю.
Доброго времени суток,ребят,скажите сколько будет стоить заказать советник???
Ах да и вообще возможно сделать так чтобы он работал сразу на 2х разных валютах(одновременно на двух графиках)причем открывал по каждому разные сделки.
Например на первом ПОКУПАЛ а на втором наоборот продавал?
А по закритию одной из сделок открывал противоположенную уже открытой сделке....
И может кто знает может есть такой советник в природе, а то просто неплохая мысль в голову пришла.....
Всё можно сделать. Пишите в личку. Договоримся.
А нет. Sum=0 надо ставить перед оператором For.
Всё заработало. Благодарю. По ходу нашёл ещё одну ошибку.
Чейчас потягаю малость - вдруг ещё что выползет - и выложу результат в общую базу.
Ещё раз спасибо за помощь.
Всё заработало. Благодарю. По ходу нашёл ещё одну ошибку.
Чейчас потягаю малость - вдруг ещё что выползет - и выложу результат в общую базу.
Ещё раз спасибо за помощь.
Не за что. Обращайтесь.
To: FOReignEXchange
Если я в данный момент исполнения программы
extern bool Buy = true;
extern double PriceBuy = 0;
int start()
{
if (Buy)
{OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point);
PriceBuy = ??????????????????;}
return;
}
Укажу присвоение" PriceBuy = ??????????????????;" - "PriceBuy = Ask;"
Смогу ли я быть уверен, что с ходом программы(допустим открытие нового ордера с заданными условиями)
"PriceBuy" Будет иметь то же значение???
To: FOReignEXchange
Если я в данный момент исполнения программы
extern bool Buy = true;
extern double PriceBuy = 0;
int start()
{
if (Buy)
{OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point);
PriceBuy = ??????????????????;}
return;
}
Укажу присвоение" PriceBuy = ??????????????????;" - "PriceBuy = Ask;"
Смогу ли я быть уверен, что с ходом программы(допустим открытие нового ордера с заданными условиями)
"PriceBuy" Будет иметь то же значение???
Как это extern double PriceBuy = 0 ? В глобальных переменных указываются только постоянные числа. Если это оттуда убрать вообще, то ответить на вопросы можно так:
Если пременной PriceBuy нигде не присваиваются другие значения, то значение PriceBuy = Ask; будет действовать до тех пор, пока вычисления не дойдут снова до открытия нового ордера. Как вычисления до туда снова дойдут переменной будет присвоено новое значение PriceBuy = Ask; которое будет соответсвовать цене Ask в момент открытия нового ордера.
А в чём проблемма то? Это же ясно.
Как это extern double PriceBuy = 0 ? В глобальных переменных указываются только постоянные числа.
Не путайте, пожалуйста, Наших Новичков.
Во-первых: переменная PriceBuy в данном случае является внешней переменной. А внешняя переменная по определению является глобальной!
Во-вторых: внешней переменной Вы можете присвоить любое значение в коде советника, но тогда потеряется её смысл (быть внешней переменной). А вот глобальные переменные как раз и применяются, чтобы хранить и изменять их значения в пределах всего кода (область видимости - вся программа). Подробнее.
В-третьих: если в торговой функции OrderSend указан Slippage и Мы хотим открыть ордер Buy, то не обязательно, что ордер откроется именно по цене Ask, так как на исполнение торгового приказа, отданного функцией OrderSend, уходит определённое время и цена может уйти от данного значения.
Поэтому более правильным будет код, который уже приводили на предыдущей странице, цитирую:
Поэтому более правильным будет код, который уже приводили на предыдущей странице, цитирую:
Кому как нравится. У всех разный почерк. Может быть у Вас всё там правильно, но мне кажется это коряво.
Я бы так не стал делать.
Во-первых, не совсем понимаю зачем нужно объявлять переменуую там и какой в этом смысл мне тоже не понятно.
Во-вторых, строчка PriceBuy = Ask; находится сразу за функцией OrderSend. И, насколько я понимаю, как только заканчивается выполнение этой функции, вычисления передаются сразу на следующую строчку. Не думаю, что цена Ask может изменится. Я стараюсь писать всё как можно проще, сокращая кол-во символов, если это не мешает нормальному функционированию программы. Можно присвовить значение также как и у Вас, не вижу тут проблеммы. Написал, что первое и простое пришло в голову.