テクニカル指標

トレーディング戦略評価のためのインジケーター - MetaTrader 4向け
MetaTrader4
トレーディング戦略評価のためのインジケーター - MetaTrader 4向け

トレーダーの皆さん、こんにちは!今回はトレーディング戦略の評価に役立つインジケーターについてお話ししたいと思います。 多くのトレーダーが、特定のトレーディング戦略の欠点を視覚的に確認したいと思ったことがあると思います。また、客観的なトレーディング統計を同時に見ることができれば、さらに良いですよね。 MT4にはバックテスターがありますが、EAの変更ごとにビジュアルモードでバックテストを実行するのは非常に時間がかかります。また、そのビジュアル能力も限られているため、効率的にマルチカレンシー戦略をテストすることが難しいのが現実です。 これらの問題を解決するために、視覚的にトレーディング戦略をテストできるオープンソースのインジケーターを作成しました。すべての目的に完全にユニバーサルなインジケーターを作ることはできませんが、現在のフレームワークは特定のニーズ(例えばマルチカレンシー)に合わせて簡単に修正・拡張可能です。 特にスプレッド管理に注意を払いました。このインジケーターは、実際の取引やMT4のバックテスターにおけるスプレッドを考慮しています。インジケーターを自分の目的に合わせて修正する場合は、スプレッド管理を詳細に研究する必要があります。さもないと、M1タイムフレームで素晴らしい戦略結果が見られても、実際には大惨事になることがあります。:-) この戦略テストインジケーターのデモとして、シンプルなトレーディング戦略を持つトレーディングインジケーターを追加します。この戦略のルールは、プライスアクションに基づくMAクロスを用いており(実際にクロスする前に取引を行うことができるため、ラグを解消できます)、エグジット戦略も含まれています(逆信号と逆方向の遅いMAクロスを使用)、さらにストップロスの処理は修正されたシャンデリアSL戦略を通じて実装されています。このインジケーターは、特定のニーズに合わせて拡張できるサンプルとして機能しますが、一部の人々は手動取引に十分に良いと感じています。 このシステム全体のアイデア インジケーターシステムはモジュラー方式で構築されています。まず、トレーディング戦略をトレーディングインジケーターに実装する必要があります。現在、エントリー信号用に2つのバッファ、エグジット信号用に2つのバッファ、ストップロス用に1つのバッファを使用しています。完全な機能を持つインジケーターのサンプルとして、添付のStrategyIndi_1.0を参照してください。 この戦略は戦略テストインジケーター StrategySym_1.0で評価できます。結果に満足できない場合は、トレーディングインジケーターを最適化し、リアルタイムで客観的に変更の結果を統計で見ることができます。 後でEAを実装したい場合も、カスタムトレーディングインジケーターを呼び出すことで、すべてのエントリーとエグジット信号、さらにはSL値を取得できるので、非常に簡単です。 このシステムをどのように使用し、自分のニーズに適応させるか? システムをそのまま使用するには、両方のインジケーターをMetaTrader\experts\indicatorsフォルダーにコピーするだけです。使用する前にターミナルを再起動して、コンパイルされることを確認してください。 変更したい設定がいくつかありますが、ほとんどは名前から明らかですので、その他の設定のみを説明します: StrategyIndiパラメータ: ChandBars = 7(シャンデリアSL戦略のためのバー数) ChandATRFact = 2.0(長期ATRを掛け算するファクター、シャンデリア距離を得るため) RiskPercent = 2.0(ロット計算のためのリスク%、手動取引情報のみに使用) Offset = 10(チャート上の矢印を配置するためのバーからのオフセット、4桁ピップ) BarsBack = 2000(過去から処理するバーの数) AlertSound = "alert.wav"(サウンドアラート用のWAVファイル) UseSoundAlert = true(音声アラートを希望する場合) UsePopupAlert = true(ポップアップウィンドウアラートを希望する場合) WriteToLog = false(ログ詳細を記録したい場合) StrategySimパラメータ: MaxLossAtSL = 200.0(各SLで失う準備がある金額) BarsBack = 2000(戦略評価のために処理するバーの数) WriteToLog = false(ログ詳細を記録したい場合) システムを自分のニーズに合わせて適応させる場合は、StrategySymインジケーターに、シミュレーションに関わるStrategyIndiインジケーターのすべてのパラメータを追加する必要があります。それらは後にGetIndiSignalsメソッドで使用され、他のパラメータ(UseSoundAlertなど)の固定値を設定します。StrategySimには、他の目的(マルチカレンシー戦略など)のために変更したい場合を除き、他に変更は必要ありません。その場合、コードのコメントや変数名が役立つことを願っています。サポートが必要な場合は、下記のウェブアドレスからご連絡ください。 このシステムを通じて、トレーディング戦略(手動システムやEA)の評価における客観性に貢献できればと思います。現在のマーケティング手法はしばしば非常に操作的であり、多くの初心者が手に入れたお金を失う原因となっています。 それでは、皆さんの成功を祈っています!ロバート 何かコメントやMT4プログラミング、またはこのテーマに関してのアドバイスが必要な場合は、robert [dot] leskovar [at] gmail [dot] comまでご連絡ください。MQLToolsのウェブサイトは現在アクティブではありません。

