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

계산 랏 기능은 위험 관리 원칙에 따라 거래 랏 크기를 자동으로 계산하도록 설계되었습니다 . 이 기능을 통해 트레이더는 거래에서 위험을 감수할 계좌 잔액의 비율을 지정하고 이를 기준으로 최적의 포지션 규모를 결정할 수 있습니다.

구문

double CalculateLot(double riskPercent, double stopLossPips);

파라미터

Параметр        Тип     Описание
riskPercent     double  Процент от текущего баланса счета, которым трейдер готов рискнуть. Указывается в абсолютном значении (например, 2.0 = 2% от баланса).
stopLossPips    double  Расстояние до уровня Stop Loss в пунктах. Для 5-значных котировок указывается количество стандартных пунктов (например, 1000 = 1000 пунктов = 100 пипсов).

반환 값

이 함수는 정규화된 랏 볼륨( 더블)을 반환합니다 :

  • 반올림 규칙에 따라 거래량 단계 ( VOLUME_STEP)를 준수합니다 ;

  • 허용되는 최대 볼륨( VOLUME_MAX)을 초과하지 않습니다 ;

  • 허용되는 최소 볼륨 ( VOLUME_MIN)보다 작지 않습니다 .

계산된 값이 허용 한도를 초과하는 경우 함수는 제한된 값(minLot 또는 maxLot)을 반환합니다.

작동 알고리즘

  1. 계좌 및 심볼 매개변수 가져오기

    • 현재 잔고 ( ACCOUNT_BALANCE )

    • 틱 값 ( SYMBOL_TRADE_TICK_VALUE )

    • 최소, 최대 및 랏 변경 단계

  2. 입금 통화로 위험 금액 계산

    riskAmount = баланс × (риск% / 100)

  3. 랏 거래량 계산

    lotSize = riskAmount / (stopLossPips × tickValue)

  4. 정규화 및 유효성 검사

    • 가장 가까운 단계로 반올림 ( VOLUME_STEP )

    • 최소값 및 최대값 검증

사용 예시

예제 1. 전문가 어드바이저에서 기본 사용

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
   //--- 위험 설정 잔액의 1.5%, 손절매 500핍
   double lot = CalculateLot(1.5, 500);
   
   //--- 로트가 올바르게 계산되었는지 확인합니다.
   if(lot > 0.0)
     {
      //--- 현재 가격 보기
      double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
      
      //--- 레벨 계산
      double sl = ask - 500 * _Point;
      double tp = ask + 1500 * _Point;
      
      //--- 포지션 열기
      trade.Buy(lot, _Symbol, ask, sl, tp);
     }
}


예 2. 오류 검사가 있는 스크립트에서 사용

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnStart()
{
   double riskPercent  = 2.0;   // 잔액의 2% 위험
   double stopLossPips = 1000;  // 손절매 1000 포인트
   
   double lot = CalculateLot(riskPercent, stopLossPips);
   
   //--- 계산에 대한 정보 출력
   Print("=== 로트 계산 결과 ===");
   Print("계정 잔액: ", AccountInfoDouble(ACCOUNT_BALANCE));
   Print("위험, %: ", riskPercent);
   Print("위험 정도: ", AccountInfoDouble(ACCOUNT_BALANCE) * riskPercent / 100.0);
   Print("손절매, 포인트: ", stopLossPips);
   Print("틱 비용: ", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE));
   Print("계산된 로트: ", lot);
   Print("================================");
   
   if(lot <= 0.0)
     {
      Alert("오류: 로트 계산에 실패했습니다. 위험 및 손절매 매개변수를 확인하세요.");
     }
}

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

ZigZag Support and Resistance Detection ZigZag Support and Resistance Detection

지그재그 SNR 감지 기능은 지그재그 피벗 포인트를 사용하여 지지 및 저항 수준을 식별합니다.

To Close All Open Trades of Different Symbols To Close All Open Trades of Different Symbols

기술적 세부 사항 현재 매수/매도 호가로 즉시 시장가 청산을 위해 TRADE_ACTION_DEAL과 함께 MQL5의 OrderSend를 사용합니다. 슬리피지 허용 오차(10포인트), 적절한 거래량 매칭, 매직넘버 보존 기능이 포함되어 있습니다. 실행 중 지수 이동을 방지하기 위해 포지션을 역순으로 반복합니다.

Frontend EA : UI cleanup + quick-trading layer for MT5 Frontend EA : UI cleanup + quick-trading layer for MT5

A chart-cleanup + quick-trading layer for MT5

Advanced Trade History Exporter: MAE, MFE and Time-Based Excursions (Points) Advanced Trade History Exporter: MAE, MFE and Time-Based Excursions (Points)

Utility script that exports your MetaTrader 5 trading history to a CSV file. It automatically calculates Maximum Favorable Excursion (MFE), Maximum Adverse Excursion (MAE), and Forward Returns (Time-Based Excursions) in whole points for deep quantitative analysis in Excel. It will allow you to understand whether you close your trades too early and can help optimize overall trading execution.