オーダーやオーダー変更時に失敗する場合
50種類以上の通貨ペア、各種CFD(金、株など)対応
EAでのトレイルストップがうまくいかない質問を受けたので、たぶんこれかな?ってのを回答しておきます。
わたしも初期はこれで悩んだので。。。
OrderSendやOrderModifyを行うとエラーになることがあると思います。
こんなとき何が悪いかちょっと確認してほしいことがあります。
1.注文の方向でAskとBidが間違っていないか。
2.StoplossとTakeprofitの幅
の2点です。
1番は、結構よくやります。
2番は、ストップレベルポイントというのがあって、現在のポイントからいくつか離さないといけないというルールがあります。
だいたい、20pipsぐらいだと思います。
この値は、会社などで違ってきます。
調べる方法は、
MarketInfo(Symbol(),MODE_STOPLEVEL);
を使います。
インジケーターでもEAでもいいので、適当なのを作って以下のソースを書いてみてください。
Comment(”ストップレベル:”,MarketInfo(Symbol(),MODE_STOPLEVEL));
これで、最低離さなければいけない値が表示されます。
もう一つ気をつけなければいけないのは、スリップです。
注文するときにスリップページをいくつにするか指定していますよね。
3pipsを指定していたら、20+3で23離す必要があります。
何でもいいけど、20pipsは大きいですよね。
だから、私がEAを作るときは、LossとTakeは保険(通信障害などの)でかける程度にして、実際のクローズはEAにやらせるようにしています。
これだと、1pipsでも狙えます。
あまり細かいとスリップが大きいとダメですがね。
参考にしてみてください。
タグ
2009年07月23日
コメント&トラックバック(1)
| トラックバックURL
|
iADXって?
50種類以上の通貨ペア、各種CFD(金、株など)対応
質問にあったので、iADXについて。
まず、どこの資料を参考にするか。
私の場合は、
を愛用しています。
無料で利用できるMQL4の日本語リファレンスマニュアルとしては、一番便利だと思います。
MT4関係で調べ物をするときに一番利用しているサイトと言っても過言ではありません。
すべての関数を隅々までのぞいてみると、気がつかなかったことが見えてくると思いますよ。
分からない単語が出てきたら、検索してみてください。
きっとわかりやすい説明のサイトがあると思います。
で、本題のiADX。
double iADX( string symbol, int timeframe, int period, int applied_price, int mode, int shift)
symbol – 計算したい通貨名。NULLを指定すると現在の通貨。
timeframe – 時間枠。時間枠列挙型のどれか。0は現在の時間枠。
period – 計算で使用する足の数
applied_price – 適用価格。これは価格定数のどれかをとる。
mode – インジケータの線指定。これはインジケータラインの値をとる。
shift – 現在の足から何本前の値を出したいか
適用価格
PRICE_CLOSE 終値
PRICE_OPEN 始値
PRICE_HIGH 高値
PRICE_LOW 安値
PRICE_MEDIAN 中央値、(high + low)/2
PRICE_TYPICAL 代表値、(high + low + close)/3
PRICE_WEIGHTED 重み付け値、(high + low + close + close)/4
インジケータの線指定
MODE_MAIN インジケータの基本線
MODE_PLUSDI +DIインジケータ線
MODE_MINUSDI -DIインジケータ線
こんな感じの関数仕様です。
質問をくださった方は、MODEの意味が分からないといっていました。
実はこの関数、ADXといいながら、DMIも表示できてしまいます。
ここが分かりにくかったところなんだと思います。
でも、普通は一緒に使うので利用しやすいようにとの配慮でしょう。
ADX(Average Directional Movement Index):トレンドの強さを測定する指標
DMI(Directional Movement Index):一般的に方向性指数といわれる
ADXは、MODE_MAIN。
DMIは、MODE_PLUSDI、MODE_MINUSDI
で表します。
簡単に説明すると、ADXでトレンドの向きを確かめて、DMIで強さを見ます。
いろいろな方法があるので、詳しくは書きませんが一度動きを確かめてみるとおもしろいかもしれませんね。
タグ
2009年07月17日
コメント&トラックバック(3)
| トラックバックURL
|
カテゴリ: MQL4 メタトレーダープログラミング メタトレーダー入門
メタトレーダーに日本語を表示してみる
50種類以上の通貨ペア、各種CFD(金、株など)対応
今回は、メタトレーダーのプログラムで日本語を利用できるようにしてみます。
実は、日本語表示はできないと思っていました。。。
あまり困らなかったので、調べようとも思わなかったのが原因です。
やっぱり、こうしたことは興味がないとやりませんね。
重要指標を表示するインジケータを作ってみるにコメントを下さった犬養さんに感謝です。
本題の日本語を表示してみる方法です。
メニューとかの表示は、できていますよね。
今回のは、プログラムのコードの中に日本語を利用できるようにして、チャート上にも日本語を表示します。
MetaEditorを開いてください。
メニューの
「Tool」-「Options…」を押してください。
「Font」タブを選択すると以下のような画面が表示されます。
ここで、日本語のフォントを選択し、Scriptの日本語を選択してください。
2箇所あるので間違えないでください。
「OK」ボタンを押してください。
これで、全部終了です。
むちゃくちゃ簡単です。
これで、ソース内のコメントを日本語化したり、チャートに表示させたりすることができます。
サンプルで、インジケータを作って見ました。
単純にコメントを表示するだけのものです。
こんな感じですね。
Comment(”日本語を表示してみる”);
今まで、日本語が化けていたのが表示できることが確認できると思います。
これをコンパイルして、チャートに貼り付けてみます。
こんな感じです。
赤丸のところに「日本語を表示してみる」が表示されていることが確認できると思います。
やっぱり、日本語が表示できると見やすいですね。
プログラムを組むのにも日本語コメントを入れられるだけで作業効率がアップすると思います。
がんばってみてください。
タグ
2009年07月10日
コメント&トラックバック(4)
| トラックバックURL
|
カテゴリ: MQL4 メタトレーダープログラミング メタトレーダー入門
Excel用にデータを出力してみる2
50種類以上の通貨ペア、各種CFD(金、株など)対応
前回に引き続き、エクセルを使っていろいろやってみたいと思います。
今回は、DDEというアプリケーション間通信の機能を利用します。
DDEというのは、かなり古い規格で今はほとんど利用されません。
最近の.NETではサポートされていないほどの企画です。
ですが、なぜかMT4ではDDEのサーバー機能を持っていて、ExcelはDDEのクライアント機能を実装しています。
ということで、通信できてしまいます。
やり方も簡単です。
まず、メタトレーダーの設定です。
メニューの「ツール」-「オプション」でオプションを開きます。
「DDEサーバーを有効にする」にチェックを入れて、「OK」を押します。
これだけです。
Excel側は、サンプルがあるのでそれを使ってみましょう。
インストールフォルダ\MetaTrader
に
DDE-Sample.xls
があるので、開いて見ましょう。
開くと
こんな感じのメッセージが表示されるので、「更新する」を押します。
こんな感じで、最新の状況がリアルタイムに表示されます。
売値は、MT4|BID!USDCHF
買値は、MT4|ASK!USDCHF
高値は、MT4|HIGH!USDCHF
安値は、MT4|LOW!USDCHF
時間は、MT4|TIME!USDCHF
時間・売値・買値は、MT4|QUOTE!USDCHF
を表示したいセルに「=MT4|QUOTE!USDCHF」と書けば、利用できます。
通貨ペアを変更したいときは、USDCHFの部分を変更するだけです。
これで、いろいろできると思います。
タグ
2009年07月09日
コメント&トラックバック(2)
| トラックバックURL
|
カテゴリ: メタトレーダープログラミング メタトレーダー入門
Excel用にデータを出力してみる
50種類以上の通貨ペア、各種CFD(金、株など)対応
どうも、エクセルを使っていろいろやっている方が多いみたいなので、ちょっとしたテクニックを。
MT4では、EA用に過去の履歴データを取得できます。
そのデータを使って、バックテストをしたりします。
でも、その履歴データをExcelで利用できたら便利だと思いませんか?
今回は、そんな方法です。
まず、履歴データを取得する方法です。
メニューの「ツール」-「History Center」でHistory Centerを呼び出すか、F2を押してください。
こんな感じの画面が表示されます。
次に、「Download」ボタンを押します。
こんな画面が表示されるので、「OK」を押します。
ダウンロードが始まります。
しばらくすると終了するので、通貨をダブルクリックすると時間が展開されます。
ダウンロードしたい時間を選択して、「エクスポート」ボタンを押します。
保存先を聞かれるので、保存したいところを選択して保存します。
エクセルで表示すると
こんな感じですね。
あとは、グラフにしても計算にしても好きなことができます。
一応、項目の順番は、
日付、時間、始値、高値、安値、終値、出来高
の順番です。
次は、DDEというのを使ってみたいと思います。
タグ
2009年07月08日
コメント&トラックバック(0)
| トラックバックURL
|
カテゴリ: メタトレーダープログラミング メタトレーダー入門












![[image]投資で失敗しない7つの法則:無料CDプレゼント](http://www.affiliatecenter.jp/invest/img/FX_freeCD/banner165x100seven_rule5e.gif)
![[image]無料レポートプレゼント:ドルが紙くずになった時に資産を守る方法](http://www.affiliatecenter.jp/invest/img/dollar/MNL4_165x100.jpg)



MyBlog
