ict
0post
2025.12.08〜(50週)
:0% :0% ( 40代 / 男性 )
人気のポスト ※表示されているRP数は特定時点のものです
ピクトアップ〈PICT-UP〉158号 2026年2月号
12月11日発売
12月19日公開の映画『星と月は天の穴』で
主演を務めた綾野剛さんのポートレイト&インタビューを掲載。
ポートレイトを誌面から1点公開。
撮影は大石隼土さんです。
#星と月は天の穴
#綾野剛
#ピクトアップ https://t.co/mfi4RBROdY December 12, 2025
223RP
ピクトアップ〈PICT-UP〉158号 2026年2月号
12月11日発売
2026年1月23日公開の映画『恋愛裁判』で
主演を務めた齊藤京子さんのポートレイト&インタビューを掲載。
ポートレイトを誌面から1点公開。
撮影は冨田望さんです。
#齊藤京子
#映画恋愛裁判
#ピクトアップ https://t.co/m1UbhOZLho December 12, 2025
166RP
🚨 第10話ご視聴ありがとうございました! 🚨
大規模サイバー攻撃に立ち向かうDICTの姿、
感想は『 #絶対零度 』で教えてください💬
1〜3話・最新話はTVer見逃し配信中🧊
https://t.co/fYwoJ3Rxlj
.--- --- ..- .... .- -.
『絶対零度 〜情報犯罪緊急捜査〜』
毎週月曜よる9時放送中 December 12, 2025
74RP
•••┈┈┈┈┈┈┈┈┈•••
メディア情報🖋
•••┈┈┈┈┈┈┈┈┈•••
📖12月11日(木)発売
「#ピクトアップ〈PICT-UP〉」@pict_uppers
綾野剛さん インタビュー
映画『#星と月は天の穴』12.19公開
https://t.co/CDnDYFfhl1
#綾野剛 主演×#荒井晴彦 脚本・監督
#咲耶 #田中麗奈 https://t.co/vYxAvQBRAW December 12, 2025
54RP
<📆12.11(木)>
📗magazine
「ピクトアップ〈PICT-UP〉158号 2026年2月号」
▽綾野剛インタビュー
🎬映画『星と月は天の穴』舞台挨拶付き先行有料上映
会場:愛知 伏見ミリオン座
時間:19:00回上映前舞台挨拶
登壇:咲耶、荒井晴彦監督
#綾野剛 https://t.co/Mne5eAQ1qa December 12, 2025
39RP
/
野田クリスタルさんが登場!
ゲームイベント
「はちゃめちゃゲームアワード」開催🎮
\
お笑い芸⼈であり、ゲームクリエイターとしても活躍する #野田クリスタル さんをゲストに迎え、現役小中学生が作った型破りなゲームを野田さんが実演プレイ&講評🕹️
さらに、ゲーム制作の裏話などが聞けるトークセッションも✨
🔸日時:来年2月1日(日) 15:00から
🔸場所:ICTパーク コクゲキ(旭川市3条通8丁目)
🔸定員:200名(要事前申込・抽選)
申込などの詳細はこちら👇
https://t.co/ZzIukzEMCn
#ゲームイベント #ゲーム制作 #ゲームクリエイター #ICTパーク #経済交流課 December 12, 2025
31RP
【先生方、ぜひ一度見てみてください…!本当に驚きます】
Google Geminiだけで作られた教育支援ツール5つが、静かにすごくバズっています
インプレッション11万超えも
①配慮事項完璧対応 座席表メーカー(1クリックでシャッフル完成)
②子どもたちが夢中になる「九九免許証」
③カスタマイズ可能な◯◯免許証
④50m走・持久走のタイム測定&記録アプリ
⑤シャトルラン回数記録&スプレッドシートに即コピペ
日常の細かい業務を劇的に楽にしてくれる機能ばかり…
すべてGoogle Sitesにまとめました
「こんなの欲しかった」
「これでどれだけ時間が節約できるんだろう」
2026年度に向けて準備される先生方に、ぜひ知っておいていただきたいツールです
よかったら「いいね」やリポストで保存していただけると後で見返しやすいです
Geminiアプリ集↓
→https://t.co/I86NQgIpY3
#教師の味方 #教育ICT #Gemini #先生の働き方改革 December 12, 2025
25RP
ピクトアップ〈PICT-UP〉158号 2026年2月号
12月11日発売
連続ドラマ初主演となるテレビ東京 ドラマ25『俺たちバッドバーバーズ』(26年1月9日スタート)が控える
中島歩さんのポートレイト&インタビューを掲載。
ポートレイトを誌面から1点公開。
撮影は浜田啓子さんです。
#中島歩
#オレババ https://t.co/fi8c7pHLaz December 12, 2025
18RP
🎨 **"Sky-High Sweetheart" – AI-Generated Digital Art (2025)** 🎨
🎭 **Artistic Concept**:
・青と白のフリルドレスは「無垢な空への憧れ」
・ハートバルーンは「ふわふわした幸せ」
・メイドヘッドドレスは「誰かを喜ばせたい気持ち」
📖 **Mini Story**
今日は特別なお手紙を届ける日。
雲の上のお城に住む王子さまが、ずっと待っていた「ありがとう」の返事を。
風船をぎゅっと握りしめて、彼女は青い空に向かって駆け出す。
「遅くなってごめんね。でも、ちゃんと届けるから!」
風に乗ってふわり、ふわり。
ハートの風船が弾けるたび、世界が少しだけ優しくなる。
✅ **100% AI-generated fictional artwork**
✅ **No real person depicted**
✅ **No sexual intent** December 12, 2025
15RP
#今年も残りわずかなので今年一番伸びた絵を貼る
#Pixelart #ドット絵 #dotpict
いいね数とか余り気にしていないので毎度分からない😅直近で調べたらハロウィン作品の、これが伸びていた。廃校のも伸びていた様な気がするけど覚えていない。
来年も、こんな感じですが宜しくお願いします🙇 https://t.co/H9TQ3DZEfb December 12, 2025
14RP
- ̗̀📢 𓆩 🐰 𓆪 INCANTEVOLE
サキュバスバニー達と貴方の
うっとりする様なひとときの休暇❤︎
☏ --------------------
12/18 木 21時45分
⚠︎此方のポストを"サキュバ二ーへ愛と行きたい旨を叫んで"引用RPした方抽選で8名様を招待します!期限▷15日17時迄
#VRC_ICTV https://t.co/JxkzFO25AC December 12, 2025
10RP
🎨 **"Merry Game Over" – AI-Generated Digital Art (2025)** 🎨
🎭 **Artistic Concept**:
・青いサンタ帽は「冬の夜の遊び心」
・ゲーム機とプレゼントは「終わらないクリスマスの時間」
・MERRY X-MAS GAME OVERの文字は「幸せなバッドエンド」
📖 **Mini Story**
12月25日、時計が0時を回った瞬間、彼女はコントローラーを置いてふぅっと息を吐いた。
「今年もクリアしちゃった…」
画面にはでかでかと「GAME OVER」。でも彼女の顔は満面の笑み。
だってこのゲーム、クリアするたびに世界がもっと優しくなるルールなんだから。
プレゼントの山を崩しながら、彼女はまた新しいセーブデータを始める。
「来年も、誰かと一緒に遊べますように。」
ピンクの部屋に、永遠に続くクリスマスの夜が響く。
✅ **100% AI-generated fictional artwork**
✅ **No real person depicted**
✅ **No sexual intent** December 12, 2025
10RP
🎨 **"Emerald Enigma" – AI-Generated Digital Art (2025)** 🎨
「私は私でいるだけで美しい」って最強のマインドすぎる
あなたが自分の一番好きなところ、教えてください✨
🎭 **Artistic Concept**:
・黒のゴシックドレスは「深遠な魅力」
・宝石アクセサリーは「彼女自身が宝物」
・金色の長い髪は「女王のような気高さ」
📖 **Mini Story**
彼女は部屋の中央に座り、静かに足を組む。
長い金髪が光を浴びて輝き、宝石が首元で妖しく揺れる。
誰もが認めるその美しさ——完璧な顔立ち、透き通る肌、自信に満ちた瞳。
✅ **100% AI-generated fictional artwork**
✅ **No real person depicted**
✅ **No sexual intent** December 12, 2025
10RP
【巨大地震についての並行思考】
12月8日午前10時台に内閣府防災は北海道・三陸沖後発地震注意情報の解説という動画を出しました。
https://t.co/FEqAhtDen2
そして午後11時15分頃、青森県東方沖を震源とする最大震度6強の地震が発生しました。
https://t.co/jQFGyUoPEp
9日午前2時、今回の地震を受けて気象庁は2022年の運用開始以来、初の北海道・三陸沖後発地震注意情報を発表しました。
https://t.co/QveHolRcyA
つまり内閣府防災が北海道・三陸沖後発地震注意情報の解説動画を出して1両日中に巨大地震が発生し、注意情報が出たことになります。
ここで気になるのは人工地震を起こされるという情報が、国に事前になかったのかどうかです。
人工地震は一部で陰謀論扱いされていますが、Project Sealでは津波爆弾計画ですし、2005年に公開された米軍機密文書「地震を使った対日心理戦争計画」では、1944年にカリフォルニア大学のバイヤリー教授を中心とする地震学者が総動員され、倭国近海のどこの海底プレートに強力な爆弾を仕掛ければ人工的に巨大な津波を起こせるかシュミレーションを繰り返していたことが明らかになっています。
https://t.co/8KXuZYh1XW
青森の宮下宗一郎知事は8日、発電実証を行う「原型炉」の誘致に取り組む方針を明らかにしていましたが、今回の地震は青森県東方沖を震源としており、ウラン濃縮工場、低レベル放射性廃棄物埋設センター、高レベル放射性廃棄物貯蔵管理センター、MOX燃料工処理工場のある六ヶ所村は震度5弱です。
核融合分野の肝となる技術を世界的に倭国企業が押さえており、高市政権は2030年代に核融合発電をスタートさせ、特別高圧や高圧の電力を安定的に供給して倭国の独立を図る考えのようでした。
https://t.co/74LKiLEmOs
また、北海道はアメリカに一番近いアジアであり、冷涼で地政学的リスクが低いとしてICTコリドールという計画を2020年から北海道ニュートピアデータセンター研究会が提案しており、ニューヨークやヨーロッパへの金融市場への最低遅延通信が肝になっていますが、それを支える電力として期待されている一角に六ヶ所村の核融合があっても不思議はありません。
一方、ビル・ゲイツらが出資しているITER計画は2034年に運転開始を予定していますので、
https://t.co/5MChIvwmWB
倭国の核融合発電は5年近く世界に先駆けて進めようとしていることがわかりますし、2030年といえば、世界経済フォーラムが「2030年へようこそ 私は何も所有していなければプライバシーもありません」と言っていた年であり、予防接種アジェンダ2030として、Zero Hedgeが「WHO–Gates、全人類を対象としたグローバルなデジタルID、AI監視、生涯ワクチン追跡の設計図を公開」の記事を書いた年でもあり、
https://t.co/pCXuxJYxDi
ワンワールド化計画完成の年と目されるところです。
また、ビル・ゲイツはAIの進化は4つの技術革命(マイクロプロセッサ、PC、インターネット、携帯)と並ぶ、と言っており、AIの進化には大量の電力供給が不可欠です。
それに5年近く先んじて倭国が核融合発電をスタートした場合、ワンワールド化計画に影響を与える可能性がありました。
こうしたことも、今回の巨大地震、そしてこれから起こる可能性が高いとされている巨大後発地震と関係していないのか、市民が慎重に自然地震であった場合と並行させて考える必要があるのではないでしょうか。 December 12, 2025
10RP
③ ICT管理者を 常駐させる(全国義務化レベル)
先生が毎日「Wi-Fiつかない」「固まった」と走り回るの、異常。
授業準備よりタブレット待機時間のほうが長いとか、もうおかしい。
ICTは専門家に任せるべき。
④ 事務スタッフを増やし先生の仕事から事務仕事を全部外す
出欠・集金・周知文書……
これ全部やらされる国、倭国だけ。
授業に集中させない国に、質の高い教育は作れない。
⑤ メンタル休暇を普通に取得できる仕組みを作る
代わりがいないから休めない。
休めないから壊れる。
壊れたらもう戻れない。
これを放置しておいて「教師が弱い」なんて、笑わせないでほしい。
代替教員の常設化はもう義務。
先生は世間知らずなんかじゃない。↓ December 12, 2025
9RP
本日は西尾市立三和小学校で行われているICTを活用した授業を、
1年生から6年生まで、各教室を回りながら拝見しました。
まず強く感じたのは、
特に 3年生以上の児童のタイピングスキルの高さ です。
タブレットを前に、迷いなくキーボードを叩き、
自分の考えを素早く文字にしていく姿が、とても印象的でした。
また、低学年の段階から
ログインやパスワード管理といった基本的な情報リテラシーが
日常の中で自然に身についていることも、現場でよく分かりました。
授業の中で興味深かったのが、
学び方を自分で選べる 二つのコース です。
・みんなでじっくり取り組む「みんなでみっくんコース」
・一人でどんどん進める「わくわくくんコース」
しかもこのコースは固定ではなく、
理解度や気持ちに応じて途中で行き来することも可能。
「同じ教室・同じ時間の中で、学び方に幅を持たせる」
その工夫が、非常に現実的で新鮮でした。
そして、先生方が繰り返し強調されていたのが、
「デジタルはあくまでツールである」という姿勢です。
倭国の教育が大切にしてきた
・基礎的な筆記力
・じっくり考える時間
・自分の頭で思考を深める力
これらを置き換えるものではなく、
それを下支えし、広げるための道具としてICTを使う。
その軸が、はっきりと共有されていました。
技術が進めば進むほど、
最後に問われるのは「人がどう考えるか」。
三和小学校の授業には、
ICTを活用しながらも、
子どもたち一人ひとりの
“考える力”を大切に育てようとする現場の姿に、感銘を受けました。 December 12, 2025
8RP
做了一个简化版的交易系统逻辑总结
作用:识别市场从趋势到震荡再到突破的完整生命周期,并在每个阶段采用策略。
以下是数学语言和代码👇:
(代码太长了,删了一部分,可以根据数学语言自己推)
价格序列与技术指标:
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
8RP
歩くのも遅いし、給食も遅い。
でも、周りの先生たちの動きは本当に異常。
速く動かないと崩壊する現場で、
全員が無理矢理スピードを上げているだけ。
授業、給食、連絡帳、保護者対応、トラブル処理、ICT対応……
これを毎日ノンストップ。
それを外からは、
「夏休み長いんでしょ?」
「世間知らずなんだよ」
の一言で切って捨てられる。
いやいやいやいや。
すごい仕事量を最速でまわしている人たちだよ。
だって
遅くしたら仕事が残るだけだから。
余白ゼロの現場が、先生を「高速で動く生き物」にしている。
この働き方で、優秀な人が教職を選ぶと本気で思っているのだろうか。
疲れた人から辞めていくのは当たり前。
むしろ、残っている人が奇跡。
だから言う。
もう制度を根本から変えないと、教育は崩壊する。
私が考えた本気の改善案は以下の5点。↓ December 12, 2025
8RP
🎥アニメーション講座
講師 @sikakui_hisashi
所要時間約60分
①12:00-13:00
②14:00-15:00
③15:30-16:30
🕹️ゲーム講座
講師 @65535dot
所要時間約90分
①11:20-12:40
②14:30-16:00
参加の際はお手元にdotpict https://t.co/1YZC1MDoNb
をインストールした端末をご用意ください‼️ December 12, 2025
7RP
【先生方、席替えの苦痛が今日で終わる】
「男女交互にしたい」「視力悪い子は前」「相性悪い子は離して」
毎回何時間もかかってた席替え、もうやらなくていいです
Google Gemini搭載・完全無料の席替え自動作成ツール作りました
名簿Excel貼るだけ→配慮事項✅→席替え開始で座席表が決まる
→印刷用2種出力(児童側教師側の2視点)
→即完成!
登録不要・ブラウザで今すぐ使える
https://t.co/KimziqsW8Q
「これで席替え5分で終わった」
「相性考慮まで完璧すぎる」って声多数…!
いいね&リポストで他の先生にも救いを届けませんか?#教師の味方 #席替え #無料ツール #GoogleGemini #教育ICT December 12, 2025
7RP
<ポストの表示について>
本サイトではXの利用規約に沿ってポストを表示させていただいております。ポストの非表示を希望される方はこちらのお問い合わせフォームまでご連絡下さい。こちらのデータはAPIでも販売しております。





