Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2673

 
Artyom Trishkin #:
... "но при этом, не проверив, отметаю помощь". Так?
нууу нееет. Зачем от помощи отказываться . Ведь люди нашли время ответили.
 
fvdtrejder #:

спасибо за ответ!

 не хотите вы меня никак понять!

мне   нужно найти период средней которая пройдет на 5 мин графике по закрытию пред свечи и больше ничего. Ограничение может быть одно период  до 1597. Может быть случай когда такой  средней не существует в этом диапазоне.

За вашу помощь вам от меня подарок. Когда возникает такая ситуация на графике - не существует такой средней, то при определенных условиях это 100 процентный сигнал .

Цена настолько сильно оторвалась от всех средних , что она неминуемо пойдет вниз и хорошо пойдет. Конечно такие сигналы редкие и их нужно ловить с помощью  советников. 

Это простая скользящая с периодом = 1, построенная по ценам закрытия. На нулевой свече её значение всегда будет = цене закрытия первой свечи. Чё её искать-то?


 
Vitaly Murlenko #:

Это простая скользящая с периодом = 1, построенная по ценам закрытия. На нулевой свече её значение всегда будет = цене закрытия первой свечи. Чё её искать-то?


я понял что изначально не правильно сформулировал задачу. С периодом 1 простая средняя и так понятно удовлетворит меня только что мне с ней делать для моего алгоритма. Я просто не думал что на этом заострим внимание.

Тогда более конкретней  найти период простой средней в диапазоне 144---1597 на 5 мин графике. Только не простым перебором iMA начиная от 144 до 1597 через 1 ,а с минимальным числом итераций.

 
fvdtrejder #:

я понял что изначально не правильно сформулировал задачу. С периодом 1 простая средняя и так понятно удовлетворит меня только что мне с ней делать для моего алгоритма. Я просто не думал что на этом заострим внимание.

Тогда более конкретней  найти период простой средней в диапазоне 144---1597 на 5 мин графике. Только не простым перебором iMA начиная от 144 до 1597 через 1 ,а с минимальным числом итераций.

1597-144 = 1453. Нужно построить 1453 скользящих и каждую проверить на равенство цене закрытия первой свечи. Это проблема? Алгоритм простейший.

Тут дело в том, что простой перебор с шагом = 1 как раз и будет самым оптимальным. Подумайте так: возможно, что в какие-то скользящие на 1 свече совпадут. Чтоб найти совпадения, скользящие всё равно нужно вычислить, чтоб узнать их цену в этой точке.

P.S.

Можно даже ввести функцию сравнения до указанной точности.

 
bool Sovpadenie(){
        bool Rezult=false;
        for(int i=144; i<=1597;i++){
                if(Close[1]==NormalizeDouble(iMA(NULL,0,i,0,MODE_SMA,PRICE_CLOSE,1),Digits())){
                        Rezult==true;
                        break; // совпало. Дальнейшие итерации не нужны
                }
        }
        return(Rezult);
}
 
Уважаемые разработчики сайта! Зачем в блоке вставки кода у Вас такая огромная табуляция? Двух-трёх пробелов хватило бы вполне. А то при ступенчатой вложенности код уезжает Бог весть куда вправо. При нормальном размере шрифта чем больше кода охватывает глаз программиста, тем проще ему ориентироваться в коде.
 
Vitaly Murlenko #:
Уважаемые разработчики сайта! Зачем в блоке вставки кода у Вас такая огромная табуляция? Двух-трёх пробелов хватило бы вполне. А то при ступенчатой вложенности код уезжает Бог весть куда вправо. При нормальном размере шрифта чем больше кода охватывает глаз программиста, тем проще ему ориентироваться в коде.

ещё спроси зачем он вообще нужен, когда во всех прочих местах вполне обходятся без лишней формы

 
Vitaly Murlenko #:

спасибо вам большое.  Раз говорите что код оптимальный воспользуюсь им. А ведь действительно в этой точке могут быть две средние равны например 377 и 610. И смотря какая будет и сделки будут разные. Надо будет это принять во внимание.

Спасибо за ответ

 
fvdtrejder #:
не знаю как у вас а у меня цена просто повалилась вниз
Вот скриншот. Вертикальная линия - это 22:45 29.11.2024 EURUSD. Вы говорите, что в 22:50 повалилось вниз. Но график этому не соответствует. Возможно, Вы имели в виду 23:50, а не 22:50. Но это просто конец недели, пятница, дальше выходные и большой гэп в понедельник. Никакой средней на 5-минутках прошлой недели такое не спрогнозируешь.
 
Vitaly Murlenko #:
Уважаемые разработчики сайта! Зачем в блоке вставки кода у Вас такая огромная табуляция? Двух-трёх пробелов хватило бы вполне. А то при ступенчатой вложенности код уезжает Бог весть куда вправо. При нормальном размере шрифта чем больше кода охватывает глаз программиста, тем проще ему ориентироваться в коде.
Скорее всего дело в том, что у вас в коде для выравнивания используются именно символы табуляции, а не пробелы. При вставке такого кода редактор заменяет каждый символ табуляции на 8 пробелов, как в старые добрые времена. Если изначально код будет выравниваться пробелами, то вставка кода через редактор форума даёт вполне читаемые результаты.