このブログを検索

2014-02-21

FXメモ(MT4作ってみた)

先月、試しに何週間もZAR/JPYを全力2枚を持ってたら強制ロスカットを食らう→マイナス8万くらい、で、その時負けていた2万と合わせてマイナス10万。
そこから1/29前後くらいにあったトルコの金利騒動で、1枚だけだけど200pipsくらい得られたり、その後頑張ってマイナス6万まで戻すも、いつだかの指標で3秒で100pipsくらい動いてS/Lに引っかかりマイナス10万(その後全モしてた・・・)
そんなこんなの今月は、デモで練習中。(今までデモほとんどやってなかった)
デモで10万スタートで、2倍に増やせたら相場に戻ります。

で、最近チクチクMT4のEA作ってました。
2つ作って、どちらも去年や今年なら+になるので公開してみます。
どちらも2006年前後に大負けするのですがフィルタが思いつかず。
どなたか改良できたらお願いしますw
※説明はそれぞれBuyの時のです

特にMAGravityの方は、良い時は勢い良く伸びるので、何かフィルタがあれば・・・もしくは損切指標があれば・・・といった感じです。

MAGoldenCross
注文:短期MA(21~24)と長期MA(90)のクロス
注文フィルタ:
決済:短期MA(21~24)と長期MA(90)のクロス
決済:CCI短期(12)と長期(60)が閾値以上から、短期が閾値以下になった時
決済:CCI中期(30)が閾値以上になった後、プライスが中期MAをクロスした時
損切:プライスが長期MA(90)を下回った時
USD/JPY 15M足オンリー

MAGravity
注文:SMA21,SMA34,EMA89が期間順且つ、プライスがSMA21とクロス
注文フィルタ:ストキャ13,8,8が弱い(10以下)の時
決済:プライスがEMA89クロス
損切:MACD8,17,9が0以下且つ、MainよりSignalが低い時
    又は、1つ前のSignalが0以上から0未満になった時
USD/JPY 1H足オンリー、傾向としては他の通貨の1D足でもあるけど、今のフィルタ等ではドル円1Hでしか無理。

もし使われる際は自己責任で。負ける時は激しく負けるので注意。
あと、エラー処理は抜いてるので必要ならつけてください。



さて、デモで勝つためにいろいろ研究中。

2014-02-11

お名前.com VPS(KVM) にMT4をインストールする

FXの自動売買用にMT4を導入しているのですが
今はお名前.comのWindows Server 上に設置しています。
Linuxサーバの方が若干安いのでそっちに乗り換えを模索中。
まだ無料期間ですがインストールに成功しました。Windows Server も無料期間だからそのまま解約にするつもり。

ポイント
・Linux(CentOS)にMT4をインストールする
・リモートデスクトップ環境を構築する
・リモートデスクトップにはxrdpというサーバを使う
・xrdpは内部的にはvncサーバに接続しに行く
・日本語入力の問題があり、ユーザパスワード関連に記号は、ひと通り手順が終わるまではセットしないほうが良い


