오류, 버그, 질문 - 페이지 1335

 

Fractals.mq5 표시기의 소스 코드에는 프랙탈 계산을 위한 다음 항목이 포함되어 있습니다(라인 74 및 79).

 //---- Upper Fractal
if (high[i]>high[i+ 1 ] && high[i]>high[i+ 2 ] && high[i]> = high[i- 1 ] && high[i]> = high[i- 2 ])

//---- Lower Fractal
if (low[i]<low[i+ 1 ] && low[i]<low[i+ 2 ] && low[i]< = low[i- 1 ] && low[i]< = low[i- 2 ])

이 계산에서 나를 혼란스럽게 하는 것은 >= 및 <=(빨간색)의 등호입니다.

나는 항상 위쪽 프랙탈이 5개 이상의 막대 조합에서 중간 막대의 최대값이 가장 클 때 형성된다고 생각 했습니다. 항상 왼쪽과 오른쪽에서 두 개의 인접한 최대값보다 높 거나 같지 않습니다. 각각 프랙탈 다운으로. 위의 코드에서 평등이 허용되는 것을 볼 수 있습니다. Fractals.mq5 코드에 오류가 있는지 확인하십시오.

 

신호가 있습니다. 모니터링이 100% 소진되고 계정의 모든 것이 정상입니다. 3일째에 서비스 데스크와 회사 직원을 노크합니다. 답이 없다...

문제를 더 해결하는 방법....?

 
Stanislav Olhovsky :

신호가 있습니다. 모니터링이 100% 소진되고 계정의 모든 것이 정상입니다. 3일째에 서비스 데스크와 회사 직원을 노크합니다. 답이 없다...

문제를 더 해결하는 방법....?

얻은 것보다 더 많이 인출하지 않으면 잔액 곡선이 0이되지 않습니다.
 

나는 "즐겨 찾기의 혁신"에서 썼습니다 . 침묵이 있습니다. 나는 여기에 쓸 것이다:

윈도우 10 x64, 모질라 파이어폭스 39.0. 첨부된 이미지, 파일은 개인용으로 보내드리지 않습니다...

 
Karputov Vladimir :
얻은 것보다 더 많이 인출하지 않으면 잔액 곡선이 0이되지 않습니다.

신호는 거의 4 개월 동안 작동했으며 리베이트 만 추가되었으며 아무도 거기에서 아무것도 촬영하지 않았으며 모든 것이 괜찮 았고 안정적인 성장 ... 터미널에서 데이터는 정상이고 다른 온라인 모니터링에서는 ....

Maybook의 스크린샷을 첨부하고 있습니다. 모든 것이 정상입니다.

중개인의 대답은 히스토리는 1개월 정도 저장했는데 2~3개월 전이라면 시그널이 똑같았을텐데...

파일:
Error.png  36 kb
 
그리고 다시 "Lichka"에 대해. 계속되는 떼들 ...
 

친애하는 개발자 여러분!

Bands 및 iBands 표시기의 다른 판독값. 밴드 표시기에서 표준 편차 는 StdDev_Func 함수에서 계산되고 iBands에서는 GetData 메서드에서 계산됩니다. 차트의 도면을 비교하면 편차 수준을 담당하는 버퍼의 상태에서 큰 차이를 볼 수 있습니다. 나는 MQL4에서 이것을 만났고 아마도 MQL5에서도 같을 것이다.

 

여하튼 전에는 주의를 기울이지 않았지만, 이제는 큰 배열의 클래스 개체로 작업할 때 지나치게 큰 메모리 소비를 발견했습니다. sizeof()에서 확인 - 절대적으로 비어 있는 클래스는 16바이트를 차지합니다. 그리고 여기의 클래스가 관리된다는 점을 감안할 때 포인터에 8바이트를 더 추가합니다. 총 24바이트. 어쩐지 너무 힘들다.

나는 문서를 조사했고 이것이 내가 찾은 것입니다.

объекты классов всегда имеют таблицу виртуальных функций , даже если в классе не объявлено ни одной виртуальной функции .

질문은 다음과 같습니다. 상속에 참여하지 않는 단순 클래스 에 가상 함수 테이블이 필요한 이유는 무엇입니까? 결국 컴파일 단계에서 이러한 클래스에 대한 모든 것이 알려져 있습니다.

그 안에 있는 메서드는 가상 메서드와 정확히 같은 방식으로 호출됩니다. 테이블에 대한 추가 액세스 리디렉션이 있습니다. 그리고 자랑스러운 컴파일러 최적화는 어디에 있습니까? 그렇다면 어떻게 C++과의 성능 비교를 주장할 수 있습니까?

 

당신이 옳지 않다.

메서드가 가상으로 선언되지 않은 경우 직접 호출됩니다. 또한 가상을 제거하기 위한 최적화가 있습니다. 소멸자는 항상 가상이므로 가상 테이블이 존재합니다.

24바이트에 대한 이상한 설명이 있습니다. 개체에 대한 참조는 크기에 적용되지 않습니다.

관리되는/안전한 언어의 클래스에는 항상 메타 정보가 포함되어 있으므로 의미가 있습니다. 깨끗한 크기를 원하면 구조체를 사용하십시오.

 
Renat Fatkhullin :

소멸자는 항상 가상이므로 가상 테이블이 존재합니다.

그렇다면 소멸자를 최적화하지 않는 이유는 무엇입니까? 그 때문에 저장할 추가 8 바이트 ...

24바이트에 대한 이상한 설명이 있습니다. 개체에 대한 참조는 크기에 적용되지 않습니다.

글쎄, 나는 당신이 거기에서 모든 것을 어떻게 구현했는지 모르겠습니다. 객체 배열이 있다고 가정해 보겠습니다.

CObj array[];

각 요소에 대한 링크(포인터)가 시스템에 저장되어 있습니까?

깨끗한 크기를 원하면 구조체를 사용하십시오.

이것은 이해할 수 있지만 구조체에 대한 포인터를 사용할 수 없으므로 사용 편의성이 떨어집니다. 그래서 여기서 가끔은 고통스러운 선택을 해야 하는데... 자, 이제 클래스의 크기를 줄일 수 있다면 좋을 텐데. 그리고 구조에 대한 포인터도 나타나면 일반적으로 아름다움)