お名前.comでMT4を自動起動する場合は、タスクスケジューラを使う場合でも/portableオプションが必要になった

スポンサーリンク

2020.12.18のお名前.com デスクトップクラウドの機能追加から

私はお名前.comのMT4向けVPSサービスである「お名前.com デスクトップクラウド」を使用しています。

何年か前までは、使えるネットのVPSと比較して機能的に見劣りしていたのですが、ここ1~2年で急速に進化して、今や価格とサービスの総合点で使えねネットを超えているのではないかと思います。

しかし、その進化の過程で、思わぬ弊害が生じているようです。

お名前.com デスクトップクラウドでは、自動ログインとMT4の自動起動が簡単に設定できるようになった

昔からMT4を本格的に運用している人は、もともとネットでWindowsの機能を調べたりして自分でしていたことと思いますが、MT4の運用は予期せぬサーバの再起動時に自動で再稼働するようにする必要があります

これは、例えばポジションを持ったままMT4が停止してしまうと、その間に相場が大きく動き、大きな含み損を抱えてしまう可能性があるからです。

そのため、以下の2つの設定をする必要がありました。

  1. Windowsが再起動した場合に、自動的にサインイン(ログイン)する
  2. MT4を自動的に起動する

お名前.com デスクトップクラウドでは、これらを簡単に設定する機能を2020/12/18から提供してくれるようになりました。

コントロールパネルの 自動ログオン / 自動起動設定 の画面イメージ

しかし、思わぬ影響が・・・

MT4を自動起動する2つの方法

(お名前デスクトップクラウドの機能ではなく)Windowsの標準機能で、Windows再起動時にMT4を自動起動する方法は以下の2つがあります。

A. スタートアップフォルダにMT4のショートカットを入れる
B. タスクスケジューラからMT4を起動する

スタートアップフォルダにショートカットを入れていた人は影響なし

日本では、Aの方法が広く知られているようで、その方法を紹介しているサイトが多いです。そうするとその手順の中で、ショートカットに以下の起動オプションを追加してMT4を運用することになります。

通常MT4をインストールするとBuild600というMT4のバージョン以降はデータフォルダ(EAのファイルなどを格納するフォルダ)は「C:\Users\」配下の各ユーザフォルダの下のどこかなります。

しかし、この「/portable」オプションを付けることにより、MT4のデータフォルダがBuild600以前ではそうだったように「C:\Program File(x86)」配下になります。

スタートアップフォルダにショートカットを入れてMT4を起動する場合に上記のオプションを付加する理由としては、Windowsの自動サインイン処理が完了する前にMT4が起動してしまい、「C\Users\」配下の各ユーザフォルダにアクセスできずMT4がうまく起動しないからです
(「C\Users\」配下の各ユーザフォルダは、そのユーザしかアクセスできないアクセス権がかかっているため)

もともとスタートアップフォルダにMT4のショートカットを入れ、ショートカットに/portableオプションを付けて運用していた人は、お名前デスクトップクラウドの機能追加後も影響はありません。

タスクスケジューラを利用していた人は対処が必要

しかし、私のようにWindowsのタスクスケジューラを使っていた人は、ショートカットにそのような細工をする必要が全くなかったので、MT4のショートカットに/portableオプションなど付けずに、そのままデータフォルダとしと「C:\Users\」配下の各ユーザフォルダを使用していました。

そして、お名前デスクトップクラウドの機能追加後も自動MT4起動機能は、当然のようにOFFにしていました(もともと自動稼動できていたので)。

お名前デスクトップクラウドでは、タスクスケジューラからのMT4の自動起動の場合でも強制的に/portableオプションが付加される

そしてある日、いつものようにWindows Updateを適用し、お名前デスクトップクラウドのVPSを再起動させたら、適用してたはずのEAがなくなっていました

最初は全く訳が分からなかったのですが、お名前デスクトップクラウドの機能追加以降、Windows起動時にMT4が自動起動する場合は強制的に/portableオプションが付くようになっていたのです

私はシステムにかなり詳しいと自負していますが、お名前.comがどのようにしてそれを実現しているかは分かりませんでした。
お名前.comに問い合わせてみましたが、そもそも現象を把握していないようでした。

さらにたちが悪いのは、タクススケジューラのタスクを手動で起動した場合は、問題なくデータフォルダが「C:\Users」配下のままであることです。そのため、現象の解明にやや時間を要しました。

お名前.comデスクトップクラウドを使用する場合はタスクスケジューラタスクにも/portableオプションを付加する必要あり

お名前.comデスクトップクラウドを利用して、かつ「C:\Users」配下をデータフォルダにする方法はわからずじまいでした。そこで私の対処としては、スタートアップフォルダにシュートカットを入れる場合と同様に、MT4を常に「/portable」オプションを付けて運用することにしました。

タスクスケジューラのタスクの場合、設定する箇所は以下になります。

MT4について
スポンサーリンク
システムトレードでそこそこ設ける方法

コメント

  1. TransAm2002 より:

    私も同じ問題に突き当たり、解決方法を探していてこのページを運良く見つけました。

    /portableの入力無し、且つお名前.comのMT4自動起動無し、そしてタスクスケジューラのトリガー部分で遅延時間を1分に設定して手動MT4起動と同様になりました。

    遅延時間30秒だと私の場合は駄目でした。

    これでユーザーフォルダ内のデータを使え、全て解決です。気付きを有難う御座いました。

    • すばる より:

      お役に立てたようで何よりです。最近はMT4はあまりやってないので、記事を整理しようかとおもっていましたが、こういったみなさんのお役に立っていいる記事もあるんですね。