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

 
Urain :

그런 다음 프로파일 브랜치에 제안하십시오(여전히 오류가 없습니다).

글쎄요... 그건 실수인 것 같아요. 내 이해에 따르면 달력에서 오늘 기간의 끝을 선택할 수 있다면
그러면 테스터와 옵티마이저가 현재 시간까지 작동할 것으로 예상되지만 이것은 발생하지 않습니다(((
개발자는 좋은 플랫폼을 만들 수 있는 능력을 알고 있으며 자신의 능력에 있습니다. 그리고 아니오, 그렇지 않습니다. 더 생각해보자...

 

이 기사 "초보자를 위한 MQL5 Expert Advisors 작성에 대한 단계별 가이드" https://www.mql5.com/en/articles/100 에서 다음 행을 읽었습니다.


3자리 및 5자리 견적의 경우 손절매 및 이익실현 값에 10을 곱합니다.

터미널과 함께 제공되는 "MACD 샘플"에서도 거의 동일합니다.

//--- 3자리 또는 5자리 조정
intdigits_adjust=1;
if(m_symbol.Digits()==3 || m_symbol.Digits()==5) 숫자 조정=10;

m_adjusted_point=m_symbol.Point()*digits_adjust;

이 동작은 무엇입니까? 변수에 소수점 이하 3자리와 5자리를 사용하여 10을 곱하는 이유는 무엇입니까?

Пошаговое руководство по написанию MQL5-советников для начинающих
Пошаговое руководство по написанию MQL5-советников для начинающих
  • 2010.06.09
  • Samuel
  • www.mql5.com
Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
 
progeon :

이 기사 "초보자를 위한 MQL5 Expert Advisors 작성에 대한 단계별 가이드" https://www.mql5.com/en/articles/100 에서 다음 행을 읽었습니다.

3자리 및 5자리 견적의 경우 손절매 및 이익실현 값에 10을 곱합니다.

터미널과 함께 제공되는 "MACD 샘플"에서도 거의 동일합니다.

//--- 3자리 또는 5자리 조정
intdigits_adjust=1;
if(m_symbol.Digits()==3 || m_symbol.Digits()==5) 숫자 조정=10;

m_adjusted_point=m_symbol.Point()*digits_adjust;

이 동작은 무엇입니까? 변수에 소수점 이하 3자리와 5자리를 사용하여 10을 곱하는 이유는 무엇입니까?

이것은 모든 것을 네 자리 숫자로 계산하는 데 익숙하고 재구성하기를 원하지 않는 동지들을위한 것입니다.

따라서 매개변수에 100개의 정지 손실 포인트를 설정하면 1000포인트에서 5자리 기호에 대해 다시 계산하고 100포인트에서 4자리 기호로 다시 계산합니다.

네 가지 표시는 장점, 이익의 재계산 용이성, 투자 자금의 1.1%를 가지고 있습니다.

 
progeon :

이 기사 "초보자를 위한 MQL5 Expert Advisors 작성에 대한 단계별 가이드" https://www.mql5.com/en/articles/100 에서 다음 행을 읽었습니다.

3자리 및 5자리 견적의 경우 손절매 및 이익실현 값에 10을 곱합니다.

터미널과 함께 제공되는 "MACD 샘플"에서도 거의 동일합니다.

//--- 3자리 또는 5자리 조정
intdigits_adjust=1;
if(m_symbol.Digits()==3 || m_symbol.Digits()==5) 숫자 조정=10;

m_adjusted_point=m_symbol.Point()*digits_adjust;

이 동작은 무엇입니까? 변수에 소수점 이하 3자리와 5자리를 사용하여 10을 곱하는 이유는 무엇입니까?


다른 브로커와 더 나은 호환성(4자리 또는 5자리 따옴표 제공), 즉 어드바이저의 매개변수를 변경할 필요가 없습니다.

이 알고리즘은 4자리 견적을 제공하는 브로커가 4자리 또는 2자리를 가질 수 있다는 사실에서 진행됩니다(일반적으로 JPY가 있는 경우 쌍으로).

그리고 각각 5자리 5와 3입니다.

나 자신은 그러한 방법의 안전성에 관심이 있지만 _Digits 값이 다른 도구가 있는 것 같기 때문입니다.

개인적으로 "EURUSD"를 확인합니다. 그러나 MT4에는 최소한 EURUSD_fx와 같이 유로달러의 이름이 약간 다른 브로커가 있습니다 .

또는 그런 것.

 
crOss :
пункты 1 и 2 уходят, если фиксировать правое время на момент начала теста/оптимизации.
никто не просит актуальность до секунды... но один торговый день - это, извините, ни в какие ворота.

우크라이나 :

그런 다음 년, 월, 일뿐만 아니라 끝의 시:분도 입력해야 합니다.

필요하지 않습니다. 시간은 테스트/최적화 실행 시 순전히 프로그래밍 방식으로 고정될 수 있습니다.

솔직히 말해서, 나는 그 제안이 꽤 타당하다고 생각합니다. 나는 위해.

지금은 나와 관련이 없지만 곧 매우 바람직할 것입니다.

 
Urain :

이것은 모든 것을 네 자리 숫자로 계산하는 데 익숙하고 재구성하기를 원하지 않는 동지들을위한 것입니다.

따라서 매개변수에 100개의 정지 손실 포인트를 설정하면 1000포인트에서 5자리 기호에 대해 다시 계산하고 100포인트에서 4자리 기호로 다시 계산합니다.

네 가지 표시는 장점, 이익의 재계산 용이성, 투자 자금의 1.1%를 가지고 있습니다.

분명히, 계속합시다) 그런 질문 - 같은 기사에서 손절매를 형성하고 이익을 얻을 때 NormalizeDouble 함수 를 사용하는 이유는 무엇입니까? 무의미한 것 같습니다.

mrequest.sl = NormalizeDouble (latest_price.ask - STP* _Point , _Digits ); // Stop Loss
mrequest.tp = NormalizeDouble (latest_price.ask + TKP* _Point , _Digits ); // Take Profit
Документация по MQL5: Преобразование данных / NormalizeDouble
Документация по MQL5: Преобразование данных / NormalizeDouble
  • www.mql5.com
Преобразование данных / NormalizeDouble - Документация по MQL5
 
progeon :

분명히, 계속합시다) 그런 질문 - 같은 기사에서 손절매를 형성하고 이익을 얻을 때 NormalizeDouble 함수 를 사용하는 이유는 무엇입니까? 무의미한 것 같습니다.

무의미하지 않고, 레벨을 계산할 때 중복 연산이 수행되고 결과가 정규화되지 않고 그대로 서버에 전달하면 requot를 받게됩니다. 따라서 계산 결과가 정규화됩니다.
 
Urain :
무의미하지 않고, 레벨을 계산할 때 중복 연산이 수행되고 결과가 정규화되지 않고 그대로 서버에 전달하면 requot를 받게됩니다. 따라서 계산 결과가 정규화됩니다.
손절매는 100, 포인트 0.00001이 허용됩니다. 곱하면 어떻게 됩니까? 9가 어딘가에 나타날까요? 예를 들어, 0.0009999?
 
progeon :
손절매는 100, 포인트 0.00001이 허용됩니다. 곱하면 어떻게 됩니까? 9가 어딘가에 나타날까요? 예를 들어 0.0009999?
   double a= 1.45861 + 32 * _Point ;
   Print ( DoubleToString (a, 16 ));

완전히 정상적인 숫자는 1.45893이 나와야하지만 1.45893000000000002가 나옵니다.

 
Renat :

우리는 전문가에 대한 정보에서 보안 수준과 호출된 DLL 기능 목록을 보여주는 "보안" 탭을 만들 계획이었습니다.

스토어 출시에 맞춰 EX5 파일에 대한 많은 작업이 있을 것입니다. 그런 다음 구현하겠습니다.

Renat, 새로운 EX5 형식의 DLL 호출에 대해 두 가지 질문이 더 있습니다.

1. 호출이 비활성화되면 코드가 어떻게 작동합니까? 어떻게 지금 - 심지어 실행하지?

2. 시작되지 않으면 MQL5_DLLS_ALLOWED / TERMINAL_DLLS_ALLOWED 가 있는 이유는 무엇입니까?