OSインストール
お名前.com VPS(KVM) のコントロールパネルにログインする
カスタムOSインストールとして Cent OS 6.4 64bit をインストールする
・Virtio ON
・ビデオデバイス vmvga (こっちのほうが解像度高くなるっぽい?
実行するとメディアが挿入された状態となるので起動する
・Install or Upgrade exists ....
・Language: Japanese
・Keyboard Type: jp106
・IPv6 Support: OFF
・システムクロックでUTCを使用: ON
・どのタイプのインストールをするか: すべての領域を使用する
・インストール先のデバイス: 20GB
・データストレージデバイス: 180GB
・Basic Serverを選択

パッケージ選択(Basic Serverからの差分)
※一部よくわからないものもONにしてます
※将来的な用途のことも含めているのでMT4自体には関係無いものもあります
アプリケーション
・Emacs ON
・インターネットブラウザ ON
サーバ
・FTPサーバ ON
・システム管理ツール ON
・電子メールサーバ ON
システム管理
・システム管理 ON
デスクトップ
・X Window System ON
・グラフィカル管理ツール ON
・デスクトップ ON
・デスクトッププラットフォーム ON
・フォント ON
・リモートデスクトップ接続クライアント ON
・レガシー X Window システムの互換 ON
・入力メソッド ON
・汎用デスクトップ ON
ベースシステム
・java プラットフォーム OFF
・Perlのサポート OFF

進めてインストール完了させる
再起動してrootでログイン
上部のシステム→管理→ユーザとグループで一般ユーザを作成
rootをログオフして一般ユーザで入り直す

VNCサーバ(tigervnc)インストール
$ su
# yum -y install tigervnc*
# vim /etc/sysconfig/vncservers

USERNAMEには一般ユーザ名を入れる
VNCSERVERS="2:USERNAME"
VNCSERVERARGS[2]="-geometry 1920x1024 -nolisten tcp -localhost" 
localhsotにすることで、VNC接続を外部からさせない。
なお、ポートは5900+先の設定ファイルの数字(2)で5902となる。

# exit
VNCパスワードをセットする
長すぎるとログイン出来ないような・・・?
$ vncpasswd

本来はこれでOKだけどテストするためにポートを開放する
$ su
# vim /etc/sysconfig/iptables
dport 22の記載がある下辺りに追記
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT
# /etc/init.d/iptables restart
# /etc/init.d/vncserver restart

サービス化
# chkconfig vncserver on


この状態で、外部からVNCクライアントで接続してみて確認。
今のところ通信が暗号化されていないので注意。
問題なさそうならiptablesから記述をコメントアウトしてiptables再起動

今回解決はできなかったけどプロセス再起動時に
"xauth: timeout in locking authority file /home/root/.XauthXXXXX"と出て時間がかかる
たぶん、rootユーザでサービスを実行するけど、内部的には一般ユーザで実行されるため、rootの設定ファイルを見に行こうとしていると思われる。
chkconfigによる自動起動時にはエラーが起こっていないと・・・思いたい。
一般ユーザにて/usr/bin/vncserverを起動する際には発生しない。


リモートデスクトップサーバ(xrdp)をインストール
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# yum --enablerepo=epel -y install xrdp

# vim /etc/xrdp/xrdp.ini
xrdp1セクションのところを変更
username=     ←空にする
port=5902     ←vncポートを指定
port=-1の場合、一般ユーザでログインして新規に一時的なvncセッションを立ち上げることになる模様。
そうすると同一セッションに繋ぎ直すことがやや難しいので注意。
ちなみに、port=-1の時に同一セッションにつなぐには、同じ解像度で繋ぐ必要がある。
このことから、PCとiPhoneとで同一セッションに繋げなかった。

# /etc/init.d/xrdp restart

ポート開放
# vim /etc/sysconfig/iptables
dport 22の記載がある下辺りに追記
ポートは3389、先ほどのあたりに
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT
# /etc/init.d/iptables restart

サービス化
# chkconfig xrdp on

これでWindowsのリモートデスクトップから入って
sesman-Xvncとかいうのを選んでログインできるようになる。
パスワードはvncパスワードとなる。
なんかビープ音がなるタイミングでボッボッとなったりプチフリーズしたりするが未解決。

この状態だと英語キーボード配列になっていて、特にパスワードに記号が含まれていると困る。
$ su
# cd /etc/xrdp
# wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
# chmod 644 km-e0010411.ini
これでリモートデスクトップ中に記号が変に入力されたりしなくなる。

# /etc/init.d/vncserver restart
# /etc/init.d/xrdp restart

この状態だとログイン毎にrootパスワードを聞かれてしまう
http://lists.centos.org/pipermail/centos/2012-May/126213.html

$ gnome-session-properties
PackageKit 更新アプレット のチェックを外す

リモートデスクトップによるクリップボード共有は、試した限りではできなかった。
VNCViewerであれば
$ vncconfig &
として開いたウィンドウが開いている間のみ可能だった。


Windowsアプリを動作させるwineをインストールする

ソフトウェアの追加/削除で wine を検索
"a compatibility layer for windows applications"をインストールする


MT4をインストールする
からMT4(mt4setup.exe)をダウンロードして実行して普通にインストールする。
途中、MonoとGeckoのインストールを求められたので、とりあえずYesで進めた。
デスクトップにできたショートカットアイコンで普通に起動成功

データフォルダはMT4のメニューから開けるが
階層が深いところにある
/home/ユーザ名/.wine/drive_c/Program Files (x86)/

以降、個人的なめも

ファイルやりとりのためDropboxをインストールする
http://easyramble.com/install-dropbox-into-centos.html

$ cd ~
$ wget "https://www.dropbox.com/download?plat=lnx.x86"
$ tar xzf dropbox-lnx.x86-2.6.2.tar.gz

$ ~/.dropbox-dist/dropboxd
URLを開けとあるので開いてDropboxアカウントでログイン

$ mkdir ~/bin
$ cd ~/bin
$ wget "https://www.dropbox.com/download?dl=packages/dropbox.py"
$ chmod +x ~/bin/dropbox.py
$ ~/bin/dropbox.py help
$ ~/bin/dropbox.py start
$ ~/bin/dropbox.py status
$ su
# vim /etc/init.d/dropbox
#!/bin/sh

# chkconfig: 345 99 01
# description: dropbox
# processname: dropbox

exec="/home/ユーザー名/bin/dropbox.py"
user="ユーザー名"

start() {
    echo -n $"Starting $prog: "
    su -c "${exec} start" ${user}
}

stop() {
    echo -n $"Stopping $prog: "
    su -c "${exec} stop" ${user}
}

status() {
    su -c "${exec} status" ${user}
}

restart() {
    stop
    start
}

case "$1" in
    start)
        $1
        ;;
    stop)
        $1
        ;;
    restart)
        $1
        ;;
    status)
        $1
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart}"
        exit 2
esac
exit $?
# chmod u+x /etc/init.d/dropbox
# chkconfig --add dropbox
# chkconfig dropbox on
# chkconfig --list dropbox
# shutdown -r 0
その後
$ ~/bin/dropbox.py status


EAの共有用にMercurialをインストール
$ su
# cd ~/
# yum -y install python-devel python-setuptools make gcc

# easy_install pip
# pip install Mercurial
# exit
$ cd
$ hg clone https://xxxxxxx/xxxx/ hg
$ cd hg/.hg
$ vim hgrc
追記する
[auth]
auth1.prefix = https://xxxxxxxx/xxxxx/
auth1.username = xxxx
auth1.password = xxxx
※auth1の部分は何でもよい

参考:
http://ubun2.wiki.fc2.com/wiki/xrdp%E5%86%8D%E3%81%B3
http://www.kkaneko.com/rinkou/linux/centosinstall.html
http://pg-forex.com/blog/others/378/
http://articles.mql4.com/1058
http://lfg-net.com/linux/ubuntu/ubuntu-12-04-lts-settings/
http://kyojee.dispatch-site.com/wordpress/2012/07/25/%E3%81%8A%E5%90%8D%E5%89%8D%E3%80%80vps-kvm-%E3%81%A7mt4%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%81%AB/
http://kingpcfx.seesaa.net/article/250642995.html
http://ubuntuforums.org/showthread.php?t=2039022
http://tubapr.hatenablog.com/entry/2013/04/17/173045
http://kingpcfx.seesaa.net/article/250642995.html