Trabalho concluído
Tempo de execução 2 horas
Comentário do cliente
Все супер!!! Работа на все 1000% !!! Понимает сразу , добавляет от себя нужные детали !!! Очень доволен - рекомендую !!!
Comentário do desenvolvedor
Работать с таким заказчиком достаточно комфортно. Рекомендую к совестной деятельности.
Termos de Referência
//+------------------------------------------------------------------+
//| 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);
}
Respondido
1
Classificação
Projetos
50
34%
Arbitragem
14
7%
/
64%
Expirado
15
30%
Livre
2
Classificação
Projetos
62
21%
Arbitragem
0
Expirado
0
Livre
3
Classificação
Projetos
932
47%
Arbitragem
302
59%
/
25%
Expirado
124
13%
Trabalhando
4
Classificação
Projetos
27
33%
Arbitragem
2
100%
/
0%
Expirado
1
4%
Livre
5
Classificação
Projetos
632
26%
Arbitragem
89
73%
/
13%
Expirado
12
2%
Livre
6
Classificação
Projetos
573
36%
Arbitragem
64
20%
/
58%
Expirado
147
26%
Livre
7
Classificação
Projetos
650
28%
Arbitragem
111
19%
/
61%
Expirado
319
49%
Livre
8
Classificação
Projetos
1043
39%
Arbitragem
47
49%
/
23%
Expirado
84
8%
Livre
9
Classificação
Projetos
193
61%
Arbitragem
7
14%
/
29%
Expirado
2
1%
Livre
10
Classificação
Projetos
395
34%
Arbitragem
2
100%
/
0%
Expirado
0
Trabalhando
11
Classificação
Projetos
145
28%
Arbitragem
1
100%
/
0%
Expirado
27
19%
Livre
12
Classificação
Projetos
143
34%
Arbitragem
10
10%
/
60%
Expirado
26
18%
Livre
13
Classificação
Projetos
4
50%
Arbitragem
0
Expirado
0
Livre
14
Classificação
Projetos
279
20%
Arbitragem
4
0%
/
100%
Expirado
4
1%
Trabalhando
Pedidos semelhantes
1. Стратегия реверсная. Задается диапазон от которого ведется торговля, если сделка пошла не в нашем направлении, то текущая сделка закрывается и открывается новая сделка в противоположном направлении. Таким образом процесс повторяется до получения прибыли. 2. Все исходные параметры задаются через панель управления. 3. Направление торговли задается вручную. 4. Смена таймфрейма на графике на работу советника влиять не
Informações sobre o projeto
Orçamento
30+ USD
Desenvolvedor
27
USD