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