포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 323

 
999666 :

다음은 기능입니다.

어드바이저 자체가 첨부 파일에 있습니다.


일부 이상한 변수 이름, 디컴파일러는 이러한 작업을 수행합니다.)))
 
artmedia70 :

젠장, 보리스. 나는 이미 최근에 썼다. 글쎄, 고문에서 부동 스프레드를 모방하십시오. 플로팅 스프레드 범위에서 임의의 숫자를 입찰가에 추가하고 중지로 시작하는 것을 방지하는 것은 무엇입니까? 중지 주문이 아닌 가치로 마감합니다. 더 큰 정적 스프레드를 설정하는 것보다 더 어렵지만 실제로 필요한 경우 묘사할 수 있습니다. 동시에 테스터에서 최소 스프레드를 설정합니다.

그것은 너무... 생각의 라인입니다.

확인했는데 불행히도 이것은 옵션이 아닙니다! 오류 138이 발생했습니다! 이제 테스터와 전문가의 Ask가 다릅니다! 그래서 인용합니다! 알고리즘을 확산에 맞게 조정하는 것은 의미가 없습니다!

지금은 증가된 일정 스프레드를 사용합니다. 어쩌면 개발자들은 변화하는 스프레드를 모방 하고 주문 실행 을 지연시킬 수도 있습니다!

내가 모스크바에 있었다면 팬케이크에 초대했을 것입니다! :))

그리고는 크레페만... :(그래도 초대하겠어!

 

포럼 사용자를 환영합니다!

위의 코드가 모든 두 번째 개체를 삭제하는 이유를 초보자에게 알려주십시오. 절반이 남아 있습니다. 뭐가 문제 야?

 int deinit()
  {
   int     obj_total= ObjectsTotal ();
  
   for ( int i= 0 ;i<obj_total;i++)
      {
       ObjectDelete ( ObjectName (i)); 
      }
   return ( 0 );
  }
 
Parkhom :

포럼 사용자를 환영합니다!

위의 코드가 모든 두 번째 개체를 삭제하는 이유를 초보자에게 알려주십시오. 절반이 남아 있습니다. 뭐가 문제 야?

그래서:

 int deinit()
  {
   ObjectsDeleteAll ();
   return ( 0 );
  } 
 
r772ra :

그래서:


그래서 비축해 두었습니다 :) 불가능하다면 그렇지 않으면.

ObjectsDeleteAll () - 모든 것을 삭제합니다. 그리고 나는 그것이 아름다워지기를 원 하고 표시기에 의해 그려진 개체 를 삭제합니다.

 
Parkhom :


그래서 비축해 두었습니다 :) 불가능하다면 그렇지 않으면.

ObjectsDeleteAll () - 모든 것을 삭제합니다. 그리고 나는 그것이 아름다워지기를 원 하고 표시기에 의해 그려진 개체 를 삭제합니다.

 int deinit() {
// -------- Блок удаления всех объектов, построенных на графике --------
   string Name_Del[ 1 ]; 
   int Quant_Del= 0 ;                    
   int Quant_Objects= ObjectsTotal ();   
   int LenPref= StringLen (Prefix);
   ArrayResize (Name_Del,Quant_Objects);
   for ( int k= 0 ; k<Quant_Objects; k++) {
       string Obj_Name= ObjectName (k);   
       string Head= StringSubstr (Obj_Name, 0 ,LenPref);
       if (Head==Prefix) {                              
         Quant_Del+= 1 ;        
         Name_Del[Quant_Del- 1 ]=Obj_Name;
         }
     }
   for ( int i= 0 ; i<Quant_Del; i++) ObjectDelete (Name_Del[i]); 
// ----- Конец блока удаления всех объектов, построенных на графике -----
   return ( 0 );
}

init()에서 전역적으로 선언된 Prefix 변수도 초기화해야 합니다.

예를 들어:

 int init() {
   IndicatorShortName( "IB_" + Symbol ());
   Prefix= "IB_" + Symbol ();
//-----------------------------
   SetIndexBuffer ( 0 , isbup);
   SetIndexStyle( 0 , DRAW_ARROW );
   SetIndexArrow( 0 , 181 );
   SetIndexEmptyValue( 0 , 0.0 );
   SetIndexLabel( 0 , "Long Signal" );
//-----------------------------
   SetIndexBuffer ( 1 , isbdn);
   SetIndexStyle( 1 , DRAW_ARROW );
   SetIndexArrow( 1 , 181 );
   SetIndexEmptyValue( 1 , 0.0 );
   SetIndexLabel( 1 , "Short Signal" );
//-----------------------------
   SetIndexBuffer ( 2 , arrup);
   SetIndexStyle( 2 , DRAW_LINE );
   SetIndexArrow( 2 , 159 );
   SetIndexEmptyValue( 2 , EMPTY_VALUE );
   SetIndexLabel( 2 , "Long Level" );
//-----------------------------
   SetIndexBuffer ( 3 , arrdn);
   SetIndexStyle( 3 , DRAW_LINE );
   SetIndexArrow( 3 , 159 );
   SetIndexEmptyValue( 3 , EMPTY_VALUE );
   SetIndexLabel( 3 , "Short Level" );
//-----------------------------
   return ( INIT_SUCCEEDED );
}
 
borilunad :

확인했는데 불행히도 이것은 옵션이 아닙니다! 오류 138이 발생했습니다! 이제 테스터와 전문가의 Ask가 다릅니다! 그래서 인용합니다! 알고리즘을 스프레드에 맞게 조정하는 것은 의미가 없습니다!

지금은 증가된 일정 스프레드를 사용합니다. 어쩌면 개발자들은 변화하는 스프레드를 모방하고 주문 실행을 지연시킬 수도 있습니다!

내가 모스크바에 있었다면 팬케이크에 초대했을 것입니다! :))

그리고는 크레이프만... :(하지만 그래도 초대합니다!

글쎄, 나는 말했다 - 시장에서 열지 않고 정지 예금으로. 결국 그는 곧바로 말했다.

그리고 팬케이크 감사합니다. 스카이프를 통해 나에게 보낼 수 있습니다. ;)

 
Parkhom :


그래서 비축해 두었습니다 :) 불가능하다면 그렇지 않으면.

ObjectsDeleteAll () - 모든 것을 삭제합니다. 그리고 나는 그것이 아름다워지기를 원 하고 표시기에 의해 그려진 개체 를 삭제합니다.


그럼 이름으로 검색해서 삭제하는게 나을까요? 아니면 5000개의 개체가 있습니까?


루프라면 루프에서 역순을 시도해야 합니다.

  for ( int i=obj_total-1;i>=0;i--)
      {
       ObjectDelete ( ObjectName (i)); 
      }
 
내 Expert Advisor 테스트를 시작했고 테스터에 문제가 생기기 시작했습니다. 경험 많은 "테스터"로부터 테스터가 얼마나 악화될 수 있는지 알고 싶습니다. 그런 새끼.
 
Burger :
내 Expert Advisor 테스트를 시작했고 테스터에 문제가 생기기 시작했습니다. 경험 많은 "테스터"로부터 테스터가 얼마나 악화될 수 있는지 알고 싶습니다. 그런 새끼.
테스터는 어떻습니까?
사유: