[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 696

 
А может, лучше по магику его определять? Тогда - вообще оч. просто...
 

Подскажите,

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

int a=0, b=0;

if(Close[i]>Open[i])
    {
        a++;
        Buffer[i] = _____??????_________;
    }
if(Close[i]<Open[i])
    {
        b--;
        Buffer[i] = _____??????_________;
    }

Два вопроса (ежели вышенаписанное имеет смысл): (1) как обнулять показания счетчика, если непрерывная серия прекратилась; и (2) как правильно записать Buffer[i] - т.е. как можно "увидеть" сам результат?

Т.е., если индикатор для конкретного бара показывает "-3", то это значит, что это третий бар подряд, который закрылся ниже открытия; если следующий за ним бар закроется выше открытия - индикатор покажет "1"......

 
artmedia70:

В глобальных переменных задаём начальное значение лота:

Там же присваиваем это значение переменной, которая будет передавать значение лота в ф-цию открытия позиции:

После закрытия позиции проверим её на прибыльность/убыточность:

Ну и сама ф-ция, спасибо Игорю Киму...







Еще один вопрос: 

У меня почему то получилось что последующий ордер равен начальному лоту умноженному на 2. т.е.  1 проиграл (0.01) 2 проиграл (0.02) 3 проиграл (0.02) 4 выиграл (0.02)

а хотелось 1 проиграл (0.01) 2 проиграл (0.02) 3 проиграл (0.04),

 И еще один момент:

 Пожалуйста подскажите можно ли сделать следующее (и если можно напишите пожалуйста как) :

1 в коде прописать  ордера и их размеры по очереди, чтобы если предыдущий ордер был убыточным открывался следующий, пока не получится прибыль, а потом все с начала. Пример:

1 Лот 0.01

2  Лот 0.01

3  Лот 0.02 

....

15 Лот 1.0  

  Заранее благодарю 

 Борис.

 
Может кто-нибудь подсказать в чем моя ошибка ( вопрос и код на странице 693 )?
 
И еще : Огромное спасибо Вам, Толик! Ваш код подошел как нельзя лучше!
 
Azerus:

Подскажите,


Я бы сделал так. Если бы мне надо было поймать серию из четырех последних бар, то

if(Close[0]>Open[0]&&Close[1]>Open[1]&&Close[2]>Open[2]&&Close[3]>Open[3])
...
 
Necron:
Может кто-нибудь подсказать в чем моя ошибка ( вопрос и код на странице 693 )?


Попробуйте замените

if (OrderStopLoss()<pp-(TStop.Buy+TrailingStep-1)*po||OrderStopLoss()==0)

на

if (OrderStopLoss()>pp-(TStop.Buy+TrailingStep-1)*po||OrderStopLoss()==0)  

 
cyclik33:

Еще один вопрос:

У меня почему то получилось что последующий ордер равен начальному лоту умноженному на 2. т.е. 1 проиграл (0.01) 2 проиграл (0.02) 3 проиграл (0.02) 4 выиграл (0.02)

а хотелось 1 проиграл (0.01) 2 проиграл (0.02) 3 проиграл (0.04),

И еще один момент:

Пожалуйста подскажите можно ли сделать следующее (и если можно напишите пожалуйста как) :

1 в коде прописать ордера и их размеры по очереди, чтобы если предыдущий ордер был убыточным открывался следующий, пока не получится прибыль, а потом все с начала. Пример:

1 Лот 0.01

2 Лот 0.01

3 Лот 0.02

....

15 Лот 1.0

Заранее благодарю

Борис.

Покажите ваш код, дабы не гадать
 

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

И считаются они слева направо, сверху вниз. Тогда как правильно привязать объект к левому нижнему углу? У меня он, объект, почему-то пропадает из окна.

   ObjectCreate(Name_Obj_Advert, OBJ_LABEL, 0, 0,0);
   ObjectSet   (Name_Obj_Advert, OBJPROP_CORNER, 2);
   ObjectSet   (Name_Obj_Advert, OBJPROP_TIME1, Time[0]);
   ObjectSet   (Name_Obj_Advert, OBJPROP_YDISTANCE, 0);            
   ObjectSet   (Name_Obj_Advert, OBJPROP_COLOR, Color_Advert);
   ObjectSetText(Name_Obj_Advert, String_Advert, Kegl);
 
valenok2003:

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

И считаются они слева направо, сверху вниз. Тогда как правильно привязать объект к левому нижнему углу? У меня он почему-то пропадает из окна.

Угол привязки - это от какого угла будет рассчитываться расположение объекта в окне. Углы считается с лева на право по часовой стрелке. Нижний левый угол будет № 3 (нумерация с начинается с ноля).
Причина обращения: