gaggitのブログ

コーディング、ガジェット、TIPS関連、FX

MT4 array out of range

久々にMT4でコーディングしています。もう7,8年ぶりぐらいなので、すっかり忘れてます。今回、デフォルトでついてくるパラボリックSARのソースを基にdouble型の配列にLow[0]の値を代入していたのですが、「array out of range」が発生しました。

(下記は、抜粋)

変更前

double ExtSARBuffer;

ArrayInitialize(ExtSARBuffer,0.0);
ExtSARBuffer[0]=Low[1];

 

変更後

double ExtSARBuffer;

ArrayResize(ExtSARBuffer,1001,10);
ArrayInitialize(ExtSARBuffer,0.0);
ExtSARBuffer[0]=Low[1];

 

変更点は、配列のイニシャライズの前にArrayResize()を使用して、メモリを割り当てています。逆に言うと、元のパラボリックSARのソースがエラーもなくなぜ動作するのか、不思議です。

 

Virtualboxでマルチディスプレイにする方法

ディスプレイを2つ持っていると、やっぱりVirtualboxの画面も複数表示したい。

少し手間取ったので、Virtualboxでマルチディスプレイにする方法をメモ書きしときます。

簡単に説明すると、ゲストOS側にGest Additionsをインストールします。

0.環境

Virtualbox:6.0.4

ホストOS:Ubuntu18.04

ゲストOS:Windows10 1809

 

1.設定

Virtualbox を起動します。

○「設定」「ディスプレイ」クリックします。

○右メニューの「ディスプレイ数」を2に増やします。

 

2.Gest Additionsのインストール

○GestOSを起動します。 

○メニューバーに「デバイス」の項目があることを確認します。

 メニューバーは、ゲストOS名「実行中」と表示されている下に表示されます。

  表示されていない場合には、3.メニューの表示方法で設定してください。

○「デバイス」をクリックし、「Gest Additions CD イメージの挿入」を選択します。(なんの反応もない)

○ログイン後、エクスプラーを立ち上げて、光ディスクのドライブに移動します。

○VBoxWindowsGestAdditions.exeをダブルクリックし、Gest Additionsをインストールします。

○再起動を訊いてくるので、再起動します。

○再起動後、「表示」「仮想スクリーン2」をクリックし、「有効」にチェックを入れます。

チェックを入れると、仮想スクリーン2が表示されます。

 

3.メニューの表示方法

○左メニューの「ユーザーインターフェース」をクリックします。

○一番右側のヘルプの右にあるチェックボックスにチェックを入れます。

 

余談

ステータスバーを表示させるには、メニューバー「表示」「ステータスバー」「ステータスバーの表示」をクリックします。

今回、表示できる画面サイズを広く取ろうと思い、メニューバーやらステータスバーやら非表示にしていたら、戻すのに苦労させられました。

MEGAのストレージ容量について

MEGAのストレージ容量について、少しわかったので、報告しておきます。

確認方法は、以下です。

スマホのブラウザで、https://mega.nz/にアクセスし、ログインします。

○右上の「設定」アイコンをクリックし、「アカウント設定」を選択します。

○「実績」をクリックすると、容量の内訳が表示されます。

(PCのブラウザからだと、なぜか実績という項目が表示されません)

登録実績で、+35GB 期間:30日

MEGAsyncをインストールするで、+20GB 期間:180日(40GB)

当社のモバイルアプリをインストールするで、+15GB 期間:180日(30GB)

 

期間を経過すると、括弧書きの容量が転送制限されます。

あと、人を紹介すると、+10GB増えるようですが、期間:不明(20GB)の転送制限となるようです。

 

 

さらばDropbox

 3月下旬にDropboxのデバイスが3デバイスに制限され、スマホのデバイスを解除してたりして、やり繰りしていましたが、3GB(基本2GB+ボーナス1GB)の内、2.88GBまで使用しているので、根本的にサービスの見直しをしました。つまり、Dropboxをやめて他のオンラインストレージへの乗り換えです。

