スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

メタトレーダーを使って取引できる業者は?

実際の取引に利用している口座(FX業者)を聞いてみると、
私の周りには「ODL Japan」を利用している人が多いです。


ODL JapanのHPは、、、 http://odls.co.jp/


ODL



メタトレーダーに対応したFX業者は、少ないようです。
海外にはたくさんあるんですが、日本の業者というと無いようです。


FXDDは、日本語での口座開設窓口があります。
http://www.fxdd.com/jp/


入金はpaypal経由で、ちょっとめんどくさい様です。

最近、友人がFXDDの口座開設をしたんですが、
、、、こんな声が聞こえてきました・・・。

=======================================================
昨日FXDDから口座開設のお知らせが来ました。
あとはPayPal経由で入金すれば取引できます。

まずはPaypalへクレジットカードを使って振込をして、
FXDDへ入金。
そしてPaypalからFXDDへ入金。
最後にクレジットカードの決済用にODLに出金依頼。

めんどくさっ!
=======================================================


ということで、現段階でのお奨めは「ODL Japan」です。

口座の開設は、ここから行えるようです。
https://www.odls.co.jp/apply/step1


口座開設までの流れは、

1.https://www.odls.co.jp/apply/step1 にて、必要事項を入力。
2.ODLから確認書が送られてくるので、署名・捺印などをし、
  個人を特定できる書類(運転免許書・パスポートなど)を返送。
3.ODLで審査に通れば、クライアントIDが郵送されてきます。
4.入金して、「資金充当作業」を行う。

こんな流れになります。



参考にしてください(^-^)/


p・s

口座開設の事を調べていたら、気になる情報が・・・。


ODLの口座開設で、理由が分からず審査が通らなかったという人が居るようです。

さらに、調べてみると、、、

「いかなる法人だとしてもその法人に所属する役職員は個人口座を持つことができない」
という決まりが有るようで、口座を開設使用としている人が勤める会社が既に口座を
持っていた場合、審査が通らないわけです。


こういう事が有るようですね。
スポンサーサイト

theme : FX(外国為替証拠金取引)
genre : 株式・投資・マネー

[ちょいテク] 時間や日付が計算したい~! 発見編

いろ~んな、EAがありますが、あなたが作ろうとしているEAには
時間の概念がありますか?

あるとしたら、ちょっとお役にたてる情報かもしれません。


時間が絡んでいるEAというと、

1. ○月○日 ○時○分 になったら、オーダー   とか、
2. オーダーしてから、30分後に決済         とか、
3. 毎日○時○分~○○分までの1時間しか動かない とか。。。。

いろいろ有るかと思います。

1の場合だと、予約EAなんかが作れます。
2の場合だと、値動きに関係なく決済したり、まぁ、オーダーしたり
5分おきにリミットを変更なんてのも、作れるかな。
3.だと、特徴のある時間帯だけに動作するEAだったり。

いろいろです。


今回、1.のオーダー予約EAを作っている時に、時間を計算したくなったんですね。

それは、特定の時間になったら、動作するという部分を、

現在の時 = 指定の時
現在の分 = 指定の分

という判断をさせていたんですが、ちょっと不安です。
というのも、= ということは、かならず1分以内に判断されないと、ダメです。
ひょっとしてパソコンが、忙しかったら・・・10秒間期限を損ねたら、、、、
判断を誤る事があるかもしれません。

そこで、指定した時間~5分間の間に、オーダーする見たいな事をしてみたかった
わけです。

その時、ぶち当たったのが、5分後をどうやって求めるか?


例えば、19:30 という指定なら、19:35 が求めたい答えです。

