保有ポジションすべてに、ストップロス(SL)やテイクプロフィット(TP)を個別に設定するのは、時間も手間もかかります。
本記事では、**MT4で複数ポジションに対してSL・TPを一括設定できる無料スクリプト「SetSL-TP」**の使い方を、初心者にもわかりやすく解説します。
資金管理やリスク対策は、FXトレードにおいて欠かせない要素です。
スクリプト導入の手順・使い方・安全に使うための注意点まで、すべて網羅してご紹介していますので、安心してご利用ください。
SL・TPを一括設定できる無料スクリプト「SetSL-TP」はこちらからダウンロードできます
MT4でストップロスとテイクプロフィットを一括設定するには?
MT4では、ポジションごとにストップロス(損切り)やテイクプロフィット(利食い)を個別に設定する必要があり、複数ポジションを保有している場合には非常に手間がかかります。

こうした作業の負担を軽減し、効率的かつ安全に資金を管理する方法として活用できるのが、一括設定用の**無料スクリプト「SetSL-TP」**です。
このスクリプトを使えば、指定した値でSL・TPをまとめて適用することが可能となり、以下のような課題を一度に解決できます:
- すべてのポジションにSL/TPを漏れなく設定したい
- 相場急変時に備えたリスク管理を徹底したい
- 手動での入力ミスや設定漏れを防ぎたい
特に、裁量トレードで複数の通貨ペアを運用しているトレーダーにとって、迅速なリスク管理は命綱となることもあります。
本記事で紹介するスクリプトは、複雑な設定不要・初心者でも簡単に使える設計となっており、FXトレードの安全性と効率性を大きく向上させてくれます。
次の項目では、この便利な無料スクリプト「SetSL-TP」の入手方法と導入手順をわかりやすく解説していきます。
無料スクリプト「SetSL-TP」の概要とできること
「SetSL-TP」は、MT4上のすべてのオープンポジションに対して、ストップロス(SL)とテイクプロフィット(TP)を一括で設定できる無料のスクリプトです。
通常、MT4ではポジションごとにSL・TPを手動で設定する必要がありますが、このスクリプトを活用することで、複数ポジションの設定作業を一瞬で完了させることができます。
SetSL-TPでできること(主な機能)
- ✅ オープン中の全ポジションにSL・TPを一括設定
- ✅ SL・TPはPIPS単位で設定可能(0で設定しないことも可)
- ✅ 通貨ペアの桁数に応じた自動補正機能あり(3桁・5桁対応)
- ✅ SL・TPはBuy/Sellポジションに応じて自動で方向判定
- ✅ 実行はチャートに適用するだけ。複雑な設定不要
安全性にも配慮された設計
このスクリプトは自動売買の許可が必要ですが、実行前に「ポジションが存在しない場合は処理を中止」するなど、安全面への配慮がされています。
また、SL・TPのどちらか一方だけを設定することも可能で、柔軟に運用できる点も魅力です。
SetSL-TPのダウンロードとMT4への導入手順
ここでは、無料スクリプト「SetSL-TP」を安全かつ正しくMT4に導入する手順を解説します。
導入作業は数分で完了し、専門的な知識がなくても簡単に設定できます。
① スクリプトのダウンロード
以下のリンクから、「SetSL-TP」のスクリプトファイル(.ex4
形式)をダウンロードします。
不正な改ざんを防ぐため、信頼できる配布元からのみダウンロードするようにしてください。
② MT4のデータフォルダを開く
- MT4を起動
- メニューバーの「ファイル」>「データフォルダを開く」をクリック
MQL4
フォルダ →Scripts
フォルダを開く
③ スクリプトファイルをコピーする
ダウンロードしたSetSL-TP.ex4
ファイルを、Scripts
フォルダ内にコピーします。
MT4フォルダ > MQL4 > Scripts
④ MT4を再起動する
ファイルの配置が完了したら、MT4を一度再起動します。
再起動後、「ナビゲーターウィンドウ」の「スクリプト」カテゴリに「SetSL-TP」が表示されていれば導入完了です。
導入が完了したら、次は「SetSL-TP」の使い方を見ていきましょう。
パラメーター入力からSL・TPの一括設定まで、画像付きで丁寧に解説します。
SetSL-TPの使い方|SL・TPの自動設定手順
SetSL-TPスクリプトは、MT4のチャートに適用するだけで、すべての保有ポジションにストップロス(SL)とテイクプロフィット(TP)を一括設定できます。
以下の手順に沿って操作すれば、数クリックで設定が完了します。
① 自動売買を許可する
スクリプト実行前に、MT4の自動売買を許可する必要があります。
許可されていないと、スクリプトは動作しません。

