テクニカル指標

Rフラクタルを使ったトレーディング戦略
MetaTrader4
Rフラクタルを使ったトレーディング戦略

こんにちは、トレーダーの皆さん!今日は「Rフラクタル」についてお話ししたいと思います。フラクタルは、市場分析において非常に有用なツールで、トレンドの転換点を見つけるのに役立ちます。 フラクタルの基本 フラクタルとは、自己相似性を持つパターンのことを指します。トレーディングにおいては、特定の範囲内で価格の動きが繰り返されることを示しています。このフラクタルを利用することで、エントリーやエグジットのタイミングを見極めやすくなります。 フラクタルの設定 フラクタルを使用する際の設定は以下のようになります: range_fractal = 5; //フラクタルのランク(奇数で3以上が必要) ここで、フラクタルのランクを設定することで、より精度の高いサインを得ることが可能になります。特に、奇数の値を選ぶことが重要です。 実践的な使い方 実際にトレードにフラクタルを取り入れる際は、他のテクニカル指標と組み合わせるとより効果的です。たとえば、移動平均線やRSIといった指標と併用することで、フラクタルのシグナルを強化することができます。 フラクタルをうまく活用して、あなたのトレーディングを次のレベルに引き上げましょう!

2009.06.27
ニューラルネットワークを使った次の価格予測ツールのご紹介
MetaTrader4
ニューラルネットワークを使った次の価格予測ツールのご紹介