2010.04.01
MetaTrader 4用インジケーター「Market Way」の魅力と使い方
MetaTrader4
MetaTrader 4用インジケーター「Market Way」の魅力と使い方

概要: このインジケーターのアイデアは古いものですが、フォレックスの歴史と同じくらい古いわけではありません。なぜなら、オープンとクローズのコストの違いが現れるのはそれほど新しいことだからです。 このインジケーターは、特定の期間におけるオープンとクローズの差をまとめたもので、主なラインとして機能します。 ベアバーのみを合計します; ブルバーのみを合計します; また、全体の期間の加重平均も追加されています。 メリット: 重要!オシレーターとトレンドインジケーターの可能性を組み合わせています; 理解しやすく、解釈も容易; 上昇または下降の動きの良いポイントを示します; ブルまたはベア圧力、運動量の推定を示します(重要!)これはストップや利益の設定において重要な役割を果たします。 横ばいの動きの存在とその強さ(高いまたは低いボラティリティ)を示します; オーバーボート/オーバーソールドレベルを示します; 価格動向の波動機能を明確に示し、ダイバージェンス/コンバージェンスレベルを示す可能性があります; このインジケーターだけを使用して市場へのエントリーを決定することができます(重要!); 任意のタイムフレームデータや、フォレックス以外の市場データでも良好に機能します; 追加のスムージングフィルターなしで、同じ期間のSMAのブレイクダウンに対する偽信号を除外します。 デメリット: 常に決済期間が必要で、これは分析データのサンプルサイズの精度を自然に低下させます(これはすべてのインジケーターに共通の問題です); このインジケーターのすべての可能性が十分に研究されていません; 推奨パラメータ: extern int IdMain = 12; // メインライン(チャート上のポイント) extern int IdBull = 12; // ブルライン extern int IdBear = 12; // ベアライン extern int IdArray = 12; // 全てのSMAライン 表示されるのは、ブルライン(白いバー)とSMA、ベアライン(黒いバー)とSMAの差を表示するヒストグラムです。推奨設定は12の倍数で、3と4で割り切れる数もオプションとして考慮することができます。最大108、最小12、可能であれば9や7も。 このインジケーターを戦略テスターで使用する: これはインジケーターの証拠構築例です。 これらは最適化されていなく、取引はバーのオープン時に行われるため、「毎ティック」のテストは必要ありません。取引モードは1バーでのオープンです。 対象通貨: EURUSD、期間: 1999年から2010年までの全ての利用可能なもの。ストップロスと利益は500ポイントのレベル。 ロングエントリーの条件: MainAccumulation1 - MainSMA1 > 0 // メインラインがスムーズな値の上 && BullPressue1 - Point > 0 // ブル圧力が0以上 && BearPressue1 - Point > 0 // ベア圧力が0以上 && MainAccumulation1 - Point > 0 // メインラインが0以上 ショートエントリーの条件: MainAccumulation1 - MainSMA1 < 0 // メインラインがそのスムーズな値の下 && BullPressue1 - Point < 0 // ブル圧力が0未満 && BearPressue1 - Point < 0 // ベア圧力が0未満 && MainAccumulation1 - Point < 0 // メインラインが0未満 出力の条件は厳密に反対です。 以下は資産の変動(エクイティ)のグラフで、精度は5桁です。取引を開いた後、エクイティが-200ポイントを下回ることはほとんどありません。

2010.03.30
Raghee Hornerメソッドに最適な3つのインジケーター
MetaTrader4
Raghee Hornerメソッドに最適な3つのインジケーター

