私たちのファンページに参加してください
- ビュー:
- 31
- 評価:
- パブリッシュ済み:
- アップデート済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
Modify_Orders.mqhは、MetaTrader 5でポジションと注文を管理するためのものです。
目的
Modify_Orders.mqhは、MetaTrader 5 プラットフォームの Expert Advisor とインジケータの未決済ポジションと未決済注文を管理するための 2 つの強力な機能を 提供 します。ストップロス、テイクプロフィットレベル、注文価格を変更するためのルーチン操作を自動化するように設計されています。
主な機能
-
未決済 ポジションの ストップロスとテイクプロフィットの変更
-
未決 注文価格の変更
-
ポジションタイプ、収益性、 シンボルによる 柔軟なフィルタリング
-
異なる値 計算 モード(pipsまたは絶対価格)をサポート。
構造
Modify_Position()関数
未決済ポジションのストップロスとテイクプロフィットのレベルを修正するように設計されています。
void Modify_Position( string tp_and_sl, // SL "か "TP"-何を変えるか。 string price_and_value, // "Value" または "Price" - 値の種類 string type_position, // ポジションタイプによるフィルタリング double price_tp_and_sl, // 設定する値 string symb, // 取引商品記号 long magicNumber // マジックナンバーのエキスパート。 );
ポジションフィルタリングのパラメータ
| パラメータ type_position | 説明 |
|---|---|
| 「すべて | すべてのポジション |
| 「すべての利益 | 利益のあるポジションのみ |
| 「全損失 | 負けているポジションのみ |
| 買い | 買いポジションのみ |
| 「買い利益 | 利益の出ている買いポジションのみ |
| 「買い損失 | 負けている買いポジションのみ |
| 売り | 売りポジションのみ |
| 「売り利益 | 利益の出ている売りポジションのみ |
| 「損失売り | 負けた売りポジションのみ |
使用例
// すべてのポジションでSLを1000ポイントに設定 Modify_Position("SL", "Value", "All", 1000, _Symbol, 0); // 収益性の高い買いポジションのために、TPを1.2345に設定する。 Modify_Position("TP", "Price", "Buy Profit", 1.2345, _Symbol, 12345); // 不採算の売りポジションにはSLを500ポイントに設定する。 Modify_Position("SL", "Value", "Sell Loss", 500, "EURUSD", 98765);
Modify_Order()関数
未決注文(逆指値注文と指値注文)を変更するために設計されています。
void Modify_Order( string tp_sl_price, // 価格"、"SL "または "TP"。 string type_order, // フィルタリングのための注文タイプ double price_tp_sl_price, // 新しい意味。 string symb, // 取引商品記号 long magicNumber // マジックナンバーのエキスパート。 );
サポートされる注文タイプ
-
「逆指値買い" - 保留中の逆指値買い注文。
-
「買い指値" - 保留中の買い指値注文。
-
「売り 逆指値" - 保留中の売り逆指値注文。
-
「Sell Limit" - 保留中の指値売り注文。
使用例
// 買い逆指値注文の価格を変更する Modify_Order("Price", "Buy Stop", 1.2345, _Symbol, 0); // 売り指値注文にストップ・ロスを設定する。 Modify_Order("SL", "Sell Limit", 1.2350, "GBPUSD", 12345); // 買い指値注文のテイクプロフィットを変更する。 Modify_Order("TP", "Buy Limit", 1.2300, "EURUSD", 98765);
動作原理
Modify_Position アルゴリズム:
-
すべての未決済ポジションを 逆順で 検索
-
シンボルとマジック ナンバーによる ポジションのフィルタリング
-
追加条件のチェック ( ポジションタイプ、収益性)
-
新しい SL/TP 値の計算:
-
Value " モードの 場合:価格±(Value×Point)
-
Price "モードの場合:直接値付け
-
-
OrderSend() による 変更コマンドの送信
Modify_Order アルゴリズム:
-
すべての未決注文を列挙
-
シンボル、マジックナンバー、注文タイプによるフィルタリング
-
指定されたパラメータ ( 価格、SLまたはTP)の変更
-
変更されていないパラメータの保存
-
変更コマンドの送信
実装機能
安全性と信頼性
-
注文タイプの二重チェック - 文字列パラメータとシステムからの実タイプによる
-
複雑なフィルタリング - ターゲットポジション/オーダーのみが影響を受けることを確実にします。
-
変更されていないパラメーターの保持 - SLが変更されてもTPは保持され、逆も同様。
数学的計算:
買いポジションの場合
-
ストップロス : 現在値 - (値 × ポイント)
-
利益確定 : 現在値+(値×ポイント)
売りポジションの場合
-
ストップロス : 現在値 + (値 × ポイント)
-
利食い : 現在値 - (値 × ポイント)
推奨使用方法
取引の専門家向け
#include <Modify_Order.mqh> // OnTick()関数内または条件によって: if(Условие_для_трейлинга) { // 希望する方向に動くとき、SLを価格に引き寄せる。 Modify_Position("SL", "Value", "All Profit", 500, _Symbol, ExpertMagic); }
手動スクリプトの場合
// 全ポジションを素早くSLに乗せるスクリプト void OnStart() { Modify_Position("SL", "Value", "All", 1000, _Symbol, 0); }
最適なパラメーター
-
時間枠: 任意 (機能は時間枠に依存しない)
-
商品:通貨ペア、金属、指数
-
マジックナンバー: Expert Advisorごとにユニークな値を使用することをお勧めします。
ライブラリの利点
-
汎用性 - どのような取引商品でも動作します。
-
柔軟性 - ポジションフィルタリングの18種類のモード
-
使いやすさ - 直感的なインターフェイス
-
信頼性 - 修正前の包括的なチェック
-
効率性 - 最小限のコンピューティングリソース
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/68540
Sideways Martingale
マーチンゲール・トレンド検出器 onnx AIを使用
VR Breakdown level - 過去の高値または安値のブレイクアウトを利用したトレーディング戦略
過去の高値または安値の単純なブレイクアウトによるトレーディング戦略
