MAX トレンド
0post
2025.12.07
:0% :0% (30代/男性)
人気のポスト ※表示されているRP数は特定時点のものです
フォロワーさん限定🎉
【超短期決戦⚔️】
12月毎日プレゼント企画🎁〈7日目〉
本日のプレゼントはこちら🎁✨
【エーフィV MAXプロモ】PSA10🎉
多くのフォロワー様へ🙇
いつも仲良くしてくださりありがとうございます🙇😭
⚫︎毎日企画開始🎉
⚫︎毎日誰かが当選🎉
この1ヶ月楽しんでください☺️
初めましての方へ!
日頃よりフォロワーさんが盛り上がるよう様なことをしております!
これを機にフォローしてもらえたら嬉しいです☺️
見かけたらぜひ運試し程度に参加してみてください✨
応募方法🎉
悪いブラッキーをフォロー✨
こちらのポストをリポスト✨
いいね、コメント、引用も嬉しいです☺️
応募期限🎉
今から〜明日夜20:00頃まで‼︎
明日夜20時目安に〆切‼️
なるべく!即当選報告致します✨
⚠️毎日となると。都合により即当選発表できない場合もございます🙇
その際はお時間をおいてしっかりと当選発表するのでご了承下さい🙇
ラッキーブラッキー!
今年最後の運試し‼️
よろしくお願い致します🙇✨ December 12, 2025
2,819RP
🌈今年最後のチーム対抗!!ラッキーDOPA!7 予告🌈
🌈自身のカラーは必ずご確認下さい!!
🌈総還元率はMAX1️⃣0️⃣0️⃣%‼️
⏰18時より順次発売!!✨
フォロー&RP&いいねで
1名様に4,777pt🎁
〆切 24時
好きな色は何色ですか!?
リプライ回答で当選確率🆙 https://t.co/69GEK3mnbn December 12, 2025
1,038RP
梅棒 20th Breakdown『FINAL JACKET』
無事、大千穐楽を迎えることができました。
たくさんのご来場、ご声援ありがとうございました。
今の梅棒を皆さんにお届けできて幸せでした。
これからも梅棒愛MAXで頑張っていきます。
カリム役、ジャイアントおしゃべりモンスター・スカイツリー多和田でした🗼 https://t.co/YlrQ1LuSDO December 12, 2025
236RP
< ꒰ #12月のvtuberフォロー祭り ꒱
💗ポンコツきつね⟡.·
🐾君の認知度レベルMAX...·͜·ᰔᩚ
💗リスナーさんとプロレス好き.ᐟ.ᐣ
🐾色んな声が出せる♡
コメントもROMも初見さんも大歓迎🌟⋆꙳
気軽に配信に来てね🦊🤘🏻🌸
#Vtuber推し探しにどうぞ https://t.co/7397aNdFpy December 12, 2025
65RP
鼻デカは「皮脂腺の肥大だ」
の指摘が多い
確かに皮脂ドバ体質の特大皮脂腺も
要素の1つだけど
それなら皮脂量MAXな2~30代で
顕著なはず
そもそも
🔹美肌青年だったウッチャン⇨肥大
🔹ニキビ/クレーターありのナンちゃん⇨不変
で矛盾発生
加齢の鼻デカは骨萎縮が主犯
つまり″骨格維持″関連の遺伝 https://t.co/SgZSsrSfPD https://t.co/h1QYLYK02s December 12, 2025
58RP
マラソン倭国記録更新!!2時間4分55秒!!
先日のNumberWeb記事を読んで、VO2Max(最大酸素摂取量)などのデータを取り入れたトレーニングの話が興味深かったけど、早速、結果に繋げるところが、彼の凄さだと改めて実感する。
いやはや、大したもんだ!! https://t.co/70ErfzBUWt December 12, 2025
56RP
横浜のいのまたむつみ回顧展に言ってきた人の愚痴
(X 投稿承認済み)
・行ったら予約入場だった 仕方ないから一緒に行った友達に後の時間2枚買ってもらって暇つぶし
・いきなり物販コーナー 後戻り不可
これから見る絵を最初にグッズで見せる馬鹿の所業
・エポスのカード勧誘がうざい
友達がせっかくだからといって承諾したら、クレジットカード付きのやつなので個人情報入力やらで30分以上別階に隔離されてた
・図録が中身確認出来ない サイバーフォーミュラーの書き下ろし目当てだったので買うかどうかギャンブル
・トキワ荘でやってる回顧展と同時期にやるな
回顧展自体は良かったと言うてましたので、物販トラップの印象次第。
2000年代入って以降の絵は可愛すぎMAXなので女子にもっと見て貰いたいのに何やってんのか ということでした。 December 12, 2025
52RP
なんであんなにモヤモヤしたのかなぁ
と自問しているんだけどさ
「周りからどう見られるか」
に苦しんで苦しんで、
学校に行けないほど苦しんで
そんな子どもたちをたくさん見てきているからなんだなと思ったよ。
例えばASDの子たちは、周りの空気を読んだりすることが苦手。つい変な発言をしてしまったり、今やるべきことがわからなくなったりする。
でね、先生からは
「周りからどう見られるかを意識しなさい。じゃないと仲間外れにされますよ。」
と指導を受ける。
だから、必死で、エネルギー振り絞って、「変にならないように」頑張るの。黙るの。自分を押し殺すの。
で、苦しくて、動けなくなる。
周りのみんなは先生からのお墨付きがあるからさ、変な子は仲間はずれにしていいわけね。やることやらない人や、迷惑だと思ったら外しちゃっていい。
怖いぜ
怖いよ
空気を読めて、やるべきことをすぐに理解できて、勉強についていけて、迷惑と思われないように動けて、「周りに見られている」ことが苦にならなくて
そんな子たちじゃないと生きていけない場所は、苦しいよ。大人でも苦しいのに、まだ小学生だぜ?
子どもってさ、もっと未熟でバラバラで、不完全なものじゃんかよ。
あったかくいこうよ
寛容にいこうよ
大人が寛容なら、子どもたちも寛容な集団になるよ。
まなクロの子たち、みんな凸凹MAXだけど、優しいぜ。 December 12, 2025
40RP
【上映映画館追加のお知らせ】
たくさんの方からの反響により、
上映映画館の追加が決定しました✨
皆さまのおかげです!
ありがとうございます🙌
🎞️追加映画館
・T・ジョイ PRINCE 品川(東京)
・JMAX THEATER 上越(新潟)
・天文館シネマパラダイス(鹿児島)
追加情報は決定次第、随時ご案内していきます!
🔗映画公式サイト
https://t.co/FbWaO61omD
#Nissy_Re10thTHEMOVIE December 12, 2025
34RP
楽しみにしていた
MAX VOLUME
腕ブルブルしながら
フルで撮ったけど
完全に
鹿島 vs マリノスになった😂
#antlers
#鹿島アントラーズ
#鹿島のゴール裏が1番かっこいい https://t.co/lxXywVcJcf December 12, 2025
33RP
🎉 🥦第15弾大還元企画🥦 🎉
リキッドプレゼント
純度MAX極上🔥
最高品質の原液&テルペン使用‼️
今回のプレゼント商品
🥭Mango Kush - Sativa
当選者/ 1本プレゼント
※このポストは
12月8日1人当選発表
いいね&リツイート&本垢フォロー(@rasuta420aiz)
ご購入希望の方は
1本3,500 https://t.co/tF0myI47Mw December 12, 2025
25RP
做了一个简化版的交易系统逻辑总结
作用:识别市场从趋势到震荡再到突破的完整生命周期,并在每个阶段采用策略。
以下是数学语言和代码👇:
(代码太长了,删了一部分,可以根据数学语言自己推)
价格序列与技术指标:
Pt=第t期收盘价Pt=第t期收盘价
Ht,Lt,Ot,Vt=最高价、最低价、开盘价、成交量Ht,Lt,Ot,Vt=最高价、最低价、开盘价、成交量
ATRt=1n∑i=0n−1TRt−iATRt=n1i=0∑n−1TRt−i
其中:TRt=max(Ht−Lt,∣Ht−Pt−1∣,∣Lt−Pt−1∣)TRt=max(Ht−Lt,∣Ht−Pt−1∣,∣Lt−Pt−1∣)
箱体结构参数:
BoxHigh=maxi∈[t−W,t]HiBoxHigh=i∈[t−W,t]maxHi
BoxLow=mini∈[t−W,t]LiBoxLow=i∈[t−W,t]minLi
BoxHeight=BoxHigh−BoxLowBoxHeight=BoxHigh−BoxLow
建议窗口期 W=30∼50W=30∼50 根K线。
相对位置函数:
PositionRatiot=Pt−BoxLowBoxHeightPositionRatiot=BoxHeightPt−BoxLow
分层结构:
Leveli=BoxLow+i×BoxHeight4,i∈{0,1,2,3,4}Leveli=BoxLow+i×4BoxHeight,i∈{0,1,2,3,4}
多维度震荡识别系统
震荡评分函数
构建四维评分体系来量化震荡状态:
ConsolidationScore=w1⋅Stime+w2⋅Sspace+w3⋅Svolatility+w4⋅SvolumeConsolidationScore=w1⋅Stime+w2⋅Sspace+w3⋅Svolatility+w4⋅Svolume
权重建议:w1=0.35,w2=0.30,w3=0.20,w4=0.15w1=0.35,w2=0.30,w3=0.20,w4=0.15
时间维度评分
整理时间比率:
Rtime=TconsolidationTprevious_trendRtime=Tprevious_trendTconsolidation
时间评分函数:
Stime={0.2if Rtime<0.50.5if 0.5≤Rtime<1.00.8if 1.0≤Rtime<2.01.0if Rtime≥2.0Stime=⎩⎨⎧0.20.50.81.0if Rtime<0.5if 0.5≤Rtime<1.0if 1.0≤Rtime<2.0if Rtime≥2.0
空间维度评分
边界测试频率:
TestFrequency=∑i=t−Nt1(∣Pi−BoxEdge∣<ϵ)NTestFrequency=N∑i=t−Nt1(∣Pi−BoxEdge∣<ϵ)
其中 ϵ=0.02×BoxHeightϵ=0.02×BoxHeight(边界容差)
箱体强度评分:
Sspace={1.0if UpperTests≥3∧LowerTests≥3∧Breaks=00.7if TotalTests≥4∧Breaks≤10.4if TotalTests≥2∧Breaks≤20otherwiseSspace=⎩⎨⎧1.00.70.40if UpperTests≥3∧LowerTests≥3∧Breaks=0if TotalTests≥4∧Breaks≤1if TotalTests≥2∧Breaks≤2otherwise
波动率维度评分
波动率收敛指标:
VolatilityRatio=ATRcurrentATRtrendVolatilityRatio=ATRtrendATRcurrent
波动率评分:
Svolatility={1.0if VolatilityRatio<0.50.7if 0.5≤VolatilityRatio<0.70.4if 0.7≤VolatilityRatio<0.90if VolatilityRatio≥0.9Svolatility=⎩⎨⎧1.00.70.40if VolatilityRatio<0.5if 0.5≤VolatilityRatio<0.7if 0.7≤VolatilityRatio<0.9if VolatilityRatio≥0.9
成交量维度评分
量能萎缩度:
VolumeDecay=1−Volume‾consolidationVolume‾trendVolumeDecay=1−VolumetrendVolumeconsolidation
成交量评分:
Svolume=min(VolumeDecay×2,1.0)Svolume=min(VolumeDecay×2,1.0)
状态判断逻辑
MarketState={Consolidationif ConsolidationScore>0.65Trendif ConsolidationScore<0.35UncertainotherwiseMarketState=⎩⎨⎧ConsolidationTrendUncertainif ConsolidationScore>0.65if ConsolidationScore<0.35otherwise
三状态交易系统设计
状态机框架
定义三个核心状态:
Ω={Strend,Sconsolidation,Sbreakout}Ω={Strend,Sconsolidation,Sbreakout}
状态转移条件:
Strend→SconsolidationStrend→Sconsolidation:
TrendStrength<0.3∧ConsolidationScore>0.5TrendStrength<0.3∧ConsolidationScore>0.5
Sconsolidation→SbreakoutSconsolidation→Sbreakout:
BreakoutStrength>0.7∧ValidBreakout=TrueBreakoutStrength>0.7∧ValidBreakout=True
区间交易策略(震荡状态)
做空信号生成:
ShortSignalrange={1if PositionRatio>0.75∧TopReversalSignal=True∧RSI>60∧Volume<Volume‾20×0.90otherwiseShortSignalrange=⎩⎨⎧10if PositionRatio>0.75∧TopReversalSignal=True∧RSI>60∧Volume<Volume20×0.9otherwise
顶部反转识别:
TopReversalSignal={Trueif UpperShadowRatio>0.4∧Close<Open∧Close<EMA13FalseotherwiseTopReversalSignal=⎩⎨⎧TrueFalseif UpperShadowRatio>0.4∧Close<Open∧Close<EMA13otherwise
其中:UpperShadowRatio=Ht−max(Ot,Pt)Ht−LtUpperShadowRatio=Ht−LtHt−max(Ot,Pt)
仓位与风控:
Positionrange=Capital×RiskRatio×0.5∣EntryPrice−StopLoss∣Positionrange=∣EntryPrice−StopLoss∣Capital×RiskRatio×0.5
StopLossrange=BoxHigh×(1+SafetyMargin)StopLossrange=BoxHigh×(1+SafetyMargin)
建议 SafetyMargin=0.04∼0.05SafetyMargin=0.04∼0.05
突破跟随策略(突破状态)
突破强度评分:
BreakoutStrength=0.4⋅Sprice+0.3⋅Svolume+0.3⋅SpersistenceBreakoutStrength=0.4⋅Sprice+0.3⋅Svolume+0.3⋅Spersistence
各分量计算:
价格突破深度:
Sprice=min(∣BoxLow−Pt∣BoxLow×10,1.0)Sprice=min(BoxLow∣BoxLow−Pt∣×10,1.0)
成交量放大度:
Svolume=min(VtV‾20−1,1.0)Svolume=min(V20Vt−1,1.0)
持续性确认:
Spersistence=∑i=021(Closet−i<BoxLow)3Spersistence=3∑i=021(Closet−i<BoxLow)
有效突破判断:
ValidBreakout={Trueif BreakoutStrength>0.7∧Pt<BoxLow×0.98∧NoRecentFalseBreak=TrueFalseotherwiseValidBreakout=⎩⎨⎧TrueFalseif BreakoutStrength>0.7∧Pt<BoxLow×0.98∧NoRecentFalseBreak=Trueotherwise
回踩机会识别
回踩窗口定义:
PullbackWindow=[tbreakout,tbreakout+MaxWaitBars]PullbackWindow=[tbreakout,tbreakout+MaxWaitBars]
建议 MaxWaitBars=20MaxWaitBars=20
回踩位置评估:
PullbackRatio=Pt−LowestAfterBreakBoxLow−LowestAfterBreakPullbackRatio=BoxLow−LowestAfterBreakPt−LowestAfterBreak
理想回踩区间:0.382≤PullbackRatio≤0.6180.382≤PullbackRatio≤0.618
回踩做空信号:
ShortSignalpullback={1if t∈PullbackWindow∧PullbackRatio∈[0.382,0.618]∧∣Pt−BoxLow∣<0.03×BoxHeight∧RejectionSignal=True0otherwiseShortSignalpullback=⎩⎨⎧10if t∈PullbackWindow∧PullbackRatio∈[0.382,0.618]∧∣Pt−BoxLow∣<0.03×BoxHeight∧RejectionSignal=Trueotherwise
动态资金分配模型
自适应分配函数
αt=αbase+Δα⋅f(ConsolidationScoret)αt=αbase+Δα⋅f(ConsolidationScoret)
基础分配:
αbase=0.75(保守策略基础占比)αbase=0.75(保守策略基础占比)
动态调整:
Δα=0.2×(1−ConsolidationScoret)Δα=0.2×(1−ConsolidationScoret)
约束条件:0.6≤αt≤0.90.6≤αt≤0.9
资金分配:
Capitalrange=TotalCapital×αtCapitalrange=TotalCapital×αt
Capitalbreakout=TotalCapital×(1−αt)Capitalbreakout=TotalCapital×(1−αt)
代码:
import numpy as np import pandas as pd from dataclasses import dataclass from typing import Optional, Tuple, Dict, List from enum import Enum class MarketState(Enum): TREND_DOWN = "TREND_DOWN" CONSOLIDATION = "CONSOLIDATION" BREAKOUT = "BREAKOUT" UNCERTAIN = "UNCERTAIN" @dataclass class ConsolidationMetrics: """震荡评估指标""" time_score: float space_score: float volatility_score: float volume_score: float total_score: float market_state: MarketState @dataclass class BoxStructure: """箱体结构""" high: float low: float height: float level_075: float level_050: float level_025: float upper_tests: int lower_tests: int duration: int is_valid: bool @classmethod def from_prices(cls, highs: np.ndarray, lows: np.ndarray, prices: np.ndarray, window: int = 50): """从价格数据构建箱体""" box_high = np.max(highs[-window:]) box_low = np.min(lows[-window:]) box_height = box_high - box_low # 计算关键位置 level_075 = box_low + 0.75 * box_height level_050 = box_low + 0.50 * box_height level_025 = box_low + 0.25 * box_height # 计算边界测试次数 epsilon = 0.02 * box_height upper_tests = np.sum(np.abs(prices - box_high) < epsilon) lower_tests = np.sum(np.abs(prices - box_low) < epsilon) # 验证有效性 is_valid = ( box_height / box_low > 0.15 and upper_tests >= 2 and lower_tests >= 2 and len(prices) >= 20 ) return cls( high=box_high, low=box_low, height=box_height, level_075=level_075, level_050=level_050, level_025=level_025, upper_tests=upper_tests, lower_tests=lower_tests, duration=len(prices), is_valid=is_valid ) def get_position_ratio(self, price: float) -> float: """计算价格在箱体中的相对位置""" if self.height == 0: return 0.5 return (price - self.low) / self.height class ConsolidationBreakoutStrategy: """震荡识别与突破策略""" def __init__(self, capital: float = 100000, risk_per_trade: float = 0.02, lookback_period: int = 50): """ 初始化策略 Args: capital: 总资金 risk_per_trade: 单笔风险比例 lookback_period: 回溯周期 """ https://t.co/CclsZvqogq = capital self.risk_per_trade = risk_per_trade self.lookback_period = lookback_period # 核心参数 self.params = { # 震荡识别 'consolidation_threshold': 0.65, 'trend_threshold': 0.35, 'time_weight': 0.35, 'space_weight': 0.30, 'volatility_weight': 0.20, 'volume_weight': 0.15, # 区间交易 'top_threshold': 0.75, 'range_position_ratio': 0.5, 'safety_margin': 0.04, # 突破跟随 'breakout_threshold': 0.7, 'price_offset': 0.02, 'volume_multiplier': 1.5, 'persistence_bars': 3, # 回踩交易 'pullback_max_wait': 20, 'fib_low': 0.382, 'fib_high': 0.618, 'proximity_threshold': 0.03, } # 状态跟踪 self.current_state = MarketState.UNCERTAIN https://t.co/Hl1CpkP62f_structure: Optional[BoxStructure] = None self.trend_start_idx = None self.consolidation_start_idx = None self.breakout_info = None self.alpha = 0.75 # 保守策略资金占比 def calculate_technical_indicators(self, df: pd.DataFrame) -> pd.DataFrame: """计算技术指标""" df['EMA13'] = df['close'].ewm(span=13).mean() df['RSI'] = self._calculate_rsi(df['close'], 14) df['ATR'] = self._calculate_atr(df, 14) df['Volume_MA'] = df['volume'].rolling(20).mean() return df def _calculate_rsi(self, prices: pd.Series, period: int = 14) -> pd.Series: """计算RSI指标""" delta = prices.diff() gain = (delta.where(delta > 0, 0)).rolling(window=period).mean() loss = (-delta.where(delta < 0, 0)).rolling(window=period).mean() rs = gain / loss rsi = 100 - (100 / (1 + rs)) return rsi def _calculate_atr(self, df: pd.DataFrame, period: int) -> pd.Series: """计算ATR指标""" high_low = df['high'] - df['low'] high_close = np.abs(df['high'] - df['close'].shift()) low_close = np.abs(df['low'] - df['close'].shift()) tr = np.maximum(high_low, np.maximum(high_close, low_close)) return tr.rolling(period).mean() def evaluate_consolidation(self, df: pd.DataFrame, current_idx: int) -> ConsolidationMetrics: """评估震荡状态""" if current_idx < self.lookback_period: return ConsolidationMetrics(0, 0, 0, 0, 0, MarketState.UNCERTAIN) # 1. 时间维度评分 time_score = self._calculate_time_score(current_idx) # 2. 空间维度评分 space_score = self._calculate_space_score() # 3. 波动率维度评分 volatility_score = self._calculate_volatility_score(df, current_idx) # 4. 成交量维度评分 volume_score = self._calculate_volume_score(df, current_idx) # 综合评分 total_score = ( self.params['time_weight'] * time_score + self.params['space_weight'] * space_score + self.params['volatility_weight'] * volatility_score + self.params['volume_weight'] * volume_score ) # 状态判断 if total_score > self.params['consolidation_threshold']: market_state = MarketState.CONSOLIDATION elif total_score < self.params['trend_threshold']: market_state = MarketState.TREND_DOWN else: market_state = MarketState.UNCERTAIN return ConsolidationMetrics( time_score=time_score, space_score=space_score, volatility_score=volatility_score, volume_score=volume_score, total_score=total_score, market_state=market_state ) def _calculate_time_score(self, current_idx: int) -> float: """计算时间维度评分""" if not self.trend_start_idx or not self.consolidation_start_idx: return 0.2 trend_duration = self.consolidation_start_idx - self.trend_start_idx consolidation_duration = current_idx - self.consolidation_start_idx if trend_duration == 0: return 0.2 time_ratio = consolidation_duration / trend_duration if time_ratio < 0.5: return 0.2 elif time_ratio < 1.0: return 0.5 elif time_ratio < 2.0: return 0.8 else: return 1.0 def _calculate_space_score(self) -> float: """计算空间维度评分""" if not https://t.co/Hl1CpkP62f_structure or not https://t.co/Hl1CpkP62f_structure.is_valid: return 0.0 # 边界测试充分性 total_tests = https://t.co/Hl1CpkP62f_structure.upper_tests + https://t.co/Hl1CpkP62f_structure.lower_tests test_score = min(total_tests / 6, 1.0) # 箱体持续时间 duration_score = min(https://t.co/Hl1CpkP62f_structure.duration / 30, 1.0) return (test_score + duration_score) / 2 def _calculate_volatility_score(self, df: pd.DataFrame, current_idx: int) -> float: """计算波动率维度评分""" if current_idx < 40: return 0.0 # 当前波动率 current_atr = df.iloc[current_idx]['ATR'] # 历史波动率 if self.trend_start_idx and self.consolidation_start_idx: trend_atr = df.iloc[self.trend_start_idx:self.consolidation_start_idx]['ATR'].mean() else: trend_atr = df.iloc[current_idx-40:current_idx-20]['ATR'].mean() if trend_atr == 0: return 0.0 vol_ratio = current_atr / trend_atr if vol_ratio < 0.5: return 1.0 elif vol_ratio < 0.7: return 0.7 elif vol_ratio < 0.9: return 0.4 else: return 0.0 def _calculate_volume_score(self, df: pd.DataFrame, current_idx: int) -> float: """计算成交量维度评分""" if current_idx < 40 or not self.consolidation_start_idx: return 0.0 # 震荡期平均成交量 consolidation_vol = df.iloc[self.consolidation_start_idx:current_idx]['volume'].mean() # 趋势期平均成交量 if self.trend_start_idx: trend_vol = df.iloc[self.trend_start_idx:self.consolidation_start_idx]['volume'].mean() else: trend_vol = df.iloc[current_idx-40:current_idx-20]['volume'].mean() if trend_vol == 0: return 0.0 volume_decay = 1 - (consolidation_vol / trend_vol) return min(volume_decay * 2, 1.0) def update_box_structure(self, df: pd.DataFrame, current_idx: int): """更新箱体结构""" if current_idx < self.lookback_period: return window_data = df.iloc[current_idx-self.lookback_period:current_idx+1] https://t.co/Hl1CpkP62f_structure = BoxStructure.from_prices( window_data['high'].values, window_data['low'].values, window_data['close'].values, window=self.lookback_period ) def detect_top_reversal(self, df: pd.DataFrame, current_idx: int) -> bool: """检测顶部反转信号""" if current_idx < 1: return False current = df.iloc[current_idx] # 上影线比例 range_size = current['high'] - current['low'] if range_size == 0: return False upper_shadow = current['high'] - max(current['open'], current['close']) upper_shadow_ratio = upper_shadow / range_size # 综合条件 is_bearish = current['close'] < current['open'] below_ema = current['close'] < current['EMA13'] return upper_shadow_ratio > 0.4 and is_bearish and below_ema def generate_range_signal(self, df: pd.DataFrame, current_idx: int) -> Optional[Dict]: """生成区间交易信号""" if not https://t.co/Hl1CpkP62f_structure or not https://t.co/Hl1CpkP62f_structure.is_valid: return None current_price = df.iloc[current_idx]['close'] position_ratio = https://t.co/Hl1CpkP62f_structure.get_position_ratio(current_price) # 必须在顶部区域 if position_ratio < self.params['top_threshold']: return None # 检测反转信号 if not self.detect_top_reversal(df, current_idx): return None # RSI条件 rsi = df.iloc[current_idx]['RSI'] if rsi < 60: return None # 成交量条件 volume_ratio = df.iloc[current_idx]['volume'] / df.iloc[current_idx]['Volume_MA'] if volume_ratio > 0.9: return None # 计算交易参数 stop_loss = https://t.co/Hl1CpkP62f_structure.high * (1 + self.params['safety_margin']) position_size = self._calculate_position_size(current_price, stop_loss, 0.5) return { 'signal_type': 'RANGE_SHORT', 'entry_price': current_price, 'stop_loss': stop_loss, 'target1': https://t.co/Hl1CpkP62f_structure.level_050, 'target2': https://t.co/Hl1CpkP62f_structure.level_025, 'position_size': position_size, 'position_ratio': position_ratio, 'reason': f'区间顶部做空 (位置={position_ratio:.2%})' } def calculate_breakout_strength(self, df: pd.DataFrame, current_idx: int) -> float: """计算突破强度""" if not https://t.co/Hl1CpkP62f_structure or current_idx < 20: return 0.0 current_price = df.iloc[current_idx]['close'] # 价格突破深度 price_penetration = abs(https://t.co/Hl1CpkP62f_structure.low - current_price) / https://t.co/Hl1CpkP62f_structure.low price_score = min(price_penetration * 10, 1.0) # 成交量放大 vol_ratio = df.iloc[current_idx]['volume'] / df.iloc[current_idx]['Volume_MA'] volume_score = min(vol_ratio - 1, 1.0) # 持续性确认 persistence_count = 0 for i in range(min(self.params['persistence_bars'], current_idx)): if df.iloc[current_idx - i]['close'] < https://t.co/Hl1CpkP62f_structure.low: persistence_count += 1 else: break persistence_score = persistence_count / self.params['persistence_bars'] # 综合评分 return 0.4 * price_score + 0.3 * volume_score + 0.3 * persistence_score def generate_breakout_signal(self, df: pd.DataFrame, current_idx: int) -> Optional[Dict]: """生成突破信号""" if not https://t.co/Hl1CpkP62f_structure: return None current_price = df.iloc[current_idx]['close'] # 检查突破条件 price_break = current_price < https://t.co/Hl1CpkP62f_structure.low * (1 - self.params['price_offset']) strength = self.calculate_breakout_strength(df, current_idx) strong_enough = strength > self.params['breakout_threshold'] if not (price_break and strong_enough): return None # 记录突破信息 self.breakout_info = { 'timestamp': current_idx, 'price': current_price, 'lowest_after': current_price, 'strength': strength } # 生成信号 stop_loss = https://t.co/Hl1CpkP62f_structure.low * 1.02 position_size = self._calculate_position_size(current_price, stop_loss, 1.0) target = https://t.co/Hl1CpkP62f_structure.low - https://t.co/Hl1CpkP62f_structure.height * 2.0 return { 'signal_type': 'BREAKOUT_SHORT', 'entry_price': current_price, 'stop_loss': stop_loss, 'target1': target, 'target2': target * 0.9, 'position_size': position_size, 'breakout_strength': strength, 'reason': f'突破追空 (强度={strength:.2f})' } def generate_pullback_signal(self, df: pd.DataFrame, current_idx: int) -> Optional[Dict]: """生成回踩信号""" if not self.breakout_info: return None # 检查时间窗口 bars_since_breakout = current_idx - self.breakout_info['timestamp'] if bars_since_breakout > self.params['pullback_max_wait']: return None current_price = df.iloc[current_idx]['close'] # 计算回踩比例 lowest_after = self.breakout_info['lowest_after'] if https://t.co/Hl1CpkP62f_structure.low == lowest_after: return None pullback_ratio = (current_price - lowest_after) / (https://t.co/Hl1CpkP62f_structure.low - lowest_after) # 检查回踩区间 in_fib_range = (self.params['fib_low'] <= pullback_ratio <= self.params['fib_high']) near_resistance = (abs(current_price - https://t.co/Hl1CpkP62f_structure.low) < self.params['proximity_threshold'] * https://t.co/Hl1CpkP62f_structure.height) if not (in_fib_range and near_resistance): return None # 检测阻力受阻 current = df.iloc[current_idx] range_size = current['high'] - current['low'] if range_size > 0: upper_shadow = current['high'] - max(current['open'], current['close']) rejection = (upper_shadow / range_size > 0.4 and current['close'] < https://t.co/Hl1CpkP62f_structure.low) else: rejection = False if not rejection: return None # 生成信号 stop_loss = https://t.co/Hl1CpkP62f_structure.low * 1.015 position_size = self._calculate_position_size(current_price, stop_loss, 0.8) target = https://t.co/Hl1CpkP62f_structure.low - https://t.co/Hl1CpkP62f_structure.height * 1.5 return { 'signal_type': 'PULLBACK_SHORT', 'entry_price': current_price, 'stop_loss': stop_loss, 'target1': target, 'target2': target * 0.95, 'position_size': position_size, 'pullback_ratio': pullback_ratio, 'reason': f'回踩做空 (回踩={pullback_ratio:.2%})' } def _calculate_position_size(self, entry_price: float, stop_loss: float, multiplier: float = 1.0) -> float: """计算仓位大小""" risk_amount = https://t.co/CclsZvqogq * self.risk_per_trade stop_distance = abs(entry_price - stop_loss) if stop_distance == 0: return 0 base_position = risk_amount / stop_distance adjusted_position = base_position * multiplier # 仓位上限 max_position = (https://t.co/CclsZvqogq * 0.3) / entry_price return min(adjusted_position, max_position) def update_capital_allocation(self, consolidation_score: float): """更新资金分配""" self.alpha = 0.75 + 0.15 * (1 - consolidation_score) self.alpha = np.clip(self.alpha, 0.6, 0.9) def backtest(self, df: pd.DataFrame) -> Dict: """策略回测""" # 计算技术指标 df = self.calculate_technical_indicators(df) signals = [] state_history = [] for i in range(self.lookback_period, len(df)): # 更新箱体结构 self.update_box_structure(df, i) # 评估震荡状态 metrics = self.evaluate_consolidation(df, i) self.current_state = https://t.co/aYrw6Qe9xL_state # 记录状态 state_history.append({ 'timestamp': df.iloc[i].get('timestamp', i), 'price': df.iloc[i]['close'], 'state': self.current_state.value, 'consolidation_score': https://t.co/bneIHJbMXx_score, 'box_valid': https://t.co/Hl1CpkP62f_structure.is_valid if https://t.co/Hl1CpkP62f_structure else False }) # 更新资金分配 self.update_capital_allocation(https://t.co/bneIHJbMXx_score) # 生成交易信号 signal = None if self.current_state == MarketState.CONSOLIDATION: signal = self.generate_range_signal(df, i) elif self.current_state == MarketState.TREND_DOWN: signal = self.generate_breakout_signal(df, i) # 检查回踩机会 if not signal: signal = self.generate_pullback_signal(df, i) if signal: signal['timestamp'] = df.iloc[i].get('timestamp', i) signal['current_price'] = df.iloc[i]['close'] signal['market_state'] = self.current_state.value signal['alpha'] = self.alpha signals.append(signal) December 12, 2025
25RP
SHUNAN Orbit 2025
rise 3番手はorbit初参加のChanty
会場の一体感はボルーテージMAX!!
カラフルなステージと最前から最後尾まで最高に楽しそうなフロアはライブハウスの醍醐味ですね!!
@OOMOphoto https://t.co/4hpk9cqgmJ December 12, 2025
24RP
ホールチェガンもアリーナチェガンも最高です(;_;)🫶チェキ風に描いて印刷してみた✌️
フィナーレ寂しいけどMAXで楽しむよ(;_;)♡♡ https://t.co/CIZJPaWQlK December 12, 2025
23RP
VISION札幌から戻って早速今日は出勤でありますが、昨夜の余韻が残っているせいかアドレナリンMAX状態で、全然ダルいとは感じない😳奈々様にはやはり私たちを元気にしてくれるオーラを放っているのですね😆✨✨
#水樹奈々
#LIVE_VISION https://t.co/ZmOsjhiG14 December 12, 2025
21RP
公式アカウントで発信すべきか迷いましたが、、
やられた人が発信すべきかと。
指揮者が挨拶して振り返り、指揮を始めて1音目に集中する。時間制限にも追われながら、演奏前の静寂の0から1になる集中力MAXの時に、客席から大きい声でいらんこと言わんといてほしい。 December 12, 2025
21RP
【 本日の結果発表 🎰】
IN #Eスペース600空港店 サマ🔰
𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄
投資 506枚⌇ 回収 1,748枚
⇒プラス1,242枚👏🏻👏🏻
𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄𓐄
> MAX時から減らしたけど
快勝出来て世は満足じゃ🤞🏻♡
初めての店舗さんやったけど
沢山の #ゆんち が朝から
お出迎えしてくれて嬉しかった.ᐟ.ᐟ
スタッフさんも皆ニコニコ優しくて
素敵な店舗さんでした( ˶ˆ꒳ˆ˵ )💫
是非またよろしくお願いします𖤐
#スロシックス #PR December 12, 2025
20RP
天下一品 こってりMAX 納豆 海苔 ギョーザ
家人の街なかでの用達が終わり、締めくくりに家人の要望で久しぶりの天下一品を食べる。やっぱりMAXに納豆の一択となり、どろどろぶくぶくな麺にして滑りよく頬張る。こってり最高。海苔とご飯も有効に使い満足満腹🍀
#天下一品 #ラーメン #納豆 https://t.co/9Jd9OcslL4 December 12, 2025
20RP
東京都千代田区 俺の生きる道 水道橋店でラーメン豚マシ+ヤサイマシ+うずらの卵を食す❗️
B’zを思いっきり楽しんだ後は二郎系をガッツリ楽しむ🥰
ゴワゴワ食感のムチプリ麺に濃厚豚骨スープが絡んで最高に旨し💕🤤
豚さんも大きくて食べ応えMAX🤘
ご馳走さまでした🎵
#俺の生きる道 https://t.co/y1Qu494yyb December 12, 2025
20RP
<ポストの表示について>
本サイトではXの利用規約に沿ってポストを表示させていただいております。ポストの非表示を希望される方はこちらのお問い合わせフォームまでご連絡下さい。こちらのデータはAPIでも販売しております。









