Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет, профессионал
например, в Ea мы получаем сигнал и хотим разместить ордер BUYSTOP/SellStop на высоте сигнального бара,
Мы должны дождаться открытия нового бара, чтобы найти высоту сигнального бара, как мы можем это сделать? (любая статья, пост, советник, , , , )
СпасибоЕсли вы считаете 3 бара для сигнала, теперь считайте 4 бара просто да? У Codersguru есть хорошая статья о другом способе на сайте mql4
У меня есть вопрос:
Это может потребовать дополнительного программирования, которое невозможно сделать на MT. Не уверен. В принципе, у меня есть советник, который и в бэктесте, и в форвард-тесте хорошо работает в MT с данными Alpari. На данных других брокеров часто возникают расхождения между сделками. Иногда, если сделка открыта на Alpari, она может быть не открыта у другого брокера или наоборот. Можно ли написать какой-то скрипт, который будет исполнять сделки на платформе моего брокера сразу после исполнения сделки на платформе Альпари?
Например, я получаю сигнал на покупку 2 лотов кабеля по 1.9450 на Alpari. Сделка исполняется. Тот же самый ордер вводится на платформе моего реального брокера на долю секунды позже. Когда стоп или уровень t/p достигается на Alpari и сделка закрывается, эта же сделка закрывается на платформе моего реального брокера.
Это не скальпинговая система, поэтому если между двумя ценами будет расхождение в 2 пункта, это не страшно. Кто-нибудь знает, возможно ли это, и если да, то как мне это сделать? Спасибо.
Помогите с MTF xpMA
Codersguru,
Не могли бы вы проверить возможности MTF в xpMA?
Большое спасибо,
Pippt
Пожалуйста, посмотрите пост #364 на:
https://www.mql5.com/en/forum/173574
простой вопрос, но я не могу понять. какая математическая функция в mql используется для округления двойного значения?
например, у меня есть 0.69, а я хочу, чтобы результат был .70. или если значение равно .63, а результат будет .60.
mathceiling() и mathfloor() не справляются с этой задачей.
Вопрос для начинающих
Привет всем...
Благодаря CodersGuru и его отличному курсу, я пытаюсь изучить MQL4
путем преобразования индикатора, который я написал на MQL3.
Я столкнулся с проблемой и был бы признателен за помощь... если бы кто-нибудь мог сказать мне, что я делаю неправильно в следующем коде.
Проблема заключается в двух операторах If... в строках 78 и 79
//+------------------------------------------------------------------+
//| First_Indicator.mq4 |
//| Codersguru |
//| https://www.mql5.com/en/forum |
//+------------------------------------------------------------------+
#property copyright "Codersguru"
#property link "https://www.forex-tsd.com"
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Red
//---- буферы
double ExtMapBuffer1[];
//----------------- Объявления переменных ----------------------+
int pos=0;
double Pivot_Point = 0;
double new_Pivot_Point =0;
double prev_Pivot_Point=0;
double Pivot_Factor=0;
double LastClose=0;
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
int init()
{
//---- индикаторы
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(0,ExtMapBuffer1);
string short_name = "Pivot Line";
IndicatorShortName(short_name);
return(1);
}
//+------------------------------------------------------------------+
//| Функция деинициализации индикатора Custor |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Пользовательская функция итерации индикатора |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//---- проверка на возможные ошибки
if (counted_bars<0) return(-1);
//---- последний подсчитанный бар будет пересчитан.
if (counted_bars>0) counted_bars--;
int cnt=Bars-counted_bars;
//---- основной цикл вычислений
while(cnt >= 0)
{
LastClose = Close[cnt];
If (LastClose > Pivot_Point) //Line 78
If(new_Pivot_Point > prev_Pivot_Point) //Строка 79
{
prev_Pivot_Point = new_Pivot_Point;
Pivot_Point = new_Pivot_Point;
}
ExtMapBuffer1[cnt]= Pivot_Point ;
cnt--;
}
return(0);
}
Вот сообщения компилятора -
---------------------------------------------------------------
'If' - функция не определена .....(78,10)
'If' - ожидается точка с запятой .....(79,13)
'If' - функция не определена ...(79, 13)
'{' - ожидается точка с запятой ....(80, 13)
----------------------------------------------------------------
Что бы я ни делал, я не могу понять, в чем проблема... Я знаю, что это очень просто, но это ускользает от меня...
Спасибо всем, кто может помочь в этом базовом вопросе....
Шеф
P.S. Счастливого, здорового, процветающего Нового года ВСЕМ
MQL чувствителен к регистру: используйте "if" вместо "If".
WOW... that was Fast....
СПАСИБО ВАМ большое за быстрый ответ... решил это...
ваш ответ очень ценен... удачного нового года...
Шеф
MathRound
простой вопрос, но я не могу его понять. какая математическая функция в mql используется для округления двойного значения?
например, у меня есть 0.69, а я хочу, чтобы результат был .70. или если значение равно .63, а результат будет .60.
mathceiling() и mathfloor() не справляются с этой задачей.Существует "MathRound(double x)", который округляет значение до ближайшего целого числа; то же самое, что и "MathFloor(x+0.5)", я полагаю. Чтобы получить округление до одного десятичного знака, можно использовать выражение для сдвига/отмены десятичных дробей, например "MathRound(x*10)/10".
Как я могу добавить стрелки к прикрепленным, чтобы они показывали вверх и вниз на кресте?
Гистограмма
Ну, вот еще один вопрос, поскольку я продолжаю изучать, как конвертировать с MQL3 на MQL4.....
Я хотел бы закрасить участок графика, который находится между двумя линиями, верхней и нижней. Я не знаю, есть ли какая-нибудь функция для закрашивания участка экрана или нет, поэтому я решил попробовать использовать "Draw_Histogram" в операторе SetIndexStyle(). Но я не совсем понимаю, как она работает. Когда я ее использую, ничего не происходит.
например:
SetIndexStyle(7,DRAW_HISTOGRAM,0,1);
ExtMapBuffer8[cnt]= (Pivot_Point-(Short_Line*Point));
Print("Cnt = ",cnt, "Histo = ",ExtMapBuffer8[cnt], "Calc = ",(Pivot_Point+(Short_Line*Point)));
В журнале выводится правильный cnt, правильный calc, но значение Histo равно нулю.
Я изучил код в индикаторе MACD, безрезультатно, и в индикаторе Heiken-Ashi, и я не могу понять, как это работает. Похоже, что индикатор Heiken-Ashi использует 4 буфера для создания каждой свечи, но я не уверен в этом.
MACD, похоже, использует базовую линию, равную нулю, от которой строится гистограмма, есть ли базовая линия, от которой она начинается? Если да, то как ее установить?
Не мог бы кто-нибудь объяснить, как работает эта функция, чтобы я мог научиться правильно ее кодировать. Если есть функция, которая закрашивает определенный участок экрана, я буду благодарен за любую информацию об этом.
Спасибо всем за вашу любезную помощь....
Искренне,
Главный