학습 논리 - 페이지 2

 
이제 사무실과 우편번호가 없다고 해서 더 이상 논리가 부족하다는 신호가 아닙니다. :)
 
Integer :

우리는 아무 문제가 없습니다. 특히 텍스트 형식의 당신을 위해. Archiver zip, 분명히 있습니다.


읽기에서 : "......그리고 생각의 구두 표현의 부정확으로 인해 발생하는 오류."

내 첫 번째 게시물의 맨 끝에 스마일을 넣는 것을 잊었습니다.

 
DDFedor :

왜 스마일이 필요합니까? 이 스레드가 농담이라고 생각합니까?

아니요 ... 이모티콘이 다릅니다(매우 슬픈 이모티콘).
 
age_nt :
승리자! 내가 올바르게 이해하면 도울 준비가 된 것입니다 .... "논리 없음"이 어디에 있는지 이해할 수 없습니다


자, 시작해 볼까요?

코드 컨텍스트에서 이 섹션은 나에게 비논리적으로 보였습니다.

 bool showEUR, showUSD, showGBP, showCHF, showJPY, showRAVI;
   if ( StringFind ( Symbol (), "EUR" , 0 ) != - 1 ) showEUR = TRUE;
   if ( StringFind ( Symbol (), "USD" , 0 ) != - 1 ) showUSD = TRUE;
   if ( StringFind ( Symbol (), "GBP" , 0 ) != - 1 ) showGBP = TRUE;
   if ( StringFind ( Symbol (), "CHF" , 0 ) != - 1 ) showCHF = TRUE;
   if ( StringFind ( Symbol (), "JPY" , 0 ) != - 1 ) showJPY = TRUE;

명시적인 초기화는 없지만 다른 곳에 초기화가 있습니다. 부울 표현식은 사용되지 않습니다. 하나의 변수가 완전히 빠졌습니다. 비표준 형식.

반대 의견을 들을 준비가 되었습니다.

 
gip :


비표준 형식.


설명하다
 

안녕하세요 여러분, 처음에는 막대를 원하는 색상으로 칠 하는 표시기를 작성 하려고 시도했지만 표시기 코드의 논리를 이해하지 못합니다. 완성된 코드에서 다른 표시기를 조각한 것 같습니다. , 절대 안돼 :(

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Red

#property indicator_width1 2
#property indicator_width2 2

extern int NumBars   =  100 ;

double upbuf[];
double dnbuf[];

int init() {
   IndicatorBuffers( 2 );
   SetIndexBuffer ( 0 , upbuf);
   SetIndexBuffer ( 1 , dnbuf);
   SetIndexStyle( 0 , DRAW_HISTOGRAM , STYLE_SOLID );
   SetIndexStyle( 1 , DRAW_HISTOGRAM , STYLE_SOLID );
   IndicatorShortName( "Bars" );
   return ( 0 );
}

int deinit() {
   return ( 0 );
}



int start() {
   int counted = IndicatorCounted();
   if (counted < 0 ) return (- 1 );
   int draw  = Bars - counted + NumBars + 1 ;
   int i;
   if (draw > Bars ) i = Bars ;
   for (i = draw; i >= 0 ; i--) {
   if (Low[i] < Open[i]) {
         upbuf[i] = Open[i];
         dnbuf[i] = Low[i];
      } else {
             upbuf[i] =High[i];
             dnbuf[i] =Open[i]; 
         }
    }
   return ( 0 );
}

막대의 시작이 최소 가격보다 크면 원칙에 따라 마지막 100개의 막대를 두 가지 색상으로 색칠하는 방법을 설명합니다.

작업은 간단합니다. 목표는 DRAW_HISTOGRAM 라인 유형으로 올바르게 작업하고 마지막 표시기 호출 이후 변경된 막대 수를 올바르게 계산하는 방법을 배우는 것입니다.

 
sanyooooook :
설명하다

서식 스타일은 표현식 내에 공백을 포함하지 않습니다. 그리고 여기에 공백이 있습니다. 어느 한 스타일을 고수하는 것이 논리적일 것입니다.
 

기능적으로 이것은 차트에 표시하는 편의를 위한 것이며 계산의 정확도에 영향을 미치지 않습니다(내가 이해하는 한).

다른 지표에서 작동하지만 일반적으로 눈을 부끄럽게하지 않도록 블록을 제거 할 수 있습니다 .... 떠나십시오

 int init()
  {
//---- indicators

   IndicatorBuffers( 5 );

   IndicatorDigits(MarketInfo( Symbol (),MODE_DIGITS));

//---- indicator line
   SetIndexBuffer ( 0 ,EUR_Buffer);
   SetIndexBuffer ( 1 ,USD_Buffer);
   SetIndexBuffer ( 2 ,GBP_Buffer);
   SetIndexBuffer ( 3 ,CHF_Buffer);
   SetIndexBuffer ( 4 ,JPY_Buffer);

   SetIndexLabel( 0 , "EUR" );
   SetIndexLabel( 1 , "USD" );
   SetIndexLabel( 2 , "GBP" );
   SetIndexLabel( 3 , "CHF" );
   SetIndexLabel( 4 , "JPY" );

   
   SetIndexDrawBegin( 0 , 0 );
   SetIndexDrawBegin( 1 , 0 );
   SetIndexDrawBegin( 2 , 0 );
   SetIndexDrawBegin( 3 , 0 );
   SetIndexDrawBegin( 4 , 0 );

   
   IndicatorShortName( "all1" );

//----
   return ( 0 );
  }
 
age_nt :
승리자! 내가 올바르게 이해하면 도울 준비가 된 것입니다 .... "논리 없음"이 어디에 있는지 이해할 수 없습니다


러시아어의 구문과 형태에 익숙합니까?

첫 번째 게시물을 다시 읽으십시오.

 
rid :

예, 유용할 것입니다!

//---------------

p/s - 빅터, 생일 축하해!

지원하다!!!!!!!!!!!