Rend ゲーム
0post
2025.12.09
:0% :0% (30代/女性)
人気のポスト ※表示されているRP数は特定時点のものです
#LAVALAVA がInstagram内の音楽トレンドランキング3位✨
iLYsの皆さま、いつもたくさんの愛をありがとうございます!
引き続き、いいね・コメント・シェアで一緒に盛り上がりましょう✨
"LAVALAVA" Stream now🎧
https://t.co/IydlLB3kN9
---
#LAVALAVA has reached No.3 on Instagram’s music trend chart✨
Thank you iLYs for your endless love and support!
Let’s keep the energy going with your likes, comments, and shares✨
#Number_2DX
#Ni_ENDofYEAR December 12, 2025
3,263RP
庄司浩平登場! 12/26発売『週刊TVガイド新春特大号』 庄司「こういった機会があると改めて背筋が伸びる感じがありました」 – TREND NEWS CASTER https://t.co/f7Ptvp2FR7 #庄司浩平 https://t.co/XEOFl1M7XC December 12, 2025
162RP
KING SWING RENDEZ-VOUS vol.03
2025.12.30 at harevutai
▶︎▷▶︎チケット先着販売中◀︎◁◀︎
▶︎KS 会員 Ticket◀︎
https://t.co/vEzx7inXMG
▶︎一般 Ticket◀︎
https://t.co/LXDHUCU659
KS会員限定イベント 『KING SWING RENDEZ-VOUS』の第3回目が12月30日(火)に東京池袋で開催!2025年の締めくくりに、ファン同士がリアルな空間で共鳴し合う、“RENDEZ-VOUS”なひとときをお楽しみください。
「KING SWING会員限定」とご案内しておりますが、より多くの人に体験していただく機会を提供したいため一部枠を限定解除して一般販売いたします。
詳細はこちら!
https://t.co/UuYc4FxK8s December 12, 2025
28RP
✦ . ⁺ . ✦ . ⁺ . ✦ . ⁺ . ✦ . ⁺ ✦
LINE MUSIC 2025年間ランキング
🏆 TREND AWARDS 受賞 🏆
✦ . ⁺ . ✦ . ⁺ . ✦ . ⁺ . ✦ . ⁺ ✦
#LINEMUSIC で今年話題になった
注目の楽曲に「倍倍FIGHT!」が受賞しました!🎖️
「倍倍FIGHT!」にたくさん注目していただきありがとうございます✨
受賞を記念してもう一回みんなで「倍倍FIGHT!」聴いてくれるかな?
▼LINE MUSICで「倍倍FIGHT!」を聴く🎧
https://t.co/ZNtShRWKsB
▼Music Video
https://t.co/TDlI4irExa
@LINEMUSIC_JP
#LINEMUSICと振り返る2025
#CANDYTUNE #きゃんちゅー December 12, 2025
27RP
Nano Banana Proで遊ぼう
【力の解放プロンプト】
参照画像のキャラクターが「力」を解放するプロンプトです。地面がある場合は球状に抉れます(成功率低い)。誰もが憧れる「力」の解放を再現します。
今回は生成結果を安定させるために、2段階で生成するようにしています。いつものプロンプトと違って、生成て順があるので、このポストを最後まで読んでからお試しください。
◆作例
元絵にこちらを使ってみます。
全身が描かれていて、かつ周囲が壁等で囲まれていない方が安定しますが、あえてこちらで試してみます。
色々なイラストで試したいのですが、わたしは背景があるイラストは失恋ガールズしかないので…(すでに破壊描写がある)。みなさんのイラストの生成結果をぜひ参考にさせてください。
◆プロンプトの使い方
1.【覚醒ポーズプロンプト】
まず、【覚醒ポーズプロンプト】を使い、元絵となる参照画像のキャラクターのポーズを「覚醒ポーズ」に変換します。同時に、アスペクト比を16:9に拡張します。キャラクターの特徴と背景は可能な限り維持します。
エネルギーを球状に描くために、画角を16:9に拡張しています。3:4でもできますが、周囲に壁があるとうまくいかなかったり、エネルギーが楕円に歪んだりします。
2.【力の解放プロンプト】
次に、1で生成した画像を参照画像として、【力の解放プロンプト】を使って生成します。うまくいけば作例のように球状エネルギーがキャラクターを中心に展開し、地面が球状に抉られます。
成功するとこちらのように地面が抉れ、壁も破壊表現が描かれます。「抉れ表現」の出現難易度は、「地面 < 壁」です。壁は抉れるよりも、穴があくことが多いです。
地面も底が平らになったり、捲れるようになったりします。また、キャラクターの全身が球状エネルギーに包まれなかったり、エネルギーが平面的な「円」になったりもするので、生成ガチャを頑張ってみてください。
「覚醒ポーズ」・「力の解放」の定点画像ができるので、それぞれスタート・エンドフレームに設定することで「力の解放動画」ができます。
作例があるので後ほどポストします。
ちなみに、【覚醒ポーズプロンプト】を飛ばして、最初から元絵に【力の解放プロンプト】を入れても球状エネルギーの展開と地面の抉れはできます。この辺はお好みでどうぞ。
プロンプト:
【覚醒ポーズプロンプト】、【力の解放プロンプト】の順で記載しているので、コピペ時に混ざらないように気を付けてください。
【覚醒ポーズプロンプト】
subject: >
Use the same character as reference A.
Preserve all facial features, hairstyle, clothing, body proportions, colors,
line weight, shading, and art style exactly as in the reference.
composition: >
IMPORTANT: Change the framing from the reference.
The camera must be positioned **much farther away** so the character’s entire body
is fully visible **with extra space above, below, and around** the character.
The character must appear **significantly smaller** than in reference A,
occupying only about **20–30% of the frame height**.
Place the character exactly at the center of the frame with wide open space
surrounding them for later energy effects.
The field of view should be noticeably wider than the reference.
The final image must be rendered in a **16:9 aspect ratio**.
action: >
Set the character in the awakening stance shown in reference B:
- feet shoulder-width apart
- both hands tightly clenched into fists
- arms slightly bent and tense
- chest slightly forward, posture firm and braced
- intense, focused expression
location: >
Reuse the same background environment as reference A.
Expand the visible portion of the background **significantly**
to match the widened, zoomed-out framing.
Maintain the same textures, perspective, colors, and drawing style.
style: >
Match the exact style of reference A:
identical linework, shading, coloring, and background rendering.
camera_lighting: >
Use the same lighting conditions as in reference A.
edit_instructions: >
Recreate the character and background from reference A exactly.
BUT modify the camera distance so the entire character fits in the frame
with **substantial space** around them.
The camera should be pulled back enough that the character appears small
within a much wider environment.
Change only:
- the camera distance (strong zoom out)
- the character’s pose, matching reference B exactly
Everything else (design, colors, style, background identity) must remain consistent.
Ensure the final output respects the **16:9 aspect ratio**.
references:
A: >
Use reference A for character identity, background style, line weight,
coloring, and artistic consistency.
Do NOT keep the original framing; replace it with a **wide, zoomed-out, full-body framing**.
B: >
Use reference B strictly to match the awakening pose:
- shoulder-width stance
- clenched fists
- tense arms
- forward, determined posture
extras: >
high resolution, clean and consistent output, wide framing,
**16:9 aspect ratio**.
【力の解放プロンプト】
subject:
description: >
The main character from the reference image, preserved exactly with identical
proportions, facial features, outfit, and art style.
action: >
The character stands at the exact center of a fully enclosing spherical energy field.
composition:
framing: >
The sphere completely surrounds the character and remains fully or mostly visible
within a wide 16:9 cinematic framing.
aspect_ratio: "16:9"
action:
primary: >
A perfectly round, glowing spherical energy field fully encloses the character.
The sphere’s surface is semi-transparent to clearly show the character inside.
secondary: >
The ground directly beneath the character is carved out in a concave, bowl-shaped
form that precisely matches the inner curvature of the sphere.
destruction_detail: >
Only the environment that intersects with the sphere should be damaged or displaced.
Cracks, fragments, and debris must follow the exact circular arc of the sphere.
location:
description: >
Preserve the original background style, perspective, color palette, and linework.
deformation: >
Deform only the area touched by the sphere. All other parts of the scene remain
unchanged and loyal to the reference image.
style:
consistency: >
Maintain the reference image’s art style, shading, line weight, and coloring.
effects: >
Integrate the energy effects naturally without altering the character’s or
background's visual identity.
camera_lighting:
camera_angle: >
Use the same camera angle and viewpoint as the reference image unless specified.
lighting: >
Add internal glow, rim light, and soft light diffusion from the spherical energy.
colors:
palette: >
Energy sphere uses bright electric-blue or user-chosen colors with lightning-like
patterns and high contrast.
text: none
edit_instructions: >
Add a fully enclosing spherical energy field around the character while preserving
the original style. Ensure the sphere covers the character entirely — above, behind,
and around them. Modify only surfaces the sphere touches, sculpting the ground into
a concave bowl shape consistent with the sphere’s curvature. Do not modify any other
part of the image.
references:
A: Main reference for character, style, and background.
B: Optional reference for energy sphere design.
extras:
quality: "ultra-quality rendering, detailed energy patterns"
resolution: "high"
effects: "volumetric glow, electric arcs, internal illumination" December 12, 2025
15RP
庄司浩平登場! 『ブルガリ カレイドス 色彩・文化・技巧』展 庄司「時代を超えた旅をした感覚にもなります」 – TREND NEWS CASTER https://t.co/DFZKqUvSBf #庄司浩平 #ブルガリ #Bvlgari https://t.co/sv3zfOCVYJ December 12, 2025
13RP
昨晩からBSテレ東の情報番組「TREND EYE」にて、当社が紹介されています
番組内では、カンボジア不動産投資についてインタビューを受け、現地の最新動向や投資の魅力についてお話ししております
◾️番組名:BSテレ東「TREND EYE」
◾️放送日時:2025年12月8日 (月) ~ 12月12日 (金) 23:58~24:00(5日間)
※BSテレ東の「WBS ワールドビジネスサテライト」終了後に放送されます
Xのポストをシェア頂けると嬉しいです🙇♀️
----
地震で被害に遭われた皆さまにお見舞い申し上げます
皆さまのご安全をお祈りしています December 12, 2025
8RP
【高岡の旬を味わうランチスポット】
地元の野菜や果物が揃う、自然豊かな高岡の農協。
新鮮な野菜や、それを使ったお惣菜も購入できます。
その一角にある「JUN BREND KICHIN」では、採れたての食材を使った料理が楽しめます。
観光やお散歩の途中、地元の味をゆったり味わうひとときに。 https://t.co/cTygdMDvWy December 12, 2025
6RP
KING SWING RENDEZ-VOUS vol.03
2025.12.30 at harevutai
▶︎▷▶︎チケット先着販売中◀︎◁◀︎
▶︎KS 会員 Ticket◀︎
https://t.co/vEzx7inXMG
▶︎一般 Ticket◀︎
https://t.co/LXDHUCU659
KS会員限定イベント 『KING SWING RENDEZ-VOUS』の第3回目が12月30日(火)に東京池袋で開催!2025年の締めくくりに、ファン同士がリアルな空間で共鳴し合う、“RENDEZ-VOUS”なひとときをお楽しみください。
「KING SWING会員限定」とご案内しておりますが、より多くの人に体験していただく機会を提供したいため一部枠を限定解除して一般販売いたします。
詳細はこちら!
https://t.co/UuYc4FxK8s December 12, 2025
6RP
正直、React Fiberって “分かった気になってるけど実は全然分かってないやつ” の代表なんだよね。中身をちゃんと覗いた瞬間、「え、これJSの中に住んでる異星テクノロジーでは?」ってなる。みんなよくある浅い決まり文句をオウム返しするじゃん。「Fiberは新しい diff エンジンです!」とか「Fiberは並行レンダリングです!」とか。でも違うんだよ、もっと深いし、もっと狂ってる。
昔の React(stack 版)は、ただの素直な再帰ベースのツリーウォーカーだった。子どもがはしごを楽しそうに降りていくみたいなノリでコンポーネントを潜っていくんだけど、そのはしごは JS エンジンのコールスタックに完全に溶接されてるから、一度降り始めたら止まれないし、戻れないし、休憩もできない。もう完走するしかない。だから巨大な UI ツリー(数千ノード)とか来ると、React がメインスレッドを丸ごとロックしてブラウザを絞め落とす。入力した?知らん。ブラウザは反応できない、React が “React してる” から。普通に地獄。ブラウザは「ペイントさせて…」って泣いてるのに、React は「無理。今クソでかいコンポーネント描いてるから」って感じ。
で、React チームは 2016 年頃にこの状態を見て「あ、これ構造的に詰んでるな」って気づいた。小手先の最適化とかじゃなくて、問題は JS の再帰が割り込み不能ってこと。スタックは JS エンジンの持ち物だから、開発者側で好きに止めたりできない。止められない=ガタつきを避けられない。物理法則みたいなもん。
だから React は発想を逆にした。「このモデル全部捨てるわ」って。で、独自のスタックを作った。比喩じゃなくてマジで。Fiber ってそういうやつ。アルゴリズムじゃなくて、ノードが連結された“自前コールスタック”みたいな構造体。各 Fiber が小さなメモリセルになってて、コンポーネントタイプ、props、state、children へのポインタ、兄弟ポインタ、親ポインタ、優先度、effect のフラグとか、React 内部で使う細かい情報が全部入ってる。React がコンポーネントを OS のタスクみたいに扱えるようにしたイメージ。
で、狂ってるのはここから。全部手動で制御できるから、JS コールスタックから解放される。再帰レンダリングじゃなくて、Fiber を1つずつ反復で処理していくスタイルに変わる。これによって React はついに「ポーズできる」ようになった。途中でレンダーやめて、ブラウザにペイントさせて、入力処理して、一息入れて、またさっきの場所から再開。再帰じゃないからスタックに閉じ込められない。React がスタックを所有してる側に回った感じ。
ここで出てくるのが “スケジューリング”。みんな抽象的な概念だと思いがちだけど、実際はReactが Fiber を歩きながら「どの更新を優先させるか」を決めてるだけ。入力は最優先、アニメは中くらい、バックグラウンドのデータ更新は低い。昔の React は全部同じ重さで扱ってたから、重い処理があるとアプリ全体がゴミみたいな操作感になってた。Fiber がそれを全部ひっくり返した。「ユーザーが入力してる?OK、低優先度のレンダー中断して後でやるわ」みたいな感じで、コンポーネント5万個あっても UI がヌルヌル動く。
さらに Fiber は “current tree” と “work-in-progress tree” のダブル構造になってる。React が render() してる時って、DOMには一切触ってない。オフスクリーンで“こうなるはずの UI” をシミュレーションしてるだけ。全部が矛盾なく完成したら commit phase に入って、実 DOM に一気に反映する。ゲームエンジンが裏バッファで描いて、最後に画面をパッと切り替えるのと同じ。だから半端な状態が UI に漏れない。いつも「完成したフレーム」だけが表示される。
で、これがまさに Suspense が動く理由でもあり、Transitions が滑らかに見える理由でもあり、Server Components がストリーミングで差し込める理由でもある、ってわけ。 December 12, 2025
4RP
🎉 Tsutomu ソロ15周年記念
ファン有志のみなさんから、バックドロップ幕をいただきました。
来年、Tsutomuはソロ活動15周年を迎えます。
その節目をお祝いしたいと、有志のファンのみなさんが力を合わせて、
ライブで使えるバックドロップ幕をプレゼントしてくださいました。
このロゴを背負って歌えること、
そしてこんなにも温かい気持ちをいただけたことが本当に嬉しいです。
大切に使わせてもらいます。ありがとう。
今回、有志として動いてくださったメンバーのみなさんです。
(※敬称略/五十音順・アルファベット順)
〈Tsutomu 15周年記念品贈呈 有志メンバー〉
きょうこ
こもにゃん
澤キョン
つとにゃん
なお
ねくらこりん
のんのん
まがちゃん
ゆうみん
夕凪
れい
Brenda
Cecil
miya
moco
orika
全てのつとみんのみんなへ。
今回の企画に参加した方も、今は参加できない方も、
あなたの応援が僕の15年間を支えてくれています。
これからも一緒に歩いてもらえたら嬉しいです。
15周年、最高の一年にしよう。 December 12, 2025
3RP
Blender × D5 Renderを使って、大好きな911 GT3をデザインした建築の前で走らせてみました◎
実写でやろうとすると、時間もお金もめちゃくちゃ必要ですが、CGならば手軽に撮れますね!
先月からつくってて、秋から冬になってしまいましたが、ようやくアップできました◎
こちらは音無しですが、音有り版はinstagramで視聴できます。
リンクはリプ欄にあるので、よかったら覗いてみてください◎ December 12, 2025
2RP
MercurialVirus_D10_RendarSejonの投稿動画を楽しみましょう!#TikTok https://t.co/LiMRjNlCHt
@DJ_D10 💙 December 12, 2025
2RP
私のqiita記事
・Project Settingsを上から見ていきつつ自分の言葉で書いてみる Burst AOT Settings編
・Unity6.3に上げたら自作のRendererFeatureが効かなくなった件の対策
を取り上げて下さっています
有難うございます~ https://t.co/mFTi6qnhyx December 12, 2025
2RP
做了一个简化版的交易系统逻辑总结
作用:识别市场从趋势到震荡再到突破的完整生命周期,并在每个阶段采用策略。
以下是数学语言和代码👇:
(代码太长了,删了一部分,可以根据数学语言自己推)
价格序列与技术指标:
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
2RP
梵バココイヌちゃんらくがき - rendaxxxxx https://t.co/nAwLAm0jQf
らくがき4枚です。あまりよろしくないのもあるので一応R18にしてます。大人だけ見てね( ◜௰◝ 🫶) https://t.co/AcdhlD3kB1 December 12, 2025
2RP
• 2026コーチングスタッフ完成
• 補強によってはMooreを3Bで起用
• Rendonの件は進展なし
• Manoahはローテ入りできなければブルペンとして期待
• BremnerをSTに招待
• Silsethはブルペン
• クローザーを獲得するかは決めていないもののJansenに接触、DETと競合
#WinterMeetings #Angels December 12, 2025
2RP
🩷❤️💛💜
#ももクロ スケジュール メモ (2025/12/08, 20:30更新)
🍀12/9(火)🍀
・ももクリ2024 Live Blu-ray フラゲ日
20:00 ライブ映像 1日1曲 24時間限定公開
20:00 ももクリグッズ紹介 生配信
25:00 フォーク村 第170夜 [再]
◆新ももクロ61分3本勝負 延長戦
佐々木彩夏 ポッドキャストで感じた「自分のことを分かってほしい」 [日経XTREND]
https://t.co/wQZFluww5C
◆スタコミュ4周年記念コメント 動画
https://t.co/oKaIDjqZoj
◆ももクリ2024 LIVE Blu-ray 発売記念 ライブ映像 1日1曲 24時間限定公開
「Hanabi」
https://t.co/MDA4R4Pc7E
等来ています December 12, 2025
1RP
Final render
°❀⋆.ೃ࿔*:・ₐₖₐₙₑ ₜₑₙdₒ °❀⋆.ೃ࿔*:・
#Ranma12 #akanetendo #らんまアニメ https://t.co/XeyoxThnt7 December 12, 2025
1RP
#thenite
2025/12/09の放送は
2025/08/07木曜日の再放送
ジャケ写アップの4枚!
⭕️2ついただきました。
Brenda Russell / Waiting For You
エンドソング当てられて嬉しかったデス❣️ https://t.co/eGrgAPkTG4 December 12, 2025
1RP
<ポストの表示について>
本サイトではXの利用規約に沿ってポストを表示させていただいております。ポストの非表示を希望される方はこちらのお問い合わせフォームまでご連絡下さい。こちらのデータはAPIでも販売しております。









