Помогите пожалуйста исправить ,,, индикатор удаляет Trendline. ошибок нет, только "not all control paths return a value"

작업 종료됨

실행 시간 2 시간
고객의 피드백
Все супер!!! Работа на все 1000% !!! Понимает сразу , добавляет от себя нужные детали !!! Очень доволен - рекомендую !!!
피고용인의 피드백
Работать с таким заказчиком достаточно комфортно. Рекомендую к совестной деятельности.

명시

//+------------------------------------------------------------------+
//|                                   Copyright © 2010, Ivan Kornilov|
//|                                                    GannLevels.mq4|
//+------------------------------------------------------------------+

#property copyright "Copyright © 2010, Ivan Kornilov. All rights reserved."
#property link "excelf@gmail.com"
#property indicator_buffers 0
#property indicator_chart_window

extern int drowDays = 10;
extern bool showText = false;
extern double order = 0.001;

double level1 = 1.25;
double level2 = 2.50;
double level3 = 3.33;
double level4 = 5;
double level5 = 6.66;
double level6 = 7.5;
double level7 = 10;

int init() {
    level1 = level1 * order;
    level2 = level2 * order;
    level3 = level3 * order;
    level4 = level4 * order;
    level5 = level5 * order;
    level6 = level6 * order;
    level7 = level7 * order;
}

int deinit() {
    ObjectsDeleteAll(0,OBJ_TREND);
    ObjectsDeleteAll(0,OBJ_TEXT);
}

