[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 146

 
내 뇌를 찢어

Space :

... 유로의 1단위에 대해 더 적은 달러를 주기 시작합니다. 유로가 더 비싸지고 있다는 것을 의미합니까? 왜 그들은 어디에서 그것이 떨어지고 있다고 말하는가?

... 1kg의 토마토 에 대해 루블 을 줄이기 시작합니다. 토마토 가 더 비싸지고 있습니까? 왜 그들은 어디에서 그들이 더 싸지고 있다고 말하는가?
 
iMAG :
명확성을 위해 할당 연산자 다음에 GetLastError()를 살펴보십시오. 이는 분석에 도움이 될 것입니다. 적어도 위의 예에서는 모든 것이 훌륭하게 작동합니다. ;)


정수 초기화()
{
//----
// 나는 = 0;
이중 s[10] = {,,,3,4,5,6,7,8,9};
정수 i = 0;

동안(i < 10)
{
s[i] = 나는 + 10;
나는 ++;
Print("s[i]: ", DoubleToStr(s[i], 2), " i: ", i, " GetLastError(): ", GetLastError());

수면(5000);
}

//----

리턴(0);
}

다음은 좋은 예입니다. 값(i + 10)이 할당되지 않았습니다. 이러한 초기화를 통해 주문 배열을 통해서만 - 비밀은 무엇입니까?


 

스테판2

공장

 int init()
  {
//----
double s[ 11 ];
// i = 0;
int i = 0 ;

while (i < 10 )
{
s[i] = i* 10 ;
i++;
Print ( "s[i]: " , DoubleToStr (s[i], 2 ), " i: " , i, "   GetLastError(): " , GetLastError ());

Sleep ( 5000 );
}

   return ( 0 );
  }

 
GaryKa :
나는 내 두뇌를 찢어 ... 1kg의 토마토 에 대해 루블 보다 적게주기 시작했습니다. 토마토 가 더 비싸지고 있다는 것이 밝혀졌습니다. 왜 그들은 어디에서 그들이 더 싸지고 있다고 말하는가?


저것들. 분자나 분모에 관계없이 달러는 항상 MONEY(전공에서도)이고 나머지는 "COMMODITY"입니다.

그것이 어떻게 작동합니까?

십자가는 어떻습니까? 십자가를 형성 할 때 무엇으로 나눌 것인지 이해하는 방법?

저것들. 왜 한 통화는 반드시 분자에 있고 다른 통화는 분모에 있어야 하고 다른 통화는 그렇지 않습니까?

 
r772ra :

스테판2

공장


그게 무슨 뜻 이니?

BROKER에 따라 달라지는 터미널!

 
Space :


저것들. 분자나 분모에 관계없이 달러는 항상 MONEY(전공에서도)이고 나머지는 "COMMODITY"입니다.

그것이 어떻게 작동합니까?

십자가는 어떻습니까? 십자가를 형성 할 때 무엇으로 나눌 것인지 이해하는 방법?

저것들. 왜 한 통화는 반드시 분자에 있고 다른 통화는 분모에 있어야 하고 다른 통화는 그렇지 않습니까?


학습 과정은 다음과 같습니다.

DIVISION - 순차적이지만 역순

점프 - 액션 스크립트

 
Stepan2 :


그게 무슨 뜻 이니?

BROKER에 따라 달라지는 터미널!

나는 브로커에 대해 아무 말도 하지 않을 것입니다. 브로커와

그리고 코드의 경우 내가 틀릴 수도 있습니다.

당신 은 배열을 선언하고 그것을 채웠다

 double s[ 10 ] = {,,, 3 , 4 , 5 , 6 , 7 , 8 , 9 }; 

이 숫자를 보여줍니다. 예, 두 배이면 1.0, 2.0 등입니다.

나의 경우에는

 double s[ 11 ];

네, 오류가 발생하지 않도록 조금 더 필요합니다(4002).

와 싸이클에 채워져 있구나 와아아아아아아아아아아아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ ㅏㅏㅏㅏ "

 

