スポンサーサイト

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

[MT4ツール]Tickを定期的に発生させる。Rescanを定期的に実行する。

【2011年7月15日追記】
多くのお問い合わせを受けておりました本ツールについて、今年の6月末まで期限を延長したものをアップロードしました。
何か御意見等頂ければ嬉しく思います。
【2011年7月15日追記 終】


EmpWaveEAは日本時間帯の朝方に取引すると成績が良いのですが、
朝はTick数が少なく取りこぼしが発生し易いのが難点です。

そこで、Tickを定期的に発生させようと思いアプリを作ってみました。
ただサーバに負荷が掛かって注意を受けそうな感じもしますので程々にどうぞ。
ついでに接続も切れ易い方用に定期的にRescanを行う機能も付けました。
起動しているMT4全てが対象です。



ボタンが緑だとTickの発生やRescanを定期的に行う状態です。
ボタンが橙だと何もしていない状態です。

最小化を行うとタスクトレイ(システムトレイ)に格納します。
クリックすると状態を表示し、ダブルクリックでアプリケーションを表示します。

WindowsXPのみで稼動確認を行っており、その他OSは検証していません。

お試しで公開していますので、使用期限は今年一杯にしております。
私は使っているのですが、実際に需要があるのか疑問ですが...使用したい方は自己責任でどうぞ。
不具合等がありましたらご連絡下さい。

MT4SendDataのダウンロードはこちら
※実行するには「Microsoft .NET Framework 3.5」が必要です。

にほんブログ村 為替ブログへFC2Blog Ranking
スポンサーサイト

指定した時間にメールを送信する

EmpWaveEAを使用している方からメール機能の実装の要望がありました。

他通貨で稼動させていると、複数のメールが飛んでくるため、
現在の口座状況を纏めてメールするEAを作成しましたのでダウンロードして下さい。
※口座情報は要望者様から頂いた内容で私は何も考えないでそのまま作っちゃいました。

[SendMail_EA.mq4]のダウンロード

【パラメータ設定】
SendMail_StatisticsFlg:メール送信の可否
SendMail_StatisticsTime0:メール送信時間その1
SendMail_StatisticsTime1:メール送信時間その2
SendMail_StatisticsTime2:メール送信時間その3
MailSubject:メールの件名

デフォルトで日本時間の12時(GMT+2の場合)にしておきました。
18時にもメールが欲しい場合は、SendMail_StatisticsTime1に12と入れて下さい。
SendMail_StatisticsTimeに-1や24を入れれば無効になりますので、
1日1通だけ必要の場合は、StatisticsTime0~2の何れかに0~23を入力し、
他の項目は-1か24を入力して下さい。

1時間に1通欲しい方はStatisticsTimeを増やして下さいw
流石に24時間欲しい人はいないと思いますが、必要なだけ増やして下さい。

分からなかったらメール頂ければ対応しますので、
増やして欲しい項目等あればご連絡下さい。

にほんブログ村 為替ブログへFC2Blog Ranking

取引履歴をCSVに保存する際に計算式も保存する

取引履歴をcsvファイルへ保存するscriptを作成しました。

単純に取引履歴をcsvファイルに保存するだけなのですが、
今回はcsvファイルで使用する計算式も一緒に書き込む様にしています。
mq4ソース内で最後のセルに損益pipsを計算する式を書き込んでいます。
獲得pipsだけであれば、csvファイルの計算式を使用しないでも良いんですが、
csvファイルで計算式も一緒に書き込みたい場合などあれば使ってみて下さい。

[OutputCSV.mq4]のダウンロード

取引履歴をCSVに保存する場合、MT4の「口座履歴」で右クリック=>「レポートの保存」を選択すれば、
取引履歴は取れますがHTML形式のため別途加工が必要です。
こちらもHTMLを自動編集する様な仕組みを考えたいと思います。

にほんブログ村 為替ブログへFC2Blog Ranking

[DLLデコンパイル対策]DLLでデモ口座・リアル口座の判定

今回はデモ・リアル口座の判定をやってみます。

DLL化したいけど、作り方が分からない、やりたい事が思う様に出来ない等ありましたら、
使用期限の変更やアカウントの追加は1年間を期限に無制限※で請け負います。
詳細は左のメールフォームからお問い合わせ下さい。
※更新頻度は3回/週程度に抑えて頂ければ。