こんにちは、トレーダーの皆さん!今日は、Raghee Hornerメソッドにぴったりの3つのインジケーターについてご紹介します。このメソッドを活用することで、より効果的なトレードが実現できるかもしれませんよ。 1. Raghee Vague まずは、Raghee Vagueです。これを使うことで、EMA34とSMA200をプロットできます。これらのインジケーターは、トレンドの方向性を視覚的に把握するのに役立ちます。 2. Raghee Candle Vague Bars 次に、Raghee Candle Vague Barsです。このインジケーターは、色分けされたキャンドルバーを表示します。赤は下降トレンド(Raghee Vague &lt; -30º)、緑は上昇トレンド(Raghee Vague &gt; 30º)、オレンジとチャートリュースはニュートラル(-30º &lt; Raghee Vague &lt; 30º)を示します。 3. Raghee 5 Minutes 最後に、Raghee 5 Minutesです。このインジケーターは、Ragheeの5分足メソッドに沿って3つのEMAをプロットし、トレンドに応じて自動的に変更されます。 私のトレード環境: 私の3つのインジケーターに加えて、以下のものも使用しています: フラクタル スイングZZ(アラート付き) スキャンインデックス フィボスイング CCI(20) OBV RSIスイング(34,13,3) おすすめ: Raghee Hornerメソッドを理解するために、ぜひこちらのRagheeブログを読んでみてください。

2010.03.29
メタトレーダー4用高時間足トレンドインジケーターの使い方
MetaTrader4
メタトレーダー4用高時間足トレンドインジケーターの使い方

概要: このインジケーターは、現在のチャート(低時間足)上に高時間足の全体的なトレンドを表示します。 高時間足で MA_1 &lt; MA_2 &lt; MA_3 &lt; MA_4 の場合、正しい順序の MA が確立され、下落トレンドが形成されています。この場合、現在の低時間足チャートには赤いラインが表示されます。この赤いラインは PCI(プライスチャネルインデックス)インジケーターに基づいており、サポートラインとして利用できます。内蔵の RSI インジケーターが有効になっている場合、RSI が買われすぎの領域に入るたびにアラートが表示され、トレンドの反転が起こる可能性が高いことを警告します。つまり、低時間足のトレンドが高時間足の全体的なトレンドに戻ることを示しています。赤い PCI サポートラインの下でクローズした場合にエントリーすることを推奨します。 一方、高時間足で MA_1 &gt; MA_2 &gt; MA_3 &gt; MA_4 の場合は、上昇トレンドが形成されています。この場合、現在の低時間足チャートには緑のラインが表示されます。この緑のラインも PCI に基づいており、レジスタンスラインとして機能します。内蔵の RSI インジケーターが有効になっている場合、RSI が売られすぎの領域に達するたびにアラートが表示され、反転の可能性が高いことを示します。緑の PCI レジスタンスラインの上でクローズした場合にエントリーすることを推奨します。 灰色のラインは、高時間足のトレンドが存在しないことを示しています。 推奨する時間足の組み合わせ: 高時間足: 日足 - 現在の時間足: 1時間足 高時間足: 4時間足 - 現在の時間足: 15分足 高時間足: 1時間足 - 現在の時間足: 5分足 高時間足: 5/15分足 - 現在の時間足: 1分足 画像: プロパティ: extern int Upper_Timeframe = 240; // 高時間足(分単位)、例: 240 = 4時間足 extern int Upper_Timeframe_MA_1 = 10; // MA_1 は最も早い MA でなければなりません extern int Upper_Timeframe_MA_2 = 20; extern int Upper_Timeframe_MA_3 = 50; extern int Upper_Timeframe_MA_4 = 100; // MA_4 は最も遅い MA でなければなりません extern bool RSI_Check_On = true; // RSI の買われすぎ・売られすぎの条件をチェック extern bool RSI_Alert_On = true; // RSI の買われすぎ・売られすぎの条件でアラート音を鳴らす extern int RSI_Period = 12; // RSI の期間 extern int Upper_RSI_Limit = 70; // 上限、これを超えると買われすぎを示します extern int Lower_RSI_Limit = 30; // 下限、これを下回ると売られすぎを示します extern int PCI_Period = 5; // PCI の期間。例: 5 は過去 5 本のバーからの最低値を下落トレンドのサポートラインとして設定 extern int PCI_Shift = 1; // PCI シフト、通常は 1 に設定 extern double Entry_Buffer = 0.0002; // PCI チャネルの幅を指定された pips だけ広げる。つまり、下落トレンドのサポートラインを下げる extern color Dot_Color = Blue;

2010.03.26
MetaTrader 5用デモバッファパターンインジケーターの紹介
MetaTrader5
MetaTrader 5用デモバッファパターンインジケーターの紹介

こんにちは、トレーダーの皆さん!今日は、MetaTrader 5用のデモバッファパターンインジケーターについてお話しします。このインジケーターは、キャンドル、フラクタル、ジグザグ、カラー移動平均を組み合わせたものです。 以下の描画スタイルを使用しています: カラーキャンドル描画 矢印描画 カラージグザグ描画 カラーライン描画 //+------------------------------------------------------------------+ //| カスタムインジケーター初期化関数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | //+------------------------------------------------------------------+ int OnInit() &nbsp;&nbsp;{ //--- インジケーターバッファのマッピング &nbsp;&nbsp; SetIndexBuffer( 0,P1B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 1,P1B2,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 2,P1B3,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 3,P1B4,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 4,P1BC,INDICATOR_COLOR_INDEX); &nbsp;&nbsp; SetIndexBuffer( 5,P2B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 6,P3B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 7,P4B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 8,P4B2,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer( 9,P4BC,INDICATOR_COLOR_INDEX); &nbsp;&nbsp; SetIndexBuffer(10,P5B1,INDICATOR_DATA); &nbsp;&nbsp; SetIndexBuffer(11,P5BC,INDICATOR_COLOR_INDEX); &nbsp;&nbsp; SetIndexBuffer(12,P4M1,INDICATOR_CALCULATIONS); &nbsp;&nbsp; SetIndexBuffer(13,P4M2,INDICATOR_CALCULATIONS); //--- これらは表示されるバッファの後に配置する必要があります。さもなければ…試してみてください。 //--- 矢印 &nbsp;&nbsp; PlotIndexSetInteger(1,PLOT_ARROW,217); &nbsp;&nbsp; PlotIndexSetInteger(2,PLOT_ARROW,218); &nbsp;&nbsp; PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-iArrowShift); &nbsp;&nbsp; PlotIndexSetInteger(2,PLOT_ARROW_SHIFT,iArrowShift); &nbsp;&nbsp; PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE); &nbsp;&nbsp; PlotIndexSetDouble(2,PLOT_EMPTY_VALUE,EMPTY_VALUE); //--- ジグザグ &nbsp;&nbsp; PlotIndexSetDouble(3,PLOT_EMPTY_VALUE,0.0); //--- MA &nbsp;&nbsp; maHandle=iMA(Symbol(),0,ExtPeriod,0,MODE_EMA,PRICE_CLOSE); &nbsp;&nbsp; return(0); &nbsp;&nbsp;} //+------------------------------------------------------------------+ //| カスタムインジケーター反復関数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const int prev_calculated, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const datetime&amp; time[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const double&amp; open[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const double&amp; high[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const double&amp; low[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const double&amp; close[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const long&amp; tick_volume[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const long&amp; volume[], &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const int&amp; spread[]) &nbsp;&nbsp;{ //--- &nbsp;&nbsp; CalcCandles(rates_total,prev_calculated,open,high,low,close); &nbsp;&nbsp; CalcFractal(rates_total,prev_calculated,high,low,P2B1,P3B1); &nbsp;&nbsp; CalcZigzag (rates_total,prev_calculated,high,low,P4B1,P4B2,P4BC,P4M1,P4M2); &nbsp;&nbsp; CalcColorMA(rates_total,prev_calculated,P5B1,P5BC); //--- 次の呼び出しのためのprev_calculatedの戻り値 &nbsp;&nbsp; return(rates_total); &nbsp;&nbsp;}

2010.03.25
トレードセッションインジケーター - MetaTrader 5用の便利なツール
MetaTrader5
トレードセッションインジケーター - MetaTrader 5用の便利なツール

このインジケーターは、DRAW_FILLINGバッファに基づいています。 入力パラメーターはなく、TimeTradeServer()やTimeGMT()の関数が使用されています。 トレードセッションの時間には不正確さがあるかもしれませんが、これは私が見つけた最初のサイトからの値です :))定数ブロック内でこの値を変更することが可能で、GMT時間が使用されます。 // グリニッジを基準にした時間定数 const int&nbsp;&nbsp; AsiaOpen=0; const int&nbsp;&nbsp; AsiaClose=9; const int&nbsp;&nbsp; AsiaOpenSummertime=1;&nbsp;&nbsp; // アジアセッションのシフト const int&nbsp;&nbsp; AsiaCloseSummertime=10; // 時間変更後 const int&nbsp;&nbsp; EuropaOpen=6; const int&nbsp;&nbsp; EuropaClose=15; const int&nbsp;&nbsp; AmericaOpen=13; const int&nbsp;&nbsp; AmericaClose=22; サマータイムの変更も利用する機会がありますが、現在はこの機能は原始的で、TimeDaylightSavings()を使って実現されています。 //+--------------------------------------------------------------------+ // サマータイムの判定は今後の計算のために保持されています //+--------------------------------------------------------------------+ bool Summertime(datetime time) { &nbsp;&nbsp; if(TimeDaylightSavings()!=0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(true); &nbsp;&nbsp; else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(false); }&nbsp; したがって、サマータイムに変更した後は、すべての履歴が時間を変更し、逆もまた同様です。 このインジケーターの初版はMQL4で公開されました。

2010.03.15
最初 前へ 337 338 339 340 341 342 343 344 345 346 347 次へ 最後