Помощь в кодировании - страница 463

 
mrcodix:
Здравствуйте,

ArrayMaximum - Документация по MQL4

Я посмотрел, и кажется, что эта функция возвращает самое высокое значение из всех значений в массиве. Я ищу функцию, которая говорит вам о самом высоком значении, достигнутом индикатором в пределах одного бара таймфрейма. Как я могу это записать? Например, индикатор X формирует самый последний бар. Он переходит от 3 к 5 к 4 к 7, а затем, когда бар таймфрейма закрывается, он заканчивает на значении 2. Наибольшее значение, которого он достиг, было 7. Как я могу записать это значение?

Не существует функции, которая сделает это автоматически за вас.

Сделайте просто что-то вроде этого:

int count = 0;

int hftbar = iBarShift(NULL,HigherTimeFrame,Time);

for (int k = 0; (i+k)<(Bars-1); k++)

if (iBarShift(NULL,HigherTimeFrame,Time)==hftbar)

count++;

else break;

(предполагается, что вы используете переменную i в вашем основном цикле).

После этого переменная count будет иметь точное количество баров, на которых вам нужно искать самый высокий или самый низкий уровень и которые все еще принадлежат барам более высокого таймфрейма.

 
mladen:
Не существует функции, которая сделает это автоматически для вас

Сделайте просто что-то вроде этого:

int count = 0;

int hftbar = iBarShift(NULL,HigherTimeFrame,Time);

for (int k = 0; (i+k)<(Bars-1); k++)

if (iBarShift(NULL,HigherTimeFrame,Time)==hftbar)

count++;

else break;

(предполагается, что вы используете переменную i в вашем главном цикле)

После выполнения этой функции переменная count будет иметь точное количество баров, на которых нужно искать наивысший максимум или наименьший минимум и которые все еще принадлежат барам более высокого таймфрейма.

Привет,

Что вы имеете в виду под HigherTimeFrame?

 
mrcodix:
Привет, Что вы имеете в виду под HigherTimeFrame?

Вы назвали это "баром одного таймфрейма". .

Если это текущий таймфрейм, то самый высокий и самый низкий - это просто значения текущего бара.

Только в том случае, если вы ищете бары, принадлежащие бару более высокого таймфрейма, имеет смысл искать именно его (например, вы находитесь на 15-минутном графике и хотите посмотреть, какое минимальное или максимальное из 15-минутных значений индикатора было достигнуто за текущий день).

 

Привет Mladen, хотел спросить ее, если это возможно модифицировать этот индикатор делает в пути преобразования прямых линий этого индикатора в мягкие линии, как скользящая средняя. на практике этот индикатор работает как тот индикатор, что я спросил его, если вы / он / она может быть запрограммирован с MA расстроен, я надеюсь, что оба возможно сделать это

non_repainting_supertrend_alerts.mq4[ATTACH]

 
morenokosta:
Привет Mladen, хотел спросить ее, если это возможно, чтобы изменить этот индикатор делает в пути преобразования прямых линий этого индикатора в мягкие линии, как скользящая средняя. на практике этот индикатор работает как тот индикатор, что я спросил его, если вы / он / она может быть запрограммирован с MA расстроен, я надеюсь, что оба возможно сделать это

non_repainting_supertrend_alerts.mq4[ATTACH]

morenokosta

Этого нельзя сделать, так как тренды супертренда напрямую зависят от этих значений. Изменение этих значений сделает индикатор супертренда более или менее бесполезным.

 
mladen:
morenokosta Этого нельзя сделать, так как тренды супертренда напрямую зависят от этих значений. Изменение этих значений сделает индикатор супертренда более или менее бесполезным.

Не все в порядке оттуда one.... спасибо однако за вашу доступность

 
morenokosta:
Не все в порядке с этим one.... спасибо, однако, за вашу доступность

morenokosta

Тренд" супертренда зависит от значений, которые мы видим на графике. Если эти значения меняются, то меняется и "тренд" супертренда - и он уже не будет прежним - он будет показывать тренды на всех разных местах по сравнению с первоначальным супертрендом.

 

Привет!

Я не знаю, можете ли вы помочь, но это было бы здорово!

Я пытаюсь придумать условия для своего советника. Но при кодировании с использованием полос Боллинджера я столкнулся с проблемой.

Как я могу сказать советнику, что я хочу, чтобы сделка была заключена, если все тело свечи выходит за пределы полосы Боллинджера: это означает обе стороны свечи.

На данный момент у меня есть условие :

Close[0]>bands(0,0)+Above_Below_Range*P*Point

К сожалению, он принимает сделку, когда вот так:

Я хочу, чтобы он принимал сделку, когда все тело вышло вот так:

Есть решение?

Спасибо

Файлы:
 

Здравствуйте

Я нашел этот инди и модифицировал его под свои нужды.

Скажите, пожалуйста, могу ли я разместить поле ввода, чтобы открыть графики для всех валютных пар, содержащих, например, CAD.

Если нет, то можно ли сделать так, чтобы я загружал одну пару, а затем открывал графики.

Спасибо за ваше время,

Даррен

string template_ = "DCC";

//

void OnStart()

{

//

long nr;

nr = ChartOpen(Symbol(),1440);

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),240);

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),60);

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),15);

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),5);

ChartApplyTemplate(nr,template_);

//

}

 
DCC66:
Здравствуйте

Я нашел этот инди и модифицировал его под свои нужды.

Подскажите, пожалуйста, могу ли я разместить поле ввода для открытия графиков всех валютных пар, содержащих, например, CAD.

Если нет, то можно сделать поле ввода, в которое можно загрузить одну пару, а затем открыть графики.

Спасибо за ваше время,

Даррен

string template_ = "DCC";

//

void OnStart()

{

//

long nr;

nr = ChartOpen(Symbol(),1440);

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),240);

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),60);

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),15);

ChartApplyTemplate(nr,template_);

nr = ChartOpen(Symbol(),5);

ChartApplyTemplate(nr,template_);

//

}

Сначала нужно проверить, какие символы содержат "CAD" в названии.

Для этого вы можете использовать код из этого индикатора: https: //www.mql5.com/en/forum/173060/page118