[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 116
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ребята, подскажите, почему может быть ошибка о невозможности открытия индикатора в эксперте?
Это условие выполняется:
-Список параметров (при необходимости). Передаваемые параметры должны соответствовать порядку объявления и типу внешних (extern) переменных пользовательского индикатора.
Надо бы имя индикатора сверить. Всяко может быть
Надо бы имя индикатора сверить. Всяко может быть
Имя сверил. В порядке. Разбираюсь...
П.С. Поставил терминал пятизначного ДЦ, перенес все туда, еще раз все перепроверил, много было правок кода, подобной ошибки больше не возникает.
1. Открыть ордер и присвоить переменной PriceBuy значение цены открытия ордера и выдать об этом сообщение, с этим вроде как справляется.
2. Открыть новый ордер, с теми же условиями, при достижении TakeProfit.
Вот код программы:
extern double PriceBuy = 0;
extern bool Buy = true;
extern bool number = false;
int start()
{
if(Buy)
{
int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-100*Point,Bid+100*Point);
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
PriceBuy=OrderOpenPrice();
Alert("Цена покупки = ",PriceBuy);
Buy = false;
number = true;}
if (Bid+100*Point<=PriceBuy && number)
{PriceBuy = 0;
number = false;
Buy=true;}
return;
}
Заранее благодарен
О гуру MQL программирования, помогите новичку разобраться с делемой. Программа работает некорректно, не выполняет тех действий, которые от нее требуются. Подскажите в чем моя ошибка? Программе необходимо:
1. Открыть ордер и присвоить переменной PriceBuy значение цены открытия ордера и выдать об этом сообщение, с этим вроде как справляется.
2. Открыть новый ордер, с теми же условиями, при достижении TakeProfit.
Вот код программы:
extern double PriceBuy = 0;
extern bool Buy = true;
extern bool number = false;
int start()
{
if(Buy)
{
int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-100*Point,Ask+100*Point);
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
PriceBuy=OrderOpenPrice();
Alert("Цена покупки = ",PriceBuy);
Buy = false;
number = true;}
if (Bid+100*Point<=PriceBuy && number)
{PriceBuy = 0;
number = false;
Buy=true;}
return;
}
Заранее благодарен
Bid>=PriceBuy+100*Point
Хочу подключить функцию CreateNamedPipe() из kernel32.dll. Нужно прописать флаги типа Dword.
Делаю так:
#define ACCESS_SYSTEM_SECURITY 0x01000000L
Естественно компилятор ругается на буковку L в конце. Подскажите как быть?
Надо бы имя индикатора сверить. Всяко может быть
Да, действительно, Виктор, ошибка была в том, что обращался на автомате... :-))) к индикатору через
... вследствие чего и было не соответствие "короткого" имени и "обычного" при обращении к значениям индикатора через iCustom(), т.е. при их не совпадении обращение к индикатору должно производиться только по его "обычному" имени.
Благодарю Вас.
Здравствуйте.
Помогите, пожалуйста, найти ошибку.
Код предназначен для закрытия всех позиций при пересечении ценой линии, нарисованной на графике. В большинстве случаев так и происходит. Но периодически бывают 2 глюка: 1. Цена пересекает линию, но позиции не закрываются. 2. Линия пересекает текущий ценовой уровень (под углом), но по времени с ним не совпадает (не задевает текущую свечу), при этом происходит закрытие всех позиций (чего не должно быть).
Заранее благодарю.
Помогите, пожалуйста, найти ошибку.
Вопрос снимаю, разобрался.
Хочу подключить функцию CreateNamedPipe() из kernel32.dll. Нужно прописать флаги типа Dword.
Делаю так:
#define ACCESS_SYSTEM_SECURITY 0x01000000L
Естественно компилятор ругается на буковку L в конце. Подскажите как быть?
Убрать разряд. Там может быть только 8 разрядов. MQL4 с большим не работает.
Надо убрать ноль лишний. Попробуйте так: 0x1000000L
Не получается так. Компилятор выдаёт ошибку '0x1000000L' - invalid number
Не получается так. Компилятор выдаёт ошибку '0x1000000L' - invalid number
Совсем ночью не соображаю... :-)) Такой цифры в 16-ричной системе нет. Это идентификатор типа константы.
L убрать надо: 0x01000000