イムリーにマイナビさんから記事が掲載されていたので、紹介されていたMEGAに乗り換えました。使用感は、Dropboxと変わりません。WindowsLinuxスマホから使用できます。Webの管理画面や設定方法もかなり似ています。Dropboxから乗り換えを考えている方は、これが一番ではないでしょうか。

 ただ、気をつけたいことが何点かあります。1点目は、ストレージ容量です。マイナビの記事を参照すると、15GBとありますが、インストール後、設定画面を確認すると50GBとなっています。その後、デバイスを増やして、70GB。現在、3デバイスで、85GBとなっています。ネットを検索してみると、どうやら期間限定のようで、うっかり15GBを超えて試用期間を経過すると、有料プランに移行しないとアクセスできなくなるようです。MEGAのサイトには、詳しく書かれていません(どこかに注意書きが書かれいるのかもしれませんが)。

 もう1点は、パスワードを忘れると、アクセスができなくなります。Dropboxであれば、パスワードのリセットができますが、MEGAではできません。その代わりに回復キーが用意されているので、必ずダウンロードして保管しておきましょう。

最後に、3ヶ月間使用していないと、警告後、アカウントごと削除されてしまうそうです。

Dropboxより、同期に若干時間が書かれていましたが、気になりませんでした。

MEGAを使用するメリットとして、アップロード時に暗号化化され、ダウンロード時に復号化されるのでセキュリティに強いという点と任意のフォルダ単位で同期化できるということです。これは、Dropboxにはない機能です。

 

参考リンク

news.mynavi.jp

mega.nz

Virtualbox ホストキーの変更方法

Virtualboxのホストキーの変更方法

Virtualboxの画面右下の一番右端あるキャプチャー表示の有無を表すアイコンを右クリックします。

○「キーボードの設定」をクリックします。

○「仮想マシン」タブの「ホストキーの組み合わせ」の「ショートカット」をクリックします。

○ホストキーに割り当てたいキーを押します。

○「OK」ボタンをクリックします。

 

右端の消しゴムみたいなボタンで、取り消しが出します。

 

作業用キーボードとして、 HappyHacking Keyboard Lite2を使用していますが、右Ctrlキーがないので、やむなく設定変更です。

Virtualbox内のゲストOSと現行機のベンチマーク比較

Ubuntu18.04LTSのVirtualbox内のWindows10(64bit)と現行デスクトップPCのWindows10(64bit)のベンチマークを計測してみました。ベンチマークはPassMarkで有名なベンチマークのPerformanceTest 9.0評価版を使用しました。

まずは、簡単にマシンスペックを紹介します。

 現行機 CPU:Core i3 530 2.9Ghz メモリ:8GB GPU:RADEON HD5450 ストレージ:HDD

Ubuntu機 CPU:Athlon 200GE 3.2Ghz メモリ:8GB GPU:Vega3相当 ストレージ:SSD

 

       現行機  Ubuntu

PASSMARK      896.3  2397.8

CPU MARK 2668.6  4329.6

2D MARK   427.6  353.7

3D MARK   157.3  -

MEMORY  1243.5  1296.8

DISK     649.1  3435.3

 

現行機が遅いってこともありますが、仮想環境内でも、十分にやって行けそうです。

補足として、Ubuntu機の3D MARKはGPUが認識できなかったようで、未計測でした。

また、ゲストOSの設定として、メモリを16GB中8GBの割り当て、ディスプレイの設定では、2D,3Dのアクセラレーションの有効化にチェック、GPUのメモリ割り当てをデフォルトから最大の256MBに変更しています。

 

参考リンク

www.passmark.com

 

eTaxをVirtualboxの中で動作させる時のコツ

 eTaxはすんなりインストールして、あっさり動作確認できましたが、その前提のスマートカードリーダーの導入で手間取ったので、メモ書きを置いておきます。

 

1.ドライバーのインストール

使用したカードリーダーは以前から使用しているサンワサプライ製のWindow10未対応のADR-RW5100です。今回使用したドライバーは、Windows8/8.1用のVer.1.0.1.0のドライバーです。ちなみにWindows7用の1.0.0.9は、インストールできませんでした。

ダウンロードして、exeファイルを実行します。

 

2.Virtualboxの設定

参考リンクにあるVirtualboxのUSBデバイス認識Virtualboxの設定を行ってください。

書かれているExtention Packのインストールとvboxusersグループにユーザを追加する設定も必要です。

 

3.USBの認識

USBカードリーダーを挿し、Virtualboxを起動させます。

画面右下のUSBをクリックして、Sharp Corporation RW5100(USB)にチェックを入れます。

Windows内の右下の^をクリックして、USBデバイスが認識していることを確認します。また、カードリーダー側のLEDが緑色で点滅していれば、認識完了です。

 

参考リンク

qiita.com

https://www.sanwa.co.jp/support/rw5100/download.html