Ответ
 
Опции темы
Старый 19.01.2013, 22:25   #901 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,251
Репутация: 1961
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 347
Поблагодарили 1,890 раз(а) в 1,067 сообщениях
Поинты: 1268
Отправить сообщение для Ugar с помощью ICQ
Сообщение от hoz Посмотреть сообщение
На самом деле учебником "это" не назовёшь. Сделано абы-как... Лучше смотри чьи-н. коды и изучай как они написано, а потом когда будет понимать как работаю эксперты, сможешь сама писать. А "то" что на оф. сайте.. используй как документацию и не более того. Документация с большего сносная, а учебника по сути нет, одно название..
Ты являешься хорошим примером, как не надо изучать язык. В твоих кодах косяки способные насмешить даже новичка. Не зная основ изучать чужие готовые программы не рационально.
Прежде чем разбирать чужой код для обучения, нужно быть уверенным что этот код написан достаточно грамотно что бы работал надёжно. Не зная языка и не имея опыта, оценить это весьма сложно. Вынос всей программы в пользовательские функции не показатель грамотности программиста. И соответственно надёжности работы программы. Ты типичный пример.
Даже если код написан грамотно и надёжно, всех хитростей и нюансов не уловишь, они могут быть не явными, но значимыми для обеспечения надёжной работы программы. В хороших учебниках написано как решить задачу, почему именно так и пример кода.
Изучать нужно по букварю. Их навалом, главное выбрать правильный. Заглядывать в чужой код можно и ногда нужно, но не для того что бы использовать его как учебник. Чужой код скорее подсказка. Например, при написании своей программы, не получается сообразить как решить какую то задачу. В этом случае можно найти чужой код в котором эта задача решена и подглядеть как. Но проще спросить у опытных программистов. Правда, они часто отвечают конкретным ответом, на конкретный вопрос, без каких то нюансов. Подразумевая что нюансы уже известны.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
AlexeyVik (20.01.2013), Sergey Kovalyov (10.03.2013), Алекc1234 (20.01.2013)
Старый 19.01.2013, 22:58   #902 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Ugar Посмотреть сообщение
Ты являешься хорошим примером, как не надо изучать язык. В твоих кодах косяки способные насмешить даже новичка. Не зная основ изучать чужие готовые программы не рационально.

Ugar, Тыкать проще всего, а как подсказать, то сразу в сторону... Вот так Спасибо! То что я спрашивал, я уже сам сделал, так как ждать ответ сутками не есть пригодный мне вариант.
А вообще, я имел ввиду именно смотреть чей-то код в плане понять как работают программы... Я именно это и советовал.. Зачем повторяться?
Есс-но, что человек, который не понимает вообще ничего будет искать программу по проще, а потому уже посложнее возьмётся. Это даже и писать не стоит, так как оно логично.
В конце концов, мы тут не подкалывать друг друга собрались, а помогать и объяснять. А в данном случае это больше похоже на канкретный упрёк.
Если ты считаешь, что я в чём-то не прав, так и скажи прямо. Не зачем юлить вдоль и поперёк.
Что касается ошибок, да.. у меня это бывает, т.к. я не профи, но решать им я уже научился в большинстве случаев.
Да и вообще, каким боком я к тому учебнику отношусь? Если не могли написать адекватный учебник, это косяк создателей языка, а я тут не причём. Лично я изучал всё на чужих кодах, и читал книги по Си. Но не программисту книги по Си и С++ читать довольно сложно, поэтому я и не посылаю туда. И это не только мои слова.
Но если учебника у " авторов " не получилось создать, нужно это признать, а не защищать их.. Хотя Allis Amazing сама убедиться скоро на сколько адекватен это " учебник "

