Forexman77: А если просто комп выключить или сервер вырубится на котором советник?
Тут интересно. Global Variables хранятся в кэше и при каких-то обстоятельствах пишутся в файл. Вроде как через определенное время или при деинициализации. При реальной работе бывали случаи, что при резкой перезагрузке компа просто терялся gvariables.dat (файл в котором хранятся значения Global Variables). Это нужно учитывать, при работе. Ну или просто они не успели прописаться на диск из кэша. Тоесть гарантий нет, что они уже на диске а не в кэше. Поправьте меня, если ошибаюсь.
Forexman77:
Начал читать и изучать. Теперь знаю что глобальные переменные и Global Variables разные вещи.
Кстати на счет ошибки 129, про которую у Вас так часто спрашивал. Дело в том, что у меня ДЦ пятизнак,
а советнике слипейдж 2, скорее всего поэтому советник за ценой не успевал. Теперь поставлю 15 пунктов.
Врядли из-за этого. У меня на пятизнаке стоит 3. Всё открывается нормально. Насколько я помню, брокеры договорились что пункт - это всё же базовый пункт, принятый повсеместно (4-я цифра после нуля) а дробность пункта это дробность. Чтобы впоследствии при вводе 6,7 и 8-знака, каждый раз не менялся смысл понятия "пункт".
Тут интересно. Global Variables хранятся в кэше и при каких-то обстоятельствах пишутся на в файл. Вроде как через определенное время. При реальной работе бывали случаи, что при резкой перезагрузке компа просто терялся gvariables.dat (файл в котором хранятся значения Global Variables). Это нужно учитывать, при работе. Ну или просто они не успели прописаться на диск из кэша. Тоесть гарантий нет, что они уже на диске а не в кэше. Поправьте меня, если ошибаюсь.
Может можно попробовать записать ее, потом выключить комп. И при включении попробовать Alert вызвать, на предмет наличия. Хотя врать не буду, пока пользуюсь только статическими переменными и флагами и ничего точно сказать Global Variables про не могу.
Forexman77: Может можно попробовать записать ее, потом выключить комп. И при включении попробовать Alert вызвать, на предмет наличия. Хотя врать не буду, пока пользуюсь только статическими переменными и флагами и ничего точно сказать Global Variables про не могу.
Можно просто посмотреть в меню -> Сервис -> Глобальные переменные. Там есть список. Ну или GlobalVariableCheck-ом. Я по опыту понял, что лучше все сохранять в физический файл все же.
Здравствуйте! Найдите пожалуйста ошибки в моих рассуждениях.
Вот и заканчивается второй день, как я бьюсь над созданием индикатора, а именно над отображением линии на дополнительном окне, которое прикреплено к основному. Мое мнение, необходимо провести вычисления над не подсчитанными барами и дать значения результатов вычислений буферу. На этот раз, использую для примера более сложный код (мне приятно работать с относительно огромными кодами). Вот "полянка творчества" :
//+--------------------------------------------+#property indicator_separate_window#property indicator_minimum -10#property indicator_maximum10#property indicator_buffers1#property indicator_color1 Blue
externdouble N = 1;
//+--------------------------------------------+//Deklaration |//+--------------------------------------------+double A; double C;
double M; double D;
double L; double I;
double B; double F;
double K; double Buf_0[];
double G;
//+--------------------------------------------+int init(){
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
return; }
//+--------------------------------------------+int start() {
//Level 1
A = iRSI(Symbol(),0,10,0,0);
M = iRSI(Symbol(),0,20,0,0);
L = iRSI(Symbol(),0,15,0,0);
B = iStochastic(Symbol(),0,10,6,6,0,0,0,0);
K = iStochastic(Symbol(),0,10,6,6,0,0,1,0);
C = iADX(Symbol(),0,10,0,0,0);
D = iADX(Symbol(),0,10,0,1,0);
I = iADX(Symbol(),0,10,0,2,0);
F = iRVI(Symbol(),0,10,0,0);
//Level 2
Buf_0[0] = N *(((B + F) / K) - ((D + I) / C) + ((A + M) / L));
return; }
//+-------------------------------------------+
.
Хорошо видно, что "на данной поляночке" значение буфера равно "0", т.е. этот индикатор будет рисовать линию только с момента запуска торговой платформы. А мне нужны, помимо действительных данных, исторические.
Я использовал информацию, описанную в этом коде (взял из учебника по MQ4):
//--------------------------------------------------------------------// separatewindow.mq4 // Предназначен для использования в качестве примера в учебнике MQL4.//--------------------------------------------------------------------#property indicator_separate_window// Отображение в отдельном окне#property indicator_buffers1// Количество буферов#property indicator_color1 Blue // Цвет первой линии#property indicator_color2 Red // Цвет второй линииexternint History =50; // Колич.баров в расчётной историиexternint Aver_Bars=5; // Количество баров для расчётаdouble Buf_0[]; // Объявление индикаторного массива//--------------------------------------------------------------------int init() // Специальная функция init()
{
SetIndexBuffer(0,Buf_0); // Назначение массива буферуSetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линииreturn; // Выход из спец. ф-ии init()
}
//--------------------------------------------------------------------int start() // Специальная функция start()
{
int i, // Индекс бара
n, // Формальный параметр
Counted_bars; // Количество просчитанных баров double
Sum_H, // Сумма значений High за период
Sum_L; // Сумма значений Low за период//--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1; // Индекс первого непосчитанногоif (i>History-1) // Если много баров то ..
i=History-1; // ..рассчитывать заданное колич.while(i>=0) // Цикл по непосчитанным барам
{
Sum_H=0; // Обнуление в начале цикла
Sum_L=0; // Обнуление в начале циклаfor(n=i;n<=i+Aver_Bars-1;n++) // Цикл суммирования значений
{
Sum_H=Sum_H + High[n]; // Накопление суммы макс.значений
Sum_L=Sum_L + Low[n]; // Накопление суммы мин. значений
}
Buf_0[i]=(Sum_H-Sum_L)/Aver_Bars;// Знач. 0 буфера на i-ом баре
i--; // Расчёт индекса следующего бара
}
//--------------------------------------------------------------------return; // Выход из спец. ф-ии start()
}
//--------------------------------------------------------------------
Вычленю надобное мне и получу...
externint History =50; // Колич.баров в расчётной историиexternint Aver_Bars=5; // Количество баров для расчётаdouble Buf_0[]; // Объявление индикаторного массиваint start() // Специальная функция start()
{
int i, // Индекс бара
n, // Формальный параметр
Counted_bars; // Количество просчитанных баров
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars-1; // Индекс первого непосчитанногоif (i>History-1) // Если много баров то ..
i=History-1; // ..рассчитывать заданное колич.
Buf_0[i]=(Sum_H-Sum_L)/Aver_Bars;// Знач. 0 буфера на i-ом баре
i--;
Затем, привожу к "парадному виду", удалив комментарии и разделив логически, получаю:
//|+--------------------------------------+//|Inputs |//|+--------------------------------------+externint History =50;
//|+--------------------------------------+//|Declaration |//|+--------------------------------------+double Buf_0[];
int i;
int n;
int Counted_bars;
//|+--------------------------------------+//| Start? |//| Yes, babe! |//|+--------------------------------------+int start(){
//+-----------+//Level 1 //+-----------+
Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-1;
//+-----------+//Level 2//+-----------+if (i>History-1) i=History-1;
//+------------+//Level 3 //+------------+
Buf_0[i]=
i--;
//+---------------------------------------+
Вот и остался я с объектами, которые необходимо синтезировать с "главным" кодом. Выполнив слияние, получаю такой код:
//+--------------------------------------------+#property indicator_separate_window#property indicator_minimum -10#property indicator_maximum10#property indicator_buffers1#property indicator_color1 Blue
//|+--------------------------------------------+//|Inputs |//|+--------------------------------------------+externdouble N = 1;
externint History =50;
//|+--------------------------------------------+//|Deklaration |//|+--------------------------------------------+double A; double C; int i;
double M; double D;
double L; double I; int Counted_bars;
double B; double F;
double K; double Buf_0[];
double G;
//|+--------------------------------------------+int init(){
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
return; }
//|+--------------------------------------------+int start() {
//|+-----------+//|Level 1 |//|+-----------+
A = iRSI(Symbol(),0,10,0,0);
M = iRSI(Symbol(),0,20,0,0);
L = iRSI(Symbol(),0,15,0,0);
B = iStochastic(Symbol(),0,10,6,6,0,0,0,0);
K = iStochastic(Symbol(),0,10,6,6,0,0,1,0);
C = iADX(Symbol(),0,10,0,0,0);
D = iADX(Symbol(),0,10,0,1,0);
I = iADX(Symbol(),0,10,0,2,0);
F = iRVI(Symbol(),0,10,0,0);
Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-1;
//+-----------+//Level 2 |//+-----------+if (i>History-1) i=History-1;
Buf_0[i] = N *(((B + F) / K) - ((D + I) / C) + ((A + M) / L));
return; }
//+-------------------------------------------+
Входе программирования, я декоративно изменил "главный" код и убрал некие значения из "придаточного". Запустив код в работу, обратил внимание на горизонтальную линию, которая свидетельствовала о ошибке в ходе рассуждений, ибо технические индикаторы, используемые в пользовательском индикаторе, не могут давать, на протяжении длительного промежутка времени, значения, выстроившие график функции " y = x ".
Справка. Зовут меня Джон (Евгений, но на Американский лад).
Мне 15 лет, занимаюсь трейдингом 5 день и чувствую огромный прогресс в изучении областей ведения валютного дилинга, а именно индикаторного анализа и графического анализа (короче, т.а. :) ). Чувствую, что "ручной торг" становится все менее перспективным, потому решил сразу перейти на "автоматизированный торг".
"ПРИДЕРАЙТЕСЬ" КО ВСЕМ НЕАДЕКВАТНЫМ СУЖДЕНИЯМ! Я хочу знать больше, а ваши комментарии мне помогут.
Link_x: Здравствуйте! Найдите пожалуйста ошибки в моих рассуждениях.
Вот и заканчивается второй день, как я бьюсь над созданием индикатора, а именно над отображением линии на дополнительном окне, которое прикреплено к основному. Мое мнение, необходимо провести вычисления над не подсчитанными барами и дать значения результатов вычислений буферу. На этот раз, использую для примера более сложный код (мне приятно работать с относительно огромными кодами). Вот "полянка творчества" :
.
Хорошо видно, что "на данной поляночке" значение буфера равно "0", т.е. этот индикатор будет рисовать линию только с момента запуска торговой платформы. А мне нужны, помимо действительных данных, исторические.
Я использовал информацию, описанную в этом коде (взял из учебника по MQ4):
Вычленю надобное мне и получу...
Затем, привожу к "парадному виду", удалив комментарии и разделив логически, получаю:
Вот и остался я с объектами, которые необходимо синтезировать с "главным" кодом. Выполнив слияние, получаю такой код:
Входе программирования, я декоративно изменил "главный" код и убрал некие значения из "придаточного". Запустив код в работу, обратил внимание на горизонтальную линию, которая свидетельствовала о ошибке в ходе рассуждений, ибо технические индикаторы, используемые в пользовательском индикаторе, не могут давать, на протяжении длительного промежутка времени, значения, выстроившие график функции " y = x ".
Справка. Зовут меня Джон (Евгений, но на Американский лад).
Мне 15 лет, занимаюсь трейдингом 5 день и чувствую огромный прогресс в изучении областей ведения валютного дилинга, а именно индикаторного анализа и графического анализа (короче, т.а. :) ). Чувствую, что "ручной торг" становится все менее перспективным, потому решил сразу перейти на "автоматизированный торг".
"ПРИДЕРАЙТЕСЬ" КО ВСЕМ НЕАДЕКВАТНЫМ СУЖДЕНИЯМ! Я хочу знать больше, а ваши комментарии мне помогут.
Начяло хорошее.
Обрати внимание на переменную History, попробуй подставить другое значение.
// Джон(Евгений).mq4 //+--------------------------------------------+#property indicator_separate_window//#property indicator_minimum -10//#property indicator_maximum 10#property indicator_buffers1#property indicator_color1 Blue
//|+--------------------------------------------+//|Inputs |//|+--------------------------------------------+externdouble N = 1;
externint History =50;
//|+--------------------------------------------+//|Deklaration |//|+--------------------------------------------+double A; double C; int i;
double M; double D;
double L; double I; int Counted_bars;
double B; double F;
double K; double Buf_0[];
double G;
//|+--------------------------------------------+int init(){
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
return; }
//|+--------------------------------------------+int start()
{
//|+-----------+//|Level 1 |//|+-----------+for( i=0; i<History; i++)
{
A = iRSI(Symbol(),0,10,0,i);
M = iRSI(Symbol(),0,20,0,i);
L = iRSI(Symbol(),0,15,0,0);
B = iStochastic(Symbol(),0,10,6,6,0,0,0,i);
K = iStochastic(Symbol(),0,10,6,6,0,0,1,i);
C = iADX(Symbol(),0,10,0,0,i);
D = iADX(Symbol(),0,10,0,1,i);
I = iADX(Symbol(),0,10,0,2,i);
F = iRVI(Symbol(),0,10,0,i);
Buf_0[i] = N *(((B + F) / K) - ((D + I) / C) + ((A + M) / L));
}
return;
}
//+-------------------------------------------+
Link_x: Здравствуйте! Найдите пожалуйста ошибки в моих рассуждениях.
Вот и заканчивается второй день, как я бьюсь над созданием индикатора, а именно над отображением линии на дополнительном окне, которое прикреплено к основному. Мое мнение, необходимо провести вычисления над не подсчитанными барами и дать значения результатов вычислений буферу. На этот раз, использую для примера более сложный код (мне приятно работать с относительно огромными кодами). Вот "полянка творчества" :
.
Хорошо видно, что "на данной поляночке" значение буфера равно "0", т.е. этот индикатор будет рисовать линию только с момента запуска торговой платформы. А мне нужны, помимо действительных данных, исторические.
Я использовал информацию, описанную в этом коде (взял из учебника по MQ4):
Вычленю надобное мне и получу...
Затем, привожу к "парадному виду", удалив комментарии и разделив логически, получаю:
Вот и остался я с объектами, которые необходимо синтезировать с "главным" кодом. Выполнив слияние, получаю такой код:
Входе программирования, я декоративно изменил "главный" код и убрал некие значения из "придаточного". Запустив код в работу, обратил внимание на горизонтальную линию, которая свидетельствовала о ошибке в ходе рассуждений, ибо технические индикаторы, используемые в пользовательском индикаторе, не могут давать, на протяжении длительного промежутка времени, значения, выстроившие график функции " y = x ".
Справка. Зовут меня Джон (Евгений, но на Американский лад).
Мне 15 лет, занимаюсь трейдингом 5 день и чувствую огромный прогресс в изучении областей ведения валютного дилинга, а именно индикаторного анализа и графического анализа (короче, т.а. :) ). Чувствую, что "ручной торг" становится все менее перспективным, потому решил сразу перейти на "автоматизированный торг".
"ПРИДЕРАЙТЕСЬ" КО ВСЕМ НЕАДЕКВАТНЫМ СУЖДЕНИЯМ! Я хочу знать больше, а ваши комментарии мне помогут.
Начинай копать в сторону циклов (for, wile, while do) на предмет зачем оно надо ваще )))
Если нужны значения на исторических данных - без перебора этих самых данных в цикле никак ;)
Выше давали пример с History, задающей кол-во баров истории, которые будут обработаны индикатором, вот от этого и пляши.
При инициализации сбрасывается всё, кроме Global Variables
И тут нужно уточнить, что GV - это переменные терминала, а не советника.
Начал читать и изучать. Теперь знаю что глобальные переменные и Global Variables разные вещи.
Кстати на счет ошибки 129, про которую у Вас так часто спрашивал. Дело в том, что у меня ДЦ пятизнак,
а советнике слипейдж 2, скорее всего поэтому советник за ценой не успевал. Теперь поставлю 15 пунктов.
И тут нужно уточнить, что GV - это переменные терминала, а не советника.
Ну я в том смысле, что советник с ними может работать, как раз для сохранения значений при инициализации (в том числе).
А если просто комп выключить или сервер вырубится на котором советник?
Тут интересно. Global Variables хранятся в кэше и при каких-то обстоятельствах пишутся в файл. Вроде как через определенное время или при деинициализации. При реальной работе бывали случаи, что при резкой перезагрузке компа просто терялся gvariables.dat (файл в котором хранятся значения Global Variables). Это нужно учитывать, при работе. Ну или просто они не успели прописаться на диск из кэша. Тоесть гарантий нет, что они уже на диске а не в кэше. Поправьте меня, если ошибаюсь.
Начал читать и изучать. Теперь знаю что глобальные переменные и Global Variables разные вещи.
Кстати на счет ошибки 129, про которую у Вас так часто спрашивал. Дело в том, что у меня ДЦ пятизнак,
а советнике слипейдж 2, скорее всего поэтому советник за ценой не успевал. Теперь поставлю 15 пунктов.
Врядли из-за этого. У меня на пятизнаке стоит 3. Всё открывается нормально. Насколько я помню, брокеры договорились что пункт - это всё же базовый пункт, принятый повсеместно (4-я цифра после нуля) а дробность пункта это дробность. Чтобы впоследствии при вводе 6,7 и 8-знака, каждый раз не менялся смысл понятия "пункт".
Тут интересно. Global Variables хранятся в кэше и при каких-то обстоятельствах пишутся на в файл. Вроде как через определенное время. При реальной работе бывали случаи, что при резкой перезагрузке компа просто терялся gvariables.dat (файл в котором хранятся значения Global Variables). Это нужно учитывать, при работе. Ну или просто они не успели прописаться на диск из кэша. Тоесть гарантий нет, что они уже на диске а не в кэше. Поправьте меня, если ошибаюсь.
Может можно попробовать записать ее, потом выключить комп. И при включении попробовать Alert вызвать, на предмет наличия. Хотя врать не буду, пока пользуюсь только статическими переменными и флагами и ничего точно сказать Global Variables про не могу.
Можно просто посмотреть в меню -> Сервис -> Глобальные переменные. Там есть список. Ну или GlobalVariableCheck-ом. Я по опыту понял, что лучше все сохранять в физический файл все же.
Найдите пожалуйста ошибки в моих рассуждениях.
Вот и заканчивается второй день, как я бьюсь над созданием индикатора, а именно над отображением линии на дополнительном окне, которое прикреплено к основному. Мое мнение, необходимо провести вычисления над не подсчитанными барами и дать значения результатов вычислений буферу. На этот раз, использую для примера более сложный код (мне приятно работать с относительно огромными кодами). Вот "полянка творчества" :
.
Хорошо видно, что "на данной поляночке" значение буфера равно "0", т.е. этот индикатор будет рисовать линию только с момента запуска торговой платформы. А мне нужны, помимо действительных данных, исторические.
Я использовал информацию, описанную в этом коде (взял из учебника по MQ4):
Вычленю надобное мне и получу...Затем, привожу к "парадному виду", удалив комментарии и разделив логически, получаю:
Вот и остался я с объектами, которые необходимо синтезировать с "главным" кодом. Выполнив слияние, получаю такой код:
Входе программирования, я декоративно изменил "главный" код и убрал некие значения из "придаточного". Запустив код в работу, обратил внимание на горизонтальную линию, которая свидетельствовала о ошибке в ходе рассуждений, ибо технические индикаторы, используемые в пользовательском индикаторе, не могут давать, на протяжении длительного промежутка времени, значения, выстроившие график функции " y = x ".Справка.
Зовут меня Джон (Евгений, но на Американский лад).
Мне 15 лет, занимаюсь трейдингом 5 день и чувствую огромный прогресс в изучении областей ведения валютного дилинга, а именно индикаторного анализа и графического анализа (короче, т.а. :) ).
Чувствую, что "ручной торг" становится все менее перспективным, потому решил сразу перейти на "автоматизированный торг".
"ПРИДЕРАЙТЕСЬ" КО ВСЕМ НЕАДЕКВАТНЫМ СУЖДЕНИЯМ! Я хочу знать больше, а ваши комментарии мне помогут.
Здравствуйте!
Найдите пожалуйста ошибки в моих рассуждениях.
Вот и заканчивается второй день, как я бьюсь над созданием индикатора, а именно над отображением линии на дополнительном окне, которое прикреплено к основному. Мое мнение, необходимо провести вычисления над не подсчитанными барами и дать значения результатов вычислений буферу. На этот раз, использую для примера более сложный код (мне приятно работать с относительно огромными кодами). Вот "полянка творчества" :
.
Хорошо видно, что "на данной поляночке" значение буфера равно "0", т.е. этот индикатор будет рисовать линию только с момента запуска торговой платформы. А мне нужны, помимо действительных данных, исторические.
Я использовал информацию, описанную в этом коде (взял из учебника по MQ4):
Вычленю надобное мне и получу...Затем, привожу к "парадному виду", удалив комментарии и разделив логически, получаю:
Вот и остался я с объектами, которые необходимо синтезировать с "главным" кодом. Выполнив слияние, получаю такой код:
Входе программирования, я декоративно изменил "главный" код и убрал некие значения из "придаточного". Запустив код в работу, обратил внимание на горизонтальную линию, которая свидетельствовала о ошибке в ходе рассуждений, ибо технические индикаторы, используемые в пользовательском индикаторе, не могут давать, на протяжении длительного промежутка времени, значения, выстроившие график функции " y = x ".Справка.
Зовут меня Джон (Евгений, но на Американский лад).
Мне 15 лет, занимаюсь трейдингом 5 день и чувствую огромный прогресс в изучении областей ведения валютного дилинга, а именно индикаторного анализа и графического анализа (короче, т.а. :) ).
Чувствую, что "ручной торг" становится все менее перспективным, потому решил сразу перейти на "автоматизированный торг".
"ПРИДЕРАЙТЕСЬ" КО ВСЕМ НЕАДЕКВАТНЫМ СУЖДЕНИЯМ! Я хочу знать больше, а ваши комментарии мне помогут.
Начяло хорошее.
Обрати внимание на переменную History, попробуй подставить другое значение.
Здравствуйте!
Найдите пожалуйста ошибки в моих рассуждениях.
Вот и заканчивается второй день, как я бьюсь над созданием индикатора, а именно над отображением линии на дополнительном окне, которое прикреплено к основному. Мое мнение, необходимо провести вычисления над не подсчитанными барами и дать значения результатов вычислений буферу. На этот раз, использую для примера более сложный код (мне приятно работать с относительно огромными кодами). Вот "полянка творчества" :
.
Хорошо видно, что "на данной поляночке" значение буфера равно "0", т.е. этот индикатор будет рисовать линию только с момента запуска торговой платформы. А мне нужны, помимо действительных данных, исторические.
Я использовал информацию, описанную в этом коде (взял из учебника по MQ4):
Вычленю надобное мне и получу...Затем, привожу к "парадному виду", удалив комментарии и разделив логически, получаю:
Вот и остался я с объектами, которые необходимо синтезировать с "главным" кодом. Выполнив слияние, получаю такой код:
Входе программирования, я декоративно изменил "главный" код и убрал некие значения из "придаточного". Запустив код в работу, обратил внимание на горизонтальную линию, которая свидетельствовала о ошибке в ходе рассуждений, ибо технические индикаторы, используемые в пользовательском индикаторе, не могут давать, на протяжении длительного промежутка времени, значения, выстроившие график функции " y = x ".Справка.
Зовут меня Джон (Евгений, но на Американский лад).
Мне 15 лет, занимаюсь трейдингом 5 день и чувствую огромный прогресс в изучении областей ведения валютного дилинга, а именно индикаторного анализа и графического анализа (короче, т.а. :) ).
Чувствую, что "ручной торг" становится все менее перспективным, потому решил сразу перейти на "автоматизированный торг".
"ПРИДЕРАЙТЕСЬ" КО ВСЕМ НЕАДЕКВАТНЫМ СУЖДЕНИЯМ! Я хочу знать больше, а ваши комментарии мне помогут.
Начинай копать в сторону циклов (for, wile, while do) на предмет зачем оно надо ваще )))
Если нужны значения на исторических данных - без перебора этих самых данных в цикле никак ;)
Выше давали пример с History, задающей кол-во баров истории, которые будут обработаны индикатором, вот от этого и пляши.
На картинке стрелкой обозначил, где должен быть выход. Не пойму в чем дело. Входим запоминаем время,
потом выходим когда время больше чем на входе со сдвигом на один период и цена ниже 3 дневной МА мин.
Код следующий:
Что подскажете?