int start() {
    int indicatorCounted = IndicatorCounted();
    if (indicatorCounted < 0) { 
        return (-1);
    }
    if(indicatorCounted > 0) {
       indicatorCounted--;
    }
   
    int limit = Bars - indicatorCounted;
    int days = 0;
    for(int i = 0; i < limit; i++) {   
        //if(TimeDay(Time[i]) != TimeDay(Time[i+1])) {
     if(TimeDayOfWeek(Time[i])  ==  1 && TimeDayOfWeek(Time[i+1]) != 1){
            double openDay = Open[i];
            datetime openTime = Time[i];
            datetime closeTime = Time[i] + 60 * 60 * 24 *5;
            
            
            double level = openDay;
            string levelName = "level0" + TimeDay(Time[i]);
            ObjectCreate(levelName, OBJ_TREND, 0, openTime, level, closeTime, level);
            ObjectSet(levelName, OBJPROP_COLOR, BlueViolet);
            ObjectSet(levelName, OBJPROP_WIDTH, 0);
            ObjectSet(levelName, OBJPROP_BACK, true);
            ObjectSet(levelName, OBJPROP_RAY, false);
            ObjectSet(levelName, OBJPROP_STYLE, STYLE_DASH);
            

            
            
            //1й уровень - (корень от открытия дня + 0.125)в квадрате зеленый цвет полужирный уровень аналогично и с поддержкой только отнять 0.125
            double level1Up = MathPow((MathSqrt(openDay) + level1), 2);
            string level1UpName = "level1Up" + TimeDay(Time[i]);
            ObjectCreate(level1UpName, OBJ_TREND, 0, openTime, level1Up, closeTime, level1Up);
            ObjectSet(level1UpName, OBJPROP_COLOR, Green);
            ObjectSet(level1UpName, OBJPROP_WIDTH, 2);
            ObjectSet(level1UpName, OBJPROP_BACK, true);
            ObjectSet(level1UpName, OBJPROP_RAY, false);
            
                        
       
            
            double level1Down = MathPow((MathSqrt(openDay) - level1), 2);
            string level1DownName = "level1Down" + TimeDay(Time[i]);
            ObjectCreate(level1DownName, OBJ_TREND, 0, openTime, level1Down, closeTime, level1Down);
            ObjectSet(level1DownName, OBJPROP_COLOR, Green);
            ObjectSet(level1DownName, OBJPROP_WIDTH, 2);
            ObjectSet(level1DownName, OBJPROP_BACK, true);
            ObjectSet(level1DownName, OBJPROP_RAY, false);
            
     
            
            //2й) корень от открытия дня + 0.25)в квадрате синий полужирный и аналогично для поддержки только минус 0.25
            double level2Up = MathPow((MathSqrt(openDay) + level2), 2);
            string level2UpName = "level2Up" + TimeDay(Time[i]);
            ObjectCreate(level2UpName, OBJ_TREND, 0, openTime, level2Up, closeTime, level2Up);
            ObjectSet(level2UpName, OBJPROP_COLOR, SkyBlue);
            ObjectSet(level2UpName, OBJPROP_WIDTH, 0);
            ObjectSet(level2UpName, OBJPROP_BACK, true);
            ObjectSet(level2UpName, OBJPROP_RAY, false);

            
            double level2Down = MathPow((MathSqrt(openDay) - level2), 2);
            string level2DownName = "level2Down" + TimeDay(Time[i]);
            ObjectCreate(level2DownName, OBJ_TREND, 0, openTime, level2Down, closeTime, level2Down);
            ObjectSet(level2DownName, OBJPROP_COLOR, Orange);
            ObjectSet(level2DownName, OBJPROP_WIDTH, 0);
            ObjectSet(level2DownName, OBJPROP_BACK, true);
            ObjectSet(level2DownName, OBJPROP_RAY, false);
                        

            
            //3йкорень от открытия дня + 0.333)в квадрате тонкий синий аналогично для поддержки только -0.333
            double level3Up = MathPow((MathSqrt(openDay) + level3), 2);
            string level3UpName = "level3Up" + TimeDay(Time[i]);
            ObjectCreate(level3UpName, OBJ_TREND, 0, openTime, level3Up, closeTime, level3Up);
            ObjectSet(level3UpName, OBJPROP_COLOR, SkyBlue);
            ObjectSet(level3UpName, OBJPROP_WIDTH, 0);
            ObjectSet(level3UpName, OBJPROP_BACK, true);
            ObjectSet(level3UpName, OBJPROP_RAY, false);
            

            
            double level3Down = MathPow((MathSqrt(openDay) - level3), 2);
            string level3DownName = "level3Down" + TimeDay(Time[i]);
            ObjectCreate(level3DownName, OBJ_TREND, 0, openTime, level3Down, closeTime, level3Down);
            ObjectSet(level3DownName, OBJPROP_COLOR, Orange);
            ObjectSet(level3DownName, OBJPROP_WIDTH, 0);
            ObjectSet(level3DownName, OBJPROP_BACK, true);
            ObjectSet(level3DownName, OBJPROP_RAY, false);
            
            
  
            
            //4й уровень корень от открытия дня + 0.5)в квадрате полужирный синий цвет.... аналогично для поддержки только минус 0.5
            double level4Up = MathPow((MathSqrt(openDay) + level4), 2);
            string level4UpName = "level4Up" + TimeDay(Time[i]);
            ObjectCreate(level4UpName, OBJ_TREND, 0, openTime, level4Up, closeTime, level4Up);
            ObjectSet(level4UpName, OBJPROP_COLOR, SkyBlue);
            ObjectSet(level4UpName, OBJPROP_WIDTH, 2);
            ObjectSet(level4UpName, OBJPROP_BACK, true);
            ObjectSet(level4UpName, OBJPROP_RAY, false);

            
            double level4Down = MathPow((MathSqrt(openDay) - level4), 2);
            string level4DownName = "level4Down" + TimeDay(Time[i]);
            ObjectCreate(level4DownName, OBJ_TREND, 0, openTime, level4Down, closeTime, level4Down);
            ObjectSet(level4DownName, OBJPROP_COLOR, Orange);
            ObjectSet(level4DownName, OBJPROP_WIDTH, 2);
            ObjectSet(level4DownName, OBJPROP_BACK, true);
            ObjectSet(level4DownName, OBJPROP_RAY, false);
   
            //5й уровень корень от открытия дня + 0.0.666)в квадрате тонкий 
            double level5Up = MathPow((MathSqrt(openDay) + level5), 2);
            string level5UpName = "level5Up" + TimeDay(Time[i]);
            ObjectCreate(level5UpName, OBJ_TREND, 0, openTime, level5Up, closeTime, level5Up);
            ObjectSet(level5UpName, OBJPROP_COLOR, SkyBlue);
            ObjectSet(level5UpName, OBJPROP_WIDTH, 0);
            ObjectSet(level5UpName, OBJPROP_BACK, true);
            ObjectSet(level5UpName, OBJPROP_RAY, false);
            
            double level5Down = MathPow((MathSqrt(openDay) - level5), 2);
            string level5DownName = "level5Down" + TimeDay(Time[i]);
            ObjectCreate(level5DownName, OBJ_TREND, 0, openTime, level5Down, closeTime, level5Down);
            ObjectSet(level5DownName, OBJPROP_COLOR, Orange);
            ObjectSet(level5DownName, OBJPROP_WIDTH, 0);
            ObjectSet(level5DownName, OBJPROP_BACK, true);
            ObjectSet(level5DownName, OBJPROP_RAY, false);
            
            //6й корень от открытия дня + 0.75)в квадрате тонкий все аналогично и для поддержки
            double level6Up = MathPow((MathSqrt(openDay) + level6), 2);
            string level6UpName = "level6Up" + TimeDay(Time[i]);
            ObjectCreate(level6UpName, OBJ_TREND, 0, openTime, level6Up, closeTime, level6Up);
            ObjectSet(level6UpName, OBJPROP_COLOR, SkyBlue);
            ObjectSet(level6UpName, OBJPROP_WIDTH, 0);
            ObjectSet(level6UpName, OBJPROP_BACK, true);
            ObjectSet(level6UpName, OBJPROP_RAY, false);
                  
            double level6Down = MathPow((MathSqrt(openDay) - level6), 2);
            string level6DownName = "level6Down" + TimeDay(Time[i]);
            ObjectCreate(level6DownName, OBJ_TREND, 0, openTime, level6Down, closeTime, level6Down);
            ObjectSet(level6DownName, OBJPROP_COLOR, Orange);
            ObjectSet(level6DownName, OBJPROP_WIDTH, 0);
            ObjectSet(level6DownName, OBJPROP_BACK, true);
            ObjectSet(level6DownName, OBJPROP_RAY, false);
            
            //7й корень от открытия дня + 1)в квадрате полужирный
            double level7Up = MathPow((MathSqrt(openDay) + level7), 2);
            string level7UpName = "level7Up" + TimeDay(Time[i]);
            ObjectCreate(level7UpName, OBJ_TREND, 0, openTime, level7Up, closeTime, level7Up);
            ObjectSet(level7UpName, OBJPROP_COLOR, SkyBlue);
            ObjectSet(level7UpName, OBJPROP_WIDTH, 3);
            ObjectSet(level7UpName, OBJPROP_BACK, true);
            ObjectSet(level7UpName, OBJPROP_RAY, false);
            
            double level7Down = MathPow((MathSqrt(openDay) - level7), 2);
            string level7DownName = "level7Down" + TimeDay(Time[i]);
            ObjectCreate(level7DownName, OBJ_TREND, 0, openTime, level7Down, closeTime, level7Down);
            ObjectSet(level7DownName, OBJPROP_COLOR, Orange);
            ObjectSet(level7DownName, OBJPROP_WIDTH, 3);
            ObjectSet(level7DownName, OBJPROP_BACK, true);
            ObjectSet(level7DownName, OBJPROP_RAY, false);
            
            
            if(showText) {
                string label = "level0label" + TimeDay(Time[i]);
                string text = "Открытие дня";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level1UpLabel" + TimeDay(Time[i]);
                text = "Уровень 1";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level1Up);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level1DownLabel" + TimeDay(Time[i]);
                text = "Уровень -1";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level1Down);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level2UpLabel" + TimeDay(Time[i]);
                text = "Уровень 2";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level2Up);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level2DownLabel" + TimeDay(Time[i]);
                text = "Уровень -2";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level2Down);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level3UpLabel" + TimeDay(Time[i]);
                text = "Уровень 3";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level3Up);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level3DownLabel" + TimeDay(Time[i]);
                text = "Уровень -3";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level3Down);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level4UpLabel" + TimeDay(Time[i]);
                text = "Уровень 4";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level4Up);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level4DownLabel" + TimeDay(Time[i]);
                text = "Уровень -4";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level4Down);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level5UpLabel" + TimeDay(Time[i]);
                text = "Уровень 5";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level5Up);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level5DownLabel" + TimeDay(Time[i]);
                text = "Уровень -5";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level5Down);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level6UpLabel" + TimeDay(Time[i]);
                text = "Уровень 6";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level6Up);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level6DownLabel" + TimeDay(Time[i]);
                text = "Уровень -6";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level6Down);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level7UpLabel" + TimeDay(Time[i]);
                text = "Уровень 7";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level7Up);
                ObjectSetText(label, text, 8, "Tahoma", Black);
                label = "level7DownLabel" + TimeDay(Time[i]);
                text = "Уровень -7";
                ObjectCreate(label, OBJ_TEXT, 0, openTime + StringLen(text), level7Down);
                ObjectSetText(label, text, 8, "Tahoma", Black);
            }
            days++;
        } 
        if(days >= drowDays) {
            break;
        }
    }
    return(0);
}

