先日リクエストがあったので、MT4で使えそうなツール(スクリプト)を紹介します。
←FX自動売買ブログをチェック
あまりネタがないです。
一括全ポジションを閉じるスクリプトと一括全注文をキャンセルツールを紹介します。
自動売買機能がONの場合、
①スクリプトをダブルクリックだけで、すべてのポジションを一括クローズしてくれます。
//+------------------------------------------------------------------+
//| close.mq4 |
//+------------------------------------------------------------------+
#include
#include
int start()
{
if (IsTradeAllowed()==false) { Alert("自動売買機能が未設定です,オプションで設定してくさい。"); return; }
if(MessageBox("すべてのポジションを閉じますか?", "全部閉じます", MB_YESNO|MB_ICONQUESTION) != IDYES) return;//
bool result;
double price;
int cmd,error;
int total=OrdersTotal();
for(int i=total-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ==false) continue;
cmd=OrderType();
if(cmd > 1) continue;
while(true)
{
if(cmd==OP_BUY) price=Bid;
else price=Ask;
if(OrderClose(OrderTicket(),OrderLots(),price,1,CLR_NONE) == TRUE) break;
else
{
error=GetLastError();
Print("LastError = ",ErrorDescription(GetLastError()) );
if(error==135) RefreshRates();
else break;
}
}
}
return;
}
//----------------------------------------------------------------
②スクリプトをダブルクリックだけで、すべての注文を一括キャンセルしてくれます。
//+------------------------------------------------------------------+
//| Del_All.mq4 |
//+------------------------------------------------------------------+
#include
#include
int start()
{
if (IsTradeAllowed()==false) { Alert("自動売買機能が未設定です,オプションで設定してくさい。"); return; }
if(MessageBox("すべての注文をキャンセルしますか?", "注文をキャンセル", MB_YESNO|MB_ICONQUESTION) != IDYES) return;//
int total=OrdersTotal();
for(int i=total-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ==false) continue;
if(OrderType() < 2) continue;
while(true)
{
if( OrderDelete(OrderTicket()) !=TRUE ) Print("LastError = ", ErrorDescription(GetLastError()));
else break;
}
}
return;
}
//----------------------------------------------------------------
ダウンロード用はこちら: Close_All.mq4 Del_All.mq4
右クリック保存で、C:\Program Files\ODL MetaTrader 4\experts\scripts配下に配置します。使用するとき、左の「Script」リストからダブルクリック。
もしほかになにか便利なツールをリクエストがあれば、教えてください。
←FX自動売買ブログを応援
あまりネタがないです。
一括全ポジションを閉じるスクリプトと一括全注文をキャンセルツールを紹介します。
自動売買機能がONの場合、
①スクリプトをダブルクリックだけで、すべてのポジションを一括クローズしてくれます。
//+------------------------------------------------------------------+
//| close.mq4 |
//+------------------------------------------------------------------+
#include
#include
int start()
{
if (IsTradeAllowed()==false) { Alert("自動売買機能が未設定です,オプションで設定してくさい。"); return; }
if(MessageBox("すべてのポジションを閉じますか?", "全部閉じます", MB_YESNO|MB_ICONQUESTION) != IDYES) return;//
bool result;
double price;
int cmd,error;
int total=OrdersTotal();
for(int i=total-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ==false) continue;
cmd=OrderType();
if(cmd > 1) continue;
while(true)
{
if(cmd==OP_BUY) price=Bid;
else price=Ask;
if(OrderClose(OrderTicket(),OrderLots(),price,1,CLR_NONE) == TRUE) break;
else
{
error=GetLastError();
Print("LastError = ",ErrorDescription(GetLastError()) );
if(error==135) RefreshRates();
else break;
}
}
}
return;
}
//----------------------------------------------------------------
②スクリプトをダブルクリックだけで、すべての注文を一括キャンセルしてくれます。
//+------------------------------------------------------------------+
//| Del_All.mq4 |
//+------------------------------------------------------------------+
#include
#include
int start()
{
if (IsTradeAllowed()==false) { Alert("自動売買機能が未設定です,オプションで設定してくさい。"); return; }
if(MessageBox("すべての注文をキャンセルしますか?", "注文をキャンセル", MB_YESNO|MB_ICONQUESTION) != IDYES) return;//
int total=OrdersTotal();
for(int i=total-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ==false) continue;
if(OrderType() < 2) continue;
while(true)
{
if( OrderDelete(OrderTicket()) !=TRUE ) Print("LastError = ", ErrorDescription(GetLastError()));
else break;
}
}
return;
}
//----------------------------------------------------------------
ダウンロード用はこちら: Close_All.mq4 Del_All.mq4
右クリック保存で、C:\Program Files\ODL MetaTrader 4\experts\scripts配下に配置します。使用するとき、左の「Script」リストからダブルクリック。
もしほかになにか便利なツールをリクエストがあれば、教えてください。
この記事へのコメント
指定した時刻にOrderを出すEAってないですかねえ。
たとえば指標1分前にL成行注文だとか。そして指標1分後にSで決済みたいに・・。
たとえば指標1分前にL成行注文だとか。そして指標1分後にSで決済みたいに・・。
2007/12/27(木) 06:34 | URL | 名無し@こっぺぱん #-[ 編集]
初めまして。
いつも楽しく拝見させていただいてます。
<m(__)m>
こんなロジックが可能かご相談させていただきたいのですが。
OrderSendで注文した際に、損切値を設定し、その損切値で自動決済されてしまった際、
その直後に逆ポジションを自動的に立てるようなロジックを作ることは可能でしょうか。
お手隙の際にお返事がいただければ、幸いです。。 <m(__)m>
いつも楽しく拝見させていただいてます。
<m(__)m>
こんなロジックが可能かご相談させていただきたいのですが。
OrderSendで注文した際に、損切値を設定し、その損切値で自動決済されてしまった際、
その直後に逆ポジションを自動的に立てるようなロジックを作ることは可能でしょうか。
お手隙の際にお返事がいただければ、幸いです。。 <m(__)m>
2008/02/09(土) 19:27 | URL | マーサー #1UfF.XRY[ 編集]
MT4での一括決済を探してこちらにたどりつきました。早速ダウンロードさせていただきましたが、上手く使えません。コンパイルするとエラーとなります。何がいけないのでしょうか? ちなみにエラー表示は以下の通りでした・・・
'stdlib.mqh' - cannot open the program file
WinUser32.mqh' - cannot open the program file
ご指導お願いします。
'stdlib.mqh' - cannot open the program file
WinUser32.mqh' - cannot open the program file
ご指導お願いします。
2008/04/01(火) 02:05 | URL | りき #-[ 編集]
VsiiEj <a href="http://ujezwgdcttex.com/">ujezwgdcttex</a>, [url=http://ildwyfueiqhn.com/]ildwyfueiqhn[/url], [link=http://uxmfhisuckdi.com/]uxmfhisuckdi[/link], http://hberrdagqleb.com/
5EHbPF <a href="http://xmhkxxjuqwuf.com/">xmhkxxjuqwuf</a>, [url=http://drmjrgnyqxnz.com/]drmjrgnyqxnz[/url], [link=http://opourmvffydh.com/]opourmvffydh[/link], http://tplaujzyfxay.com/
sounding http://paydayloanslpp.com/#wnjwluyo
schiphol http://getonlineau.com/#dclfbalw
scoville http://getonlineau.com/#gmztokyq
promote http://caonlinerx.com/#hzehdekt
organisation http://caonlinerx.com/#njgmrrzp
この記事のトラックバックURL
http://fc888.blog40.fc2.com/tb.php/389-e2ae126d
この記事にトラックバックする(FC2ブログユーザー)
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
| MetaTraderでFX自動売買ブログ |
Copyright © 2006 MetaTraderでFX自動売買ブログ All rights reserved.
Template by ブログ アフィリエイト SEO テンプレート
Copyright © 2006 MetaTraderでFX自動売買ブログ All rights reserved.
Template by ブログ アフィリエイト SEO テンプレート