- ベストアンサー
トレンドラインの計算式について
ある一定期間(例えば20日)には、山や谷がありますが、山と山を結んだトレンドライン(y=a1x+b1)と谷と谷を結んだトレンドライン(y=a2x+b2)をそれぞれ計算したいのですが、どうすればよいのでしょうか。 この2種類のトレンドラインは、時間がたつにつれて、交差する場合と広がっていく場合があるのですが、交差するときの時間と価格を、分析したいと思っています。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- トレンドラインは有用か
こんばんは。 いろいろな本を読んでいるのですが、 疑問が解決しないので質問する事にしました。 私が理解しているトレンドラインとは - 強気 弱気といった相場の方向目安としてチャート上に引く線 - 高値-安値を結ぶ線だが明確な定義はない - 多くの人がそこに売買ポイントを設置しているであろうと想定される心理的な支持抵抗ポイント です。 私の疑問ですが、 トレンドラインは後付け論という気がするんです。 たとえばAを最安値とみてトレンドラインA1を引き、ブレークアウトポイントA2を設定、価格A3で買ったとしても、そのあと価格が最安値を更新すればトレンドラインとブレークアウトも動きます。 ということは、正しいブレークアウトポイントにたどり着くまで、何度もトレンドラインを引かなければならず、結果として錯誤と訂正を繰り返すことになると思うのです。 私の考えが間違っているのかもしれませんが... どうも不思議で。 それでも有効なんでしょうか。 実際に使っている方のご意見など伺えれば幸いです。 よろしくお願いします。
- ベストアンサー
- 株式市場
- Excel VBA TREND関数について
はじめまして、以前に教えて!gooに同じ質問が掲載されており、参考にさせて頂いたのですが 演算結果に違いが出てしまい原因がわかりません。どなたかアドバイスいただけませんか? 私の環境 winXP sp3 office2000 ---------------------------------------------------------------------------------- 以前の回答(1) Sub Trend_Test() Dim y(10) As Double '既知のy Dim x(10) As Double '既知のx Dim newX As Double '新しいx '配列y()、x()に値を代入 y(1) = 100: x(1) = 1 y(2) = 200: x(2) = 2 y(3) = 300: x(3) = 3 y(4) = 400: x(4) = 4 y(5) = 500: x(5) = 5 y(6) = 600: x(6) = 6 y(7) = 700: x(7) = 7 y(8) = 800: x(8) = 8 y(9) = 900.1: x(9) = 9 '新しいx(例) newX = 5.5 '試しに計算結果を出力 Range("A1") = Application.Trend(y, x, newX, True) Range("A2") = Application.Trend(y, x, newX + 1, True) Range("A3") = Application.Trend(y, x, newX + 2, True) End Sub ---------------------------------------------------------------------------------- 以前の回答(2) Sub TEST_Trend() Dim x As Variant Dim y As Variant Dim NEWx As Double x = Array(0.005479452, 0.019178082, 0.038356164, 0.082191781, 0.167123288 _ , 0.252054795, 0.328767123, 0.41369863, 0.495890411, 0.580821918, 0.663013699 _ , 0.747945205, 0.832876712, 0.915068493, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 20) y = Array(0.055, 0.055, 0.057, 0.064, 0.086, 0.086, 0.087, 0.096 _ , 0.099, 0.1, 0.1, 0.1, 0.01, 0.103, 0.106, 0.15, 0.233 _ , 0.347, 0.483, 0.64, 0.817, 0.995, 1.163, 1.31, 1.545, 1.797, 2.07) NEWx = 0.05 Dim i As Integer For i = 1 To 20 Cells(i, 1) = Application.Trend(y, x, NEWx + i - 1, True) Next i End Sub ---------------------------------------------------------------------------------- 今回の検証 Dim y(6) As Double Dim x(6) As Double Dim newX As Double Dim YY As Variant Dim XX As Variant newX=7 y(1) = 92.87: x(1) = 1 y(2) = 92.55: x(2) = 2 y(3) = 91.64: x(3) = 3 y(4) = 92.3: x(4) = 4 y(5) = 93.29: x(5) = 5 y(6) = 92.59: x(6) = 6 Range("A1") = Application.trend(y, x, newX, True) Range("A1") には"119.085714285714"が出力されます XX = Array(1, 2, 3, 4, 5, 6) YY = Array(92.87, 92.55, 91.64, 92.3, 93.29, 92.59) または XX = Array(x(1), x(2), x(3), x(4), x(5), x(6)) YY = Array(y(1), y(2), y(3), y(4), y(5), y(6)) Range("B1") = Application.trend(YY, XX, newX, True) Range("B1") には"92.688"が出力されます ワークシート上でtrend関数を実行すると "92.688"を返しますので Arrayを使用した値と同じです ここで問題がありまして Do...Loop等でx(1)~x(6), y(1)~y(6)の値を取り出しています 取り出した配列(値は固定ではないのです)をどうのように Array(1, 2, 3, 4, 5, 6) または Array(x(1), x(2), x(3), x(4), x(5), x(6)) 等の形にしたら良いか分かりません たとえば Dim a as String Dim b as String a="1, 2, 3, 4, 5, 6" b = "92.87, 92.55, 91.64, 92.3, 93.29, 92.59" XX = Array(a) YY = Array(b) また、 Dim a As Variant Dim b As Variant a="1, 2, 3, 4, 5, 6" b = "92.87, 92.55, 91.64, 92.3, 93.29, 92.59" XX = Array(a) YY = Array(b) Range("D1") = Application.trend(YY, XX, newX, True) 演算結果は"#VALUE!"を返します どうのようにしたらよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- EXCEL97VBAにおける、TREND(ワークシート関数)の配列入力は?
EXCEL97のワークシートでファイルを作成したのですが、データ数が膨大で動かない(計算終了まで時間がかかりすぎる)ため、ワークシート関数の代わりに、VBAのSub~End Subを作成し、計算結果(式ではなく数値)のみをセルに貼り付ける作業を行っています。 ワークシート関数のTRENDを使用しているのですが、これをVBA上で使用するためにどう入力すれば良いかわかりませんので、ご教授いただきたいと思います。 myCELL=Application.TREND(既知のy, 既知のx, 新しいx, 定数) でmyCELLを計算させたいのですが、 配列の既知のyおよび既知のxがどのように入力すれば良いか判りません。 この数値をセル上において、例えばA1:A10、B1:B10という形にすることは できますが、求めていますのは X1,X2~X10 Y1,Y2~Y10の変数がVBAのプログラム上にある場合の配列の入力 (数値取込?)を教えていただきたいと思います。 TREND関数はVBAでも使用できる関数となっていますが、 私の求めるやり方は不可能である場合もその旨をお教えください。 よろしくお願い申し上げます。
- ベストアンサー
- オフィス系ソフト
- エクセルのTREND関数について
カテゴリをどこに指定したらいいかわからなかったので、カテ違いなら申し訳ないです。 エクセルのTREND関数を用いてある予測値を求めているのですが、 既知のy 既に分かっているyの値をセル範囲の参照などで指定(y=mx+bという関係になります) 既知のx 既に分かっているxの値をセル範囲の参照などで指定(省略可能)(y=mx+bという関係になります) 新しいx yの値を計算するための新しいxの値を指定 ということは参考サイトなどでわかるのですが、予測値を求める際に何か複雑な数式を用いてるのでしょうか? できればその数式をおしえてほしいです。よろしくお願いします。
- 締切済み
- 会計ソフト
- 微分が計算できない。
x = ( a^2+ b^2 + c^2 )^1/2として、x^2 = 2x(a/x)という問題を示すのですが以下のように計算してみたところ、どうしてもあいませんでした。 ( a^2+ b^2 + c^2 ) = Yとおきました。 x^2 = Y^(1/2+2) = Y^(5/2) dY^(5/2)/da = 5/2Y^(3/2) * da/dx = 5/2Y^(3/2) * 2a = ・・・ よろしくお願いします。
- ベストアンサー
- 数学・算数
- excelのtrend関数とsum関数について
いくつかエクセルについて質問がありますので、知っている方がおりましたら、よろしくお願いいたします。 1.a1~d5まで数字が入っており、それぞれの行の平均を合計したいと思っています。途中の平均の式を出さずに合計を出す式って作ることができるのでしょうか? 2.y軸を日付としてtrend関数を使いたいのですが、x1の列に対応しているyとx2に対応しているyがそれぞれバラバラです。それでもtrend関数を使うことってできるのでしょうか? 3.a1~b13まで小さい順に数字が入っていて、それをc行にまとめて小さい順に並べたいのですが、min関数とif関数を組み合わせている関数ってあるのでしょうか? 関数辞典を買ってみても答えを見つけることができず・・・1,2に限っては別の所に計算して出しましたが、もし簡単にできる方法を知っている方がおりましたら、よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
お礼
同じような人生を送っている人にめぐりあうと、励みになります。 どうもありがとうございました。