設定手順:
- MT4メニューから「ツール」>「オプション」を開く
- 「エキスパートアドバイザ」タブを選択
- 「自動売買を許可する」にチェックを入れる
✅ スクリプトであっても注文変更を行うため、この設定は必須です。
② スクリプトをチャートに適用する
ナビゲーターウィンドウの「スクリプト」から「SetSL-TP」を見つけ、設定したい通貨ペアのチャートにドラッグ&ドロップします。
または、スクリプト名をダブルクリックしても実行可能です。

③ パラメーターを入力する(SL・TPの設定)
スクリプトを適用すると、「パラメーター入力画面」が表示されます。

- InpStopLoss(ストップロス):設定したい損切りのPIPS数
- InpTakeProfit(テイクプロフィット):設定したい利食いのPIPS数
どちらか一方だけを設定したい場合は、設定しない方を「0」にすることで除外できます。
④ 設定を確認し「OK」をクリック
入力内容を確認し、「OK」を押せば、現在保有中のすべてのポジションにSL・TPが一括で適用されます。
このように、SetSL-TPは手間なくリスク管理を実行できる便利なスクリプトです。
次のセクションでは、SL・TPを一括で削除できるスクリプト「DeleteOrders」もあわせてご紹介します。目的に応じて使い分けることで、より柔軟で安全なトレード管理が可能になります。
注文キャンセルも一括で|「DeleteOrders」との併用がおすすめ
SetSL-TPで一括設定したストップロス(SL)やテイクプロフィット(TP)は、個別の注文画面やチャート上から手動で削除する必要があります。
しかし、ポジションが複数ある場合には、手作業では非効率かつミスが起きやすいという課題があります。
そんなときに便利なのが、**SL・TPの注文だけを一括で削除できる無料スクリプト「DeleteOrders」**です。
「DeleteOrders」の主な機能
- ✅ 現在の保有ポジションに設定されたSL・TP注文を一括キャンセル
- ✅ チャートに適用するだけの簡単操作
- ✅ SetSL-TPと同様、MT4上で安全に利用可能
SetSL-TPとの併用でより柔軟なリスク管理が可能
トレード状況に応じて、
- 急な相場変動時にTPだけを解除したい
- ポジションは保持したまま、SLを一時的に外したい
といった柔軟な判断が求められる場面もあります。
そのようなとき、「DeleteOrders」があれば、すばやく対応でき、損失リスクの最小化や利益確保に繋がります。
安全なスクリプト活用のために
「DeleteOrders」は当サイトで無料公開している正規スクリプトです。
不正なソースの利用はリスクが高いため、必ず信頼できる配布元から入手してください。
🔗 DeleteOrdersの使い方やソースコードは以下の記事で詳しく解説しています
👉 MT4でSL・TPを一括キャンセルする方法|DeleteOrdersの解説ページへ
次のセクションでは、SetSL-TPの内部コードの解説と学習向けのポイントを紹介します。スクリプトの仕組みを理解することで、より安心してツールを活用できるようになります。
SetSL-TPのMQL4ソースコードと動作解説(学習用)
SetSL-TPは、オープンポジションすべてに対してストップロス(SL)とテイクプロフィット(TP)を一括で適用するMQL4スクリプトです。
ここでは、そのソースコードの構造と動作ロジックを、MQL4の学習を目的とした方向けにわかりやすく解説します。
① パラメーターの宣言と取得
input double InpStopLoss = 100.0;
input double InpTakeProfit = 0;
- SLとTPの値(PIPS単位)をユーザーが入力可能にする設定です。
- 0を指定した場合、その項目は設定されません。
② 通貨ペアの桁数に応じた補正処理
if (Digits() == 5 || Digits() == 3) {
StopLoss *= 10;
TakeProfit *= 10;
}
- 通貨ペアの小数点以下の桁数に応じて、PIPS値を調整しています。
- 例:USDJPY(小数点以下3桁)などに対応。
③ ポジション数と自動売買の許可を確認
if (OrdersTotal() == 0) return;
if (!IsTradeAllowed()) {
Alert("Autotrade is NOT allowed.");
return;
}
- 保有ポジションがない場合や、自動売買が許可されていない場合はスクリプトを終了します。
- 意図しない注文ミスを防ぐための安全対策です。
④ 各ポジションにSL・TPを設定
for (int i = OrdersTotal() - 1; i >= 0; i--) {
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) break;
if (OrderSymbol() == Symbol() && OrderType() < 2) {
double openPrice = OrderOpenPrice();
if (OrderType() == 0) { // Buy
sl = openPrice - StopLoss * _Point;
tp = openPrice + TakeProfit * _Point;
} else if (OrderType() == 1) { // Sell
sl = openPrice + StopLoss * _Point;
tp = openPrice - TakeProfit * _Point;
}
if (!OrderModify(OrderTicket(), openPrice, sl, tp, 0, 0)) {
Print("OrderModify Error: ", ErrorDescription(GetLastError()));
}
}
}
OrderType()
に応じて、Buy/Sell別に逆方向のSL・TPを計算します。OrderModify()
関数で設定を反映。ErrorDescription()
によるエラーログ出力も実装済みで、デバッグしやすい構造です。
⑤ スクリプト全体の安全性と実用性
このスクリプトは以下の点で、安全性と実務性に優れています:
- ✅ 処理前の安全チェック(注文数・自動売買の有効化)
- ✅ Digits対応による通貨ペアの柔軟な扱い
- ✅ 条件に合わないポジションは自動でスキップ
- ✅ SL/TPどちらか一方の設定でも動作可能
SetSL-TPのソースコードは、初心者がMQL4の基本構文やリスク管理の実装方法を学ぶうえでも優れた教材になります。
次のセクションでは、同様の機能を持つ他の無料ツールも比較紹介しますので、目的や運用スタイルに応じて最適なツールを選んでください。
その他の無料SL・TP一括設定ツール【比較紹介】
「SetSL-TP」以外にも、MT4でストップロス(SL)とテイクプロフィット(TP)を自動で一括設定できる無料ツールが複数存在します。
ここでは、特に人気のある無料ツールを厳選して紹介し、それぞれの特徴を比較できるようにまとめました。
こちらの無料ツールはすべてMT4のマーケットから入手できます。
✅ 比較ポイント
- SL・TPの自動設定が可能か
- スマホ対応・通知機能の有無
- トレーリングやブレークイーブンなどの追加機能
- 初心者でも使いやすいか
Auto SL TP|スマホトレーダーにも便利
- 概要:取引開始時に、あらかじめ設定されたSL・TPを自動で適用するEA
- 特徴:
- 携帯端末からの操作でもリスク管理を自動化
- シンプルな設計で初心者向け
- おすすめユーザー:スマホ中心でトレードする方、設定ミスを防ぎたい方
AutoSTPending|ワンクリック操作で自動反映
- 概要:成行・指値問わず、SL・TPを一括設定・変更できる軽量ツール
- 特徴:
- 注文時だけでなく、保有ポジションの途中変更にも対応
- ストレスなく即反映されるレスポンス性
- おすすめユーザー:頻繁にポジション変更を行う中〜上級者
Dagangduit Auto SLTP MT4|多機能&通知対応EA
- 概要:Dagangduit Core Teamが提供する本格派EA
- 特徴:
- SL/TPの自動設定+調整機能
- 「利益ロック」「トレーリングストップ」「通知アラート」搭載
- マジックナンバーや注文タイプごとの制御も可能
- おすすめユーザー:自動売買環境で細かな管理を行いたいユーザー
ProfitLossTrailEA|トレーリング・ブレークイーブン対応
- 概要:SL・TP設定に加えて、ブレークイーブンや音声通知機能などを統合した多機能型EA
- 特徴:
- 利益確定や損失回避のための柔軟なトレーリング設定
- 指定IDに基づいた管理も可能
- おすすめユーザー:裁量+自動のハイブリッド運用をしている方
Smart Fix SLTP|条件設定の自由度が高いスクリプト
- 概要:特定条件に合致したポジションにのみSL/TPを適用
- 特徴:
- 注文種別・マジックナンバー・コメント別などで適用対象を制限可能
- 新規注文にも継続監視で自動対応
- おすすめユーザー:複数EAや裁量ポジションを並行運用している中上級者
✅ あなたに合ったツールの選び方
ツール名 | 自動設定 | 通知機能 | トレーリング | 難易度 |
---|---|---|---|---|
SetSL-TP | ◎ | ✕ | ✕ | かんたん |
Auto SL TP | ◎ | ✕ | ✕ | かんたん |
AutoSTPending | ◎ | ✕ | ✕ | ふつう |
Dagangduit Auto SLTP | ◎ | ◎ | ◎ | やや難しい |
ProfitLossTrailEA | ◎ | ◎ | ◎ | 中級以上 |
Smart Fix SLTP | ◎ | ✕ | △ | 中級以上 |
このように、ツールによって機能や操作性は大きく異なります。
まずは**「SetSL-TP」や「Auto SL TP」などのシンプルなものから始めてみて、必要に応じて他の高度なツールに切り替える**のが安全かつ効果的です。
次のセクションでは、スクリプト使用時の注意点やトラブル防止策について詳しく解説します。リスクを最小限に抑えるためにも、必ずチェックしてください。
この記事で紹介したスクリプトのように、取引効率を上げる無料ツールをお探しの方へ。
当サイトの無料EA一覧ページでは、実用性の高い自動売買ツールを多数紹介しています。
👉 無料EAを探す
スクリプト使用時の注意点と安全対策
MT4スクリプトは、トレード作業の効率化に大きく貢献する一方で、使い方を誤ると損失や誤動作につながるリスクもあります。
ここでは、「SetSL-TP」やその他の一括設定スクリプトを使用する際に、必ず確認しておくべき注意点と安全対策を解説します。
✅ 自動売買の許可設定を忘れずに
スクリプトによる注文変更には、MT4の「自動売買の許可」が必要です。
許可されていない状態で実行すると、エラーが発生して設定が反映されません。
確認方法:
MT4メニュー「ツール」→「オプション」→「エキスパートアドバイザ」→「自動売買を許可」にチェック
✅ スクリプト実行前にバックアップをとる
- 重要なポジションがある場合は、スクリプト実行前にアカウントのスクリーンショットや取引履歴を保存しておくのが安全です。
- 特にリアル口座で使用する際は、事前にデモ口座で動作確認を行うことを強く推奨します。
✅ TPの設定値が近すぎると即時決済のリスクあり
- テイクプロフィット(TP)を現在価格のすぐ近くに設定すると、実行直後に利確されてしまうことがあります。
- 特にスプレッドが広い時間帯や、ボラティリティの高い相場では注意が必要です。
✅ SL/TPの削除はスクリプトでは行えない
「SetSL-TP」はSL/TPの一括「設定」は可能ですが、削除には対応していません。
設定済みの注文をキャンセルしたい場合は、以下のいずれかの方法で対応してください:
- チャート上の手動操作(×ボタン)
- 「DeleteOrders」スクリプトを使用して一括削除
✅ 他のEAやスクリプトとの干渉に注意
- 複数のスクリプトやEAを同時に動作させると、同一ポジションへの命令が競合し、エラーや想定外の挙動が起きることがあります。
- 必ず、一度に実行するのは1つの注文系スクリプトに限定しましょう。
✅ 信頼できる配布元からのみダウンロードする
- MQL4スクリプトは口座情報にアクセスできる仕組みを持っているため、不正なスクリプトは大きなリスクとなります。
- 当サイトで配布しているスクリプトは、安全性を確認したうえで公開していますが、それ以外のサイトからダウンロードする際は必ずURL・提供者情報・レビュー等を確認してください。
スクリプトを正しく、安全に使うことで、トレードのミスを減らし、効率的なリスク管理を実現できます。
次のセクションでは、記事のまとめと、よくある質問への回答を紹介します。導入前に不安を感じている方は、ぜひ参考にしてください。
まとめ|MT4でのSL・TP一括設定はリスク管理の第一歩
ストップロス(SL)とテイクプロフィット(TP)は、FXトレードにおいて資金を守り、利益を確保するための最も基本的なリスク管理手段です。
しかし、複数ポジションを手動で設定するのは手間がかかり、設定ミスや漏れの原因にもなります。
本記事で紹介した無料スクリプト「SetSL-TP」を活用すれば、
✅ すべてのオープンポジションに一括でSL・TPを適用できる
✅ 設定の見落としや入力ミスを防止できる
✅ 忙しいトレーダーでも手軽にリスク管理を徹底できる
といった大きなメリットが得られます。
また、SL・TPの一括削除には「DeleteOrders」、自動設定や通知機能が欲しい場合には他のツールも活用でき、状況に応じた柔軟な管理が可能です。
FXで安定した成果を出すためには、「リスクをコントロールする意識」が何より重要です。
まずは、SetSL-TPを使って一括管理の環境を整えることから始めてみてください。
あなたのトレードが、より安全で確実なものになるはずです。
✅ このページで紹介したスクリプトは、すべて無料でご利用いただけます。
✅ リンクからダウンロードし、導入手順を確認してすぐに使い始めましょう。