著者: gpwr バージョン履歴: 2009年6月26日 - 新しいインジケーター「BPNN Predictor with Smoothing.mq4」を追加しました。価格を予測する前にEMAを使ってスムージングを行います。 2009年8月20日 - ニューロンの活性化関数の計算コードを修正し、算術例外を防ぎました。BPNN.cppとBPNN.dllを更新。 2009年8月21日 - DLLの実行終了時にメモリをクリアする機能を追加しました。BPNN.cppとBPNN.dllを更新。 ニューラルネットワークの簡単な理論: ニューラルネットワークとは、入力に対する出力の調整可能なモデルです。いくつかの層で構成されています: 入力層: 入力データで構成されています。 隠れ層: ニューロンと呼ばれる処理ノードで構成されています。 出力層: 一つまたは複数のニューロンからなり、ネットワークの出力を生成します。 隣接する層のすべてのノードは相互に接続されています。これらの接続はシナプスと呼ばれ、各シナプスにはデータを伝播させるためのスケーリング係数が割り当てられています。これらのスケーリング係数を「重み(w[i][j][k])」と呼びます。フィードフォワードニューラルネットワーク(FFNN)では、データは入力から出力へと伝播します。以下は、1つの入力層、1つの出力層、2つの隠れ層を持つFFNNの例です: FFNNのトポロジーは、以下のように略記されます: <入力数> - <第一隠れ層のニューロン数> - <第二隠れ層のニューロン数> -...- <出力数>。上記のネットワークは、4-3-3-1ネットワークと呼ばれます。 データはニューロンによって2つのステップで処理されます。円内の合計記号とステップ記号で示されています: 全ての入力は関連する重みで掛け合わされ、合計されます。 得られた合計はニューロンの活性化関数によって処理され、その出力がニューロンの出力となります。 活性化関数は、ニューラルネットワークモデルに非線形性を与えます。これがなければ、隠れ層を持つ理由がなくなり、ニューラルネットワークは線形自己回帰(AR)モデルになってしまいます。 NN関数のためのライブラリファイルには、以下の3つの活性化関数を選択することができます: シグモイド sigm(x)=1/(1+exp(-x)) (#0) 双曲線タンジェント tanh(x)=(1-exp(-2x))/(1+exp(-2x)) (#1) 有理関数 x/(1+|x|) (#2) これらの関数の活性化閾値はx=0です。この閾値は、各ニューロンに追加入力されるバイアス入力によってx軸に沿って移動することができます。 入力数、出力数、隠れ層の数、ニューロンの数、シナプスの重みの値は、FFNNを完全に記述します。重みを見つけるためには、ネットワークをトレーニングする必要があります。教師あり学習では、過去の入力データと対応する期待される出力をいくつかのセットとしてネットワークに供給します。重みは、ネットワークの出力と期待される出力の間の誤差を最小限にするように最適化されます。重みの最も単純な最適化手法は、誤差の逆伝播であり、勾配降下法です。このトレーニング関数Train()は、改善された弾性逆伝播法(iRProp+)というこの方法のバリアントを使用します。 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.1332 勾配ベースの最適化手法の主な欠点は、しばしば局所的な最小値を見つけてしまうことです。価格系列のような混沌とした系列では、トレーニング誤差の表面は非常に複雑な形状を持ち、多くの局所的な最小値があります。そのような系列には、遺伝的アルゴリズムが好ましいトレーニング手法です。 同封ファイル: BPNN.dll - ライブラリファイル BPNN.zip - BPNN.dllをC++でコンパイルするために必要なすべてのファイルのアーカイブ BPNN Predictor.mq4 - 将来のオープン価格を予測するインジケーター BPNN Predictor with Smoothing.mq4 - スムーズにしたオープン価格を予測するインジケーター ファイルBPNN.cppにはTrain()とTest()の2つの関数があります。Train()は、供給された過去の入力値と期待される出力に基づいてネットワークをトレーニングするために使用されます。Test()は、Train()で見つけた最適化された重みを使用してネットワークの出力を計算するために使用されます。 Train()の入力(緑)と出力(青)パラメータのリスト: double inpTrain[] - 入力トレーニングデータ (1D配列、過去のデータが最初) double outTarget[] - トレーニング用の期待される出力データ (1D配列、過去のデータが最初) double outTrain[] - トレーニングからのネット出力を保持する1D配列 int ntr - トレーニングセットの数 int UEW - 初期化の際に外部重みを使用するかどうか (1=外部初期重みを使用、0=ランダム使用) double extInitWt[] - 外部初期重みの3D配列を保持する1D配列 double trainedWt[] - トレーニングされた重みの3D配列を保持する1D配列 int numLayers - 入力、隠れ、出力を含むレイヤーの数 int lSz[] - 各レイヤーのニューロン数。lSz[0]はネット入力の数 int AFT - ニューロンの活性化関数の種類 (0: sigm, 1: tanh, 2: x/(1+x)) int OAF - 出力層の活性化関数を有効にするかどうか (1: 有効、0: 無効) int nep - 最大トレーニングエポック数 double maxMSE - 最大MSE; maxMSEに達するとトレーニングが停止します。 Test()の入力(緑)と出力(青)パラメータのリスト: double inpTest[] - 入力テストデータ (1D配列、過去のデータが最初) double outTest[] - トレーニングからのネット出力を保持する1D配列 (過去のデータが最初) int ntt - テストセットの数 double extInitWt[] - 外部初期重みの3D配列を保持する1D配列 int numLayers - 入力、隠れ、出力を含むレイヤーの数 int lSz[] - 各レイヤーのニューロン数。lSz[0]はネット入力の数 int AFT - ニューロンの活性化関数の種類 (0: sigm, 1: tanh, 2: x/(1+x)) int OAF - 出力層の活性化関数を有効にするかどうか (1: 有効、0: 無効) 出力層で活性化関数を使用するかどうかは、出力の性質によります。出力がバイナリの場合(分類問題が多い)、出力層で活性化関数を使用すべきです (OAF=1)。活性化関数#0(シグモイド)は0と1の飽和レベルを持ち、活性化関数#1と#2は-1と1のレベルを持ちます。ネットワーク出力が価格予測の場合、出力層での活性化関数は必要ありません (OAF=0)。 NNライブラリの使用例: BPNN Predictor.mq4 - 将来のオープン価格を予測します。ネットワークの入力は相対価格変化です: x[i]=Open[test_bar]/Open[test_bar+delay[i]]-1.0 ここで、delay[i]はフィボナッチ数(1,2,3,5,8,13,21..)として計算されます。ネットワークの出力は次の価格の予測相対変化です。出力層での活性化関数はオフ(OAF=0)になっています。 インジケーター入力: extern int lastBar - 過去データの最終バー extern int futBars - 予測する未来のバーの数 extern int numLayers - 入力、隠れ、出力を含む層の数 (2..6) extern int numInputs - 入力の数 extern int numNeurons1 - 第一隠れ層または出力層のニューロン数 extern int numNeurons2 - 第二隠れ層または出力層のニューロン数 extern int numNeurons3 - 第三隠れ層のニューロン数 extern int numNeurons4 - 第四隠れ層のニューロン数 extern int numNeurons5 - 第五隠れ層のニューロン数 extern int ntr - トレーニングセットの数 extern int nep - 最大エポック数 extern int maxMSEpwr - maxMSE=10^maxMSEpwr; トレーニングはmaxMSE未満で停止します extern int AFT - 活性化関数のタイプ (0:sigm, 1:tanh, 2:x/(1+x)) インジケーターはチャート上に3つの曲線を描画します: 赤色 - 将来の価格の予測 黒色 - ネットワークの期待する出力として使用された過去のオープン価格 青色 - トレーニング入力に対するネットワークの出力 BPNN Predictor.mq4 - 将来のスムーズなオープン価格を予測します。EMAスムージングを使用してsmoothPer期間を取得します。 セットアップ手順: BPNN.DLLをC:\Program Files\MetaTrader 4\experts\librariesにコピーします。 MetaTraderで: ツール - オプション - エキスパートアドバイザー - DLLインポートを許可します。 また、BPNN.zip内のソースコードを使用して、自分自身のDLLファイルをコンパイルすることもできます。 推奨事項: 層が3つ(numLayers=3: 入力、隠れ、出力)のネットワークで、大多数のケースに対応できます。Cybenko定理(1989)によれば、1つの隠れ層を持つネットワークは、任意の連続した多変量関数を所望の精度で近似することができます。2つの隠れ層を持つネットワークは、任意の不連続な多変量関数を近似することができます。 隠れ層の最適なニューロン数は、トライアンドエラーで見つけることができます。文献には次の「経験則」があります: 隠れニューロンの数 = (入力数 + 出力数) / 2、または SQRT(入力数 * 出力数)。トレーニング誤差を追跡し、MetaTraderのエキスパートウィンドウで報告されます。 一般化のために、トレーニングセットの数(ntr)は、ネットワークの重みの合計の2-5倍を選択する必要があります。例えば、デフォルトのBPNN Predictor.mq4は12-5-1ネットワークを使用しています。重みの合計は(12+1)*5+6=71です。したがって、トレーニングセットの数(ntr)は少なくとも142であるべきです。一般化と記憶(過学習)の概念は以下のグラフで説明されています。 ネットワークへの入力データは定常化されるべきです。Forex価格は定常ではありません。また、入力を-1..+1の範囲に正規化することも推奨されます。 以下のグラフは、ノイズによって歪められた出力を持つ線形関数y=b*x(x-入力、y-出力)を示しています。この追加されたノイズにより、測定された出力(黒い点)は直線から逸脱します。関数y=f(x)はフィードフォワードニューラルネットワークによってモデル化できます。重みが多いネットワークは、測定データにゼロ誤差でフィッティングできます。その挙動は、すべての黒い点を通過する赤い曲線として示されます。しかし、この赤い曲線は元の線形関数y=b*x(緑)とは何の関係もありません。この過学習したネットワークを使用して将来の値を予測すると、追加されたノイズのランダム性のために大きな誤差が発生します。 これらのコードを共有する代わりに、著者は小さなお願いがあります。これらのコードに基づいて利益の出るトレーディングシステムを作成できた場合は、アイデアを私に直接メールで送ってください。vlad1004@yahoo.com 頑張ってください!

2009.06.26
フラクタル次元指数とステップEMAの活用法
MetaTrader4
フラクタル次元指数とステップEMAの活用法

こんにちは、トレーダーの皆さん!今日は、フラクタル次元指数(FDI)とステップEMAについてお話ししましょう。 Step_Ema_LK.mq4:これは、少し前に私が作成したハイブリッドなステップ/EMAフィルターです。価格の遅延と時間の遅延を交換することで、価格の動きが大きくなります。 LK_FDI_V2.mq4:こちらは私のフラクタル次元指数のバージョンです。他のコードベースに投稿されているFGDI.mq4とほぼ同じ原則に従っています。ただし、小さな期間(例えば、2バーの期間)を扱う際には、若干の違いがあります。このバージョンでは、2.0を超える値が出るFGDIとは異なり、ランダム(約1.58)と見なされます。 さらに、このバージョンでは、いくつかのケースで遅延が少し少なくなる線形加重モードもサポートしています。 加えて、dFDI(チャートの緑の線)は、FDIの一次導関数(変化率)です。 一般に、FDIが1.5を大きく下回る場合はトレンドが発生しています。 FDIが1.5の場合は、ランダムな市場にいることを意味します。 FDIが1.5を大きく上回る場合は、レンジ相場にいることを示しています。 高いdFDIの読み取り値は、トレンドが安定していることを示します。

2009.06.25
MTF相対力指数(RSI)を活用したトレード戦略
MetaTrader4
MTF相対力指数(RSI)を活用したトレード戦略

MTF相対力指数(RSI)は、よく知られたRSIに基づくMetaTrader用のインジケーターです。この相対力指数は、価格の上下動の速さと大きさを測定するモメンタムオシレーターで、クローズ価格の動きを比較することで導き出されます。RSIは、J.ウェレス・ワイルダーによって開発され、1978年6月に「コモディティーズ」誌に掲載されました。 MetaTraderには、標準のテクニカルインジケーターとしてRSIがすでに組み込まれていますが、現在の時間枠でしか使用できません。時には、より高い時間枠のRSIを表示させたい場合もあります。ここで紹介するMTF相対力指数には、追加のパラメーター「TimeFrame」があります。これを使うことで、RSIが計算するための高い時間枠を設定できます。値はバーから導き出されるため、高い時間枠を使用する際には、インジケーターラインの形状が粗くなることに注意してください。 MTF相対力指数の設定項目は以下の通りです: TimeFrame デフォルト値は0で、現在の時間枠を意味します。他の時間枠は以下の通りです:1=M1、5=M5、15=M15、30=M30、60=H1、240=H4、1440=D1、10080=W1、43200=MN1 RSIPeriod デフォルト値は14。計算に使用する期間の数です。 Applied_price デフォルト値は0で、計算に使用する価格はクローズ価格です。他の価格タイプは以下の通りです:0-CLOSE、1-OPEN、2-HIGH、3-LOW、4-MEDIAN、5-TYPICAL、6-WEIGHTED。 Shift デフォルト値は0。このパラメーターは、設定した時間枠からシフト数のバーだけインジケーター全体を右に移動させます。 例: MTF相対力指数のスクリーンショット

2009.05.27
MTF MACDの使い方と設定ガイド
MetaTrader4
MTF MACDの使い方と設定ガイド

MTF MACDは、よく知られたMACDを基にしたMetaTraderのインジケーターです。MACD(移動平均収束発散)は、1960年代にジェラルド・アペルによって作成されたテクニカル分析指標で、クローズ価格の速い指数移動平均(EMA)と遅いEMAの差を示します。また、シグナルラインはインジケーターの主要な値の単純移動平均(SMA)です。MACDはトレンドフォロー型のインジケーターであり、トレンドの変化を特定するために設計されていますが、レンジ相場ではあまり推奨されません。 MetaTraderには、標準のテクニカルインジケーターとしてMACDがすでに含まれています。しかし、現在の時間足に対してのみ使用できます。トレンドを探しているときには、より高い時間足のMACDを見ることが非常に望ましいです。ここで紹介するMTF MACDには、追加のパラメータ「TimeFrame」があり、これを使ってMACDが計算する値の基準となる高い時間足を設定できます。高い時間足を使用すると、インジケーターラインの形状が粗くなることに注意してください。 MTF MACDの設定: TimeFrame デフォルト値は0で、現在の時間足を意味します。他の時間足の場合は、1=M1、5=M5、15=M15、30=M30、60=H1、240=H4、1440=D1、10080=W1、43200=MN1です。 FastEMA デフォルト値は12です。これは速い指数移動平均です。 SlowEMA デフォルト値は26です。これは遅い指数移動平均です。 Signal デフォルト値は9です。これはシグナルラインで、単純移動平均です。 Applied_price デフォルト値は0で、MA計算に使用されるクローズ価格を意味します。他の価格タイプは、0=CLOSE、1=OPEN、2=HIGH、3=LOW、4=MEDIAN、5=TYPICAL、6=WEIGHTEDです。 Shift デフォルト値は0です。このパラメータは、設定された時間足から右にシフトされたバー数分だけ、インジケーター全体をシフトします。 例: MTF MACDのスクリーンショット

2009.05.27
トレーダー必見!現在の割合をリアルタイムで把握する方法
MetaTrader4
トレーダー必見!現在の割合をリアルタイムで把握する方法

トレーダーの皆さん、こんにちは!今日は、現在の価格における日々のパーセンテージの変動を簡単に確認する方法についてお話しします。 著者: アリフ・E・ヌグロホ arif_endro@vectra.web.id トレードをしていると、現在の価格がどれくらい上がったり下がったりしているのか、すぐに知りたいときがありますよね。そんな時に役立つのが、ターミナルウィンドウで現在の日、週、月のパーセンテージの変動を表示する方法です。この機能を使うことで、現在の価格が過剰に買われているのか、売られ過ぎなのかを見極めることができます。特定の通貨ペアには、日々、週ごと、月ごとの価格範囲があるからです。 上の画像は、現在の日、週、月のパーセンテージの変動を示すインジケーターのプレビューです。このインジケーターは、色を変更できるので、自分好みにカスタマイズ可能です。この例では、赤がマイナスのパーセンテージ、青がプラスのパーセンテージを表しています。また、フォントサイズも「FontSize」パラメータを調整することで変更できます。 さらに、日々のパーセンテージレベルが0.5%、1.0%、1.5%、2.0%の上下を表示する機能も追加しました。このオプションは「ShowPriceLabel」で有効化でき、初期設定ではオフになっています。このオプションを有効にすると、インジケーターは次のように表示されます: この機能を使って、トレードをさらに効率的に行いましょう!是非試してみてください。

2009.05.19
ドージリーダーインジケーターの使い方と設定方法
MetaTrader4
ドージリーダーインジケーターの使い方と設定方法

ドージリーダーインジケーターは、トレーダーにとって非常に便利なツールです。ここでは、インジケーターの主な機能と設定方法について詳しく説明します。 1. ドージの認識 上ひげの最小長さを設定できます。 下ひげの最小長さを設定できます。 2. グラブストーン・ドージの認識 上ひげの最小長さを設定できます。 下ひげの最大長さを設定できます。 3. ドラゴンフライ・ドージの認識 上ひげの最大長さを設定できます。 下ひげの最小長さを設定できます。 4. アラーム機能 新しいキャンドルが出現した際にアラームが鳴るように設定することが可能です。 設定オプション AnAlert: 新しいドージが出現したときに通知を受け取るにはtrueを設定します。 ShowCandleBox: ドージキャンドルを四角形で表示するにはtrueを設定します。 BoxColor: 四角形の色を設定します。 ShowStar: キャンドルの上に星を表示するにはtrueを設定します。 StarColor: 星の色を設定します。 StarWidth: 星の幅を調整するサイズを設定します。 ShowText: ドージの名前を表示するにはtrueを設定します。 FontColor: テキストの色を設定します。 FontSize: フォントのサイズを設定します。 VerticalText: trueに設定すると、テキストが縦に表示されます。 MyBrokerHas5Digits: 5桁のブローカーを使用する場合はtrueを設定します。 FindRegularDoji: trueに設定すると、インジケーターが通常のドージを探します。 MinLengthOfUpTail: 上ひげの最小サイズを設定します。 MinLengthOfLoTail: 下ひげの最小サイズを設定します。 MaxLengthOfBody: 本体の最大サイズを設定します。 特定のドージの認識 FindDragonflyDoji: trueに設定すると、インジケーターがドラゴンフライ・ドージを探します。 MaxLengthOfUpTail1: 上ひげの最大サイズを設定します。 MinLengthOfLoTail1: 下ひげの最小サイズを設定します。 MaxLengthOfBody1: 本体の最大サイズを設定します。 FindGravestoneDoji: trueに設定すると、インジケーターがグラブストーン・ドージを探します。 MinLengthOfUpTail2: 上ひげの最小サイズを設定します。 MaxLengthOfLoTail2: 下ひげの最大サイズを設定します。 MaxLengthOfBody2: 本体の最大サイズを設定します。 このインジケーターを使いこなすことで、エントリーポイントやエグジットポイントを見極めやすくなりますね!ぜひ試してみてください。 ベスト regards, heartnet http://mqlprogramming.blogspot.com

2009.05.19
最初 前へ 347 348 349 350 351 352 353 354 355 356 357 次へ 最後