MT4一括決済スクリプト|全決済と売り買い決済の選択もできる
ポジションを一括で決済したいのですが。
買いだけ全決済、売りだけ全決済が選べるMT4のツールはありますか?
FXの不労所得だけで年収2000万を達成しました。
このお悩みに誠意をもって回答します。
この無料EAで不労所得が稼げます
累計テスト120年以上・リアル取引公開2020年~
このページでわかること・できること
〇ポジションの全決済、買いポジションの全決済、売りポジションの全決済ができるスクリプト「PositionClose」について
〇ポジション一括決済スクリプトをダウンロード
〇一括決済スクリプトの使い方
MT4で一括決済ができるスクリプト「PositionClose」
MT4で一括決済を可能とするスクリプト「PositionClose」は「オープンポジションの一括決済」と「買いのみ一括決済」「売りのみ一括決済」が選択できるツールだ。
このスクリプトを使えば簡単に「全ポジションの一括決済」「買いのみ一括決済」「売りのみ一括決済」が可能となる。
MT4用一括決済スクリプト「PositionClose」は、こちらのリンクから無料でダウンロードが可能です。
一括決済ツール「PositionClose」をインストールする手順
一括決済ツール「PositionClose」はMT4用スクリプトのため、MT4データフォルダの「Scripts」へ移動し、MT4を再起動すればインストールが完了する。
この手順にてフォルダを開き、Scriptsフォルダ内に一括決済ツール「PositionClose」を移動する。
「Scripts」フォルダに「PositionClose」ファイルをコピーすればMT4へインストールできます。
インストール後はMT4を再起動しましょう。
ツールがMT4に表示されるのは再起動後です。
PositionCloseを使った一括決済の方法
スクリプトを実行すると確認画面が表示され、「全決済」か「買い全決済・売り全決済」を選択できる。
「はい」を選択した場合はオープンポジションがすべて決済される。
「いいえ」を選択した場合は「買い全決済・売り全決済」の選択画面へ移行する。
「キャンセル」を選択した場合はなにもせずスクリプトが終了する
一括決済ツール「PositionClose」はナビゲーター画面からチャート画面へドラッグアンドドロップすると実行されます。
全ポジションを一括決済する
「PositionClose」実行後に、ウィンドウが表示される。
この画面で「はい」を選択するとすべてのポジションが一括決済される。
買い、売りを一括決済する
「いいえ」の「買い全決済・売り全決済」を選択した場合
最初の確認画面で「いいえ」をクリックすると「買い全決済・売り全決済」の選択画面となる。
「買い全決済・売り全決済」選択肢は以下の通り。
・「はい」買いポジションの全決済が実行される
・「いいえ」売りポジションの全決済が実行される
・「キャンセル」なにもせずスクリプトが終了する
スマホから一括決済する方法
スマートフォンアプリからの操作では一括決済できないが、リモートデスクトップを使って疑似的にスマートフォンからの一括決済が可能となる。PC上で起動しているMT4を、スマートフォンから操作して一括決済するということだ。
あくまで疑似的であり、スマートフォンからリモートデスクトップを使ってPCにアクセスするため、必然的にPCが起動されている必要がある。
リモートデスクトップについての詳しい説明は以下の記事を参照。
一括決済ツール「PositionClose」のメリット
PositionCloseはMT4「スクリプト」で「EA」ではない。
そのため、EAが動作しているチャートでも一括決済が可能となっている。
動作しているEAの付け替えが必要ないのはスクリプトのメリットとなる。
全ポジションの一括決済だけでなく、買いのみの一括決済。売りのみの一括決済が選択できるのもPositionCloseのメリットのひとつだ。
EAとスクリプトの違いとは
EA(エキスパートアドバイザー)
機能:
EAは、自動売買システムを構築するためのツール。マーケットデータを分析し、取引を自動で実行する。
決まったルールや戦略に基づいて取引を行うため、トレーダーがプログラムした戦略に従って自動的に売買注文を出す。
稼働期間:
EAは、一度起動すると指定された条件が満たされるまで継続的に動作する。24時間365日、指定された戦略に基づいて取引を行う。
使用目的:
長期的な自動売買戦略の実行に使用される。特定の市場条件や時間に関係なく、常に監視し取引を行う。
スクリプト
機能:
スクリプトは、一度だけ特定のタスクを実行するためのツール。取引の注文を一度だけ出したり、特定の分析を一度だけ行う場合に使用される。
稼働期間:
スクリプトは実行されると一度だけ動作し、その後は停止する。例えば、特定の時点での全ポジションを閉じる、一度だけ特定の通貨ペアを買う、といったタスクを実行する。
使用目的:
短期的なタスクや一度限りの操作を実行するのに適している。手動で行う操作を自動化するための補助ツールとして使用されることが多い。
まとめ
EAは長期間の自動売買を行うツールであり、継続的に市場を監視して取引を行う。
スクリプトは特定のタスクを一度だけ実行するツールであり、特定の操作を自動化するために使用される。
一括決済ツールPositionClose|使用上の注意
ポジション決済処理についての注意
スクリプトは実行されるとすべてのポジションに対して処理をする。
複数のチャート、通貨ペアで取引している場合でも、すべてのポジションに対して決済処理が実行される。
指値・逆指値注文に対しての処理はされない。
一括決済処理についての注意
一括決済は疑似的なもので、決済処理は1ポジションずつ連続して実行される。
そのため、ポジション決済には若干のズレ、ラグが生じる。
ポジション一括決済スクリプトのソースコード
//+------------------------------------------------------------------+
//| PositionClose.mq4 |
//| Copyright 2024, FX-Bonus.net |
//| https://fx-bonus.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, FX-Bonus.net"
#property link "https://fx-bonus.net/"
#property version "1.00"
#property strict
// メッセージボックス用の定数
#define MB_YESNOCANCEL 0x00000003
#define IDYES 6
#define IDNO 7
#define IDCANCEL 2
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
// 確認メッセージを表示
int answer1 = MessageBox("すべてのポジションを決済しますか?\n\n「はい」全決済\n「いいえ」買い全決済または売り全決済の選択へ\n「キャンセル」なにもしない", "全決済を選択", MB_YESNOCANCEL);
// ユーザーの選択に応じて処理を行う
switch(answer1)
{
case IDYES:
CloseAllPositions();
break;
case IDNO:
ShowSecondConfirmation();
break;
case IDCANCEL:
// 何もしないで終了
break;
}
}
// すべてのオープンポジションを決済する関数
void CloseAllPositions()
{
int totalPositions = OrdersTotal(); // オープンポジションの数を取得
for(int i = totalPositions - 1; i >= 0; i--)
{
if(OrderSelect(i, SELECT_BY_POS) == true)
{
// クローズの結果を格納する変数を初期化
bool closeResult = false;
// オーダーのタイプに応じて決済
if(OrderType() == OP_BUY)
{
closeResult = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 3, clrWhite);
}
else if(OrderType() == OP_SELL)
{
closeResult = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 3, clrWhite);
}
// クローズの結果をチェック
if(closeResult == true)
{
Print("ポジションをクローズしました。");
}
else
{
Print("ポジションのクローズに失敗しました。エラーコード: ", GetLastError());
}
}
}
}
// 2番目の確認画面を表示する関数
void ShowSecondConfirmation()
{
int answer2 = MessageBox("買い全決済または売り全決済しますか?\n\n「はい」買いポジション全決済\n「いいえ」売りポジション全決済\n「キャンセル」なにもしない\n", "売り買い決済を選択", MB_YESNOCANCEL);
switch(answer2)
{
case IDYES:
CloseBuyPositions(); // 買いポジションをすべて決済する関数を呼び出す
break;
case IDNO:
CloseSellPositions(); // 売りポジションをすべて決済する関数を呼び出す
break;
case IDCANCEL:
// 何もしないで終了
break;
}
}
// 買いポジションをすべて決済する関数
void CloseBuyPositions()
{
int totalPositions = OrdersTotal(); // オープンポジションの数を取得
for(int i = totalPositions - 1; i >= 0; i--)
{
if(OrderSelect(i, SELECT_BY_POS) == true)
{
// 購入ポジションのみを決済
if(OrderType() == OP_BUY)
{
bool closeResult = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 3, clrWhite);
if(closeResult == true)
{
Print("買いポジションをクローズしました。");
}
else
{
Print("買いポジションのクローズに失敗しました。エラーコード: ", GetLastError());
}
}
}
}
}
// 売りポジションをすべて決済する関数
void CloseSellPositions()
{
int totalPositions = OrdersTotal(); // オープンポジションの数を取得
for(int i = totalPositions - 1; i >= 0; i--)
{
if(OrderSelect(i, SELECT_BY_POS) == true)
{
// 売却ポジションのみを決済
if(OrderType() == OP_SELL)
{
bool closeResult = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 3, clrWhite);
if(closeResult == true)
{
Print("売りポジションをクローズしました。");
}
else
{
Print("売りポジションのクローズに失敗しました。エラーコード: ", GetLastError());
}
}
}
}
}
ソースコードの詳細を解説
OnStart() 関数:
スクリプトのメイン関数であり、スクリプトが実行されるときに最初に呼び出される。
ユーザーに対してポジションのクローズを確認するメッセージボックスを表示する。
ユーザーの選択に応じて、全てのポジションをクローズするか、買いポジションまたは売りポジションのクローズを選択するか、または何もせず終了する。
CloseAllPositions() 関数:
OnStart() 関数内で全てのポジションをクローズするために呼び出される。
OrdersTotal() 関数を使用してオープンポジションの数を取得し、それらのポジションをループで処理する。
ポジションのタイプに応じて適切な方法でクローズする。
買いポジションは現在の売り価格で、売りポジションは現在の買い価格でクローズされる。
ShowSecondConfirmation() 関数:
ユーザーが “いいえ” を選択した場合に呼び出され、買いポジションまたは売りポジションのクローズを選択するメッセージボックスを表示する。
CloseBuyPositions() 関数:
ShowSecondConfirmation() 関数内で買いポジションをクローズするために呼び出される。
買いポジションのみを処理し、適切な価格でクローズする。
CloseSellPositions() 関数:
ShowSecondConfirmation() 関数内で売りポジションをクローズするために呼び出される。
売りポジションのみを処理し、適切な価格でクローズする。
その他の一括決済ツール|無料MT4ツール
MT4のマーケットからインストールできる無料の一括決済ツールを紹介する。
マーケットはMT4のターミナルからアクセスが可能だ。
以下に紹介するツールは、すべてMT4のマーケットから無料でインストールできる。
Exp TralPartionClose|トレール パーシャル クローズ
無料
価格が利益方向に動いた後、値が戻った場合にポジションの一部を分割決済する。価格が利益方向に進むと価格レベルを設定し、価格が指定ポイントに戻った場合にポジションの一部を分割決済する。その後、次の決済レベルを設定し、ポジション全体がクローズされるまで継続される。ストップロスではトレーリングストップ機能が選択できる。
分割する回数やトレーリングストップは設定可能。
CloseButton|クローズボタン
無料
EAとして動作する一括決済が可能なツール。
チャート上にパネルが表示され、ボタンのクリックでポジション決済できる。
決済方法は7種類用意されており、パネルからボタンで選択できる。
- Close All:すべてのポジションを決済
- Close Profit:利益のあるポジションをすべて決済
- Close Loss:損失ポジションをすべて決済
- Close Stop:ストップ注文をすべて決済
- Close Limit:リミット注文をすべて決済
- Close Buy:買い注文をすべて決済
- Close Sell:売り注文をすべて決済
TM Close Buttons|クローズ ボタン
無料
オープンポジション決済の他、保留中の注文を削除できる決済ツール。
- ポジションの決済
- すべてのポジション
- 買いポジションのみ
- 売りポジションのみ
- 利益のある買いポジションのみ
- 利益のある売りポジションのみ
- 損失のある買いポジションのみ
- 損失のある売りポジションのみ
- 利益のあるすべてのポジション
- 損失のあるすべてのポジション
- 保留中の注文を削除
- 買い逆指値注文
- 売り逆指値注文
- すべての逆指値注文
- 買い指値注文
- 売り指値注文
- すべての指値注文
Close ALL MT4|クローズ オール
無料
MT4に2つのボタンがあるパネルを表示して操作できる決済ツール。
「CloseAll」と「Close by Filter」ボタンより決済。
- CloseAllボタンの設定
- All pairs/Current:すべてのシンボルかチャート上のシンボルかを選択
- ALL/LOSS:すべてのポジション決済か損失ポジション決済かを選択
- Close by Filterボタンの設定
- All pairs/Current:すべてのシンボルかチャート上のシンボルかを選択
- Close by Time:注文締め切りの有効、無効を選択
- Equity Model:決済注文の条件設定
Close All Orders for MT4|クローズ オール オーダー
無料
スクリプトで動作するシンプルな一括決済ツール。
ポジションから保留中の注文まで、すべての注文を決済または削除する。
Alpha Trade Closer|アルファ トレード クローザー
無料
パネルで操作できる一括決済ツール。
- CLOSE ALL TRADES:すべてのポジションを決済
- CLOSE ALL BUY:買いポジションをすべて決済
- CLOSE ALL SELL:売りポジションをすべて決済
- CLOSE ALL PROFIT:利益ポジションをすべて決済
- CLOSE ALL LOSS:損失ポジションをすべて決済
- CLOSE ALL BUY PROFIT:利益のある買いポジションをすべて決済
- CLOSE ALL SELL PROFIT:利益のある売りポジションをすべて決済
- CLOSE ALL BUY LOSS:損失のある買いポジションをすべて決済
- CLOSE ALL SELL LOSS:損失のある売りポジションをすべて決済
- CLOSE ALL PENDING:保留中の注文をすべて削除
- CLOSE ALL PENDING BUY:保留中の買い注文をすべて削除
- CLOSE ALL PENDING SELL:保留中の売り注文をすべて削除
One Click MT4|ワンクリック
無料
One Click Close MT4は、注文を素早く一括決済できるEA。チャート上に「すべてのポジションをクローズ」と「利益ポジションをクローズ」の2つのボタンが表示され、すべての注文や利益のある注文のみをクローズできる。シンボルに関係なく、すべてのシンボルの注文を対象にする。ボタンの位置はEAパラメータで調整が可能。
Position Close Button MT4|ポジション クローズ ボタン
無料
EAとして動作する一括決済ツール。
チャート上に表示されるパネルで決済方法を選択して一括決済が可能。
- Buy:買いポジションをすべて決済
- Sell:売りポジションをすべて決済
- Buy & Sell:すべてのポジションを決済
- Pending:保留中の注文をすべて決済
Close All Profit|クローズ オール プロフィット
無料
EAで動作する一括決済ツール。
- ボタンの表示、非表示が切替可能。
- 売り買いそれぞれのLOT数を表示
- すべての注文を決済
- 利益ポジションを決済
- 損失ポジションを決済
- 保留中の注文を削除
Close ALL In This Current Chart MT4|クローズ オール インディス カレント チャート
無料
ひとつのボタンのみで構成され、ワンクリックでチャート上のポジションが全決済されるシンプルなツール。
確認などなく一括決済されるため注意が必要。
Close All When Equity MT4|クローズ オール ウェン エクイティ
無料
このツールは、損益が特定の値に達した時に自動で一括決済する。損益が設定した値を下回るか、損益が設定した値を超える場合に対応し、手動での決済も可能。一括決済した際、MT4モバイルアプリに通知を送信する機能を有する。
Pro Close Panel|プロ クローズ パネル
無料
パネルのボタンから一括決済できるほか、複数の設定されたルールからポジション決済も可能なツール。
損益、有効証拠金、時間の条件で全決済が可能。
- ボタンでの決済
- 買いポジションのみ
- 売りポジションのみ
- 利益ポジションのみ
- 損失ポジションのみ
- すべてのポジション
Close Tool MT4|クローズ ツール
無料
オプションを選択して決済内容を変更できる一括決済ツール。
EA、手動、EAと手動を選択してポジション決済。
シンボルを選択、またはすべてのシンボルから決済。
買いポジションのみ決済。
売りポジションのみ決済。
ストップ注文、リミット注文を売り買いそれぞれ選択して削除可能。
Close All Orders Assistant|クローズ オール オーダーズ アシスタント
無料
EAとして動作する一括決済ツール。
セットしたチャートのみに適用か、すべてのチャートに適用かを選択できる。
- Current Chart:EAをセットしたチャート
- All Chart:すべてのチャート
- Close All:すべてのポジションを決済
- Close All Profit:すべての利益ポジションを決済
- Close All Loss:すべての損失ポジションを決済
- Close All Buy:すべての買いポジションを決済
- Close All Sell Positions:すべての売りポジションを決済
EasyClose MT4|イージー クローズ
無料
EAで動作する一括決済ツール。
一括決済が可能なほか、買いポジションのみ、売りポジションのみを選択して決済できる。
保留中の注文を個別に削除可能。
OneClickClose Free|ワンクリック クローズ フリー
無料
EAで動作する全決済が可能なツール。
- CLOSE SELL:売りポジションを決済
- CLOSE BUY: 買いポジションを決済
- CLOSE ALL:すべてのポジションを決済
設定ですべてのシグナルが決済可能になる。
マジックナンバーでのフィルタリングにも対応。
One Click Close Pro MT4|ワンクリック クローズ プロ
無料
- Close All:ターミナルすべてのポジションを決済
- Close All Buy Positions:すべての買いポジションを決済
- Close All Sell Positions:すべての売りポジションを決済
- Close Profit >=:指定した利益以下で決済
- Close Profit <=:指定した利益以上で決済
- Close All Position By Symbol:指定した通貨ペアで決済
その他の便利なMT4用スクリプト
-
海外FXのEA_MT4
ラウンドナンバーに自動で水平ラインを引く|MT4スクリプト
-
海外FXのEA_MT4
市場ごとに高値と安値を色分けするMT4ツール|時間帯ブレイクアウト
-
海外FXのEA_MT4
取引履歴をすべてCSVファイルに出力するスクリプト|MT4
-
海外FXのEA_MT4
リスクゼロの損益分岐点でストップ注文するスクリプト|ブレイクイーブン
-
海外FXのEA_MT4
MT4を便利にするスクリプトまとめ
-
海外FXのEA_MT4
すべてのチャートを一括で閉じる方法|通貨ペア選択も可|MT4スクリプト
-
海外FXのEA_MT4
MT4でSL・TP注文を一括でキャンセルする方法
-
海外FXのEA_MT4
ストップロス(損切り)とテイクプロフィット(利食い)を一括で注文する方法
-
海外FXのEA_MT4
MT4一括決済スクリプト|全決済と売り買い決済の選択もできる
-
海外FXのEA_MT4
すべてのチャートを一括で開くMT4スクリプト
-
海外FXのEA_MT4
チャートのトレンドラインやオブジェクトを一括で削除する方法
-
海外FXのEA_MT4
MT4チャートの時間足を一括で切替えるツール
まとめ
PositionCloseを使うとMT4の全ポジションを一括で決済できる。買いの一括決済、売りの一括決済にも対応している。PositionCloseはスクリプトのため、EAが稼働しているチャートでも使用できる。一括決済は擬似的なものであり、複数ポジションの決済には多少のズレが生じる。スマホから一括決済を実行するには、リモートデスクトップで対応可能。その場合にはPCの起動は必須条件となる。