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

 
실례합니다. 누군가 나를 도와줄 수 있습니까? ))
 
90% == 0의 화살표에 대해 화살표가 있는 IndicatorEmptyValue() 이외의 값 이 표시기 버퍼 에 있는지 확인해야 합니다. 호출에서 "true"를 제거합니다.
 

다음과 같은 경우에는 산이 없을 것입니다.

 int start(){
 if (Depth> Bars - 1 ) Depth= Bars - 1 ;
 double RVI= 0 ; // Обратите внимание - нет нужды объявлять переменную на каждой итерации цикла!
         for ( int i= 1 ; i<Depth; i++){
                RVI = iRVI ( NULL , 0 ,ExtRVIPeriod,MODE_MAIN,i); 
                 if (RVI < mini){
                        mini=RVI;
                         Alert ( "На свече " ,i, " mini = " ,mini);
                }
                 if (RVI > maxi){
                        maxi=RVI;
                         Alert ( "На свече " ,i, " maxi = " ,maxi);
                }
        }
return ( 0 );
}// Автору ведь нужно всего лишь небольшой период, а не все барсы :)
 
수동, 포럼 설정에서 탭 크기를 2-3칸으로 설정하세요. 그런 다음 코드를 삽입하면 대괄호가 떠 다니며 신이 어디 있는지 알고 있습니다 ...
 
작성자는 주기의 출력과 Expert Advisor에서 최대값과 최소값을 가져와야 합니다. 더 나은 중복 코드. 과잉 치질보다.
 

start() 함수에서 deinit() 함수를 호출 할 수 있습니까? 예를 들어 지정된 조건이 발생하면 Expert Advisor가 자체적으로 언로드되도록 하고 싶습니다.

 
FAQ :
작성자는 주기의 출력과 Expert Advisor에서 최대값과 최소값을 가져와야 합니다. 더 나은 중복 코드. 과잉 치질보다.


알았습니다. 아마도 내가 너무 똑똑해서 부주의하게 과제를 읽었을 것입니다. 오늘은 쉽지 않은 날이었습니다. 피로가 댓가를 치르고 있습니다.

관리자에게 편집기 설정에서 표를 줄여달라고 말하십시오. 글쎄요, 매번 포럼 편집기에서 코드를 편집하는 것은 정말 불편합니다.

 
skyjet :
실례합니다. 누군가 나를 도와줄 수 있습니까? ))
다음은 화살표 표시기 로 작업하는 방법을 보여주는 Integer EA의 코드 조각입니다.
         double bv= iCustom ( NULL ,0, "MaSignalFunction" , 0 , 1 );//стрелка "Вверх" в буфере №0
         double sv= iCustom ( NULL ,0, "MaSignalFunction" , 1 , 1 );//стрелка "Вниз"  в буфере №1
         bool BuySignal=false;
         bool SellSignal=false;
             if (bv!= 0 && bv!= EMPTY_VALUE ){
               BuySignal=true;
            }
             if (sv!= 0 && sv!= EMPTY_VALUE ){
               SellSignal=true;
            }
            
             if (BuySignal || SellSignal){
               //если разрешено обратное закрытие, вызывается ф-ия закрытия встречных ордеров 
               if (CloseOnRev)fOrderCloseMarket(SellSignal,BuySignal);
               int BuyCount,SellCount;
               int Total=fMarketOrdersTotal(BuyCount,SellCount);
                   if (Total==- 1 ){
                     return ( 0 );
                  }
                   if (Total<MaxCount || MaxCount==- 1 ){
                     if (BuySignal){
                         if (BuyCount<MaxBuyCount || MaxBuyCount==- 1 ){
                           if (LastBuyTime!= iTime ( NULL ,TimeFrame, 0 )){
                               Print ( "BuySignal " ,CommentOrder);                          
                              fOrderOpenBuy();//вызывается ф-ия открытия buy
                           }  
                        }
                     }
                     if (SellSignal){
                         if (SellCount<MaxSellCount || MaxSellCount==- 1 ){
                           if (LastSellTime!= iTime ( NULL ,TimeFrame, 0 )){
                               Print ( "SellSignal " ,CommentOrder);
                              fOrderOpenSell();//вызывается ф-ия открытия sell                           }
                        }
                     }
                  }
                  
            }
            
  
 
silhouette :

start() 함수에서 deinit() 함수를 호출할 수 있습니까? 예를 들어 지정된 조건이 발생하면 Expert Advisor가 자체적으로 언로드되도록 하고 싶습니다.


어드바이저의 시작부터 초기화 해제를 호출하는 것은 불가능하지만 리턴의 도움으로 작업을 중지하라는 명령을 내릴 수 있습니다.
 
granit77 :
다음은 화살표 표시기를 사용하는 방법을 보여주는 Integer EA의 코드 조각입니다.



정말 감사합니다! 모든 것이 명확해졌습니다.

내가 올바르게 이해했다면 iCustom을 사용하여 표시기 기능을 만들고 Expert Advisor에서 언급한 후 표시기 버퍼 로 전환합니까?