Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Написание Индикатора

Здравствуйте, хочу попросить Вас написать индикатор.
Построение линий по прошлому дню. самый высокий хай на Н1 и самый низкий лоу на Н1 прошлого дня.
Линии должны наносится на график 23.59.







Индикаторы которые есть в иннете не настраиваются по хай и лоу на Н1, линии ставятся ниже.
прошу вас помочь с этим вопросом)
  • 0
  • Просмотров: 2592
  • 27 октября 2017, 20:43
  • maksGruv
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Cоветник EA-SSLv.1
Следующая запись в группе  
Советник на индикаторе 3_Level_ZZ_Semafor_Alert
26 октября 2017
28 октября 2017

Брокер для ваших роботов, 15 лет на рынке

Комментарии (14)

+
0
После выходных посмотрю.
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 27 октября 2017, 20:58
+
0
Вот индикатор, который рисует максимум и минимум, а также цену открытия вчерашнего дня. Может пригодится.
//+------------------------------------------------------------------+
//| Igrok.mq4 |
//| Andrei Andreev |
//| www.andand.ru |
//+------------------------------------------------------------------+

// BASED ON:
//+------------------------------------------------------------------+
//| ^X_Sensors.mq4 |
//| Version 2.0.1 |
//|------------------------------------------------------------------|
//| Copyright © 2007, Mr.WT, Senior Linux Hacker |
//| w-tiger.narod.ru/wk2/ |
//+------------------------------------------------------------------+
#property copyright «Andrei Andreev»
#property link «www.andand.ru»

#property indicator_chart_window
extern int ForDays=10;
extern int _Shift = 20;
extern color _R_Color = Crimson;
extern color _S_Color = Gold;

