Хочу создать торгуещего эксперта... нужна помощь. - страница 2

 

CDR

Там более продвинутые статьи... Где эти общие принципы понять то???? Вот в чём вопрос...

lna01

Я не прочитал его (учебник по СИ) сессия начиналась потом работа - учёба.... воообще то я на Мех факе учусь и программирование едва едва касался.... Но ведь этот конкретно отличается язык.... строка идет через запятую цифры и буквы скобки цырф запятые буквы. ... сдуреть можно.. и главное коменты такие уже профессиональные к этому....

Мне что надо.... Начинается программа с чего ....

Не знаю--- Простеёшая задача открыть лонг скажем по евре от такого то времени и закрыть через 10 минут... вот надо как для чайиноков давать... С описанием... Программа начинается с int .. .. что это для чего ... а то читаю тип данных целые числа... и тупо недогоняю для чего это..... окей да тип данных пусть целое число ... но почему софтина с них начинается ...предполагаю что чтобы начать работать программе сначало надо загрузить какие то данные в как бы рабочую область этой программы... но так это или нет откуда я могу знать. .. вот это и надо объяснять...

 

Есть ещё цикл статей "для чайников" 'Язык MQL4 для "чайников". Первое знакомство' . Проблема очень часто в том, что человек сразу пытается втиснуть новую информацию в в свои достаточно смутные (а часто и наивные) представления о предмете. Воспринимайте непонятные вещи как ритуал. Который нужно тщательно и буквально исполнить. И тогда появится джинн. И исполнит желания :). Понимание придёт со временем, как результат работы.

То есть я могу конечно написать, что Time - это предопределённая переменная, а Time[0] - это время начала текущего бара. Но на самом деле не могу :). Потому что есть хелпер и переносить его в эту ветку я не буду. Тем более что в правом верхнем углу этой страницы есть форма Поиск.

P.S. Подсказка: В первую очередь нужно смотреть результаты поиска из раздела "Документация".

 
Если у кого будут вопросы "от чайников" - могу ответить в аське - 215-254-003 (кажись так!)
Только я не всегда есть но в течении дня-двух как правило отвечаю. Если кому чего неясно - посмотрите через Поиск что какая функция делает, какие может иметь переменные и т.д.
 

более конкретный вопрос созрел.... открыт любой тайм фрэйм любая пара и МАСD .... под котировками аля графиком есть гистограма ... там есть красная линия если выставить значение 1 то она будет скользить по гистограме...

Мне нужно определить 1. линия идёт снизу вверх. 2. Линия пересекает 0 ... насколько я понял она типо не может быть равна нулю поэтому должно быть какое то значение... хотя она 0 пересекает парадокс

я делал так MathAbs(iMACD(NULL,0,12,26,1,PRICE_CLOSE,MODE_MAIN,0)<0.0004 && iMACD(NULL,0, 12,26,1,PRICE_CLOSE,MODE_MAIN,0)<=0

но у меня проблема поскольку MathAbs даёт только модуль.....а почему то второе условие тестер не видит :( или я его неправильно указал. ..

Есть ещё одно ноююю хотелось бы указать что то вроде High[0]-10 ... . как дополнительное условие или такое не катит?

 
foreverman:

Мне нужно определить 1. линия идёт снизу вверх. 2. Линия пересекает 0 ... насколько я понял она типо не может быть равна нулю поэтому должно быть какое то значение... хотя она 0 пересекает парадокс

Есть ещё одно ноююю хотелось бы указать что то вроде High[0]-10 ... . как дополнительное условие или такое не катит?

С нулём сравнивать можно. Проблема в том, что формальная проверка double на равенство будет часто врать. Но при определении пересечения определять равенство не нужно: одно значение должно быть больше а другое меньше. Дооплнительные условия катят но всё связанное с ценами желательно выражать через Point, иначе легко нарваться на условие, которое реально не выполняется никогда (или выполняется всегда).

По основному вопросу: тема не раскрыта. Обычно понятнее всего выглядит код с принтом, который печатает не то что предполагается. Часто и этого недостаточно и требуется полный текст программы. Но раз речь идёт о MACD, сначала отыщите MACD Sample и посмотрите как это делается там.

 

Про Point это типо пипсы? тогда high[0]-10*Point так?

Насчёт макд .... я от туда основную часть и взял... но там не то.. .. мне нужно по гистограмме когда будет ноль а не по средней. .. средняя вообще не нужна... там где гистограмма там по центру 0.... вот этот 0 мне и нужно поймать но как ? iMACD(NULL,0,12,26,1,PRICE_CLOSE,MODE_MAIN,0)=0 не работает...

 
foreverman:

Про Point это типо пипсы? тогда high[0]-10*Point так?

Насчёт макд .... я от туда основную часть и взял... но там не то.. .. мне нужно по гистограмме когда будет ноль а не по средней. .. средняя вообще не нужна... там где гистограмма там по центру 0.... вот этот 0 мне и нужно поймать но как ? iMACD(NULL,0,12,26,1,PRICE_CLOSE,MODE_MAIN,0)=0 не работает...


Поймать пересечение легко MACDPred=...; MACDNev=....; if(MACDPred*MACDNew<=0) То есть при пересечении должны разные знаки или одно из значений равно нулю.
 

Можно просто сравнить значения на последнем и предпоследнем баре. Если на предпоследнем меньше нуля, а на последнем - больше, то имеем пересечение снизу вверх.

if (iMACD(NULL,0,12,26,1,PRICE_CLOSE,MODE_MAIN,1)<0 && iMACD(NULL,0,12,26,1,PRICE_CLOSE,MODE_MAIN,0)>0)
 
foreverman:

Про Point это типо пипсы? тогда high[0]-10*Point так?


Да, в таком духе.

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

 
foreverman:

Мне нужно определить 1. линия идёт снизу вверх. 2. Линия пересекает 0 ... насколько я понял она типо не может быть равна нулю поэтому должно быть какое то значение... хотя она 0 пересекает парадокс

Никакого парадокаса. Это теория вероятности. Если continuous переменная принимает значения в заданном интервале, то вероятность того что она будет равна какому-то конкретному числу внутри этого интервала равна нулю. Т.е. вообще нельзя говорить о равенстве какому-то числу, хоть 0, хоть 0.5, хоть ещё чего... Если интересует равенство, то надо проверять попадание в заданный интервал, т.е. не х==0, а -0.1 < х < 0.1. А лучше всегда пользоваться сравнением больше/меньше.
Причина обращения: