[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 187

 
Vinin:

А чему stoplevel равен проверяли?


Ага!!! Он на экране в основном советнике): 30 пунктов............................((((((((((((((((((((

И все таки что с if(....) можно через эту балалайку, мое условие МТ4 провести?):

 
nlp2311:


Ага!!! Он на экране в основном советнике): 30 пунктов............................((((((((((((((((((((

И все таки что с if(....) можно через эту балалайку, мое условие МТ4 провести?):


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


Ага!!! Он на экране в основном советнике): 30 пунктов............................((((((((((((((((((((

И все таки что с if(....) можно через эту балалайку, мое условие МТ4 провести?):


Индикатор и советник - абсолютно разные вещи
 
MK07:

Добрый день.Написал индикатор,в котором поместил два разных MACD в одном окне и в ОДНОМ МАСШТАБЕ.

Теперь мне надо снова пройти по всем ВИДИМЫМ барам,найти момент,когда на НУЛЕВОМ баре сигнальная линия второго индикатора (оранжевая ) будет равна сигнальной линии первого (красная линия).Сигнальные линии должны слиться в одну,но у меня ничего не получается!На рисунке в верхнем окне мой индикатор,а в нижнем - сигнальные линии .

Кто-нибудь поможет разобраться?


D_sig=MathAbs(Signal1Buffer[0]-Signa13Buffer[0]);

А зачем MathAbs если определять 0

просто надо отнять

//---------------------------------------------------------------------------------------

if(Signa13Buffer[0]==Signal1Buffer[0])

а здесь наверно надо if (D_Sig==0) { комманда для сигнала ; }

 
nlp2311:


Попробовал другой вариант сравнения

if(highest-Cls1<=highest-50*Point) или прибавить,

результат ТОТ ЖЕ)))))........... MT4 условия не видит...(:


Давай твой индикатор
 
Вся сложность в том что БЕЗ ЭТОГО.................... && highest-Cls1<=50*Point)..... ВСЕ РАБОТАЕТ, а сним нет!
 
M_Dimens:


D_sig=MathAbs(Signal1Buffer[0]-Signa13Buffer[0]);

А зачем MathAbs если определять 0

просто надо отнять

//---------------------------------------------------------------------------------------

if(Signa13Buffer[0]==Signal1Buffer[0])

а здесь наверно надо if (D_Sig==0) { комманда для сигнала ; }

Спасибо за желание помочь.Поставил if (D_sig==0) { комманда для сигнала ; }."Ступенек" стало меньше,но всё-таки они есть.И не понятно,как образуются.

А MathAbs поставил для того,чтобы был "коридор" для сравнения,ведь вероятность того,что сигнальные линии будут абсолютно равны,ничтожно мала.

Может быть у кого-нибудь есть ещё мысли по моей проблеме?

 
nlp2311:
Вся сложность в том что БЕЗ ЭТОГО.................... && highest-Cls1<=50*Point)..... ВСЕ РАБОТАЕТ, а сним нет!


Слишком жесткие условия. Сделайте не 50, хотя бы 250-500

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

Файлы:
 
nlp2311:


Спасибо! Интересно вы if() { ...разбили скобочками...))):

А как вы делает сдвиги (отступы) кода программы в виде змейки Си??? Я что то в установках МТ4 не нахожу.... ):


Так вроде табуляция есть.

Чем проще условие, тем проще проверить, да и работает быстрее

 

Привет всем. У меня поиск в истории не возвращает обьем лотов. Это так надо?


if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
   {
   if(OrderType()==0)
      {
      Comment("\n\n\n",OrderLots()," ",OrderTicket());
возвращает лот 0.1, хотя лоты меняются программой. тикеты отражаются корректно (меняются). баг? фича?
Причина обращения: