double iT3(double price, double period, double hot, bool clean, int i, int instanceNo=0) { double iT3(double price, double period, double hot, bool clean, int i, int instanceNo=0) }.
{
if (ArrayRange(workT3,0) !=Bars) ArrayResize(workT3,Bars);
if (ArrayRange(workT3Coeffs,0))<(instanceNo+1))。ArrayResize(workT3Coeffs,instanceNo+1);
はい、2 x ATRを追加するだけです。
こんにちは、ムラデンです。
Adaptive Hull Moving Average V2 は可能でしょうか?
小数点以下の期間は動作するようです。
よろしくお願いします。HULLはLWMAに基づいており、LWMAは厳密にバーベースであるため、例えばEMAベースのものほどスムーズな変化にはならないでしょう(HULLを得るために計算された3つのLWMAのサブ期間は整数値でなければなりません) .もし、HULLのLWMAをEMAに置き換えるなら、試してみる価値はあるかもしれません(そして、計算された サブ期間の丸めを避けるなら)。確かにHULLではなくなってしまいますが、良いHULLになる可能性がありますし、適応するのに完璧なものになるでしょう。
HULLはLWMAに基づいており、LWMAは厳密にバーベースなので、例えばEMAベースのものほどスムーズには変化しないでしょう(HULLを得るために計算された3つのLWMAのサブ期間は整数値でなければなりません)。もし、HULLのLWMAをEMAに置き換えるなら、試してみる価値はあるかもしれません(そして、計算されたサブ期間の丸めを避けるなら)。確かにそれはもうHULLではありませんが、多分それは良いものであり、そしてそれは適応するのに完璧なものでしょう。
ありがとうございます、EMAでやってみます。
ありがとうございます、EMAでやってみます。
ただ、内蔵の iMA() はピリオドを整数に丸めるので、使わないでください。
この関数(または類似のもの)を使用します。
//
//------------------------------------------------------------------
//
//
//
//
//
double workEma[][3];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;
//
//
//
//
//
double alpha = 2.0 / (1.0+period);
workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);
return(workEma[r]);
}
を3つの異なる計算インスタンスで使用します。パラメータは単純で、価格、期間、インデックス、インスタンス番号です。
ただ、内蔵の iMA() は周期を整数値に丸めるので使わないでください。
この機能(または類似の何か)を使用してください:
//
//------------------------------------------------------------------
//
//
//
//
//
double workEma[][3];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;
//
//
//
//
//
double alpha = 2.0 / (1.0+period);
workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);
return(workEma[r]);
}
削除してここに貼り付けなければならない ?
double iT3(double price, double period, double hot, bool clean, int i, int instanceNo=0) { double iT3(double price, double period, double hot, bool clean, int i, int instanceNo=0) }.
{
if (ArrayRange(workT3,0) !=Bars) ArrayResize(workT3,Bars);
if (ArrayRange(workT3Coeffs,0))<(instanceNo+1))。ArrayResize(workT3Coeffs,instanceNo+1);
if (workT3Coeffs[_period]!=期間)
{
workT3Coeffs[_period]=期間。
double a = hot;
workT3Coeffs[_c1]=-a*a*a。
workT3Coeffs[_c2] = 3*a*a+3*a*a*a;
workT3Coeffs[_c3] = -6*a*a-3*a*a*a;
workT3Coeffs[_c4] = 1+3*a+a*a+3*a*a;
if (クリーン)
workT3Coeffs[_alpha] = 2.0/(2.0 + (period-1.0)/2.0);
else workT3Coeffs[_alpha] = (MathCos(2*Pi/period)+MathSin(2*Pi/period)-1)/MathCos(2*Pi/period); if (clean) workT3Coeffs[_alpha] = 2.0/(2.0 + (period-1.0) /2.0);
}
私は削除してここに貼り付ける必要があります?
double iT3(double price, double period, double hot, bool clean, int i, int instanceNo=0)
{
if (ArrayRange(workT3,0) !=Bars) ArrayResize(workT3,Bars);
if (ArrayRange(workT3Coeffs,0))<(instanceNo+1))。ArrayResize(workT3Coeffs,instanceNo+1);
if (workT3Coeffs[_period]!=期間)
{
workT3Coeffs[_period]=期間。
double a = hot;
workT3Coeffs[_c1]=-a*a*a。
workT3Coeffs[_c2] = 3*a*a+3*a*a*a;
workT3Coeffs[_c3] = -6*a*a-3*a*a*a;
workT3Coeffs[_c4] = 1+3*a+a*a+3*a*a;
if (クリーン)
workT3Coeffs[_alpha] = 2.0/(2.0 + (period-1.0)/2.0);
else workT3Coeffs[_alpha] = (MathCos(2*Pi/period)+MathSin(2*Pi/period)-1)/MathCos(2*Pi/period);
}ソホクール
ここで、どのように行うことができるかの1つのバージョン(これはまだ適応的なバージョンではありません)を投稿しました :https://www.mql5.com/en/forum/174961/page10
今、あなたはそれを適応させる必要があります(結局それはあなたのアイデアだった)。
こんにちは、Mladenです。
アダプティブ機能は非常に興味深い。
T3は、スイス・アーミー・アルファを使用しています。
アルファは、クリーンとスイスアーミーの2種類から選択できます。
よろしくお願いします。
PS: もし、あなたが通常のアルファ周期を望むなら、クリーンアルファ:2 x periodを使用することができます。
こんにちは、皆さん。
ATRチャンネルを追加しました。
標準偏差を用いたT3インジケーター(T3は計算長が整数である必要がないため、適応に非常に適している - 例えば、nnn.5 T3を計算できる - そしてそれは適応が適用されても完全に滑らかなT3値を与えるが、他のいくつかの平均タイプの適応には当てはまらない)
追記:ソースのコンパイルに問題がある方のためにex4も添付します。インジケータは最初から最後まで私が書いたものなのに、私のビルドはしばらくコンパイルを拒否していました。今、突然、問題なくコンパイルできるようになったので、他の人が私と同じ問題を起こさないかどうか、自信がありません。その場合は、ex4をダウンロードしてください(ビルド500でビルドされています)。
PS: "通常の "T3指標と比較するとき、T3Originalをfalseに設定する(ほとんどのT3指標はFulks/Matulichの計算を使用して、オリジナルのTim Tillson計算ではないので)。親愛なるムラデン
添付のインジケーターを「Adaptive T3 calculations」でコンバートしていただくことは可能でしょうか!
よろしくお願いします。
シークレットコード
親愛なるMladen
添付のインジケーターを「Adaptive T3 calculations」でコンバートすることは可能でしょうか!?
よろしくお願いします。
シークレットコードシークレットコード
こんにちは、ムラデンです。
価格のスムージングやマーケットサイクルへの適応など、あなたの美しいコーディング方法を集めたライブラリファイルを作ることをお考えになったことはありませんか??私は、そのようなファイルは、多くの点で非常に有用であると思います。少なくとも、あなたの多くの指標のコーディング構造をよりクリーンでクリアにすることができます(彼らはすでに非常にクリーンでクリアです、私は
、常により良くしたいと願い、より優れたものを探します)。
私は個人的に、あなたの有名なDynamicZone.dllと同じように、あなたからそのようなリブファイルを持っているのが好きです。これらはすべて、少なくとも私にとって、コーディングの世界をより面白く、より便利にしてくれます。