Ответ
 
Опции темы
Старый 20.01.2015, 19:27   #3441 (permalink)
Местный житель
 
Аватар для DIW35902345
 
Регистрация: 12.10.2013
Сообщений: 292
Репутация: 253
DIW35902345 DIW35902345 DIW35902345
Сказал(а) спасибо: 115
Поблагодарили 254 раз(а) в 92 сообщениях
Поинты: 92
Сообщение от _SERG_ Посмотреть сообщение
Ну ты спросил! Сам-то понял? А какое число ордеров он должен открывать, не заданное?
это все демагогия , пока шла переписка ..., уже решил вопрос .,вот код , может кому и пригодится


int CountPosOnDay( )
{
int countPosCurDay = 0;

for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if( OrderMagicNumber()==MAGIC)
if (OrderSymbol()==Symbol() )
if( OrderType() <= OP_SELL )
if( TimeDay(OrderOpenTime()) == Day() )
countPosCurDay++;

for (int i=OrdersHistoryTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if( OrderMagicNumber()==MAGIC)
if (OrderSymbol()==Symbol() )
if( OrderType() <= OP_SELL )
{
if( TimeDay(OrderOpenTime()) == Day() )
countPosCurDay++;
else
break; // далее более старая история
}

return(countPosCurDay);
}

Последний раз редактировалось DIW35902345; 20.01.2015 в 19:30.
DIW35902345 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 05:17   #3442 (permalink)
Активный участник
 
Аватар для digaysasha
 
Регистрация: 01.02.2010
Сообщений: 157
Репутация: 47
digaysasha
Сказал(а) спасибо: 26
Поблагодарили 46 раз(а) в 27 сообщениях
Поинты: 56
Сообщение от DIW35902345 Посмотреть сообщение
это все демагогия , пока шла переписка ..., уже решил вопрос .,вот код , может кому и пригодится


int CountPosOnDay( )
{
int countPosCurDay = 0;

for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if( OrderMagicNumber()==MAGIC)
if (OrderSymbol()==Symbol() )
if( OrderType() <= OP_SELL )
if( TimeDay(OrderOpenTime()) == Day() )
countPosCurDay++;

for (int i=OrdersHistoryTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if( OrderMagicNumber()==MAGIC)
if (OrderSymbol()==Symbol() )
if( OrderType() <= OP_SELL )
{
if( TimeDay(OrderOpenTime()) == Day() )
countPosCurDay++;
else
break; // далее более старая история
}

return(countPosCurDay);
}
огромное спасибки
digaysasha вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 07:03   #3443 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от DIW35902345 Посмотреть сообщение
это все демагогия , пока шла переписка ..., уже решил вопрос .,вот код , может кому и пригодится


int CountPosOnDay( )
{
int countPosCurDay = 0;

for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if( OrderMagicNumber()==MAGIC)
if (OrderSymbol()==Symbol() )
if( OrderType() <= OP_SELL )
if( TimeDay(OrderOpenTime()) == Day() )
countPosCurDay++;

for (int i=OrdersHistoryTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if( OrderMagicNumber()==MAGIC)
if (OrderSymbol()==Symbol() )
if( OrderType() <= OP_SELL )
{
if( TimeDay(OrderOpenTime()) == Day() )
countPosCurDay++;
else
break; // далее более старая история
}

return(countPosCurDay);
}
Через год, не правильно посчитаешь, если история длинная.
Условие я тебе написал в Ваши вопросы по языку MQL4, ну как дальше оформлять твоё дело.
(*Посты с ответами не путай. Не всё было для тебя, а чел теперь радуется. Даж "огромное спасибки" сказал.)

Последний раз редактировалось _SERG_; 21.01.2015 в 07:28.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 07:31   #3444 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от DIW35902345 Посмотреть сообщение
это все демагогия , пока шла переписка ..., уже решил вопрос .,вот код , может кому и пригодится


int CountPosOnDay( )
{
int countPosCurDay = 0;

for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) // Условие выполнено, выполняется следующая строка.
if( OrderMagicNumber()==MAGIC) // Условие не выполнено, следующая строка не выполняется.
if (OrderSymbol()==Symbol() )// Не выполняется только эта строка.
if( OrderType() <= OP_SELL )// А эта строка выполняется. И если это не отложенный ордер, то результат будет истина и будет выполняться следующая строка.
if( TimeDay(OrderOpenTime()) == Day() )// Представь что это условие тоже истина...
countPosCurDay++; // Что тут получаем???

for (int i=OrdersHistoryTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if( OrderMagicNumber()==MAGIC)
if (OrderSymbol()==Symbol() )
if( OrderType() <= OP_SELL )
{
if( TimeDay(OrderOpenTime()) == Day() )
countPosCurDay++;
else
break; // далее более старая история
}

return(countPosCurDay);
}
В таком варианте не гарантировано правильное выполнение твоей функции. Смотри мои комментарии в своём тексте.
Пока на счёте работает ОДИН советник как в тестере, ничего страшного. А если твой советник попадает в руки пользователя с характером экспериментатора или сам решишь что-то поэкспериментировать...

ps; Ой... Я не сразу заметил что в цикле-то выполняется только одна строка...
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
тоесть, получается что весь последующий код выполняется только с ордером в списке с индексом 0...

Последний раз редактировалось AlexeyVik; 21.01.2015 в 07:35.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 13:16   #3445 (permalink)
 
Аватар для strannik-ps
 
Регистрация: 05.01.2012
Сообщений: 1,151
Репутация: 7843
strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps
Сказал(а) спасибо: 3,958
Поблагодарили 7,799 раз(а) в 1,882 сообщениях
Поинты: 82

По умолчанию array out of range


Помогите победить array out of range.
Или посоветуйте альтернативный вариант без массива.
PHP код:
int BarsDayStart(const datetime &time[], int yint rates_total)
{
    
MqlDateTime dt1dt2;
    
int x y;
    
TimeToStruct(time[y], dt1);
    
TimeToStruct(time[x], dt2);
    while ((
dt1.day_of_year == dt2.day_of_year) && (rates_total))
    {  
        
x++;
        
TimeToStruct(time[x], dt2);   // Тута блин косяк (array out of range)
    
}
    return(
1);
 } 
Спасибо!
strannik-ps вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 13:25   #3446 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от strannik-ps Посмотреть сообщение
Помогите победить array out of range.
Или посоветуйте альтернативный вариант без массива.
PHP код:
int BarsDayStart(const datetime &time[], int yint rates_total)
{
    
MqlDateTime dt1dt2;
    
int x y;
    
TimeToStruct(time[y], dt1);
    
TimeToStruct(time[x], dt2);
    while ((
dt1.day_of_year == dt2.day_of_year) && (rates_total))
    {  
        
x++;
        
TimeToStruct(time[x], dt2);   // Тута блин косяк (array out of range)
    
}
    return(
1);
 } 
Спасибо!
Массив объявлен статический или динамический? Проследи какое значение передаётся переменной y и какой размер массива. Максимальный индекс массива может быть от 0 до размер_массива -1

зы. а посмотрев повнимательней, думаю что будет достаточно поменять строки местами.

TimeToStruct(time[x], dt2); // Тута блин косяк (array out of range)
x++;

Последний раз редактировалось AlexeyVik; 21.01.2015 в 13:29.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
strannik-ps (21.01.2015)
Старый 21.01.2015, 13:25   #3447 (permalink)
Разрушитель Граалей :)
 
Аватар для ShadowCandle
 
Регистрация: 22.04.2012
Адрес: Россия
Сообщений: 1,994
Репутация: 2392
ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle
Сказал(а) спасибо: 2,183
Поблагодарили 2,394 раз(а) в 1,046 сообщениях
Поинты: 938
Сообщение от strannik-ps Посмотреть сообщение
Помогите победить array out of range.
заменить в условии на <rates_total-1
Почему приращение x++ идёт до получения значения? Условие допускает превышение х
Или поменять местами приращение и получение значения
TimeToStruct(time[x], dt2);
x++;

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Никогда не спорьте с идиотами. Вы опуститесь до их уровня, где они задавят вас своим опытом (С) Марк Твен
ShadowCandle на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
AlexeyVik (21.01.2015), strannik-ps (21.01.2015)
Старый 21.01.2015, 13:35   #3448 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от ShadowCandle Посмотреть сообщение
заменить в условии на <rates_total-1
Почему приращение x++ идёт до получения значения? Условие допускает превышение х
Или поменять местами приращение и получение значения
TimeToStruct(time[x], dt2);
x++;
Упс. Пока я присматривался и правил свой пост ты уже выдал такое-же мнение.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
ShadowCandle (21.01.2015), strannik-ps (21.01.2015)
Старый 21.01.2015, 15:07   #3449 (permalink)
 
Аватар для strannik-ps
 
Регистрация: 05.01.2012
Сообщений: 1,151
Репутация: 7843
strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps
Сказал(а) спасибо: 3,958
Поблагодарили 7,799 раз(а) в 1,882 сообщениях
Поинты: 82
Спасибо! но как то у меня не выходит.
Уже только молотком не стучал.
Посмотрите болванку может, что то напортачил.
Три дня воюю запутался уже.

Последний раз редактировалось strannik-ps; 23.02.2015 в 01:02.
strannik-ps вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 16:26   #3450 (permalink)
 
Аватар для strannik-ps
 
Регистрация: 05.01.2012
Сообщений: 1,151
Репутация: 7843
strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps
Сказал(а) спасибо: 3,958
Поблагодарили 7,799 раз(а) в 1,882 сообщениях
Поинты: 82
Еще так пробовал
PHP код:
int BarsDayStart(int y)
{
    
int x y;
                    
//Можно упростить Но баг тогда здесь ↓
    
while ((TimeDayOfYear(Time[y]) == TimeDayOfYear(Time[x])) && (Bars))
        
x++;

    return(
1);

Короче любой вариант хоть простой, хоть извращенный итог ошибка.
strannik-ps вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 16:36   #3451 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от strannik-ps Посмотреть сообщение
Еще так пробовал
PHP код:
int BarsDayStart(int y)
{
    
int x y;
                    
//Можно упростить Но баг тогда здесь ↓
    
while ((TimeDayOfYear(Time[y]) == TimeDayOfYear(Time[x])) && (Bars))
        
x++;

    return(
1);

Короче любой вариант хоть простой, хоть извращенный итог ошибка.
Ты что-то там круто начудил.
Расскажи что хотел получить в итоге. Может действительно лучше обойтись без структуры.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 16:52   #3452 (permalink)
 
Аватар для strannik-ps
 
Регистрация: 05.01.2012
Сообщений: 1,151
Репутация: 7843
strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps
Сказал(а) спасибо: 3,958
Поблагодарили 7,799 раз(а) в 1,882 сообщениях
Поинты: 82
Сообщение от AlexeyVik Посмотреть сообщение
Ты что-то там круто начудил.
Расскажи что хотел получить в итоге. Может действительно лучше обойтись без структуры.
Там я чудил чтоб можно и к mq5 применить проверял на ошибки.
А получить хочу - плавающую дату открытия бара.
strannik-ps вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 21.01.2015, 17:32   #3453 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от strannik-ps Посмотреть сообщение
Там я чудил чтоб можно и к mq5 применить проверял на ошибки.
А получить хочу - плавающую дату открытия бара.
Ничё не понял, но хотелось-бы.

1. int dayend = DayEndByDate(time, time[0], rates_total), daystart = BarsDayStart(time, dayend, rates_total);
недопустимо использовать одинаковые имена переменных для обычных переменных и массивов... Тем более если массив является таймсерией изменить которую нельзя. А ты её передаёшь в функцию как ссылку &time[]
2. Если ты х приравниваешь у
int x = y;
то и структура заполняется одинаковыми значениями.
TimeToStruct(time[y], dt1);
TimeToStruct(time[x], dt2);
А потом в цикле опять заполняешь структуру.
TimeToStruct(time[x], dt2); // Тута блин косяк ( array out of range )

А по идее должно быть заполнение структуры и чтение любого параметра из неё. типа так
что-то = dt1.day_of_year;
В это "что-то" будет загружен порядковый номер дня в году.

Что-то не могу разобраться в логике...

Последний раз редактировалось AlexeyVik; 21.01.2015 в 17:35.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
strannik-ps (22.01.2015)
Старый 21.01.2015, 17:40   #3454 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от AlexeyVik Посмотреть сообщение
Ничё не понял, но хотелось-бы.

1. int dayend = DayEndByDate(time, time[0], rates_total), daystart = BarsDayStart(time, dayend, rates_total);
недопустимо использовать одинаковые имена переменных для обычных переменных и массивов... Тем более если массив является таймсерией изменить которую нельзя. А ты её передаёшь в функцию как ссылку &time[]
2. Если ты х приравниваешь у
int x = y;
то и структура заполняется одинаковыми значениями.
TimeToStruct(time[y], dt1);
TimeToStruct(time[x], dt2);
А потом в цикле опять заполняешь структуру.
TimeToStruct(time[x], dt2); // Тута блин косяк ( array out of range )

А по идее должно быть заполнение структуры и чтение любого параметра из неё. типа так
что-то = dt1.day_of_year;
В это "что-то" будет загружен порядковый номер дня в году.

Что-то не могу разобраться в логике...
КРЕЩУСЬ, но всёравно кажется что без индекса ну никак.
Нужно номер куда в стуктуру пишем указывать.
TimeToStruct(time[x], dt2[?]);

Может чёт и не допёр, но 5 копеек - тоже бабки.

Последний раз редактировалось _SERG_; 21.01.2015 в 17:43.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
strannik-ps (22.01.2015)
Старый 21.01.2015, 18:02   #3455 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от _SERG_ Посмотреть сообщение
КРЕЩУСЬ, но всёравно кажется что без индекса ну никак.
Нужно номер куда в стуктуру пишем указывать.
TimeToStruct(time[x], dt2[?]);

Может чёт и не допёр, но 5 копеек - тоже бабки.
Нет, переменная структуры имеет несколько значений как массив. Отличие только в том, что в массиве однотипные переменные, а в структуру можно напихать разные и int и double и string одновременно. А при чтении получается dt2.day_of_year можно понимать как dt2 это массив, а day_of_year это индекс массива.
Конечно это не совсем правильно, но по другому объяснить не могу.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
DomovenokBrest (23.01.2015), strannik-ps (22.01.2015)
Старый 21.01.2015, 18:38   #3456 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от AlexeyVik Посмотреть сообщение
Нет, переменная структуры имеет несколько значений как массив. Отличие только в том, что в массиве однотипные переменные, а в структуру можно напихать разные и int и double и string одновременно. А при чтении получается dt2.day_of_year можно понимать как dt2 это массив, а day_of_year это индекс массива.
Конечно это не совсем правильно, но по другому объяснить не могу.
Думаю, если в стуктуре в качестве поля использован массив, то индекс необходим. Пару символов, в коде и истина известна.
// dt2.day_of_year[] иначе не понять, какой day_of_year.

У меня ООП проблемки пока, но не боги горшки обжигают.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
DomovenokBrest (23.01.2015), strannik-ps (22.01.2015)
Старый 21.01.2015, 19:59   #3457 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,529
Репутация: 3649
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,118
Поблагодарили 3,653 раз(а) в 1,472 сообщениях
Поинты: 2007
Сообщение от _SERG_ Посмотреть сообщение
Думаю, если в стуктуре в качестве поля использован массив, то индекс необходим. Пару символов, в коде и истина известна.
// dt2.day_of_year[] иначе не понять, какой day_of_year.

У меня ООП проблемки пока, но не боги горшки обжигают.
Ну зачем сочинять что попало? Вот структура

struct MqlDateTime
{
int year; // год
int mon; // месяц
int day; // день
int hour; // час
int min; // минуты
int sec; // секунды
int day_of_week; // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота)
int day_of_year; // порядковый номер в году (1 января имеет номер 0)
};


Вот объявление переменной
MqlDateTime dt1;


Заполнение структуры
TimeToStruct(TimeCurrent(), dt1); // Можно любое другое время и дату.



и чтение полей структуры
dt1.year иди dt1.day или dt1.sec и прочие поля структуры в том числе и dt1.day_of_year


Конечно написав свою структуру можно попробовать засунуть в поле структуры массив, но надо-ли так изгаляться? А что касается стандартной структуры, то это недопустимо.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
DomovenokBrest (23.01.2015), strannik-ps (22.01.2015)
Старый 21.01.2015, 21:03   #3458 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от AlexeyVik Посмотреть сообщение
Ну зачем сочинять что попало? Вот структура

struct MqlDateTime
{
int year; // год
int mon; // месяц
int day; // день
int hour; // час
int min; // минуты
int sec; // секунды
int day_of_week; // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота)
int day_of_year; // порядковый номер в году (1 января имеет номер 0)
};


Вот объявление переменной
MqlDateTime dt1;


Заполнение структуры
TimeToStruct(TimeCurrent(), dt1); // Можно любое другое время и дату.



и чтение полей структуры
dt1.year иди dt1.day или dt1.sec и прочие поля структуры в том числе и dt1.day_of_year


Конечно написав свою структуру можно попробовать засунуть в поле структуры массив, но надо-ли так изгаляться? А что касается стандартной структуры, то это недопустимо.
Да хэлп я перед эти прочитал, но идею не просёк, так шо звыняйтэ, дальше с дискуссии нет смысла принимать участие.
_SERG_ вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
AlexeyVik (22.01.2015), strannik-ps (22.01.2015)
Старый 22.01.2015, 01:35   #3459 (permalink)
 
Аватар для strannik-ps
 
Регистрация: 05.01.2012
Сообщений: 1,151
Репутация: 7843
strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps
Сказал(а) спасибо: 3,958
Поблагодарили 7,799 раз(а) в 1,882 сообщениях
Поинты: 82
Непонятно но интересно. Буду пилить дальше.
strannik-ps вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
DomovenokBrest (23.01.2015)
Старый 22.01.2015, 03:12   #3460 (permalink)
 
Аватар для strannik-ps
 
Регистрация: 05.01.2012
Сообщений: 1,151
Репутация: 7843
strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps strannik-ps
Сказал(а) спасибо: 3,958
Поблагодарили 7,799 раз(а) в 1,882 сообщениях
Поинты: 82
Пазл начал складываться.
Без #property strict ошибки нет, значит надо просто очистить массив.
Теперь у меня тупик, как это сделать.
Может есть у кого варианты?
Сообщение от AlexeyVik Посмотреть сообщение
Ничё не понял, но хотелось-бы.
Все просто - получение даты на новом баре, использовать можно в индикаторах для определения аккумуляции, в советниках как импульсную функцию, да и много куда можно засунуть.
strannik-ps вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 16:36. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO