Как сравнивать последние 5 тиков с новым? (Вопрос Чайника) - страница 2

 
Boeing747:
Надо так вписать:  Alert( DoubleToStr( tick0,  5 ), "    ", DoubleToStr( tick1,  5 ), "    ", DoubleToStr( tick2,  5 ),"     ", DoubleToStr( tick3, 5 ), "    ",  DoubleToStr( tick4,  5 ), "    ", DoubleToStr( tick5,  5 )  );   вместо:    Alert( tick0, "    ", tick1, "    ", tick2, "   ", tick3, "    ", tick4, "    ", tick5 );            
можно и так: Alert( " "+DoubleToStr( tick0, 5 )+"   "+DoubleToStr( tick1, 5 )+"     "+DoubleToStr( tick2, 5 )+"    "+DoubleToStr( tick3, 5 )+"   "+DoubleToStr( tick4, 5 )+"    "+DoubleToStr( tick5, 5 )+" "  );                                     
 
Boeing747:
можно и так: Alert( " "+DoubleToStr( tick0, 5 )+"   "+DoubleToStr( tick1, 5 )+"     "+DoubleToStr( tick2, 5 )+"    "+DoubleToStr( tick3, 5 )+"   "+DoubleToStr( tick4, 5 )+"    "+DoubleToStr( tick5, 5 )+" "  );                                     
А вы попробуйте при этом настроить курсор "на автоматическое расположение на кнопке по умолчанию", а потом расскажите о впечатлениях. :)
 

в принципе можно попробовать приладить курсор .. но думаю с алертом такое не удастся ...но ведь alehandro это скорей всего не понадобиться в торговле поскольку он не сможет по надписям в алерте достаточно быстро определять состояние tick0 > tick1 > tick2 > tick3 > tick4 > tick5  если я правильно понял условие для покупки. просто когда я взялся помочь alehandro мне показалось что он испытывает затруднение в получинии этих последник тиков, а анализировать и проверять состоялось ли условие для покупки или нет при помомощи функии if( ){...}else{if( ) {...}} или какой нибудь другой он сможет и сам , это же проще паренной репы. но если он и это не может сделать то пусть попросит меня доделать код. а тот алерт что я придела это для того чтобы было видно что индюк работает.  

 
Boeing747 :
Надо так вписать: Alert( DoubleToStr( tick0, 5 ), " ", DoubleToStr( tick1, 5 ), " ", DoubleToStr( tick2, 5 )," ", DoubleToStr( tick3, 5 ), " ", DoubleToStr( tick4, 5 ), " ", DoubleToStr( tick5, 5 ) ); вместо: Alert( tick0, " ", tick1, " ", tick2, " ", tick3, " ", tick4, " ", tick5 );

Добавил в код условие if( Tick[ 0 ]+2*Point> Tick[1 ]|| Tick[ 0 ] +2*Point > > Tick[2] || Tick[ 0 ] +2*Point > > Tick[3]) { Buy}

Не сробатывает...

 
Подскажите, почему?
 
alehandro :

Добавил в код условие if( Tick[ 0 ]+2*Point> Tick[1 ]|| Tick[ 0 ] +2*Point > > Tick[2] || Tick[ 0 ] +2*Point > > Tick[3]) { Buy}

Не сробатывает...


это >> сильно больше, или просто больше?
 
alehandro :

Добавил в код условие if( Tick[ 0 ]+2*Point> Tick[1 ]|| Tick[ 0 ] +2*Point > > Tick[2] || Tick[ 0 ] +2*Point > > Tick[3]) { Buy}

Не сробатывает...

знак ">>" в булевых выражениях не исполбзуется. замение его на ">= " означает больше или равно, или просто поставте знак ">" означает строгое неравенство больше. мой вам совет: читайте больше учебник по MQL
 

Я не имел ввиду в булевых это ">>" опечатка!

Добавил в код условие if( Tick[ 0 ]+2*Point> Tick[1 ]|| Tick[ 0 ] +2*Point >Tick[2] || Tick[ 0 ] +2*Point > Tick[3]) { Buy }

Не срабатывает...

 
alehandro :

Я не имел ввиду в булевых это ">>" опечатка!

Добавил в код условие if( Tick[ 0 ]+2*Point> Tick[1 ]|| Tick[ 0 ] +2*Point >Tick[2] || Tick[ 0 ] +2*Point > Tick[3]) { Buy }

Не срабатывает...

понятия не имею. написанно все верно. рубильник Tick[0]+2*point>Tick[1] по моему почти все время должен быть в положении Вкл.Вместо Buy впишите alert и проверте. Всегда пользуйтесь алертом для проверки работоспособности некоторых частей кода. это своего рода щуп как у электромонтера .

проверте такой вариант для начала:

if ( Tick[0] > Tick[1] )

{

Alert( " Есть контакт " );

}

а потом добавляйте условия. и так далее

 
OK! Работает, спасибо.
Причина обращения: