거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Twitter에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
조회수:
30
평가:
(45)
게시됨:
ssorttest.mq5 (23.35 KB) 조회
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

이 스크립트는 다양한 메서드를 사용하여 이중 유형의 배열을 정렬하는 기능을 합니다:

각 방법에는 오름차순(Up) 및 내림차순(Dn) 정렬을 위한 두 가지 함수가 있습니다:

  • SortBubbleUp(double & aAr[]);
  • SortBubbleDn(double & aAr[]);
  • SortSelectUp(double & aAr[]);
  • SortSelectDn(double & aAr[]);
  • SortInsertUp(double & aAr[]);
  • SortInsertDn(double & aAr[]);
  • SortShellUp(double & aAr[]);
  • SortShellDn(double & aAr[]);
  • SortHoareUp(double & aAr[]);
  • SortHoareDn(double & aAr[]);
  • SortSelectUpFst(double & aAr[]);
  • SortSelectDnFst(double & aAr[]).

스크립트에는 몇 가지 보조 함수도 있습니다:

  • Check(double & aAr[]) - 배열이 오름차순으로 정렬되었는지 확인합니다. 배열이 정렬되지 않은 경우 경고 창에 "오류" 메시지가 표시됩니다.
  • ArrayAlertR(double & aAr[],int aDigits=0,string aHeader="") - 배열을 문자열로 출력하여 알림에 표시합니다. 매개변수: double & aAr[] - 배열, int aDigits - 배열 값 출력 시 소수점 이하 자릿수, string aHeader - 문자열 시작 부분의 추가 메시지. 이 함수는 다양한 정렬 방법을 더 자세히 이해하고 각 정렬 단계에서 배열의 변화를 시각적으로 관찰하려는 사람들에게 유용할 수 있습니다.
  • ArrayAlertC(double & aAr[],int aDigits=0,string aHeader="") - 배열을 경고 열로 출력합니다. 매개변수: double & aAr[] - 배열, int aDigits - 배열 값 출력 시 소수점 이하 자릿수, 문자열 aHeader - 배열 출력이 시작되는 메시지, 편의를 위해.

성능 측정 결과(그림 1)에 따르면 함수는 다음과 같은 순서로 배열되어 있습니다:

  • Hoare - 15ms;
  • 쉘 - 318ms;
  • SelectFst - 451ms;
  • 선택 - 1318;
  • 삽입 - 1751;
  • Bubble - 4513;

그림 1. 정렬 알고리즘 성능

그림 1. 다양한 배열 정렬 함수의 성능 측정 결과

확실한 선두 주자는 Hoare의 방법이지만, 이 방법은 재귀적이므로 사용할 때 주의해야 합니다.

MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/904

입금당 리스크에서 로트 크기를 계산하는 기능 입금당 리스크에서 로트 크기를 계산하는 기능

이 함수는 오픈 포지션의 랏 크기를 계산합니다. 거래 개시 가격, 손절가 수준, 거래당 리스크가 예탁금의 퍼센트 단위로 매개변수로 전달됩니다.

ATR Cycles ATR Cycles

빠른 ATR, 중간 ATR, 느린 ATR의 3가지 ATR을 기반으로 하는 변동성 필터입니다.

EMA_STD_VA EMA_STD_VA

표준 편차 값에 따른 적응 지수 평균.

EMA_ATR_VA EMA_ATR_VA

적응 지수 이동 평균 - ATR 지표를 기반으로 호세 실바가 조정한 ATR 변동성입니다.