친애하는 말을 해주세요. 두 개의 MACD(Macd1 및 Macd2)를 하나의 창에 하나의 눈금에 배치했습니다. 표시기 창에 표시되는 차트 값 중에서 각 MACD의 최대값과 최소값을 찾아 Comment( ) 모든 것이 작동하지만 첫 번째 막대에서 신호 라인만 생성되기 시작합니다. 전체 창을 채울 때까지 기다려야 합니다 이 문제를 해결하는 방법과 내 서투른 코드를 어떻게든 최적화할 수 있습니까?

  
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_color3 Aqua
#property indicator_color4 DarkOrange
#property  indicator_width1  2
#property  indicator_width3  2
//--- buffers
double Macd1Buffer[];
double Signal1Buffer[];
double Macd2Buffer[];
double Signal2Buffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,Macd1Buffer);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,Signal1Buffer);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,Macd2Buffer);
   SetIndexStyle(3,DRAW_LINE);
   SetIndexBuffer(3,Signal2Buffer);
   
   IndicatorDigits(Digits);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   Comment("");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {   
      double max1=-0.01,min1=0.01,
             max2=-0.01,min2=0.01,
             max_M1=-0.01,min_M1=0.01,
             max_M2=-0.01,min_M2=0.01,
             max_S1=-0.01,min_S1=0.01,
             max_S2=-0.01,min_S2=0.01;
             
       
 
   int bars_counted=WindowBarsPerChart()-1,
       limit;  
       limit=bars_counted;       


      
//---- macd counted in the 1-st buffer
   for(int i=0; i<limit; i++)
   

   { 
     Macd1Buffer[i]=iMA(NULL,0,6,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i);
  
           max_M1=MathMax(Macd1Buffer[i],max_M1);
           min_M1=MathMin(Macd1Buffer[i],min_M1);
  
      Signal1Buffer[i]=iMAOnArray(Macd1Buffer,Bars,5,0,MODE_SMA,i);
 
           max_S1=MathMax(Signal1Buffer[i],max_S1);
           min_S1=MathMin(Signal1Buffer[i],min_S1);         
             
           max1=MathMax(max_M1,max_S1);
           min1=MathMin(min_M1,min_S1);
             
   }          
            
      
//---- done
   //---- macd counted in the 3-st buffer   
   for(i=0; i<limit; i++) 
      
   { 
     
      Macd2Buffer[i]=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,26,0,MODE_EMA,PRICE_CLOSE,i);
 
          
           max_M2=MathMax(Macd2Buffer[i],max_M2);
           min_M2=MathMin(Macd2Buffer[i],min_M2);
           
   
      Signal2Buffer[i]=iMAOnArray(Macd2Buffer,Bars,9,0,MODE_SMA,i);

           max_S2=MathMax(Signal2Buffer[i],max_S2);
           min_S2=MathMin(Signal2Buffer[i],min_S2);  
         
           max2=MathMax(max_M2,max_S2);
           min2=MathMin(min_M2,min_S2);    
   }      
      
//---- done 
   
 
      Comment( "\n"," Баров = ",WindowBarsPerChart()-1,
               "\n"," max_M1 = ",max_M1,
               "\n"," min_M1 = ",min_M1,
               "\n"," max_S1 = ",max_S1,
               "\n"," min_S1 = ",min_S1,
               "\n"," max_M2 = ",max_M2,
               "\n"," min_M2 = ",min_M2,
               "\n"," max_S2 = ",max_S2,
               "\n"," min_S2 = ",min_S2,
               "\n"," max1 = ",max1,
               "\n"," min1 = ",min1,    
               "\n"," max2 = ",max2,
               "\n"," min2 = ",min2);
         
             
         
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
MK07 :

친애하는 말을 해주세요. 두 개의 MACD(Macd1 및 Macd2)를 하나의 창에 하나의 눈금에 배치했습니다. 표시기 창에 표시되는 차트 값 중에서 각 MACD의 최대값과 최소값을 찾아 Comment( ). 모든 것이 작동하지만 첫 번째 막대에서 신호 라인만 생성되기 시작합니다. 전체 창을 채울 때까지 기다려야 합니다 이 문제를 해결하는 방법과 내 서투른 코드를 어떻게든 최적화할 수 있습니까?

별도의 루프에서 각 버퍼를 시도하십시오.
 
r772ra :
별도의 루프에서 각 버퍼를 시도하십시오.
응.
   for ( int i= 0 ; i<limit; i++)
   { 
     Macd1Buffer[i]= iMA ( NULL , 0 , 6 , 0 , MODE_EMA , PRICE_CLOSE ,i)- iMA ( NULL , 0 , 12 , 0 , MODE_EMA , PRICE_CLOSE ,i);
     Macd2Buffer[i]= iMA ( NULL , 0 , 12 , 0 , MODE_EMA , PRICE_CLOSE ,i)- iMA ( NULL , 0 , 26 , 0 , MODE_EMA , PRICE_CLOSE ,i);   
   }          

   for (i= 0 ; i<limit; i++) 
   { 
      Signal1Buffer[i]= iMAOnArray (Macd1Buffer, Bars , 5 , 0 , MODE_SMA ,i);
      Signal2Buffer[i]= iMAOnArray (Macd2Buffer, Bars , 9 , 0 , MODE_SMA ,i);
   }