请观看如何免费下载自动交易
请在Twitter上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
程序库

Contract Sizer: ladder, floor and a breaker that survives a deposit - MetaTrader 5程序库

Joao Prata Silva Yglesias
Joao Prata Silva Yglesias
Trader and algorithmic developer focused on risk-managed automation for the Forex market. I build Expert Advisors that prioritize capital protection and survivability over hype — real strategies, transparent results, and live monitoring.
| Chinese English Русский Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
显示:
9
等级:
(1)
已发布:
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

ContractSizer.mqh 根据账户余额确定合约规模,并设有三项独立的保护机制:阶梯式限制(每达到余额的一个倍数对应 一个合约,且始终设有上限)、下限保护(不得低于最低保证金进行交易)以及断路器(当达到余额峰值的一定比例时停止交易,且不会自动重置)。

存取款数据从交易历史(DEAL_TYPE_BALANCE)中读取,并按相同金额调整峰值,因此回撤期间的存款不会掩盖回撤情况。峰值数据保存在 MQL5\Files 目录下,并在终端重启后依然有效。

构造函数: CContractSizer(factor = 3000.0, maxContracts = 500, minContracts = 1, minCapital = 1500.0, maxDD = 0.0, peakFile = "contract_sizer_peak.txt")。用法: 在每个 tick 时调用 ContractsToday(TimeLocal());该函数仅在日更时重新计算。CapByBalance() 即使在手动下单时也保持有效。Rearm() 需手动决定是否执行。

模拟参数: InpBalancePerContract = 3000,InpMinCapital = 1500,InpMaxDrawdown = 0.20,InpDemoDeposit = true。

该演示程序会输出 一个为期12天的模拟轨迹(余额 / 峰值 / 跌幅 / 合约数 / 事件),并在回撤最低点进行入金,随后在真实账户上运行该类。请分别开启和关闭 InpDemoDeposit 参数运行程序,并比较“跌幅”列的数据。

限制: 仓位规模不会创造优势;它只会放大已存在的优势。本程序不进行任何交易。

Contract Sizer 演示:在回撤低点处加仓

由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/77079

Position sizing from risk, using the broker's own tick value and volume step Position sizing from risk, using the broker's own tick value and volume step

根据风险金额计算仓位规模,该风险金额基于该交易品种的实际点值、点幅和成交量步长计算得出,而非基于假设的点值。该功能始终将成交量向下取整;当您的风险金额小于最小手数时,系统会提示并报告该手数实际所需的成本。 该程序不依赖交易终端状态,因此其仓位计算逻辑可离线测试——附带一个包含41个断言的测试脚本。

RiskPilot Pro — 支持拖拽下单的风险面板,具备盈亏平衡、追踪止损和每日亏损保护功能 RiskPilot Pro — 支持拖拽下单的风险面板,具备盈亏平衡、追踪止损和每日亏损保护功能

将止损位拖动到您真正想要的位置,点击“买入”或“卖出”,手数就会自动调整正确——无需计算器,也无需电子表格。该功能支持设置盈亏平衡点和追踪止损,并在触及止损限额时自动结束当日交易。

加速震荡(AC) 加速震荡(AC)

加速/减速技术指标(AC)用于衡量当前驱动力的加速和减速。

离散 离散

离散技术指标由价格和交易量的变化决定。