int _N_Time, _My_Period, ObjectId;
string OBJECT_PREFIX = «LEVELS»;
//-------------------------------------------------------------------------------------------
int init() {

_My_Period=PERIOD_D1;

_N_Time = 0;

ObjectCreate(«S1 line», OBJ_TREND, 0, Time[_Shift], 0, Time[0], 0);

ObjectCreate(«R1 line», OBJ_TREND, 0, Time[_Shift], 0, Time[0], 0);
ObjectCreate(«R2 line», OBJ_TREND, 0, Time[_Shift], 0, Time[0], 0);

ObjectSet(«S1 line», OBJPROP_RAY, 1);
ObjectSet(«S1 line», OBJPROP_STYLE, STYLE_DASH);
ObjectSet(«S1 line», OBJPROP_COLOR, _S_Color);

ObjectSet(«R1 line», OBJPROP_RAY, 1);
ObjectSet(«R1 line», OBJPROP_STYLE, STYLE_DASH);
ObjectSet(«R1 line», OBJPROP_COLOR, _R_Color);

ObjectSet(«R2 line», OBJPROP_RAY, 1);
ObjectSet(«R2 line», OBJPROP_STYLE, STYLE_DASH);
ObjectSet(«R2 line», OBJPROP_COLOR, _R_Color);

ObjectCreate(«R1 label», OBJ_TEXT, 0, Time[0], 0);
ObjectCreate(«R2 label», OBJ_TEXT, 0, Time[0], 0);

ObjectCreate(«S1 label», OBJ_TEXT, 0, Time[0], 0);

ObjectId = 0;
return(0);
}
//-------------------------------------------------------------------------------------------
int deinit() {

ObjectDelete(«R1 label»);
ObjectDelete(«R1 line»);
ObjectDelete(«R2 label»);
ObjectDelete(«R2 line»);

ObjectDelete(«S1 label»);
ObjectDelete(«S1 line»);

ObDeleteObjectsByPrefix(OBJECT_PREFIX);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() {

if ( _N_Time == Time[0] ) return(0);

double open,close, high, low, koeff1, koeff2,P, R1, R2, S1;
double _rates[][6];
double AverageRange;

ArrayCopyRates(_rates, NULL, _My_Period);
int err = GetLastError();
if(err == 4066) {
Sleep(1000);
if(iClose(NULL, _My_Period, 0) != Close[0]) {
Sleep(1000);
return(0);
}
}
close = _rates[1][4];
high = _rates[0][3];
low = _rates[0][2];
open = _rates[0][1];

AverageRange=0;
for (int i=1;i<ForDays+1;i++)
{
AverageRange=AverageRange+(_rates[i][3]-_rates[i][2])/Point;
}
AverageRange=NormalizeDouble(AverageRange/ForDays,0);

Comment("\nДиапазон:",
"\nСегодня: ",(high-low)/Point,
"\nВчера: ",(_rates[1][3]-_rates[1][2])/Point,
"\nСредний: ",AverageRange," за ",ForDays," дней");

S1 =open;
R1 =low;
R2 =high;

string s1,r1,r2;

s1 = DoubleToStr(S1, Digits);

r1 = DoubleToStr(R1, Digits);
r2 = DoubleToStr(R2, Digits);

//---- Pivot Lines
ObjectSetText(«R1 label», " Min "+r1+"", 8, «Fixedsys», _R_Color);
ObjectSetText(«R2 label», " Max "+r2+"", 8, «Fixedsys», _R_Color);
ObjectSetText(«S1 label», " Open "+s1+"", 8, «Fixedsys», _S_Color);

ObjectMove(«R1 label», 0, Time[0], R1);
ObjectMove(«R2 label», 0, Time[0], R2);

ObjectMove(«S1 label», 0, Time[0], S1);

ObjectMove(«S1 line», 0, Time[_Shift], S1);
ObjectMove(«S1 line», 1, Time[0], S1);

ObjectMove(«R1 line», 0, Time[_Shift], R1);
ObjectMove(«R1 line», 1, Time[0], R1);

ObjectMove(«R2 line», 0, Time[_Shift], R2);
ObjectMove(«R2 line», 1, Time[0], R2);

//====
_N_Time = Time[0];
//---- End Of Program
return(0);
}
//+------------------------------------------------------------------+

void ObDeleteObjectsByPrefix(string Prefix)
{
int L = StringLen(Prefix);
int i = 0;
while(i < ObjectsTotal())
{
string ObjName = ObjectName(i);
if(StringSubstr(ObjName, 0, L) != Prefix)
{
i++;
continue;
}
ObjectDelete(ObjName);
}
}
//-------------------------------------------------------------------------------------------


Редактирован: 28 октября 2017, 08:45
avatar

  12  sledopyt Сообщений: 151

  • 28 октября 2017, 08:43
+
0
не компилируется(
avatar

  9  maksGruv Автор Сообщений: 340

  • 28 октября 2017, 14:08
+
0
Написал по ТЗ: www.opentraders.ru/downloads/1706/

avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 28 октября 2017, 11:14
+
0
Андрей, немного ни так) по телам линии должны ставится) а так сейчас погоняю в тестере)
avatar

  9  maksGruv Автор Сообщений: 340

  • 28 октября 2017, 13:41
+
0
Андрей, немного ни так) по телам линии должны ставится)

По каким телам? В ТЗ об этом ни слова.
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 28 октября 2017, 14:20
+
0

тут получается часть движения не захватываем(
avatar

  9  maksGruv Автор Сообщений: 340

  • 28 октября 2017, 13:47
+
0
Набросаю после выходных и по телам тоже и в 23:59 :) 
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 28 октября 2017, 15:01
+
0
спасибо)
avatar

  9  maksGruv Автор Сообщений: 340

  • 28 октября 2017, 16:41
+
0
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 29 октября 2017, 09:00
+
0
спасибо Огромное!!!
avatar

  9  maksGruv Автор Сообщений: 340

  • 30 октября 2017, 10:18
+
0
Поставил на график, а там вот как стряпает:



А должно быть так:


можно поправить?)
avatar

  9  maksGruv Автор Сообщений: 340

  • 30 октября 2017, 10:41
+
0
Поставил на график, а там вот как стряпает:


Он в 23:59 только нормально состряпает. Все по ТЗ.
avatar

  35  AM2 Сообщений: 16266 - Андрей

  • 30 октября 2017, 20:42
+
0
понял спасибо)
Очень помогли!)
avatar

  9  maksGruv Автор Сообщений: 340

  • 30 октября 2017, 20:58

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий