포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 722 1...715716717718719720721722723724725726727728729...1178 새 코멘트 Boris 2014.10.02 14:56 #7211 Zver4991 : 코드 규칙은 어떻습니까? 물론 코드뿐만 아니라! https://forum.mql4.com/ru/38943 Evgeniy Khaynatskas 2014.10.02 18:14 #7212 왜 나는 이해할 수 없다 //+------------------------------------------------------------------+ //| Машка за больший период без перерисовки .mq4 | //| Zver | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Zver" #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Aqua extern int Otobrajat_v_istorii = 1000 ; extern int ma_shift= 0 ; extern int ma_method = 0 ; extern int applied_price= 0 ; double buf_ma[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- indicator buffers mapping SetIndexBuffer ( 0 ,buf_ma); // Назначение массива буферу SetIndexStyle( 0 , DRAW_LINE ,EMPTY, 2 ); // Стиль линии //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate ( const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- int i, // Индекс бара Counted_bars; Counted_bars=IndicatorCounted(); // Количество просчитанных баров i= Bars -Counted_bars- 1 ; // Индекс первого непосчитанного if (i>Otobrajat_v_istorii- 1 ) // Если много баров то .. i=Otobrajat_v_istorii- 1 ; // ..рассчитывать заданное колич. while (i>= 1 ) // Цикл по непосчитанным барам { buf_ma[i]= iMA ( Symbol (), Period (), 5 ,ma_shift,ma_method,applied_price,i); } //--- return value of prev_calculated for next call return (rates_total); } //+------------------------------------------------------------------+ vlad-755 2014.10.02 18:16 #7213 코드 옵션 int Err; //Номер ошибки int FunErr( int Err) // Функция обработки ошибок 경고를 제공합니다: 'Err' 선언은 51행에서 전역 선언을 숨깁니다. 코드의 다른 버전 int Err; //Номер ошибки int FunErr(Err) // Функция обработки ошибок 오류가 발생합니다. '오류' - 유형이 없는 선언 여기에 올바르게 쓰는 방법? vlad-755 2014.10.02 18:31 #7214 Zver4991 : 왜 나는 이해할 수 없다 int i // 막대 인덱스 while (i>= 1 ) // 셀 수 없는 막대를 반복합니다 . i>= 1 항상. Evgeniy Khaynatskas 2014.10.02 18:44 #7215 Shurkin : int i // 막대 인덱스 while (i>= 1 ) // 셀 수 없는 막대를 반복합니다 . i>= 1 항상. 나는 확실히 잊어 버렸습니다 ... 감사합니다 나--; [삭제] 2014.10.02 20:14 #7216 //-------------------------------------------------------------------- int Count= 0 ; //-------------------------------------------------------------------- void OnTick () { Count++; Comment ( "Новый тик " , Count); //if(Count>2) ExpertRemove(); } //-------------------------------------------------------------------- void OnDeinit ( const int reason) { Comment ( "Сработала ф-ия deinit() при выгрузке" ); } //-------------------------------------------------------------------- if(Count>2) ExpertRemove() 주석을 해제하고 이 함수에 의해 종료가 발생 하면 Expert Advisor를 언로드한 후 "Deinit() 함수가 언로드 중 작동함"이라는 주석 이 차트에 계속 표시됩니다 . 그런 Expert Advisor가 컨텍스트 메뉴를 통해 차트에서 제거되면 OnDeinit 의 Comment() 가 차트에 남아 있지 않은 이유를 아는 사람이 있습니까? [삭제] 2014.10.02 20:39 #7217 Shurkin : 코드 옵션 int Err; //Номер ошибки int FunErr( int Err) // Функция обработки ошибок 경고를 제공합니다: 'Err' 선언은 51행에서 전역 선언을 숨깁니다. 코드의 다른 버전 int Err; //Номер ошибки int FunErr(Err) // Функция обработки ошибок 오류가 발생합니다. '오류' - 유형이 없는 선언 여기에 올바르게 쓰는 방법? 이것은 일반적으로 가장 높은 수준에서 방어되는 언어 설계 결함입니다. 두 가지 사실: 1. MQL4++ 언어는 중첩 범위에서 변수 이름을 숨길 수 있습니다. 2. 중첩 범위에서 변수 이름을 숨길 때 해제할 수 없는 경고가 반드시 발생합니다. 질문에 답하면 적어도 두 가지 옵션이 가능하다고 말할 수 있습니다. 1. 이름 숨김을 사용하되 경고가 있는 것은 참아라(나쁘게도 이름 숨김에 대한 많은 경고 중에서 잠재적인 오류를 감지하고 제거하는 데 도움이 될 수 있는 정말 중요한 다른 경고를 알아차릴 수 없음). 2. 언어에 그러한 옵션이 있음에도 불구하고 이름 숨기기를 사용하지 마십시오. 예를 들어 전역 변수 이름을 Err 대신 gErr로 지정합니다. 이름 숨기기를 비활성화하는 대신 영구 경고가 도입되었습니다. 즐기다. 외부와 입력의 차이점 라이트 마틴게일 전문가 - 주문이 선택되었는지 확인하는 방법 Алексей Тарабанов 2014.10.02 21:15 #7218 러시아어: 올바른 옵션이 첫 번째 옵션이며 경고를 무시하십시오. vlad-755 2014.10.03 08:12 #7219 tara : 러시아어: 올바른 옵션이 첫 번째 옵션이며 경고를 무시하십시오. 고맙습니다. Evgeniy Khaynatskas 2014.10.03 18:49 #7220 포함 파일의 기능 설명을 어딘가에서 볼 수 있습니까? 1...715716717718719720721722723724725726727728729...1178 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
코드 규칙은 어떻습니까?
물론 코드뿐만 아니라!
https://forum.mql4.com/ru/38943
왜 나는 이해할 수 없다
while (i>= 1 ) // 셀 수 없는 막대를 반복합니다 .
i>= 1 항상.
int i // 막대 인덱스
while (i>= 1 ) // 셀 수 없는 막대를 반복합니다 .
i>= 1 항상.
나는 확실히 잊어 버렸습니다 ... 감사합니다
나--;
if(Count>2) ExpertRemove() 주석을 해제하고 이 함수에 의해 종료가 발생 하면 Expert Advisor를 언로드한 후 "Deinit() 함수가 언로드 중 작동함"이라는 주석 이 차트에 계속 표시됩니다 .
그런 Expert Advisor가 컨텍스트 메뉴를 통해 차트에서 제거되면 OnDeinit 의 Comment() 가 차트에 남아 있지 않은 이유를 아는 사람이 있습니까?
Shurkin :
이것은 일반적으로 가장 높은 수준에서 방어되는 언어 설계 결함입니다. 두 가지 사실:
1. MQL4++ 언어는 중첩 범위에서 변수 이름을 숨길 수 있습니다.
2. 중첩 범위에서 변수 이름을 숨길 때 해제할 수 없는 경고가 반드시 발생합니다.
질문에 답하면 적어도 두 가지 옵션이 가능하다고 말할 수 있습니다.
1. 이름 숨김을 사용하되 경고가 있는 것은 참아라(나쁘게도 이름 숨김에 대한 많은 경고 중에서 잠재적인 오류를 감지하고 제거하는 데 도움이 될 수 있는 정말 중요한 다른 경고를 알아차릴 수 없음).
2. 언어에 그러한 옵션이 있음에도 불구하고 이름 숨기기를 사용하지 마십시오. 예를 들어 전역 변수 이름을 Err 대신 gErr로 지정합니다.
이름 숨기기를 비활성화하는 대신 영구 경고가 도입되었습니다. 즐기다.
러시아어: 올바른 옵션이 첫 번째 옵션이며 경고를 무시하십시오.
러시아어: 올바른 옵션이 첫 번째 옵션이며 경고를 무시하십시오.