前回の記事はこちら

通常はDLL内に期限やアカウント情報を持ち解析を行いますが、
今回は色々試せる様に引数で使用期限やアカウント情報を渡す様にしています。
Accountは0だとMQL関数のAccountNumber()を使用しますが、
0以外であれば、設定した値でアカウントを確認します。

MT4側でDLLの使用許可にチェックを入れてから使用して下さい。
MQL側では特にチェックしてないのであしからず。

基本的に前回記事のDLLを改良しているので、
使用期限やアカウント制限を試したい場合、
前回記事のDLLをダウンロードする必要はありません。
MQ4ファイルとDLLのダウンロードはこちら

[ファイル構成]
experts
  |---LibraryTest.mq4
  |---libraries
     |----------LibraryTest.dll
こんな感じになってます。
そのままMT4がインストールされているフォルダに解凍したexpertsフォルダをそのまま入れてもいいですし、
それぞれ個別で入れても良いです。
※EAじゃなくてScriptで良かったかも・・・。

LibraryTest.mq4をコンパイルして設定を入力して下さい。
因みに、start関数には何も入ってないので、試すならバックテスト期間を1日にしてやった方が速いですよ。

[設定値]
TimeLimit:使用期限の日付
Account:確認するアカウント番号(0:AccountNumber()を使用)

これはPCの時刻で判断するわけじゃないので、PCの時刻を変更しても無駄です。

質問があるかたは左のメールフォームからお問い合わせ下さい。

にほんブログ村 為替ブログへFC2Blog Ranking

[DLLデコンパイル対策]DLLで使用期限とアカウントの制限

今回は使用期限制限とアカウント制限をやってみます。

DLL化したいけど、作り方が分からない、やりたい事が思う様に出来ない等ありましたら、
使用期限の変更やアカウントの追加は1年間を期限に無制限※で請け負います。
※更新頻度は3回/週程度に抑えて頂ければ。

前回の記事はこちら

通常はDLL内に期限やアカウント情報を持ち解析を行いますが、
今回は色々試せる様に引数で使用期限やアカウント情報を渡す様にしています。
Accountは0だとMQL関数のAccountNumber()を使用しますが、
0以外であれば、設定した値でアカウントを確認します。

MT4側でDLLの使用許可にチェックを入れてから使用して下さい。
MQL側では特にチェックしてないのであしからず。

MQ4ファイルとDLLのダウンロードはこちら

[ファイル構成]
experts
  |---LibraryTest.mq4
  |---libraries
     |----------LibraryTest.dll
こんな感じになってます。
そのままMT4がインストールされているフォルダに解凍したexpertsフォルダをそのまま入れてもいいですし、
それぞれ個別で入れても良いです。

LibraryTest.mq4をコンパイルして設定を入力して下さい。
因みに、start関数には何も入ってないので、試すならバックテスト期間を1日にしてやった方が速いですよ。

[設定値]
TimeLimit:使用期限の日付
Account:確認するアカウント番号(0:AccountNumber()を使用)

これはPCの時刻で判断するわけじゃないので、PCの時刻を変更しても無駄です。

質問があるかたは左のメールフォームからお問い合わせ下さい。

にほんブログ村 為替ブログへFC2Blog Ranking

[DLLデコンパイル対策]DLLで使用期限の制限

最近色々話題になっておりますが、ex4からmq4へ変換(デコンパイル)する事は容易との事。

そこで、DLL内にロジックを埋め込む事で、ロジックを守ります。
逆アセンブルしても解析が容易でないため、ex4の状態よりはプロテクトが強力でしょう。

折角なので、使用期限制限やアカウント制限、Demo口座制限等をDLLの中でやってしまおうという話題です。
今回は使用期限制限をやってみます。

DLL化したいけど、作り方が分からない、やりたい事が思う様に出来ない等ありましたら、
使用期限の変更やアカウントの追加は1年間を期限に無制限※で請け負います。
※更新頻度は3回/週程度に抑えて頂ければ。

MQ4ファイルとDLLのダウンロードはこちら

[ファイル構成]
experts
  |---LibraryTest.mq4
  |---libraries
     |----------LibraryTest.dll
こんな感じになってます。
そのままMT4がインストールされているフォルダに解凍したexpertsフォルダをそのまま入れてもいいですし、
それぞれ個別で入れても良いです。

LibraryTest.mq4をコンパイルして実行すると、以下の様な画面が表示されます。
因みに、start関数には何も入ってないので、試すならバックテスト期間を1日にしてやった方が速いですよ。


これはPCの時刻で判断するわけじゃないので、PCの時刻を変更しても無駄です。
ネットワーク接続されている事が前提ですので、
ネットワーク切断している場合はどんな風になるか試して下さい。

質問があるかたは左のメールフォームからお問い合わせ下さい。

にほんブログ村 為替ブログへFC2Blog Ranking

指定した分数を待たせる※Wait(Sleep)

本日は指定した分数を待たせるものを作成しました。
Sleep関数を使えば勿論待たす事はできますが、最新のレートが変わるため、RefreshRate関数を使用する必要が出てきます。
かと言って、現在の時間を保持しておき、次回の時間と比べると時間足によって差が出てきてしまいます。

今回作成したものはどの時間足でも指定した分数だけ待たせる事が出来ます。
勿論分じゃなくても時間でも出来ますよ。
使い道としては、そうですね~、連続してOrderSend関数を実行する必要があったりする場合、次回のOrderSend関数を実行するのは何分間かは間を空けたい場合等々使えるんじゃないでしょうか。



4分以上待っている場合がありますが、これはヒストリカルデータが歯抜けになっている部分です。

[Wait_EA.mq4]のダウンロード

にほんブログ村 為替ブログへFC2Blog Ranking

ファイル出力によるデータ収集

EAを作成するために必要なデータを収集するEAを作成しました。
EAといっても、データを取得するだけですので、バックテストで動作する様にしています。

作成したものは1日1回決まった時間に収集する様にしていますが、他にもOrderSend()やOrderClose()実行時に対してデータ収集する際に役に立つのではないでしょうか。

パラメーターは1つ用意しており、ファイルを上書きするか、追記するかの判定を使用しています。
具体的には、以下の通り、FILE_READを付けるか付けないかだけです。

[上書きの場合]
FileOpen("ファイル名", FILE_WRITE|FILE_BIN);

[追記の場合]
FileOpen("ファイル名", FILE_READ|FILE_WRITE|FILE_BIN);

ファイル出力場所ですが、通常のEA稼動時とバックテスト時で異なります。

[通常時]
"C:\Program Files\FXDD - MetaTrader 4\experts\files"

[バックテスト時]
"C:\Program Files\FXDD - MetaTrader 4\tester\files"

EAを作成する方々でVisualModeだけじゃなくて、数値的に確認したい等々役に立つかと思います。

[OutPut_EA.mq4]のダウンロード

にほんブログ村 為替ブログへFC2Blog Ranking

バックテストのVisualModeでインディケータの表示・非表示

EAを作成している段階でVisualModeを有効活用して行こうという紹介です。
普通に知っていると思うのですが、MT4の組み込み関数を使用して、VisualModeでバックテストを行うと、その手法がチャート上に表示されます。
逆に非表示にする事も出来ます。

VisualModeに25本の単純移動平均線を表示したい場合、
iMA(NULL, 0, 25, 0, MODE_SMA, PRICE_CLOSE, 1);
と書いておくだけで表示されます。
変数に入れなくてOKですし(入れてもOKですよ)、値を使わなければならないと言うこともありません。

逆に非表示にしたいという場合は、HideTestIndicators(true)と入れればチャート上に表示されない様になります。

まぁ使う場面としては、作成したEAが意図した通り動作しているとか、他の手法を混ぜる時にどんなものが良いか確認する時に使用するぐらいでしょう。
他の人にEAを配布する時は手法を見せないためにtrueに設定する人もいる様ですね。

ほんの数行ですが、詳細はダウンロードして見て下さい。

[VisualModeEA.mq4]のダウンロード

にほんブログ村 為替ブログへFC2Blog Ranking

チャートにCommentを表示する

EA稼働中に見たい情報をチャート上に表示する機能として、簡単に利用できるComment()を紹介します。

設定が多いEAや同じEAを複数のチャートに表示する際に便利だと思います。
Comment()はWhiteのみの色で構成されていますが、今回は色付きのものも用意しました。
EAをセットしたら[ObjectFlag]true:Commentを使う / false:ObjectCreateを使うの設定をするだけです。

EAに組み込む時にバックテスト時は実行しない様になっており、高速化が図れると思います。
一応バックテストでもVisualModeの時は実行する様にしてますが、バックテストの時は必要ないのであれば、IsVisualMode()を削除すればバックテスト時は表示しない様になります。

↓通常(Comment)↓色付き(Object)


まぁ文字列を出力しているだけなので、たいしたものではありませんが、簡単に関数化しておきましたので、使いたい方はダウンロードして下さい。

[Comment.mq4]のダウンロード

にほんブログ村 為替ブログへFC2Blog Ranking

時間毎にPeriodが変更可能なMoveingAverages

移動平均線のPERIODを時間毎に変更出来るものを作ってみました。
1時間毎に値を変更するので、4時間足以下で使えます。(日足でも使えますが意味ないです。)


↑クリックで画像拡大。

画像は、0時:5 ~ 23時:28で各時間に0時からの値を+1しているだけなので、分かりづらいと思います。
各国のマーケット毎に使い分けるのも手かもしれません。

[Moveing Averages Hour.mq4]のダウンロード

にほんブログ村 為替ブログへFC2Blog Ranking

チャートに複数の時間軸

本日は1枚のチャートに複数の時間軸を表示するインディケーターを息抜きに作成してみました。



まぁそれなりに形になったので良しとしておきましょう。^^;

今回DRAW_LINEを使用し、各足の区切りに使ってます。
VLINE等で表示するのもありですが、下の時間軸にポイントが表示されてしまうため、ただのTRANDE_LINEを使いました。

この手のインディケーターは座標をずらしながら、各足のデータを入れるだけなので割と簡単ですし、様々な情報を取り込めるので便利なのではないでしょうか。

にほんブログ村 為替ブログへFC2Blog Ranking

High&Lowを組み合わせたライン作り

ObjectCreate()ではテキストやラベル、トレンドラインやフィボナッチを描画出来る様です。
変動する値に関しては、ObjectCreate()を使用するより、バッファ(配列)に入れていくインディケータが望ましいと思います。

リミットとストップの勉強も兼ねて、HighやLowを利用したものを作成しました。
↑1時間足↑4時間足

この値をどうやって使っていくかが課題になると思います。
真ん中の値を軸にして使っていくのもありですし、様々な動きがとれそうですが、どうやって判断していくか・・・。
臨機応変に5本線を上手い具合に組み合わせて使えていければ、ストップとリミットが相場によって変動かもしれません。

様々な時間足で使用できるものにしたいので、今後は現在算出している値に移動平均線等や独自手法の計算値も含め値を算出しようと思います。

にほんブログ村 為替ブログへFC2Blog Ranking

ObjectCreate ~ラベル編~

ObjectCreateでラベルを表示してみました。
チャート上に様々な情報を表示出来るので、使う機会は多いのではないでしょうか?

in_20100303

今回作成したのは、設置位置やフォントサイズを設定出来る様にしておきました。
ラベル自体はフォントの種類や色等々変更出来るので、パラメーターとして持つ必要はないかもしれませんが。

日本語表示可能なフォントを選択すれば、日本語も表示出来ますので、英語か日本語か選択出来るパラメータも容易しておきました。

mq4ファイルダウンロード

にほんブログ村 為替ブログへFC2Blog Ranking


【外国為替証拠金取引のリスクについて】
外国為替証拠金取引は高水準のリスクを伴い、レバレッジは大きなリスクと損失の可能性があります。
ご自身の許容出来る範囲でリスクを検討して下さい。又、損失に耐えられない資金投資は止めて下さい
外国為替証拠金取引に関するご相談は中立的な財務または税務アドバイザーに助言を求めてください。

【掲載内容について】
公開しているバックテスト等の実績が将来の利益を保証するものではありません。

SEO
loading
MetaTraderシステムトレードの作成
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。