まず、指定の日時をセットする方法から。
(日時のセットの仕方で、ちょっと悩んだのは内緒です(^^ゞ

datetime test_date
test_date = StrToTime("2008.07.23 19:30");


これで、「test_date」っていう変数に、今日(2008.07.23)の19:30が入りました。
ここから、5分足したいわけです。

例えば、こんな方法もあるかもです。

int h=TimeHour(test_date);
int m=TimeMinute(test_date);


セットした時間から、時 と 分 をとりだして。

int mPlus = m + 5;

分 の部分に、5を足してみる。


んーーー。一応出来ないことも無いけど、これだと。

1. 19:58 っていう指定時間じゃ 63分になっちゃう。。
2. 23:58 だと、日にちも次の日にしなきゃだね!
3. っていうか、2008年12月31日の 23:58なんて考えたくない(><)

ってなったので、こんなのを試してみました^^)


datetime test_date1, test_date2, test_date3, test_date4;

test_date1 = TimeLocal();
test_date2 = StrToTime("2000.01.01 00:00");
test_date3 = StrToTime("2000.01.01 00:05");

test_date4 = test_date1 - test_date2 + test_date3;



test_date1 には、TimeLocal() で現在の時刻を入れます。
test_date2 には、2000年01月01日 の0時0分です。
test_date3 には、その5分後の日時をセット。

で、、、date2を引いて、date3を足してみました。


2000年ひいといて、2000年と5分足したわけです。
そしたら、5分後の日時が求まりました!!


00:05とかは、プログラムで、変更できるから、時間が計算
できますねぇ~。


ちょっと、テストしてみたんですが、日付をまたいだりするのもOKです。


これを、応用すれば、時間の足し引きは、ファンクションにできますね。
作ったら、公開しようと思います。

ちょこっと役だったら、嬉しいです。
でわ(^-^)/



theme : システムトレード
genre : 株式・投資・マネー

バックテスト - ログにAlert出力に、ちょっとひと工夫

前回、「Alert」を使った検証方法を紹介しました。


こちらの記事です。。。   >前回の記事


「Alert」を使ってログに出力して、後から見るときに見やすいように、
ひと工夫しておくと、楽になります。


その工夫とは。。。


ちょっとした工夫ですが、[TEST]と入れて、他の表示と分けている事。
もう一つ、表示結果が「[TEST] , Ask = , 123.45 ,Bid =, 123.40」の様に、
カンマで区切られるようにしています。

これは、excelで読み込んだときに、それぞれの値がセルに別れて読み込まれる
と便利なので、そうしています。


前回紹介した、例にも既に、カンマを付けた状態のを載せていますが、
説明してなかったので、改めて説明してみました。



Alert("[TEST] ,Ask = ,", Ask ," ,Bid = ," , Bid )



例えば、この一文をstart()の中に書いておくと、こんなログが作られます。

19:27:22 2008.07.15 08:00 EA_name USDJPY,M15: Alert: [TEST] Ask = ,105.94 ,Bid = ,105.89
19:27:22 2008.07.15 08:00 EA_name USDJPY,M15: Alert: [TEST] Ask = ,105.95 ,Bid = ,105.9
19:27:22 2008.07.15 08:00 EA_name USDJPY,M15: Alert: [TEST] Ask = ,105.94 ,Bid = ,105.89
19:27:22 2008.07.15 08:00 EA_name USDJPY,M15: Alert: [TEST] Ask = ,105.92 ,Bid = ,105.87
19:27:22 2008.07.15 08:00 EA_name USDJPY,M15: Alert: [TEST] Ask = ,105.93 ,Bid = ,105.88
19:27:22 2008.07.15 08:01 EA_name USDJPY,M15: Alert: [TEST] Ask = ,105.92 ,Bid = ,105.87
19:27:22 2008.07.15 08:01 EA_name USDJPY,M15: Alert: [TEST] Ask = ,105.93 ,Bid = ,105.88
19:27:22 2008.07.15 08:02 EA_name USDJPY,M15: Alert: [TEST] Ask = ,105.92 ,Bid = ,105.87

検証したい内容が少ない場合は、このログを見るだけでも、プログラムの動作を確認出来そうです。

でも、確認したい内容が多くなったり、Askが105.99を上回ったときだけ、確認したい時なんかは、
膨大なログを追い掛けるのが大変です。


なので、ログをエクセルに貼り付け、「データ」「区切り位置」のメニューを使って、各セルに
綺麗に納めちゃうと、便利です。


ログをエクセルに貼り付けた様子



こうなれば、オートフィルタや検索などを使って、確認できますね。


でも、プログラムに自信が無い時は、細かく見たいけど、良い感じで動き出したら、、、、
ログが大量に出力されるとうっとうしいですよね・・・。

次回は、そんな事への解決策を紹介しましょう。
(^-^)/

theme : システムトレード
genre : 株式・投資・マネー

バックテスト - ログを出したくないときもあるよね。

プログラム(EA)を開発中はどうしても、ログなどで確認が必要だけど、
落ち着いてくると、いらなくなるよね。

それに、バックテストが終わって、フロントテストになったら、大量の
Alertはうっとおしいだけ(><)


ってことで、気軽に、ON・OFFできるよに、しておこう。



=================================================================

extern string TestLog_Alert = "no";


int start()
{
...
...
...
...


//----TestAlert----//
if( TestLog_Alert == "yes"){
Alert("[TEST] ,Ask = ,", Ask ," ,Bid = ," , Bid )
}

...
...
...
...
}
=================================================================



まず、パラメータとして設定できるように、しておきます。


extern string TestLog_Alert = "no";



で、「yes」に設定したときだけ、Alertを実行するようにしておけば、
プログラム(EA)をいじらなくてもテスト出来ますね。


if( TestLog_Alert == "yes"){
Alert("[TEST] ,Ask = ,", Ask ," ,Bid = ," , Bid )
}



いろいろ、改良してるうちに、動きがおかしくなったら、「TestLog_Alert」
を「yes」にして、検証して動きが整ってきたら、「no」にする。

ちょっと、便利です。

(^-^)/

theme : システムトレード
genre : 株式・投資・マネー

ミッション1:オーダーする - その2

オーダーするところの続きです。


// 新規BUYシグナル発生の場合
if( TradeSign[ SIG_Buy ] == true ){
close_position( OP_SELL ); // SELL建玉を決済
if( count_position() <= 0 ){ // 建玉が無い場合、新規BUY建玉作成
OrderSend( Symbol(), OP_BUY, POS_lot, Ask, POS_slip, 0, 0, " ", EA_magic, 0, Yellow );
}
}



買いのシグナルが発生したら、
if( TradeSign[ SIG_Buy ] == true ){

売りのオーダーを決済して
close_position( OP_SELL ); // SELL建玉を決済

オーダーが無いことを確認して、買いオーダーをする。
if( count_position() <= 0 ){ // 建玉が無い場合、新規BUY建玉作成
OrderSend( Symbol(), OP_BUY, POS_lot, Ask, POS_slip, 0, 0, " ", EA_magic, 0, Yellow );
}


常に、1つ以上のオーダーにならないように、しています。
上昇トレンドは、買い。
下降トレンドは、売り。
と、初心者にも理解しやすい内容で、素直なルールだなぁと感じました。


売りのオーダーを決済して。
という部分ですが、これもメインの流れがすっきりするように、決済部分だけ
別で書かれています。

GT-005オーダー決済部分


この部分です。

OrderCloseという命令で、決済するわけですが、それをするために準備が必要です。
メタトレーダーでは、1つのEAだけでなく、複数のEAを同時に動かしたり、
手動でオーダーしたりする事ができます。

オーダーを決済する

と、言っても、まずは決済するオーダーを特定しなくてはいけません。

その為に、orderselectを使って、オーダーを1つづつ見ていき、GT-005で注文した
オーダーを特定する必要があるわけです。
また、EAは1つの通貨ペア(例えばUSD/JPY)だけでなく、複数の通貨ペアで動作
させることが出来ます。

(※特定の通貨ペアでしか、効果が無い売買ルールに基づいて作成されたEAは
   決められた通貨ペアでしか動作しないようにしてあるものもあります。
   GT-005は、そういった制限が書けてないので、複数で動作させる事が可能です)


今、動かしてる通貨ペアで、GT-005が注文したオーダーを特定し、クローズする。

この一連の流れを、close_positionという部分にやらせています。
1つの役割をこなせる、部品を作ると、あとあと楽になります。
他のプログラム(EA)を作るときでも、オーダーを決済する部分は、この部品に
任せればよいわけです。



そして、オーダーが無くなったところで、新規のオーダーです。

OrderSend( Symbol(), OP_BUY, POS_lot, Ask, POS_slip, 0, 0, " ", EA_magic, 0, Yellow );

この命令で、実際にオーダーされ、ポジションを持つことになります。


手動で、行う場合、上昇や下降のトレンドを、グラフなどを参考に、目で見て「買いだ!」と
感じたら、オーダーするという事をするわけですが。


そのオーダーする。

という部分が、この命令で出来るわけです。


どうでしょう?

全体の流れが、掴めてきたでしょうか?


分かりにくい所は、コメントに書いてもらえたら、追記していきますんで、
よろしくです(^-^)/


次から、ミッション2として、改造をしてみましょう!

theme : システムトレード
genre : 株式・投資・マネー

プロフィール

まさきち

このブログを作ってる、
MasaFX432です。

よろしくです(^-^)/

最近の記事
月別アーカイブ
カテゴリー
メタトレーダーをはじめるなら
メタトレーダー4(MT4)のインストール方法からデモ口座開設、売買の方法からEAの作り方まで、分かりやすく解説してあります。

MT4は、いろんな事が出来て便利な反面、とっかかりにくい所もあると思います。

この本は、入門書としてお奨めです!

応援よろしくm(_ _)m
ブログ内検索
RSSフィード
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。