Скачать MetaTrader 5

Проблема со свечными конфигурациями

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Pastushak
79937
Vladimir Pastushak  

Вот код :

#property indicator_chart_window
int start()
  {
   int n = 0 ;

   for (int i=0; i<=Bars; i++)
   {
    if ( (Close[i]<Open[i] && Close[i]<Open[i-1] && Close[i-1] > Open[i-1]) ||
         (Close[i]<Open[i] && Close[i]>Open[i-1] && Close[i-1] > Open[i-1]) )
     {
      n++;
      ObjectCreate("t"+i,OBJ_ARROW, 0, 0, 0    );
      ObjectSet   ("t"+i,OBJPROP_PRICE1,High[i-1]);      
      ObjectSet   ("t"+i,OBJPROP_TIME1 ,Time[i-1]);      
      ObjectSet   ("t"+i,OBJPROP_ARROWCODE, 174);
      ObjectSet   ("t"+i,OBJPROP_COLOR,Red     );      
     }
   }

   return(0);
  }

 Вот картинка :

 

Искомая фигура БЫЧЬЕ ПОГЛОЩЕНИЕ .

Не могу понять как появляются не правильные сигналы ???? 

ilunga
744
ilunga  
VOLDEMAR:

Вот код :

 Вот картинка :

 

Искомая фигура БЫЧЬЕ ПОГЛОЩЕНИЕ .

Не могу понять как появляются не правильные сигналы ???? 

а как оно вообще-то работает интересно.

for (int i=0; i<=Bars; i++)
   {
    if ( (Close[i]<Open[i] && Close[i]<Open[i-1] && Close[i-1] > Open[i-1]) ||

На первом же шаге лезем в [-1]-й бар


Может с пятеркой перепутали и там везде "+1" должно быть? а то в будущее заглядывать пытаемся

Vladimir Pastushak
79937
Vladimir Pastushak  
ilunga:

а как оно вообще-то работает интересно.

На первом же шаге лезем в [-1]-й бар


Может с пятеркой перепутали и там везде "+1" должно быть? а то в будущее заглядывать пытаемся


Ок ! Исправил 

for (int i=1; i<=Bars; i++)
   {
    if ( (Close[i]<Open[i] && Close[i]<Open[i-1] && Close[i-1] > Open[i-1]) ||

 Картинка

Ваша догадка не верна ....  ((( 

 Можно делать и с -1  если вы помните текущая свеча 0 перед ней 1 , цикл идет на увеличение .....

Victor Nikolaev
Модератор
15202
Victor Nikolaev  
VOLDEMAR:

Вот код :

 Вот картинка :

 

Искомая фигура БЫЧЬЕ ПОГЛОЩЕНИЕ .

Не могу понять как появляются не правильные сигналы ???? 


Это выражение

if ( (Close[i]<Open[i] && Close[i]<Open[i-1] && Close[i-1] > Open[i-1]) ||
         (Close[i]<Open[i] && Close[i]>Open[i-1] && Close[i-1] > Open[i-1]) )

Равносильно этому

if ( (Close[i]<Open[i] && Close[i-1] > Open[i-1]))

 Да еще и в будущее заглядывем

Vladimir Pastushak
79937
Vladimir Pastushak  
Vinin:


Это выражение

Равносильно этому

 Да еще и в будущее заглядывем


Не согласен !!!

Сам раньше думал так ....  

цены открытия новой свечи почти всегда отличаются от цен закрытия предыдущей свечи ... Проверьте ....

Victor Nikolaev
Модератор
15202
Victor Nikolaev  
VOLDEMAR:


Не согласен !!!

Сам раньше думал так ....  

цены открытия новой свечи почти всегда отличаются от цен закрытия предыдущей свечи ... Проверьте ....



Тогда пора в школу, в четвертый класс
Dmitry Fedoseev
46194
Dmitry Fedoseev  
Уберите это ужасное i-1 для начала, сделайте нормально. Зачем искать ошибки в заведомо неправильном?
Vladimir Pastushak
79937
Vladimir Pastushak  
Vinin:

Тогда пора в школу, в четвертый класс


Тогда объясните это ??? 

Vladimir Pastushak
79937
Vladimir Pastushak  
Integer:
Уберите это ужасное i-1 для начала, сделайте нормально. Зачем искать ошибки в заведомо неправильном?

уже убрал , результат лучше но всеравно масса ошибок ....
Dmitry Fedoseev
46194
Dmitry Fedoseev  
Всеми этим проверками проверсятся только то, что один бар в одну сторону направлен, а предыдущий в другую. Больши ничего. Открытие бара и так не равно закрытию (теоретически), практически бывает, но на древней истории.
Vladimir Pastushak
79937
Vladimir Pastushak  
Integer:
Всеми этим проверками проверсятся только то, что один бар в одну сторону направлен, а предыдущий в другую. Больши ничего. Открытие бара и так не равно закрытию (теоретически), практически бывает, но на древней истории.

Посмотрите на картинку ! Сегодняшнее число ....
1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий