サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
fai-fx.hatenadiary.org
MQL4ユーザ向けに、MQL5の気になる仕様をメモしておきます。 イベント処理 MQL4では、 init(), start(), deinit() の3つで全て処理されてきましたが、MQL5からは、indicator,EA,Scriptで対応するイベント処理関数が変わります。 イベント indicator EA Script 初期化(Init) OnInit OnInit - 終了(Deinit) OnDeinit OnDeinit - 実行(Start) OnStart 価格更新(Calculate) OnCalculate Tick更新(NewTick) OnTick タイマー(Timer) OnTimer 売買成立(Trade) OnTrade 板更新(BookEvent) OnBookEvent チャートイベント(ChartEvent) OnChartEvent ・Scriptには
先日の一連の記事へのコメントで「期待と不安を煽ってる」とコメントを頂きましたが、正直、期待を煽るつもりは無いのです。 純粋な「投資」の世界なら、社会が経済成長することで利益が得られるので、投資に参加した皆が簡単に儲けられる...可能性はありますが、「投機」の世界では、参加者同士の真剣勝負で身銭を斬りあってるようなものですから、皆が儲け続けられるなんて有り得ないのです。 (直接的には、投機家は、FX業者とその背後のカバー先銀行(胴元)と対決している構図ですが、胴元はスプレッドをつけることで広く浅く投機家から利益を吸い上げているので、ある投機家の利益は、別の投機家の損失から成り立つわけです。 私のブログを読まれる人の中には、かなりの初心者?もいらっしゃるようですが、MT4さえ使いこなせば簡単に儲けられると思わないようにお願いします。<(_ _)> さて、本題。 あるインジケーターのミドルライン
おっちゃん 2010/02/23 16:47 はじめまして。いつも、立ち寄らせていただいております。 ブログタイトルの下に、あまり目立たないように小さめの文字で、 "ネタ募集中。年齢性別不問。やる気を重視します" とあるので、お言葉に甘えさせていただき、小ネタ応募します。 いろんな通貨ペアのチャートを6画面、分割表示させているとします。 それらのチャートの時間軸をワンクリックで、6画面とも切り替える などという便利なことはできないでしょうか。 たとえば、5分や15分足で表示させている6つのチャート全部を ワンクリックで瞬時に1時間足や日足表示に変えるということです。 小ネタ応募ありがとうございます。 アフィリなどが一切無いブログなので、目立たないように書いてあるつもりは無いのですが、これを見て応募してきた人は初めてです。笑。 さて、おっちゃんの要望は、いつの時代も似たようなことを考える人が
00-EcoIndiは、00(ダブルオー)先生の作られた、経済指標時刻を MT4 のチャート上に表示するインジケータです。 これは、ローカルにある EcoIndi.txt を読み取ってチャートに表示させる為、常に最新の EcoIndi.txt が必要なのですが、現在は更新が滞っているようです。なので、ForexFactoryやDailyFXから定期的に取得して、保存するインジケータをこちらに用意しました。 GetFFCalData.ex4 をチャートに貼っておけば、ForexFactoryのデータを取得します。 files フォルダに FFCalTransJP.csv を置いておけば、既知の指標は日本語で表示されます。 GetDailyFXData.ex4 は、DailyFXから取得しますが、日本語未対応です。 ↑平日であれば、00-EcoIndi に設定すべき serverGMT の値が
とらのこ 2010/11/23 06:11 イジケータ作成での最大の制約であるバッファ数制限ですが、 画面表示しない裏指標であれば参照する分の配列(1つ前なら 2個、2つ前まで参照するのなら3個)で良いのではないかと 考えています。 これならバッファが10個使う場合でも非表示バッファが2個 以上なら1つのファイルで設定できます。 (以下略) …画面表示しないバッファであれば、IndexBuffer にする必要はなくなります。 ただ、「2つ前まで参照するのなら3個」とするのは無理があって、やはり Bars 個の配列を用意して、IndexBuffer と同じように準備するのが簡単だと思います。 IndexBuffer は、 ・配列のサイズが自動確保される。 ・新しいバーができると、自動シフトされる。 という特徴があるので、それを真似ればOKです。以下が作例です。 IndicatorCounte
さて、今日は、AccountFreeMargin()のどうでもいい話をしたいと思います。 この関数は、1ポジションだけ持つ時は意図した正しいロット数が返ります。問題は2ポジション目の時なのですが...個人的にはその結果に違和感を感じるのです...^^; 今、レバレッジ100倍の業者に100万円が口座にあるとします。計算しやすいように1ドル=100円で、ドル円1万通貨の必要証拠金を1万円としておきます。ここでレバレッジ2倍程度の運用をしたいと考えた場合、 (1) 1ポジション目は、0.2ロット(2万通貨)を持つことになります。 (2) 余剰証拠金(AccountFreeMargin)は 98万円に減ります。 (3) 2ポジション目は、CalculateLots に従うと0.19ロットを持ってしまいます。 これでレバレッジが約4倍の状態になります。 レバレッジ2倍換算で2ポジション取れば、4倍
MetaTrader では、買い指値注文と売り指値注文の2つをペアとするような指値同士の OCO オーダーが出来ません。 具体的に言うと、レンジブレイクアウト待ちの状態で、上に買い指値、下に売り指値を出しておいて、片方の注文が成立したら、もう片方の注文をキャンセルする...ということが自動ではできないということです。 そんな時に役に立つのがEAで、EAは完全な自動売買システムだけでなく、裁量での売買を補助するツールとしても役に立ちます。OCOオーダー機能をEAで実現するには、 ・指値注文が2つ存在するか確認する。 ・指値注文が1つになっていたら、それを取り消す。 という処理を行えば良いので、早速作ってみました。DLはこちらからどうぞ。 (ググッたら簡単に見つかりそうな気がするのですが、それはそれで面倒なので適当に作ってます..。 OCO_Trade.mq4 の使い方は簡単で、 (1) 2つ
今日は、MT4のオフラインチャートの活用方法で、あまり知られていない裏技を紹介します。 MT4の4時間足は、サーバ時刻を基準として0時, 4時, 8時, 12時…で区切られています。 これは、サーバ時刻が GMT+0 (UTC)採用なら、日本時間で、9時, 13時, 17時, 21時…に区切られる訳ですが、サーバ時刻が GMT+2 の業者に乗換えた途端、日本時間11時, 15時, 19時, 23時に変わってしまい、伝統的な4時間足スイングトレーダーなら発狂してしまいそうです。 よく知られた対応策としては、業者を変える…というのがあるのですが、そもそもライブ口座であったり、銘柄や値動き等の事情によっては業者を変えられない場合もあります。 そんな時に役立つのがオフラインチャートによる4時間足の時間区切り変更です。 以下の図では、左上が本来の4時間足チャートで、他の3枚が1時間ずつずらしたもので
fesbix 2012/11/30 16:10 直近何本かを指定してローソク足の幅を広くすることは可能でしょうか。 幅を小さくして広い範囲での趨勢を見、直近は幅を大きくして タイミングを計る、というふうに使いたいのですが。 う〜ん、こんな感じ?
MT4を使っていて違和感を覚えるのは、やはり、ティックチャートが貧弱なところだと思います。 気配値表示ウィンドウと発注処理ウィンドウにティックチャートが付属していますが、これでは、何のテクニカル分析も出来ません...。海外の某会員制フォーラム内では、Tick表示用のインジケータを改造して、TickのMACDやStocastic を表示させるモノがありますが、じゃぁ CCIは? ボリンジャーは?…といった感じで好みのテクニカル分析ができる訳ではありません。 そこで、今日は、MT4でTickチャートのテクニカル分析を行なう手法を紹介します。 TickChartMaker.mq4 をindicator フォルダにインストールする。 TickChartMaker をEURUSD のチャートに貼り付ける。 ファイル->オフラインチャートから、 EURUSD_T, M1 を開く。 EURUSD_T の
時系列データに周期性があるのかどうか?を調べる方法としては、コレログラム、フーリエ変換、ARモデル・・・等を使うのが一般的のようです。ただ、投機市場に見られる周期性は、私の想像では、連続する2〜3つの山が近い周期になるだけ(3〜4つ目の山で周期が崩れる)なので、長期のデータから固定長の周期性を見つけ出すのは困難なのでは?と思ってたりします。 (一時的に周期性が存在しても、投機筋が他者を出し抜く過程で周期性が失われてしまう・・・ なので、相場に周期性は存在しないという前提でいろいろ考えているのですが、せっかく、ヒストグラム表示インジケータを作ったので、今日はZigZagインジケータの周期分布を調べてみます。 ZigZag.mq4 を改造し、山の頂点間の期間データ(top.csv)、谷底間の期間データ(btm.csv)、一辺の期間データ(full.csv)を保存するようにしたものが、ZigZa
・・・と、どなたかに聞かれていたような気がするので方針だけ書いておきます。 1.ネット上で経済指標発表時刻一覧を公開しているサイトを探す。 2.定期的に自動取得して、EAに読み込む。 公開サイトとしては、 ForexFactoryの http://www.forexfactory.com/ff_calendar_thisweek.xml や、 DailyFXの http://www.dailyfx.com/files/Calendar-10-21-2012.csv (週単位でファイル名が変わります) が知られています。 EAからデータ取得するとしたら、WinInet.mqh のようなライブラリを使うと ↑こんな感じで、↓のCSVデータが取得できます。 DailyFXのデータはCSVなので、MQL4では簡単に読めます。(ただし、文字コードがUnicodeなので一部文字化けします。) Dail
他業者のチャートにあって、MetaTrader4に無い機能の1つに SwingPoint View があります。 上図は外為どっとコムのチャートですが、直近の高値/安値に価格と時刻が表示されています。 この価格表示がSwingPoint View (スイングポイントビュー) と呼ばれるモノで、チャートの視認性を損なうことなく、最小のスペースで必要な情報を表示している好例かなと思っています。これがMT4で出来ないのはちょっとくやしいので試作してみました。 SwingpointView.zip からダウンロード可能です。 同じようなモノを作ってみた人にはわかると思うのですが、MT4 はチャート上にText オブジェクトを2 行、縦に並べるのが苦手です。 Text オブジェクトは内部で改行ができず、チャート上には、横軸が時刻, 縦軸が価格 の座標系でText を配置する必要があるので、2 行に分
なんだか市場が激しく動いていて、記事を書いている余裕が無いのですが・・^^; junaさんのサイトで、「その通貨ペア、本当にあなたが得意な通貨ペアなんですか?」という記事があったので、私自身は何を見ているのか?ちらっと紹介します。 まず、デイトレ主体なので、あまり長期のデータを見ることはありません...orz 長くて3年程度のデータがあれば十分かなと思ってます。(5年〜10年も昔の相場がどのように動いていたか?と、今日の相場がどう動くか?はほとんど関係ないでしょう。) 下図が EURUSDの日足チャートで、下段のインジケータは、ATR(期間1)です。期間が1日のATRは、ほぼ1日の値幅に相当するので、この傾向を観察すれば、市場を取り巻く環境が変化しているのかどうか?分かりやすいと思います。日足のデータを見るときは、週5本のバーになっている業者のデータを見るのが吉です。週6本になっている業者
懲りずに、3夜目。 lino 2010/05/27 21:10 最適化テストで労力を費やしているので、これは便利そうです。 パラメータが多いので相関性の低いパラメータを分割して最適化を実行しているのですが(Geneticは使いたくないので)、これを自動化できないでしょうか? パラメータ1〜3を最適化→最もPFが高かった値を使ってパラメータ4〜6を最適化→以下789・・・ tester\cachesを解析する必要がありそうですが、何とか実現できないでしょうか? EAを作りこんでゆくと、パラメータが増えてゆき、全てのパラメータに対して全数検索しようとするとトンデモナイ時間が掛かることがあります。探索範囲を減らすために、Genetic Algorithm (GA)を使うと、パラメータの持つ意味を無視して、半分ランダムに探索されて、それなりに良さそうな結果に収束したセットを求めてしまうので、ちょっ
FX口座の評価残高が10%増えたらEAを止めたい。あるいは、25%損失が生じたら止めたい…といった場合に役に立つ(...かもしれない...) script が、EquityProtecter(sc).mq4 です。EAを止めると同時にポジションをクローズし、指値注文を削除するので、EAを使わない裁量トレードでもポジションを放置したい時に使えます。 海外のフォーラムには、より多機能な EquityGuard というEAがあるのですが、EA自体がEAを止めるという枠組みは上手くいかない気がするので、script で簡易なものを作り直しました。 使い方は、scripts フォルダにコピーして、チャートに貼り付けるだけです。 extern bool UseTargetEquity = true; extern int TargetEquityPercent = 110; extern int Ta
サムソン 2012/01/29 12:15 ゼロサム論に関して 自分は全く逆の見解ですね。 株を買った人は最終的に必ず売りますよね?だからゼロサムだと思います。 為替は 例えば海外旅行や留学のために外貨を買っても最終的にその外貨全てを売るわけではない。 使った外貨がその後上がろうが下がろうが関係ないわけです。貿易決済に絡む実需取引もあります。 どうも為替取引をゼロサムとする考えには違和感を感じます。 ご意見ありがとうございます。この辺りは、実体経済のどこまでを含めるか?実需筋は潜在的に損をしているとみなすべきかどうか?で解釈が変わるのではと密かに思っています。 仮に為替取引をプラスサムとして、、、肝心のFXの取引注文がすべてブローカーに呑まれていたら、それでもプラスサムと言い切れるでしょうか?(特に100〜1000通貨の取引や、海外の非正規のノミ業者の場合) 公正なブローカーがカバー先銀行
最近、とあるサイトで「FXはゼロサムで丁半博打だからやる意味が無い。株や投信はプラスサムだから価値がある。」なんて主旨の記事を見たのだけれど…、 私には株や投信もキャピタルゲイン(価格差益)を目的とする限りゼロサムだと思ってます。株がプラスサムに見えてしまうのは、「社会が発展し経済規模は拡大し続ける」と暗黙のうちに仮定しているからであって、(実際、世界規模ではまだまだ拡大し続けるでしょうけど…)、いつか、永遠に続く不況が始まれば誰もプラスサムだと思わなくなりますよ。 そもそも、株がプラスサムだと信じている人は、安値で買った株を高値で売った時、高値で買ってくれた人に対してどう思っているのでしょうか? 「良い買い物をしましたね。この株はもっと上がりますよ!」…なんて考えていたら、それは合理的な投資家では無いですよね。本気で値上がりすると思っているのなら、売らずに持ち続けるべきですもん。 「高値
他人の書いたソースコードを分析する場合、それが掲示板に貼り付けられていたものだったりすると、下図のように非常に読み辛いカタチで提供されることが多々あります。 こんなコードを下図のように綺麗に整形したい場合に役に立つのが、Artistic Styleです。本来は、C, C++, C#, Java の整形ツールですが、MQL4 は C言語に似ているのでそのまま使えるのです。 ダウンロードは、こちらから可能です。AStyle_1.24_windows.zip ファイル内には多数のファイルが含まれていますが、必要なのは bin フォルダ内の AStyle.exe のみです。 最も簡単な使い方は、mq4 ファイルを AStyle.exe にドロップするだけですが、整形される書式にこだわりがある場合は、コマンドラインオプションの説明(古い日本語訳)を参考にバッチファイルを作成すればOKです。 "C:\
いつものところに改良?版を置いています。 ↓ガマウシさんに感化されたわけでは無いですが、NZD を追加しています。 ↓最近の AUDUSD をトレードするのに、NZDUSD も見た方が良いのでは?とふと思っただけですが、こうして分離して表示させてみると、やはり NZD の方がスムーズなんですよね。 ノイズの少ない動きならトレンド転換の方向性を見誤ることも少ないはずなので、ku-chartに分解してノイズの少ない通貨同士のペアを選ぶのも有りかなと思ってます。 (..それ以前にノイズの定義が難しいですが..。 ↓私の適当な思いつきで勝手に NZD を加えられては困る(!)という人向けに、計算対象通貨をオフにできるようにしています。 ↑ UseEUR = false のように設定すると、にょろ記号がグレーになり、計算値からその通貨が除外されます。これで主要4通貨だけでの分解なども簡単にできます。
前回、ツチヤ先生の記事を取り上げたのは、その中に、デマーク指標で有名なトム・デマークについて書かれていたからです。 トレード歴1年目程度の初心者に、私がお勧めしている書籍「システムトレード基本と原則」の423ページ以降に、デマークとポール・チューダー・ジョーンズやブルームバーグとの話がでてきます。個人的には、この辺りの記述は鵜呑みにしない方が良いのでは…と思っていたので、紹介しました。 テクニカル分析を批判する記事を読んだ時は、その記事が具体的にどんなテクニカル分析を指しているのか?よく考えた方が良いです。 ↑私なりに適当に分類するとこんな感じです。さらに細かく、市場の変化に対する適応機構の有無を加えて、生き残るテクニカル分析とそうでない分析に分けても良いかもしれません。^^; (私が純粋に投機家として他人の投資手法で興味を持つのは、カーブフィット対策をどうしているか?と、変化への対応メカ
マーケットプロファイルを眺めていると、いろんなグラフ形状が描かれるのですが、POCのような最大ピーク以外にも複数のピークを持つことが多々あります。…ということは、マーケットには安定して取引されやすい価格、つまり、電子のエネルギー準位のような価格が存在して、そういう価格帯の間を階段状に上がったり下がったりしているのでは…?なんて思ったりします。 もちろん、それが正しいと考える根拠は無いのだけれど、「安定価格間の移動は時間が掛かることもある」、「安定価格を基準に上下にランダムに振動している」という仮定も加えると、全否定できるだけの根拠も無いような…気がするのです。 ↓実際に価格を階段状に近似したのがコレです。じっと見ていると、価格がラインに添って変化しているような気がしてきませんか?(笑) ↑計算に使用したのは、adaptive weights smoothing (AWS)と呼ばれるアルゴリ
べき分布0.0017%の猫 2011/09/14 00:32 faiさんこんばんは。 為替もそうなのかわかりませんが、株先の場合、切りのいい価格、前日の代表的な価格、 メジャーな指数などでは、価格がとりあえず止まるなんてことはよくあるように感じます。 そうなんですよね。感覚的には複数の安定価格帯を移動するように思えるので、マーケット・プロファイルや、階段状近似に興味があったのです。ただ、安定価格帯への斜めの動きも無視できないので、今日は「価格は斜めに動くに違いない」と仮定する人(線形トレンドが有意に継続する…ことにベットする人)のための記事です。 とある人からトレンドラインは線形回帰で引くのが正しいと伺ったのは数年前のことです。 ↑ところが、単純に計算期間を固定して当てはめると、本当にそれでいいのか怪しく思える時が多いですよね。 過去10年のバックテストで60期間が最も成績が良かったとして
いつの間にか9月になっていたのですね..。 時の流れは速いものです。twitterを読まれている人は、お分かりかと思いますが、なかなか忙しい日々が続いていて、すっかり更新が滞っております。それでも、月に1度くらいは書いておきたいなと思うのですが..ネタが無いので、最近見ているインジケータを紹介しておきます。 PanRolling からでている「1日1回のレンジトレード」という本は、マーケットプロファイルという指標を利用してEミニS&P先物をトレードする手法を紹介しています。 マーケットプロファイル(もしくは、プライスヒストグラム)は、相場が1日のうちにどれだけの時間をその価格で費やしたのかを相対的に示したグラフです。 そのグラフのピークとなる価格をポイント・オブ・コントロール(POC)と呼び、翌日以降の値動きはPOCに引き寄せられる可能性が高いのだとか。(..ほんとかね^^; 実際に MT
とある匿名希望の読者様から、対数変化率(対数価格比?)の計算式が分からないと質問がありましたので、簡単に説明しておきます。。 複数の銘柄の値動きの傾向を比較したい場合、価格の変化量(=今日の終値-昨日の終値)をそのまま扱うと不便です。 株式を思い浮かべると分かるように、100円の株が150円に上がるのと、1000円の株が1050円に上がるのでは、価格の変化量は同じ50円でも、それを同列にみなすのは無理があります。これを価格の変化率(=今日の終値÷昨日の終値)で考えると、 100円 -> 150円 1.5倍、50%増 1000円 -> 1050円 1.05倍、5%増 となり比較しやすくなります。 (100円の白株と1000円の赤株はそもそも同列に比べるべきでない..というツッコミは無しで..^^;; ところが、価格の変化率を採用すると、100円の株が150円に上がり、再び100円に戻った時、
考えてみれば、無い通貨ペアはシンセシスできますね(AUDCAD = AUDUSD * USDCADみたいに)。 皆様、ご自分のブローカーに合わせて改造されると良いと思います。 そうだよ、無いペアはつくっちゃえばいいのさ。 ペア数の少ないブローカーを選ぶのは本人の自己責任だ。 業者探しに悩む必要もないし、負荷だって軽くなる。 そう思えば多少の誤差は背負えるもんさ。 …という訳で、6通貨ペアで計算させてみました。 ↑計算に必要なペアは21ペアからドルストレート6ペアに減らし ↓計算した結果がこれ。 ユーロだけが極端に下げてますね..。 21ペアで計算した場合との誤差は、 ↑オシレーターの縦軸を -11〜11 に固定した状態で、 ↑重ね合わせると、僅かに違うことが分かります。 Use6PairsOnly という設定で計算方法を切り替えられるので、万が一の時に役に立つでしょう..。 (昼間はボラテ
すっかり時間が経ってしまいましたが、通貨の強弱が分かると言われるKu-Chartっぽいアレのmq4ファイルを、ここに置いています。某SPAに計算式の概念だけは書かれていたので、それを参考に作ったということで..。 ↑見やすいように(?)、毎日午前零時の価格を基準にしています。5通貨版と7通貨版がありますが、取引量の少ない通貨を混ぜた7通貨版には副作用があるかもしれません。(実際、7/7のAUD,CADが大きく動いた場面で他の通貨が5通貨版に比べてシフトしているのが分かります。) 表示させるチャートは短い時間足でも良いですが、大雑把な流れを見たかったら、30分足や1時間足が分かりやすいと思います。その日の通貨の強弱に逆らわないように順張りするのが基本..でしょうか。 (専ら、視認性や操作性を重視して作ってあるので、EAから呼ぶ場合は...無駄なコードを消したほうが良いです..。零時の時点でゼ
昨日に引き続いて、WindowsメッセージのIDの調べ方を紹介します。 厳密には、Windowsメッセージの中のWM_COMMAND というメッセージのパラメータIDを調べているのですが、昨日の方法では、例えば、最新のMT4でトレンドラインを引く為のボタンを押すにはどんなパラメータを指定すればよいのか?というピンポイントで調べたい時に苦労します。…というか、全く実用的ではありません。 少しアプローチをかえて、MetaTraderの UI を操作すると、操作した内容に応じて ID をウィンドウに送りつける仕組みになっているのですから、メッセージを受け取るウィンドウ側を監視していれば、どの操作がどの ID になっているのか分かるはずです。 この原理を利用した調べ方が以下の手法です。 (今日は、MT4 にショートカットキーを割当てたい人には有効な記事なので読み飛ばさないようにっっ><) 原理の詳
万華 2010/03/04 15:56 こんにちは 先行スパンをずらす一目インジは、たしか、先月のコメントでも、どなたかが依頼されてましたよね。 これって、アンディさんのところで、やってるやつですよね。 faiさん、便乗して、不躾なお願いをして、失礼いたしまが、もし、つくっていただけるのでしたら、できれば、マルチタイムフレーム対応のものを希望します。 ta 2010/03/09 10:47 はじめまして。 是非、アンディをMTF対応化してください。 よろしく、お願い致します。 と言う訳で…昨日の続きで、アンディの雲をMTFに対応しました。ダウンロードはこちらからどうぞ。(2010/5/24 公開停止しました。第三者への再配布は禁止します。) ↑1時間足に普通に表示させたもの ↓5分足にMTF1時間足の雲を表示させたもの 一般に出回っている MTF インジケータは、階段状に表示されるのが普通
次のページ
このページを最初にブックマークしてみませんか?
『とあるMetaTraderの備忘秘録』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く