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

 
Frostr :
이미 도려냈어.. 히스토그램이 있으니 막대가 없으면 어쩔 수 없이 써먹어야지...
양초보다 막대를 더 좋아합니까? 흥미로운 질문이지만 시간을 낭비하는 것은 유감입니다. 사실 막대도 히스토그램이고 열기 및 닫기 레이블이 붙어 있습니다.
이 표시의 색상에 신경 쓰지 않는다면 H.A.와 같은 방법을 적용할 수 있습니다. 막대의 너비를 픽셀 단위로 계산하기만 하면 됩니다(가능합니다. 확인했지만 도움말에 있는 위치가 기억나지 않습니다). 그런 히스토그램 너비를 지정하면 열기 및 닫기가 차트 속성 에 지정된 색상으로 유지됩니다. .
 

재정의된 가상 메서드 Compare 가 CListNode 클래스 에서 재정의되는 이유는 무엇입니까?

 #include <Arrays\List.mqh>
#define SIZE 10

class CData : public CObject
  {
public :
   int m_data;
  };

class CListNode : public CList
  {
public :
   virtual int Compare( const CObject *node, const int mode= 0 ) const {
       int _test= 1 ;
       return (_test);
   }
  };

int OnInit () {
        CListNode *node= new CListNode;
         if ( CheckPointer (node)== POINTER_INVALID ) {
           Print ( "Не могу создать объект" );
           return ( INIT_FAILED );
        }
         else Print ( "Объект создан, работаем дальше" );

         MathSrand ( GetTickCount ());
         for ( int i= 0 ;i<SIZE;i++) {
           CData *data= new CData;
           if (data== NULL ) {
               Print ( "Нет возможности получить указатель" ); delete node; return ( INIT_FAILED );
           }
           printf ( "Узел %i, данные узла %i" ,i,data.m_data= MathRand ());
           node.Add(data);
        }
        
        node.Sort( 0 );
         int _total=node.Total();
         for ( int i= 0 ;i<_total;i++) {
           CData *data=node.GetNodeAtIndex(i);
           if (data== NULL ) {
               Print ( "Нет возможности получить указатель" ); delete node; return ( INIT_FAILED );
           }
           printf ( "Узел %i, данные узла %i" ,i,data.m_data);
        }

         if ( CheckPointer (node)== POINTER_DYNAMIC ) { Alert ( "Удаляем объект" ); delete node;}
         else Alert ( "Non-dynamic object" );
   return ( INIT_SUCCEEDED );
}
디버거에서 확인하면 CObject에서 비교가 항상 사용됩니다.
 

안녕하세요, 그런 조언자를 썼습니다. 경고가 거의 매초 비매도 신호를 보고하는 이유는 무엇입니까?

//+----------------------------------------------- --------------------+

//| 페레체니 TM.mq4 |

//| 포포프 블라디미르 |

//| http://vk.com/id143715412 |

//+----------------------------------------------- --------------------+

#property copyright "블라디미르 포포프"

#속성 링크 "http://vk.com/id143715412"


이중 판매 가격;

더블 테이크 프로핏;

이중 손절매;


extern string TimeFrame = "현재 시간 프레임";

extern int HalfLength = 20;

extern int 가격 = PRICE_CLOSE;

외부 이중 ATRMultiplier = 2.0;

extern int ATRPPeriod = 100;

extern bool 보간 = true;



이중 PriceHigh, PriceLow, PriceMiddle;

더블하이버퍼[];

이중 LowesBuffer[];

//+----------------------------------------------- --------------------+

//| 전문가 초기화 기능 |

//+----------------------------------------------- --------------------+

정수 초기화()

{

if (숫자 == 3 || 숫자 == 5)

{

이익을 취하십시오 *= 10;

손절매 *= 10;

}

리턴(0);

}

//+----------------------------------------------- --------------------+

//| 전문가 초기화 해제 기능 |

//+----------------------------------------------- --------------------+

정수 초기화()

{





리턴(0);

}

//+----------------------------------------------- --------------------+

정수 시작()

{

PriceHigh = iCustom(Symbol(), 0, "시간", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPPeriod, Interpolate, 2, 0);

PriceLow = iCustom(Symbol(), 0, "시간", TimeFrame, HalfLength, 가격, ATRMultiplier, ATRPPeriod, Interpolate, 1, 0);

PriceMiddle = iCustom(Symbol(), 0, "시간", TimeFrame, HalfLength, 가격, ATRMultiplier, ATRPPeriod, Interpolate, 0, 0);


if(문의 <= PriceLow)

{

Alert("구매 신호");

}

if(입찰가 >= 높은 가격)

{

Alert("매도 신호");

}

반환(0);

}

//+----------------------------------------------- ------ --------------------+

 

테스트 후 보고서를 자동으로 저장할 수 있는지 누가 알겠습니까?

자동 모드(GA 없이 최적화할 계획)에서 많은 테스트 실행을 수행하고 이에 대한 전체 보고서(사진 포함)가 HDD에 저장되도록 하면 됩니다.

 
tuner :

테스트 후 보고서를 자동으로 저장할 수 있는지 누가 알겠습니까?

자동 모드에서 많은 테스트를 실행하고(GA 없이 최적화할 계획입니다) 이에 대한 전체 보고서(사진 포함)가 HDD에 저장되도록 하면 됩니다.


TesterStatistics() OnTester ( ) 함수가 있습니다.

그들을 확인하십시오. 도움이 될 것입니다.

 
Pr0t0tip :

안녕하세요, 그런 조언자를 썼습니다. 경고가 거의 매초 비매도 신호를 보고하는 이유는 무엇입니까?



교체 시도

 if ( Ask <= PriceLow)

 {

 Alert ( "Сигнал к покупке" );

 }

 if ( Bid >= PriceHigh)

 {

 Alert ( "Сигнал к продаже" );

 }

 return ( 0 );

int static flag= 0 ;
if ( Ask <= PriceLow && flag< 1 )

 {

 Alert ( "Сигнал к покупке" );
flag= 1 ;
 }

 else if ( Bid >= PriceHigh && flag>- 1 )

 {

 Alert ( "Сигнал к продаже" );
flag=- 1 ;
 }
else flag= 0 ;

 return ( 0 );
 
Vinin :


TesterStatistics() 및 OnTester ( ) 함수가 있습니다.

그들을 확인하십시오. 도움이 될 것입니다.


조언 감사합니다만, 도움이 되지 않는 것 같습니다. 사진이 있는 원본 형식(htm)의 보고서 자체가 필요합니다. 준비된 솔루션이 없는 것 같습니다. 테스터에서 지정된 횟수만큼 "시작" 버튼을 누르고 각 실행 후에 "보고서" 탭으로 이동하여 결과를 파일에 저장하는 autoit에서 스크립트를 만들려고 합니다.
 

안녕하세요! 이 문제를 도와주세요: 빌드 625부터 시작하여 MT4 테스터에서 시작될 때 정보 기능 Alert(...), Print(...), Comment(...) 정보 기능의 값이 표시되지 않습니다. 지표 차트에서 이 값은 실제 거래를 위해 또는 디버거를 통해 표시기가 시작될 때 표시됩니다. 과거 데이터에서 이 빌드에서는 적어도 Print(...) 기능 을 통해 매개변수의 변경 사항을 추적하는 것이 불가능해졌습니다. 610번째 빌드에는 문제가 없었고 모든 값은 터미널의 "전문가" 탭에 표시되었습니다.

어쩌면 코드를 MQL5 방식으로 다시 만들어야 합니까? 오래된 빌드로 작업해야 하는 동안 무엇을 해야 할지 모르겠습니다...

 

안녕하세요. 이미 그러한 문제를 겪은 사람이 있습니까?

폴더에 여러 Expert Advisors가 있지만 터미널(MT 4, 빌드 625)에는 없습니다. 그리고 터미널에 있는 것들은 폴더에 없습니다. 불가사의?



 
Ale-xander :

안녕하세요. 이미 그러한 문제를 겪은 사람이 있습니까?

폴더에 여러 Expert Advisors가 있지만 터미널(MT 4, 빌드 625)에는 없습니다. 그리고 터미널에 있는 것들은 폴더에 없습니다. 불가사의?



기적은 없습니다.

파일 --> 데이터 디렉토리 열기 --> 열리는 창에서 --> MQL4 --> 여기에서 필요한 폴더를 찾을 수 있습니다. 이것은 이미 300 번 작성되었으며 포럼의 기본 페이지에 기사에 대한 링크가 있습니다. 게으름은 간단합니다.