私たちのファンページに参加してください
Contract Sizer: ladder, floor and a breaker that survives a deposit - MetaTrader 5のためのライブラリ
- ビュー:
- 14
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
ContractSizer.mqhは、口座残高に基づいて契約数を決定する際、3つの独立した保護機能(ラダー(残高の倍数ごとに 1契約、常に上限あり)、フロア(最低資本額を下回る取引は行わない)、ブレーカー(残高のピーク値の一定割合に達すると停止し、自動的に再起動しない))を備えています。
入出金は取引履歴(DEAL_TYPE_BALANCE)から読み取られ、ピーク値を同額だけシフトさせるため、ドローダウン中に実施された入金がドローダウンを隠蔽することはありません。ピーク値は MQL5\Files フォルダに保存され、ターミナルの再起動後も保持されます。
コンストラクタ: CContractSizer(factor = 3000.0, maxContracts = 500, minContracts = 1, minCapital = 1500.0, maxDD = 0.0, peakFile = "contract_sizer_peak.txt")。使用方法: 各ティックで ContractsToday(TimeLocal()) を呼び出してください。 再計算は日変わり時のみ行われます。CapByBalance() は手動ロットの場合でも有効です。Rearm() は手動での判断となります。
デモ用入力値: InpBalancePerContract = 3000、InpMinCapital = 1500、InpMaxDrawdown = 0.20、InpDemoDeposit = true。
このデモは、ドローダウンの底で追加入金を行った場合の12日間のシミュレーション結果(残高/ピーク/下落幅/契約数/イベント)を出力した後、実際の口座で本クラスの実行を行います。InpDemoDepositをオンとオフの両方で実行し、「下落幅」の列を比較してください。
制限事項: ポジションサイジングは優位性(エッジ)を生み出すものではなく、既存の優位性を増幅させるだけです。実際の取引は行われません。
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/77079
Position sizing from risk, using the broker's own tick value and volume step
リスク額に基づくポジションサイズを、想定されるピップ値ではなく、銘柄の実際のティック値、ティックサイズ、および出来高ステップから算出します。出来高は常に切り捨てられ、リスク額が最小ロット数より小さい場合はその旨を表示し、そのロットが実際にいくらかかるかを報告します。 ターミナル環境を必要としないため、ポジションサイズの算出ロジックはオフラインでテスト可能です。41個のアサーションを含むテストスクリプトが付属しています。
RiskPilot Pro — 損益分岐点、トレーリングストップ、日次損失制限機能を備えた「ドラッグ・トゥ・トレード」リスクパネル
ストップロスを実際に設定したい位置までドラッグし、「買い」または「売り」をクリックするだけで、ロット数は自動的に適正な値に設定されます。電卓もスプレッドシートも不要です。損益分岐点やトレーリングストップにも対応しており、損失制限に達した場合はその日の取引を自動的に終了します。
Adaptive Moving Average (AMA)
適応移動平均線は、ノイズの影響を受けにくい移動平均線を作るときに使われ、トレンドを検知する際にラグが最小に抑えられるという特徴を持ちます。
Accelerator Oscillator (AC)
アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。