スルトノフ型差分計 - ページ 41 1...34353637383940414243444546474849 新しいコメント Ihor Herasko 2017.09.23 10:32 #401 Dmitry Fedoseev: 5分後にコードが表示されます。RSIは指数平滑化と同じで周期が長いワイルダースムージングを使用しているため、ミスマッチが目立つ場合があることに留意してください。何を準備するのか?RSIからメインバッファを捨て、その代わりに既存の2つのバッファを配置します。//+------------------------------------------------------------------+ //| RSI.mq4 | //| Copyright 2005-2014, MetaQuotes Software Corp. | //| https://www.mql4.com | //+------------------------------------------------------------------+ #property copyright "2005-2014, MetaQuotes Software Corp." #property link "https://www.mql4.com" #property description "Relative Strength Index" #property strict #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 clrBlue #property indicator_color2 clrRed //--- input parameters input int InpRSIPeriod=14; // RSI Period //--- buffers double ExtPosBuffer[]; double ExtNegBuffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit(void) { string short_name; //--- 2 additional buffers are used for counting. SetIndexBuffer(0,ExtPosBuffer); SetIndexBuffer(1,ExtNegBuffer); //--- indicator line SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE); //--- name for DataWindow and indicator subwindow label short_name="RSI("+string(InpRSIPeriod)+")"; IndicatorShortName(short_name); SetIndexLabel(0,short_name); //--- check for input if(InpRSIPeriod<2) { Print("Incorrect value for input variable InpRSIPeriod = ",InpRSIPeriod); return(INIT_FAILED); } //--- SetIndexDrawBegin(0,InpRSIPeriod); //--- initialization done return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Relative Strength Index | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int i,pos; double diff; //--- if(Bars<=InpRSIPeriod || InpRSIPeriod<2) return(0); //--- counting from 0 to rates_total ArraySetAsSeries(ExtPosBuffer,false); ArraySetAsSeries(ExtNegBuffer,false); ArraySetAsSeries(close,false); //--- preliminary calculations pos=prev_calculated-1; if(pos<=InpRSIPeriod) { //--- first RSIPeriod values of the indicator are not calculated ExtPosBuffer[0]=0.0; ExtNegBuffer[0]=0.0; double sump=0.0; double sumn=0.0; for(i=1; i<=InpRSIPeriod; i++) { ExtPosBuffer[i]=0.0; ExtNegBuffer[i]=0.0; diff=close[i]-close[i-1]; if(diff>0) sump+=diff; else sumn-=diff; } //--- calculate first visible value ExtPosBuffer[InpRSIPeriod] = sump / InpRSIPeriod; ExtNegBuffer[InpRSIPeriod] = sumn / InpRSIPeriod; //--- prepare the position value for main calculation pos=InpRSIPeriod+1; } //--- the main loop of calculations for(i=pos; i<rates_total && !IsStopped(); i++) { diff=close[i]-close[i-1]; ExtPosBuffer[i]=(ExtPosBuffer[i-1]*(InpRSIPeriod-1)+(diff>0.0?diff:0.0))/InpRSIPeriod; ExtNegBuffer[i]=(ExtNegBuffer[i-1]*(InpRSIPeriod-1)+(diff<0.0?-diff:0.0))/InpRSIPeriod; } //--- return(rates_total); } //+------------------------------------------------------------------+ そこにスムージングはありません。そして、ベアの強 さに童子も含まれているところが計算の違いです。そこが違うところです。DAはこれを考慮に入れています。 Yousufkhodja Sultonov 2017.09.23 10:40 #402 Dmitry Fedoseev: 5分後にコードが表示されます。RSIは指数関数と同じで周期が長いワイルダースムージングを使用しているため、ミスマッチが目立つ場合があることに留意してください。 もう手を引くんですか? Dmitry Fedoseev 2017.09.23 10:44 #403 添付はインジケーターです。パラメータperiod - 小節単位の期間。Components- コンポーネント計算オプション。c_rsi - RSI の場合.c_adx - ADXの場合c_x - RSIと同様ですが、期間ではなく、実際の増分値で分割します。スムース- 滑らかな方法。 s_wilder - ワイルダー法s_ema - 指数平滑化。RSIの成分はWilderで平滑化され、ADXの成分は従来の指数法で平滑化されていることに留意してください(つまり、RSIの期間14はADXの期間27に相当します)。パワー- 最終ラインの計算方法。f_off - コンポーネントを見やすくするために表示しない。f_rsi - RSI の場合.f_adx - ADXとして。参考:RSIの最終ラインは平滑化されませんが、ADXは平滑化されます。***このインジケータは、設定によりRSIやADX、様々なハイブリッドを取得することができます。RSIを取得するため。コンポーネント - c_rsiスムース - s_wilderパワー - f_rsi;ADXを取得するためにコンポーネント - c_adxスムース - s_emaパワー - f_adx電源 - コンポーネントを邪魔しないように有効/無効を設定します。***この 記事の画像のようにインジケータが2つあるテンプレートも添付しています。 ファイル: qwerty.mq5 6 kb 2ind.tpl 201 kb Dmitry Fedoseev 2017.09.23 10:45 #404 Yousufkhodja Sultonov: 今バックアップしていますか?バックストーリーは?記事を書くのに5分って、多いですか? Dmitry Fedoseev 2017.09.23 10:47 #405 Ihor Herasko: ...アンチエイリアスが入ってないんですよね...。それは何ですか?-ExtPosBuffer[i]=(ExtPosBuffer[i-1]*(InpRSIPeriod-1)+(diff>0.0?diff:0.0))/InpRSIPeriod; ExtNegBuffer[i]=(ExtNegBuffer[i-1]*(InpRSIPeriod-1)+(diff<0.0?-diff:0.0))/InpRSIPeriod; ウィルダースムージングです。基本的には指数関数と同じですが、速度が遅いのが特徴です。 Yousufkhodja Sultonov 2017.09.23 10:47 #406 Dmitry Fedoseev: バックストーリーは?記事を書くのに5分というのは多いのでしょうか? DAにスムージングはありませんし、必要ありません。それに対して、あなたは何と言いますか? Dmitry Fedoseev 2017.09.23 10:51 #407 Yousufkhodja Sultonov: DAにはスムージングはありませんし、必要ありません。それについてどう思いますか?RSIのように平滑化するのではなく、成分そのものを平滑化することが可能であり、単純な平均 値である。上記の汎用インジケータを改良して、スムージングの有効・無効を設定することが可能です。しかし、コンセプト的には何も変わりません。それに、話す前に見せた方がいい。なんでそんなに厳しく聞くんだよ!!!!!!!!!!!!!!!!!ボコッ Yousufkhodja Sultonov 2017.09.23 10:53 #408 Dmitry Fedoseev: バックストーリーは?記事を書くのに5分というのは多いのでしょうか? 私が言いたかったのは、こういうことです。 "RSIはウィルダースムージングを使用しており、指数と 同じですが周期が大きいので、そこからミスマッチが目立つことがあることを念頭に置いてください。"期間を長くしたり短くしたり、指数関数的または規則的に平滑化したりと、どんな大会でも......これって何の意味があるんだろう?DAは、雄牛には角を、熊には前足で立ち向かいます。 Yousufkhodja Sultonov 2017.09.23 10:54 #409 Dmitry Fedoseev: RSIのように平滑化するのではなく、成分そのものを平滑化することが可能であり、これは単純平均である。上記の汎用インジケータを改良して、スムージングの有効・無効を設定することが可能です。しかし、コンセプト的には何も変わりません。 もちろんできるようになりました。 Дмитрий 2017.09.23 10:55 #410 Dmitry Fedoseev: RSIのように平滑化するのではなく、成分そのものを平滑化することが可能であり、単純な平均値である。私の上記の普遍的なインジケータを改良して、スムージングの有効/無効を設定することができます。しかし、コンセプト的には何も変わりません。あなたは、詩の言葉を話す人と数式で議論しようとしているのです。 1...34353637383940414243444546474849 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
5分後にコードが表示されます。RSIは指数平滑化と同じで周期が長いワイルダースムージングを使用しているため、ミスマッチが目立つ場合があることに留意してください。
何を準備するのか?RSIからメインバッファを捨て、その代わりに既存の2つのバッファを配置します。
そこにスムージングはありません。そして、ベアの強 さに童子も含まれているところが計算の違いです。そこが違うところです。DAはこれを考慮に入れています。5分後にコードが表示されます。RSIは指数関数と同じで周期が長いワイルダースムージングを使用しているため、ミスマッチが目立つ場合があることに留意してください。
添付はインジケーターです。
パラメータ
period - 小節単位の期間。
Components- コンポーネント計算オプション。
スムース- 滑らかな方法。
パワー- 最終ラインの計算方法。
参考:RSIの最終ラインは平滑化されませんが、ADXは平滑化されます。
***
このインジケータは、設定によりRSIやADX、様々なハイブリッドを取得することができます。
RSIを取得するため。
ADXを取得するために
電源 - コンポーネントを邪魔しないように有効/無効を設定します。
***
この 記事の画像のようにインジケータが2つあるテンプレートも添付しています。
今バックアップしていますか?
バックストーリーは?記事を書くのに5分って、多いですか?
...
アンチエイリアスが入ってないんですよね...。それは何ですか?-
ウィルダースムージングです。基本的には指数関数と同じですが、速度が遅いのが特徴です。バックストーリーは?記事を書くのに5分というのは多いのでしょうか?
DAにはスムージングはありませんし、必要ありません。それについてどう思いますか?
RSIのように平滑化するのではなく、成分そのものを平滑化することが可能であり、単純な平均 値である。上記の汎用インジケータを改良して、スムージングの有効・無効を設定することが可能です。しかし、コンセプト的には何も変わりません。
それに、話す前に見せた方がいい。なんでそんなに厳しく聞くんだよ!!!!!!!!!!!!!!!!!ボコッ
バックストーリーは?記事を書くのに5分というのは多いのでしょうか?
期間を長くしたり短くしたり、指数関数的または規則的に平滑化したりと、どんな大会でも......これって何の意味があるんだろう?DAは、雄牛には角を、熊には前足で立ち向かいます。
RSIのように平滑化するのではなく、成分そのものを平滑化することが可能であり、これは単純平均である。上記の汎用インジケータを改良して、スムージングの有効・無効を設定することが可能です。しかし、コンセプト的には何も変わりません。
RSIのように平滑化するのではなく、成分そのものを平滑化することが可能であり、単純な平均値である。私の上記の普遍的なインジケータを改良して、スムージングの有効/無効を設定することができます。しかし、コンセプト的には何も変わりません。
あなたは、詩の言葉を話す人と数式で議論しようとしているのです。