Цикл работает 5 раз... рисует 5 линий, после отрисовки 5-й линии останавливается, линии на месте.
Вроде всё нормально, но потом все линии исчезают.. похоже с новым тиком..
Как мне грамотно сделать этот цикл.
Вообще задумка была изначально нарисовать линии один раз (их количество во внеш переменной), последующая модификация линий не нужна, они остаются для наглядности в истории графика. А дальше отслеживается только новый текущий период и так каждый день(период) отрисовка новых линий.. старые не стрираются. Но если их стереть, то они естественно восстанавливаются.. не все конечно, а опять таки от внеш. переменной)
Когда увеличил ТФ, то увидел странную вещь... что линии как и нужно было не исчезают, просто после нового тика отрисовываются дальше по графику, всё дальше и дальше..)
После этого до меня дошло, что переменные начальные
int tD=0; int D=1; просто набирают каждым тиком новый ++ )))
Нужно было в итоге поставить ограничение на эти переменные условием внутри цикла:
int цикл=5;datetime TimeBegin;datetime TimeEnd;int tD=0;int D=1;int start(){for(int d=0; d<цикл; d++){if(tD==цикл)continue;//если отрисовали все линии выход из циклаelse//если не отрисовали продолжаем{
TimeBegin =iTime(NULL,PERIOD_D1,tD);
TimeEnd =(TimeBegin +86400);double DHigh =iHigh(NULL,PERIOD_D1,D);ObjectCreate(DH+d,OBJ_TREND,0,0,0,0,0,0,0);//все ObjectSet описывать не буду их много...ObjectSet(DH+d, OBJPROP_TIME1, TimeBegin);ObjectSet(DH+d, OBJPROP_PRICE1, DHigh);ObjectSet(DH+d, OBJPROP_TIME2, TimeEnd);ObjectSet(DH+d, OBJPROP_PRICE2, DHigh);
tD++;
D++;}}return(0);}
Хочу логику понять....
Цикл работает 5 раз... рисует 5 линий, после отрисовки 5-й линии останавливается, линии на месте.
Вроде всё нормально, но потом все линии исчезают.. похоже с новым тиком..
Как мне грамотно сделать этот цикл.
Вообще задумка была изначально нарисовать линии один раз (их количество во внеш переменной), последующая модификация линий не нужна, они остаются для наглядности в истории графика. А дальше отслеживается только новый текущий период и так каждый день(период) отрисовка новых линий.. старые не стрираются. Но если их стереть, то они естественно восстанавливаются.. не все конечно, а опять таки от внеш. переменной)
Т.е. мне сами условия
int tD=0;
int D=1;
просто занести в цикл? Я правильно понял..
Условие то одно, а в цикле оно меняется, поэтому и линий несколько! Если просто условие загоняю в цикл, то рисуется линия по условию только одна!
Люди! Ну кто-нить хоть что-то посаветуте новичку!!!
Код выше... Как реализовать прорисовку линий правильно?
Я счастлив как ребенок!!!)))
Когда увеличил ТФ, то увидел странную вещь... что линии как и нужно было не исчезают, просто после нового тика отрисовываются дальше по графику, всё дальше и дальше..)
После этого до меня дошло, что переменные начальные
int tD=0;
int D=1;
просто набирают каждым тиком новый ++ )))
Нужно было в итоге поставить ограничение на эти переменные условием внутри цикла:
Теперь хочу подсчитать статистику отработки линий
Например цена косается цены-лини и заходя за неё на установленную дистанцию -10 пп, отбивается от неё уходит обратно на 20пп
Т.е. грубо хочу проверить сопротивление линий при разных значениях их пробоя.. Заход 5пп, 10пп, 20пп... и т.д.
Как можно это реализовать?