リサーチ(63) – LR Sloop戦略

Pine Script

今日は線形回帰の傾きとローソク足の陰陽を用いた戦略をシェアします。

 

バックテスト

S&P500(CFD)

 

DOW30(CFD)

 

NASDAQ(CFD)

 

 

 

📝 概要

「LR Slope Hook」 という、
線形回帰の傾き(Linear Regression Slope)を使った 押し目・平均回帰型のロング専用戦略 です。

ポイントはとてもシンプルで、

  • 価格は一度下げている(弱気足)
  • でも トレンドの内部構造(LR Slope)は反転し始めている
  • そこで「行き過ぎからの戻り」を拾う

という考え方です。

裁量トレードでよくやっている
「ローソクは弱いけど、下げの勢いが鈍ってきたよね?そろそろリバるんじゃね?」
という感覚を、Pine Scriptで素直にコード化した戦略だと思ってください。

 

 

 

🎯 作成の意図

この戦略の意図するところは大きく3つあります。

① 価格そのものではなく「傾きの変化」を見たい

単純な移動平均クロスやRSIではなく、
回帰直線の“傾き”がどう変化しているか に注目しています。

特にここでは、

  • 直前まで傾きは下向き
  • でも最新バーで傾きが上向きに転じる

という、いわゆる Hook(フック)形状 をエントリー条件にしています。

 

② 「弱気足 × 内部反転」という組み合わせ

エントリー条件にあえて

close < open

を入れているのがポイントです。

見た目は弱い足なのに、
中身(LR Slope)はもう反転している。

この ギャップ が、平均回帰のうま味になりやすい場面です。

 

③ ロットはATRベースで自動計算

  • ATR
  • 口座サイズ
  • リスク%

から 自動で取引数量を計算 しています。

バックテストでも実運用でも、そのまま使える形を意識しています。

 

 

 

📘 コード(戦略部分)の解説

ここでは、戦略の“心臓部”だけを見ていきます。

■ Linear Regression Slope の計算

lrs = ta.linreg(hlc3, i_lrsPeriod, 0) - ta.linreg(hlc3, i_lrsPeriod, 1)

これは少しトリッキーですが、

  • 今の回帰値
  • 1本前の回帰値

の差分を取ることで、傾き(Slope)そのもの を擬似的に計算しています。

 

■ Hook パターンの判定

lrsRising = lrs > lrs[1]

さらにエントリー条件では、

lrsRising and lrs[1] < lrs[2]

となっており、

  • 2本前 → 1本前:悪化
  • 1本前 → 現在:改善

という 底打ち→反転 の形だけを拾います。

 

■ ロングエントリー条件

longEntry =
    close < open and
    lrsRising and
    lrs[1] < lrs[2] and
    not isLong

まとめると、

  • 弱気足
  • LR Slope がフック状に反転
  • バックテスト期間内
  • ノーポジション

このすべてが揃ったときだけロングします。

 

■ エグジット条件(2パターン)

longExit = isLong and (i_useMAExit ? close > ma : close > hlc3)

エグジットはスイッチ式で、

  • MAを上抜けたら利確
  • または Typical Price(HLC3)を上抜けたら利確

どちらかを選べるようにしています。

「戻りを浅く取るか、少し伸ばすか」を
パラメータで調整できる設計です。

 

 

 

🚀 ワン モア ステップ

この戦略は、あくまで ベース骨格 です。
ここから先は、好みに応じていくらでも育てられます。

例えば、

  • 上位足のトレンドフィルターを追加する
  • ボラティリティが低すぎる局面を除外する
  • エグジットをATRトレーリングに変更する
  • ショート側も対称構造で実装する

などが自然な拡張です。

特に 「Hookは出ているけど、相場が死んでいる」 場面をどう弾くかは、
次の改善ポイントになりやすいです。

 

 

 

まとめ

「価格はウソをつくけど、傾きは本音を漏らす」
そんな発想が好きな方には、かなり手応えのある戦略だと思います。

 

 

 

コアメンバー向けソースコード

こちらからどうぞ。

note ご指定のページが見つかりません

コメント

タイトルとURLをコピーしました