응답함

1
개발자 1
등급
(45)
프로젝트
50
34%
중재
14
7% / 64%
기한 초과
15
30%
무료
2
개발자 2
등급
(42)
프로젝트
70
21%
중재
0
기한 초과
0
무료
3
개발자 3
등급
(570)
프로젝트
941
47%
중재
302
59% / 25%
기한 초과
125
13%
작업중
4
개발자 4
등급
(24)
프로젝트
27
33%
중재
2
100% / 0%
기한 초과
1
4%
무료
5
개발자 5
등급
(359)
프로젝트
637
26%
중재
89
73% / 13%
기한 초과
12
2%
작업중
게재됨: 1 코드
6
개발자 6
등급
(255)
프로젝트
577
36%
중재
64
20% / 58%
기한 초과
147
25%
무료
게재됨: 1 기고글, 22 코드
7
개발자 7
등급
(280)
프로젝트
650
28%
중재
111
19% / 61%
기한 초과
319
49%
무료
8
개발자 8
등급
(774)
프로젝트
1093
42%
중재
47
49% / 23%
기한 초과
84
8%
무료
9
개발자 9
등급
(163)
프로젝트
193
61%
중재
7
14% / 29%
기한 초과
2
1%
무료
게재됨: 3 코드
10
개발자 10
등급
(481)
프로젝트
560
38%
중재
2
100% / 0%
기한 초과
1
0%
무료
게재됨: 9 코드
11
개발자 11
등급
(83)
프로젝트
154
29%
중재
1
100% / 0%
기한 초과
27
18%
무료
12
개발자 12
등급
(69)
프로젝트
146
34%
중재
11
9% / 55%
기한 초과
26
18%
무료
게재됨: 6 코드
13
개발자 13
등급
(4)
프로젝트
4
50%
중재
0
기한 초과
0
무료
14
개발자 14
등급
(223)
프로젝트
284
20%
중재
4
0% / 100%
기한 초과
4
1%
작업중
비슷한 주문
Cryptoarbitrage 100 - 150 USD
Написать бота для одноногого межбиржевого арбитража (margin spot, futures) в Python с использованием ccxtpro(websocket) для торговли по API на реальном счете биржи с использованием сравнения котировок других бирж. Визуализация проекта в web интерфейсе браузера

프로젝트 정보

예산
30+ USD
개발자에게
27 USD