Последний раз редактировалось hoz; 19.01.2013 в 23:05.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 08:17   #903 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,251
Репутация: 1961
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 347
Поблагодарили 1,890 раз(а) в 1,067 сообщениях
Поинты: 1268
Отправить сообщение для Ugar с помощью ICQ
Сообщение от hoz Посмотреть сообщение
Ugar, Тыкать проще всего, а как подсказать, то сразу в сторону... Вот так Спасибо! То что я спрашивал, я уже сам сделал, так как ждать ответ сутками не есть пригодный мне вариант.
Я подсказывал, но моё мнение тебя не интересовало. Сам сусам.
Сообщение от hoz Посмотреть сообщение
А вообще, я имел ввиду именно смотреть чей-то код в плане понять как работают программы... Я именно это и советовал.. Зачем повторяться?
Я об этом и писал. Зачем советуешь другим, способ как изучать язык, если сам его не изучил?
Сообщение от hoz Посмотреть сообщение
Если не могли написать адекватный учебник, это косяк создателей языка, а я тут не причём. Лично я изучал всё на чужих кодах, и читал книги по Си.
Вот это и заметно. Создатели языка не писали учебник. Автор Сергей Ковалёв, а не метаквоты.
Сообщение от hoz Посмотреть сообщение
Но если учебника у " авторов " не получилось создать, нужно это признать, а не защищать их..
Если учебник размещён на сайте mql значит он одобрен метаквотами, так же это может означать что, по их мнению, именно в этом учебнике меньше косяков. Учебников по MQL4 навалом, не нравится этот можно найти другой. Лично я изучал по другому. К сожалению он у меня не сохранился.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 10:13   #904 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Подскажите, вот есть такой код
PHP код:
for(int i=0i<=OrdersTotal()-1i++) 
 { 
 if(
OrderSelect(i,SELECT_BY_POS))
 { 
 if(
OrderMagicNumber()==magic
 { 
 if(
OrderSymbol()==Symbol()) 
 { 
int fir_or_time OrderOpenTime();
int i iBarShift(NULL,0,fir_or_time);
break; 
 } 
 } 
 } 
 } 
Его мне подсказал eevviill. Здесь указано время первого открытого ордера. А как указать, используя те же данные, цену первого открытого ордера?То есть что-то вроде OrderOpenPrice[i]? Но конечно, в правильном коде...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мой тейкпрофит-магнит, а стоплосс-паразит
Тебе повезло,ты не такой как все
Ты работаешь на форексе
Алекc1234 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 10:20   #905 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,681
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Алекc1234 Посмотреть сообщение
Подскажите, вот есть такой код

Его мне подсказал eevviill. Здесь указано время первого открытого ордера. А как указать, используя те же данные, цену первого открытого ордера?То есть что-то вроде OrderOpenPrice[i]? Но конечно, в правильном коде...
PHP код:
for(int i=0i<=OrdersTotal()-1i++) 
 { 
 if(
OrderSelect(i,SELECT_BY_POS))
 { 
 if(
OrderMagicNumber()==magic
 { 
 if(
OrderSymbol()==Symbol()) 
 { 
double fir_op_pr=OrderOpenPrice();
break; 
 } 
 } 
 } 
 } 
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Алекc1234 (20.01.2013)
Старый 20.01.2013, 10:22   #906 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от eevviill Посмотреть сообщение
PHP код:
for(int i=0i<=OrdersTotal()-1i++) 
 { 
 if(
OrderSelect(i,SELECT_BY_POS))
 { 
 if(
OrderMagicNumber()==magic
 { 
 if(
OrderSymbol()==Symbol()) 
 { 
double fir_op_pr=OrderOpenPrice();
break; 
 } 
 } 
 } 
 } 
Спасибо, eevviill, но мне хочется, чтобы цена открытия была именно на указанной мной свече, то есть как я уже писал, типа так - OrderOpenPrice[i]. Возможно такое?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мой тейкпрофит-магнит, а стоплосс-паразит
Тебе повезло,ты не такой как все
Ты работаешь на форексе
Алекc1234 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 10:25   #907 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
То есть берём ту свечу,на которой первым по времени открылся ордер и берём цену открытия этого ордера на этой свече

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мой тейкпрофит-магнит, а стоплосс-паразит
Тебе повезло,ты не такой как все
Ты работаешь на форексе

Последний раз редактировалось Алекc1234; 20.01.2013 в 10:31.
Алекc1234 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 10:38   #908 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,681
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Алекc1234 Посмотреть сообщение
Спасибо, eevviill, но мне хочется, чтобы цена открытия была именно на указанной мной свече, то есть как я уже писал, типа так - OrderOpenPrice[i]. Возможно такое?
PHP код:
for(int i=0i<=OrdersTotal()-1i++)  
 {  
 if(
OrderSelect(i,SELECT_BY_POS)) 
 {  
 if(
OrderMagicNumber()==magic)  
 {  
 if(
OrderSymbol()==Symbol())  
 {  
int fir_or_time OrderOpenTime(); 
int i iBarShift(NULL,0,fir_or_time); 
break;  
 }  
 }  
 }  
 } 

PHP код:
for(int i=0i<=OrdersTotal()-1i++)  
 {  
 if(
OrderSelect(i,SELECT_BY_POS)) 
 {  
 if(
OrderMagicNumber()==magic)  
 {  
 if(
OrderSymbol()==Symbol())  
 {  
if(
OrderOpenTime()>=Time[i] && OrderOpenTime()<Time[i-1])
{
double fir_op_on_bar_price=OrderOpenPrice();
break;  
}
 }  
 }  
 }  
 } 
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
smartmans (22.01.2013), Алекc1234 (20.01.2013)
Старый 20.01.2013, 10:52   #909 (permalink)
Интересующийся
 
Аватар для Allis Amazing
 
Регистрация: 22.07.2012
Сообщений: 19
Репутация: 2
Allis Amazing
Сказал(а) спасибо: 33
Поблагодарили 1 раз в 1 сообщении
Поинты: 22
Сообщение от Allis Amazing Посмотреть сообщение
Ай, спасибо, посмотрю. Просто человек который знает тему, всегда может отличить "толковый букварь" от "ну что-то там на эту тему написано")))
Сообщение от Ugar Посмотреть сообщение
Изучать нужно по букварю. Их навалом, главное выбрать правильный.
Так вот же жжжжж, это и попросила в итоге!
Господа программисты, подскажите, пожалуйста, ПРАВИЛЬНЫЙ букварь!!
Allis Amazing вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 11:02   #910 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Ugar Посмотреть сообщение
Я подсказывал, но моё мнение тебя не интересовало. Сам сусам.

Где ты подсказывал? Мне очень интересно увидеть тот пост...

Сообщение от Ugar Посмотреть сообщение
Я об этом и писал. Зачем советуешь другим, способ как изучать язык, если сам его не изучил?

Вопрос поствлен не верно. Я язык изучил, но ещё не на 100%. Ну логично что всё знать сразу не будешь. Хотя уже понаписал череду экспертов различных, и, уже понимание есть довольно-таки ясное. НО не всегда.. не спорю..

[QUOTE=Ugar;561009]Вот это и заметно. Создатели языка не писали учебник. Автор Сергей Ковалёв, а не метаквоты.


Да я в курсе, не хотел уже канкретно на Кавалёва наезжать. НО метаквоты вообще мудаки, сами вообще ничего не сделали для блага пользователей, только деньги стригут с ДЦ и не более того. Это называется "зажрались".


Сообщение от Ugar Посмотреть сообщение
Учебников по MQL4 навалом, не нравится этот можно найти другой. Лично я изучал по другому. К сожалению он у меня не сохранился.

Хватает учебников по Си, а по MQL4 всё тоже самое. Хотя есть на английском языке, но.. там уже нужно знать английский язык, и не каждый будет читать её (хотя я читал кусками, что интересно).

Сообщение от Ugar Посмотреть сообщение
Если учебник размещён на сайте mql значит он одобрен метаквотами, так же это может означать что, по их мнению, именно в этом учебнике меньше косяков.

Это может означать лишь то, что метаквотовцам плевать на то, какой там учебник. Сами они и пальцем не пошевелили, чтобы пользователю с нуля научиться программировать чётко и ясно.

Последний раз редактировалось hoz; 20.01.2013 в 11:12.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 11:05   #911 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,251
Репутация: 1961
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 347
Поблагодарили 1,890 раз(а) в 1,067 сообщениях
Поинты: 1268
Отправить сообщение для Ugar с помощью ICQ
Очень не желательно объявлять переменную внутри цикла или после условия.
Код:
for(int i=0; i<=OrdersTotal()-1; i++)   
 {   
 if(OrderSelect(i,SELECT_BY_POS))  
 {   
 if(OrderMagicNumber()==magic)   
 {   
 if(OrderSymbol()==Symbol())   
 {   
if(OrderOpenTime()>=Time[i] && OrderOpenTime()<Time[i-1]) 
{ 
double fir_op_on_bar_price=OrderOpenPrice(); 
break;   
} 
 }   
 }   
 }   
 }  
При таком объявлении переменной, в случае отсутствия ордеров открытых советником, переменная fir_op_on_bar_price не будет существовать, так как не была объявлена. Значит применять её за пределами цикла можно будет только при наличии ордеров советника. При отсутствии, обращение к переменной, приведёт к ошибке, или даже зависанию программы.
То же а в этом коде
Код:
for(int i=0; i<=OrdersTotal()-1; i++)   
 {   
 if(OrderSelect(i,SELECT_BY_POS))  
 {   
 if(OrderMagicNumber()==magic)   
 {   
 if(OrderSymbol()==Symbol())   
 {   
int fir_or_time = OrderOpenTime();  
int i = iBarShift(NULL,0,fir_or_time);  
break;   
 }   
 }   
 }   
 }  
Здесь переменные fir_or_time будут существовать только при наличии ордеров советника. И ещё fir_or_time должна быть datetime, а не int типа. Переменная i объявлена в цикле for и в ней порядковый номер ордера. И тут же объявлена повторно и в ней номер бара. Кроме буквы i есть ещё и другие для переменных. Так же можно использовать сочетание букв.

Пожалуй лучше объявлять переменные заранее, а внутри цикла только присваивать им значение. Например в начале функции start() самое удобное место для объявления локальных переменных.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (20.01.2013), Алекc1234 (20.01.2013)
Старый 20.01.2013, 11:22   #912 (permalink)
Местный житель
 
Аватар для Алекc1234
 
Регистрация: 24.03.2011
Сообщений: 697
Репутация: 276
Алекc1234 Алекc1234 Алекc1234
Сказал(а) спасибо: 391
Поблагодарили 276 раз(а) в 176 сообщениях
Поинты: 0
Сообщение от Ugar Посмотреть сообщение
Очень не желательно объявлять переменную внутри цикла или после условия.
Код:
for(int i=0; i<=OrdersTotal()-1; i++)   
 {   
 if(OrderSelect(i,SELECT_BY_POS))  
 {   
 if(OrderMagicNumber()==magic)   
 {   
 if(OrderSymbol()==Symbol())   
 {   
if(OrderOpenTime()>=Time[i] && OrderOpenTime()<Time[i-1]) 
{ 
double fir_op_on_bar_price=OrderOpenPrice(); 
break;   
} 
 }   
 }   
 }   
 }  
При таком объявлении переменной, в случае отсутствия ордеров открытых советником, переменная fir_op_on_bar_price не будет существовать, так как не была объявлена. Значит применять её за пределами цикла можно будет только при наличии ордеров советника. При отсутствии, обращение к переменной, приведёт к ошибке, или даже зависанию программы.
То же а в этом коде
Код:
for(int i=0; i<=OrdersTotal()-1; i++)   
 {   
 if(OrderSelect(i,SELECT_BY_POS))  
 {   
 if(OrderMagicNumber()==magic)   
 {   
 if(OrderSymbol()==Symbol())   
 {   
int fir_or_time = OrderOpenTime();  
int i = iBarShift(NULL,0,fir_or_time);  
break;   
 }   
 }   
 }   
 }  
Здесь переменные fir_or_time будут существовать только при наличии ордеров советника. И ещё fir_or_time должна быть datetime, а не int типа. Переменная i объявлена в цикле for и в ней порядковый номер ордера. И тут же объявлена повторно и в ней номер бара. Кроме буквы i есть ещё и другие для переменных. Так же можно использовать сочетание букв.

Пожалуй лучше объявлять переменные заранее, а внутри цикла только присваивать им значение. Например в начале функции start() самое удобное место для объявления локальных переменных.
Спасибо, действительно, по варианту eevvillla в тестере происходило зависание, а когда присвоил разные буквы переменным в цикле и в номере бара, то заработало! И всё-таки всё-равно не так как хотелось бы. Может Вы подскажете, как правильно в коде сделать мою просьбу?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мой тейкпрофит-магнит, а стоплосс-паразит
Тебе повезло,ты не такой как все
Ты работаешь на форексе
Алекc1234 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 11:28   #913 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Allis Amazing Посмотреть сообщение
Так вот же жжжжж, это и попросила в итоге!
Господа программисты, подскажите, пожалуйста, ПРАВИЛЬНЫЙ букварь!!

Держи! У каждого автора разные темы по своему разобраны. Но в целом, вполне адекватные книги.
Вложения:
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
4 пользователя(ей) сказали cпасибо:
Allis Amazing (20.01.2013), eevviill (20.01.2013), sochinik (27.01.2013), Viko2000 (26.04.2015)
Старый 20.01.2013, 11:53   #914 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Ugar Посмотреть сообщение
И ещё fir_or_time должна быть datetime, а не int типа.

Согласен с предыдущим постом, кроме этого момента. fir_or_time - это переменная времени. Время это - целое число.. Значит тип - int.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (20.01.2013)
Старый 20.01.2013, 13:37   #915 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,251
Репутация: 1961
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 347
Поблагодарили 1,890 раз(а) в 1,067 сообщениях
Поинты: 1268
Отправить сообщение для Ugar с помощью ICQ
Сообщение от hoz Посмотреть сообщение
Согласен с предыдущим постом, кроме этого момента. fir_or_time - это переменная времени. Время это - целое число.. Значит тип - int.
Ну тогда расскажи мне. зачем существует datetime тип?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 13:57   #916 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Ugar Посмотреть сообщение
Ну тогда расскажи мне. зачем существует datetime тип?

Для того чтобы указывать тип для переменных даты. Дата и время это разные вещи. На днях я просматривал форум мкьэловский, и там, как-раз таки коснулись вопроса подобного. В общем-то все дружно согласились с тем, что время это инт, и сказал это профессионал изначально, которому я лично доверяю.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 20.01.2013, 14:50   #917 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,251
Репутация: 1961
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 347
Поблагодарили 1,890 раз(а) в 1,067 сообщениях
Поинты: 1268
Отправить сообщение для Ugar с помощью ICQ
Сообщение от hoz Посмотреть сообщение
Для того чтобы указывать тип для переменных даты. Дата и время это разные вещи. На днях я просматривал форум мкьэловский, и там, как-раз таки коснулись вопроса подобного. В общем-то все дружно согласились с тем, что время это инт, и сказал это профессионал изначально, которому я лично доверяю.
Ух ты, а я не знал. Тогда будь добр, поясни чем отличается дата от времени?
Конкретно о чём шла речь изначально
Цитата:
datetime OrderOpenTime( )
Возвращает время открытия выбранного ордера.
Это дата или время? Если время то почему в нем есть дата?
Если дата то почему в нём есть время?
Сам проверь, после выбора ордера, напечатай в журнал
Print(TimeToStr(OrderOpenTime(),TIME_DATE));
Print(TimeToStr(OrderOpenTime(),TIME_SECONDS));
А можешь напечатать одной строкой
Print(TimeToStr(OrderOpenTime(),TIME_DATE | TIME_SECONDS));
А то что на форумах пишут надо фильтровать своими мозгами. В этом поможет справочник и Print()

А вот если бы ты почитал учебник, такого бы не писал на форуме и не позорился. Легко бы разбирался где можно int, а где datetime.
_http://book.mql4.com/ru/functions/datetime

Для грамотного программиста хватило бы и справочника
int Day( )
int DayOfWeek( )
int Hour( )
int TimeHour( datetime time)
...
datetime TimeCurrent( )
datetime TimeLocal( )
datetime OrderOpenTime( )
datetime OrderCloseTime( )
Если не видишь и не понимаешь разницы, зачем затеваешь спор?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 20.01.2013 в 15:24.
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 23.01.2013, 16:35   #918 (permalink)
Администратор
 
Аватар для chocolate
 
Регистрация: 18.06.2010
Адрес: Россия/Тольятти
Сообщений: 3,634
Репутация: 3194
chocolate chocolate chocolate chocolate chocolate chocolate chocolate chocolate chocolate chocolate chocolate
Сказал(а) спасибо: 2,955
Поблагодарили 3,139 раз(а) в 1,556 сообщениях
Поинты: 95
Огромная просьба большие выкладки кода вставлять под спойлер

Скрытый текст

пример текста
[свернуть]

PHP код:
[SPOILER]пример текста[/SPOILER

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
FAQ по форуму или ответы на все вопросы пользователей

Как вставить видео с Youtube?


Модератор - он не надзиратель, а дружественный пользователю участник. (с)

Есть вопросы по форуму? С радостью отвечу.

Биржевые линейки
chocolate вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 23.01.2013, 19:44   #919 (permalink)
Интересующийся
 
Аватар для progenitor
 
Регистрация: 28.09.2010
Сообщений: 1
Репутация: 1
progenitor
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 2

По умолчанию Запись в массивы


В функции начальной инициализации init хочу заполнить массив(ы) для дальнейшей обработки уже в функции start. но массив получается с одними нулями.

//--- buffers

double ma[]; //массив для скользящей средней
double stoch[]; //массив для записи стохастика

int init()
{

SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ma);


int bars_for_count = Bars;

for(int i=0; i<bars_for_count; i++)
{
ma[i]=iMA(Symbol(),240,52,0,MODE_EMA,PRICE_CLOSE,i);
stoch[i]=iStochastic(Symbol(),60,4,7,3,MODE_SMA,PRICE_CLOS E,1,i);

Alert("ma[i]="+ma[i]);
Alert("stoch[i]="+stoch[i]);
}
return(0);
}

алерты для проверки, при первом запуске все нули, после компиляции только в скользящей стедней появляются значения а стохастик по прежнему нули пишет.
Кто подскажет где путаница?
Заранее благодарен
progenitor вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 24.01.2013, 03:57   #920 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от progenitor Посмотреть сообщение
В функции начальной инициализации init хочу заполнить массив(ы) для дальнейшей обработки уже в функции start. но массив получается с одними нулями.
...
алерты для проверки, при первом запуске все нули, после компиляции только в скользящей стедней появляются значения а стохастик по прежнему нули пишет.
Кто подскажет где путаница?
Заранее благодарен
Память под индексные буфера выделяется после выполнения init(), т.е. заполнять их можно только в start().
Если перезагрузка кода вызвана его перекомпиляцией, то глобальные массивы не переинициализируются, ma[] будет иметь отведенную память и какие-то значения даже в init(), но я бы не стал на это рассчитывать.
Под стохастик место вообще не будет выделено пока он не объявлен индексным буфером.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (24.01.2013)
Ответ

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


Опции темы

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

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



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


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