Прошу совета- Как переписать индикатор с Rulang на MQL4(четыре) ? - страница 3

 
Urman Ru:

..."olyakish_fractals_01"...

Не очень хороший пример для новичков. Очень нестандартный и крайне экстравагантный подход к написанию индикаторов

 
Dmitry Fedoseev:

Не очень хороший пример для новичков. Очень нестандартный и крайне экстравагантный подход к написанию индикаторов

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

 
Alexey Viktorov:

Я только одного понять не могу. В заголовке темы и в первом своём сообщении вы пишите о MQL5 а вам насовали советов по MQL4 и вы с радостью взялись за правку индикатора на MQL4. Так к какому терминалу вам нужен индикатор?

Опа! Они чо, на разном языке? Во прикол!

На MT4, проверил!

Так и чо, если взять индюка написанного на MQL4 для МТ4 , то он не будет работать на МТ5? И наоборот тоже?

Ну ваще замута.

 
Dmitry Fedoseev:
А про Rulang, это что было?

ну я раньше что то пытался изобразить трейдера и начинал на Румусе, а там язык 

Rulang , простой как 3 рубля.И писал на том языке индюки разные, а тут решил перейти на МТ4 и перетащить тот индюк сюда, но ничего не выходит, ну никак. И Ваш совет проверить " i+2" тоже. Но может я что то не так делаю.Все возможно.
 
Urman Ru:

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

А не надо одевать штаны через голову, чтобы не приходилось снимать их через голову.

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

 
Dmitry Fedoseev:

А не надо одевать штаны через голову, чтобы не приходилось снимать их через голову.

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

Увы, не выходит каменный цветок.(

 
Urman Ru:

Увы, не выходит каменный цветок.(

А оно того сто́ит? Что за формула в том индикаторе? Может и делать ничего не надо? Может стандартный Fractals подойдёт?

 
Alexey Viktorov:

А оно того сто́ит? Что за формула в том индикаторе? Может и делать ничего не надо? Может стандартный Fractals подойдёт?

Сколько бы этот индикатор не стоил, денег у меня все равно нет.)Если бы подошел стандартный Fractal я бы не сидел днями и ночами пытаясь понять как вставить этого упрямого индюка в терминал.

Спасибо за участие.

Посмотрите сами , что это такое, вы же программер опытный.
Файлы:
evlpcaVOL.mq4  13 kb
 
Urman Ru:

Сколько бы этот индикатор не стоил, денег у меня все равно нет.)Если бы подошел стандартный Fractal я бы не сидел днями и ночами пытаясь понять как вставить этого упрямого индюка в терминал.

Спасибо за участие.

Посмотрите сами , что это такое, вы же программер опытный.

Вот именно опыт и мешает ковырять что либо в попытках понять что-же вы пытались там написа́ть. Просто у меня был приступ благотворительности и я хотел вспомнить как пишется на mql4. Я думаю вам известна теория, что лучше построить, чем перестраивать. И дешевле и надёжней.

Теперь пара замечаний по вашему коду:

ArrayInitialize(a_Fractal, 0);

инициализирует ВЕСЬ массив нулями. Те значения которые, даже если и были внесены в массив индикаторного буфера, обнуляются.

a_MFI[-1] = (High[-1] - Low[-1])/ a_Volume[-1];

нумерация индексов не может быть меньше нуля.

Да и если вы пытаетесь обозначить как-то конкретные бары по всей истории, то индексировать надо переменной, а не константой.

 
Alexey Viktorov:

Вот именно опыт и мешает ковырять что либо в попытках понять что-же вы пытались там написа́ть. Просто у меня был приступ благотворительности и я хотел вспомнить как пишется на mql4. Я думаю вам известна теория, что лучше построить, чем перестраивать. И дешевле и надёжней.

Теперь пара замечаний по вашему коду:

инициализирует ВЕСЬ массив нулями. Те значения которые, даже если и были внесены в массив индикаторного буфера, обнуляются.

нумерация индексов не может быть меньше нуля.

Да и если вы пытаетесь обозначить как-то конкретные бары по всей истории, то индексировать надо переменной, а не константой.

Здравствуйте, Алексей. Видимо мне надо считать себя родившимся под счастливой звездой, если у Вас внезапно приключился приступ благотворительности, но к сожалению звезда летела так быстро, что я не успел загадать желание.

Я исправил кое-что в индикаторе, вот это в частности - a_MFI[i-1] = (High[i-1] - Low[i-1])/ a_Volume[i-1] , но цветок не расспустился .

Да , Вы правы, сделанное с нуля всегда лучше переправленного,  если знаешь как это делать.

Суть моей идеи-

Строим Фракталы на основе только ЗЕЛЕНЫХ баров, но не по  High и  Low, а по Volume и MFI, т.е. Фрактал F(0) = V(0)>V(1) and  V (0) >V(2) and V (0) >V(-1) and  V (0) >V(-2) and MFI(0)>MFI(1) and  MFI (0) >MFI(2) and  MFI (0) >MFI(-1) and  MFI (0) >MFI(-2), если на самом фрактале F(0)  Close (0) >Open (0) , то Фрактал F(0)  вверх, если  Close (0) <Open (0) , то Фрактал F(0)  вниз,  а дальше строить линии поддержки и сопротивления по этим Фракталам ;  интересно, что значение (i) актуально до(5) , после него фракталы повторяются. Я реализовал эту идею на Rulang в Румусе, но написанное на Rulang почему то не читается в MT4, вот незадача.

Вот как это выглядит на Rulang, почувствуйте разницу:

Variable : Lev1($data),Lev2($data);
n=inparam("n",1,10000000,1);

Lev1=ref(Lev1,-1);
Lev2=ref(Lev2,-1);

if h>l then k=(h-l)/v;
if h>l and v>ref(v,-1) and v>ref(v,-2) and v>ref(v,+1) and v>ref(v,+2) and k>ref(k,-1) and k>ref(k,-2)and k>ref(k,+1) and k>ref(k,+2) then fv=v;
if h>l then f=fv;
x=HHV(f,n);
if f=x and c>o then Lev1=h;
if f=x and c<o then Lev2=l;
Lev1;
Lev2;

Поскольку в MQL4 я профан с 0-ой категорией пришлось поискать индюка приблизительно схожим с моим по буквочкам и циферкам, и я нашел  "olyakish_fractals_01", но там заложена другая идея и я решил переписать под свою, но увы , пока не получается.

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

С уважением!

Файлы:
Причина обращения: