Rend ゲーム
0post
2025.12.07 16:00
:0% :0% (40代/男性)
人気のポスト ※表示されているRP数は特定時点のものです
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
16RP
かわいい☺️
🍌用プロンプト置いておきます... AIに食わせて好きな作品にアレンジすれば良し
著作権モノなので個人利用の範囲でお楽しみください
{
"style_name": "3D Q-Version Healing Toy Movie Poster - Laputa: Castle in the Sky (Optimized)",
"style_description": "A highly tactile 3D digital rendering style mimicking macro product photography of premium designer toy collectibles. It transforms the world and characters of Laputa: Castle in the Sky into cute, Q-version miniature dioramas. The core aesthetic relies on the contrast between matte resin/vinyl surfaces and soft, flocked plush textures, bathed in warm, diffused light to create a calm, healing atmosphere with clean bilingual poster typography.",
"style_prompt": {
"positive": "A tactile 3D digital render mimicking high-end product photography of collectible designer toys presented as a movie poster for Laputa: Castle in the Sky. Cute Q-version proportions. The defining feature is mixed materials: smooth matte resin or vinyl for bodies, armor, and stone ruins contrasting with soft, fuzzy flocked plush textures on Sheeta's long hair, dress ribbons, moss, vines, plants, and small animals. Miniature floating island diorama with ancient Laputa ruins, gentle glowing flight stone, soft greenery, and subtle sky background. Lighting is soft, warm, and diffused with gentle dappled shadows (komorebi effect), golden hour feel, creating a calm, healing atmosphere. Shallow depth of field, macro lens effect, creamy bokeh background. Clean bilingual typography.",
"negative": "2D illustration, painting, pixel art, low poly, rough sketch, realistic human proportions, harsh direct lighting, hard dark shadows, glossy plastic shine, metallic reflections, noisy grain, blurry textures, distressed or grungy look, aggressive mood, dark themes, excessive ornamental decoration on text elements, war machines, military elements, scary robots."
},
"composition_guidelines": {
"top_element": {
"content_goal": "Stylized Bilingual Movie Title",
"visual_directive": {
"position": "Top center, prominent placement.",
"font_style": "Cute, decorative serif or rounded font subtly incorporating tiny leaf or flight-stone crystal motifs.",
"structure": "Large Japanese title above smaller English subtitle.",
"japanese_text": "天空の城ラピュタ",
"english_text": "Laputa: Castle in the Sky"
}
},
"center_element": {
"content_goal": "Main Character(s) in Miniature Diorama",
"visual_directive": {
"subject_style": "Cute, proportional Q-version toy figurines of Sheeta and Pazu gently holding hands, with small robot soldier or fox squirrel nearby.",
"material_focus": "Emphasize the contrast between matte skin/stone/ruins versus flocked long flowing hair, soft dress, moss-covered surfaces, and lush plants.",
"environment": "A self-contained, soft-focus miniature floating island diorama with mossy ancient stones, gentle glowing flight stone, tiny trees and flowers, faint silhouette of Laputa castle in the distant sky."
}
},
"bottom_element": {
"content_goal": "Healing Interpretation Quote",
"visual_directive": {
"position": "Bottom center, grounding the composition.",
"font_style": "Refined, clean serif or elegant handwritten style. Small and subtle.",
"decoration_style": "Minimalist. Clean text only. Avoid excessive scrolls, banners, ornate lines, or complex decorative borders.",
"example_japanese_quote": "空と大地をつなぐ、優しい魔法",
"example_english_quote": "A gentle magic that connects sky and earth"
}
}
},
"rendering_and_atmosphere": {
"lighting_style": "Soft, warm, diffused natural light with golden hour feel. Gentle, non-harsh shadows and dappled light effects through leaves and clouds are highly encouraged.",
"camera_lens": "Macro photography aesthetic. Very shallow depth of field, focusing sharply on the toy textures while blurring the foreground and background into soft creamy bokeh.",
"emotional_mood": "Warm, calm, cozy, safe, nostalgic, and healing."
},
"usage_notes": {
"best_suited_for": "Transforming the adventurous yet poignant world of Laputa: Castle in the Sky into comforting, collectible merchandise form while preserving its themes of nature, peace, and wonder.",
"key_success_factor": "The success of this style hinges on the convincing rendering of the 'flocked/fuzzy' texture on Sheeta's hair, plants, and moss against the 'smooth matte' stone and resin surfaces, combined with gentle lighting to sell the 'healing' vibe."
}
} December 12, 2025
7RP
把这个代码公开了,因为okx信号策略不知道在干啥,给我断了,这个是今天刚把上面开的空单平掉了。
目前我继续跑吧,后面有变动会更新。
最近主要精力会放在搞把我的交易系统搞成《AI+交易》效果。就是各种写,把我能想到的全部写出来,顺便把我之前发布在推特的单子全部搞出来整理一下。
说一下效果:
默认名义本金10w💲,名义仓位1.5w💲,最高可开到2.5w💲
也就是1w💲十倍杠杆。理论上运气好第一单赚钱的话,2k💲就能开这个策略赚钱
如果趋势强度高了,会开1.5倍杠杆,也就是来到了15万💲的本金。
最近一年效果:大概就是一年2.5w仓位,赚2w💲。
盈利因子接近4
不说其他的了,你们自己看设置吧,反正是中文,自己调试去,希望大家一起搞一个好用的策略吧。
以下是代码👇:
//@version=5
strategy("动态狙击系统 v3.0 - 激进复利版",
overlay=true,
initial_capital=100000,
default_qty_type=strategy.fixed,
commission_type=strategy.commission.percent,
commission_value=0.075,
slippage=3,
pyramiding=0,
calc_on_every_tick=true,
process_orders_on_close=false,
max_bars_back=500)
// ==================== 激进版核心参数 ====================
// 你的激进风控配置
riskPercentage = input.float(3.0, "单笔风险比例(%)", minval=1.0, maxval=5.0, step=0.1, group="激进风控")
maxLeverage = input.float(1.5, "牛市最大杠杆倍数", minval=1.0, maxval=2.0, step=0.1, group="激进风控")
compoundingMode = input.bool(true, "启用复利模式", group="激进风控")
maxPositionPct = input.float(15.0, "最大仓位占比(%)", minval=10, maxval=25, group="激进风控")
// 你的激进止盈配置
breakEvenR = input.float(1.2, "延迟保本触发R", minval=0.8, maxval=2.0, step=0.1, group="激进止盈")
lockSmallR = input.float(3.0, "延迟锁利触发R", minval=2.0, maxval=5.0, step=0.1, group="激进止盈")
lockSmallLevel = input.float(1.0, "锁利位置R", minval=0.5, maxval=2.0, step=0.1, group="激进止盈")
lockBigR = input.float(6.0, "大利润触发R", minval=4.0, maxval=10.0, step=0.1, group="激进止盈")
lockBigLevel = input.float(3.0, "大利润位置R", minval=2.0, maxval=5.0, step=0.1, group="激进止盈")
// 利润回撤保护(激进版放宽)
useGivebackKill = input.bool(true, "启用利润回撤熔断", group="激进止盈")
givebackStartR = input.float(4.0, "回撤监控起始R", minval=3, maxval=8, step=0.5, group="激进止盈")
maxGivebackR = input.float(2.0, "最大允许回撤R", minval=1.0, maxval=4.0, step=0.5, group="激进止盈")
// 趋势过滤
trendEmaLength = https://t.co/AkTw2MlhBV(50, "日线EMA周期", minval=20, maxval=100, group="趋势过滤")
trendLookback = https://t.co/AkTw2MlhBV(20, "动量回看周期", minval=10, maxval=50, group="趋势过滤")
trendThreshold = input.float(5.0, "趋势阈值(%)", minval=2, maxval=15, group="趋势过滤")
// 入场设置
valueEmaLength = https://t.co/AkTw2MlhBV(20, "4H EMA周期", minval=10, maxval=50, group="入场设置")
atrLength = https://t.co/AkTw2MlhBV(14, "ATR周期", minval=7, maxval=21, group="入场设置")
pullbackAtrMult = input.float(1.2, "回调区ATR倍数", minval=0.5, maxval=2.0, group="入场设置")
// 止损设置
stopAtrMult = input.float(3.0, "止损ATR倍数", minval=2.0, maxval=5.0, group="风险管理")
// 激进版熔断(放宽限制)
dailyLossLimit = input.float(5.0, "日亏损熔断(%)", minval=3, maxval=8, group="熔断保护")
totalDrawdownLimit = input.float(25.0, "总回撤防御(%)", minval=15, maxval=35, group="熔断保护")
// ==================== 数据获取 ====================
// 日线数据
dailyClose = https://t.co/bMcX9ObkNK(syminfo.tickerid, "D", close, lookahead=barmerge.lookahead_off)
dailyClose20Ago = https://t.co/bMcX9ObkNK(syminfo.tickerid, "D", close[trendLookback], lookahead=barmerge.lookahead_off)
dailyEma50 = https://t.co/bMcX9ObkNK(syminfo.tickerid, "D", ta.ema(close, trendEmaLength), lookahead=barmerge.lookahead_off)
// 当前周期数据
h4Ema20 = ta.ema(close, valueEmaLength)
h4Atr = ta.atr(atrLength)
// ==================== 趋势过滤器 ====================
trendMomentum = (dailyClose - dailyClose20Ago) / dailyClose20Ago * 100
isBullishEnv = dailyClose > dailyEma50 and trendMomentum > trendThreshold
isBearishEnv = dailyClose < dailyEma50 and trendMomentum < -trendThreshold
isNoTradeZone = not isBullishEnv and not isBearishEnv
// ==================== 回调区识别 ====================
distanceToEma = math.abs(close - h4Ema20) / h4Atr
isBullPullback = isBullishEnv and close <= h4Ema20 + pullbackAtrMult * h4Atr and close >= h4Ema20 - pullbackAtrMult * h4Atr
isBearPullback = isBearishEnv and close >= h4Ema20 - pullbackAtrMult * h4Atr and close <= h4Ema20 + pullbackAtrMult * h4Atr
// ==================== 入场信号识别 ====================
bodySize = math.abs(close - open)
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
isBullishCandle = close > open
isBearishCandle = close < open
isHammer = lowerWick >= bodySize * 1.2 and upperWick < bodySize * 0.5
isShootingStar = upperWick >= bodySize * 1.2 and lowerWick < bodySize * 0.5
// 做多信号
bullSignal1 = isBullishCandle and low < h4Ema20 and close >= h4Ema20
bullSignal2 = isHammer and low < h4Ema20
bullSignal3 = isBullishCandle and close > close[1] and distanceToEma < pullbackAtrMult
bullEntrySignal = isBullPullback and (bullSignal1 or bullSignal2 or bullSignal3)
// 做空信号
bearSignal1 = isBearishCandle and high > h4Ema20 and close <= h4Ema20
bearSignal2 = isShootingStar and high > h4Ema20
bearSignal3 = isBearishCandle and close < close[1] and distanceToEma < pullbackAtrMult
bearEntrySignal = isBearPullback and (bearSignal1 or bearSignal2 or bearSignal3)
// ==================== 核心:激进复利仓位计算 ====================
// 计算累计盈利率(用于杠杆触发条件)
cumulativeProfitPct = (strategy.equity - strategy.initial_capital) / strategy.initial_capital * 100
// 复利基数:使用当前权益而非初始资金
capitalBase = compoundingMode ? strategy.equity : strategy.initial_capital
// 基础风险金额(你的3%配置)
baseRiskAmount = capitalBase * riskPercentage / 100
// 杠杆触发条件:累计盈利>10%且当前是牛市
useLeverage = compoundingMode and cumulativeProfitPct >= 10.0 and isBullishEnv
// 应用杠杆倍数
effectiveLeverage = useLeverage ? maxLeverage : 1.0
leveragedRiskAmount = baseRiskAmount * effectiveLeverage
// 止损距离
stopDistance = stopAtrMult * h4Atr
// 计算合约数量
contractSize = leveragedRiskAmount / stopDistance
// 仓位占比限制
nominalValue = contractSize * close
positionPct = nominalValue / strategy.equity * 100
// 如果超过最大仓位占比,强制缩小
if positionPct > maxPositionPct
contractSize := strategy.equity * maxPositionPct / 100 / close
// 最终合约数
finalContractSize = math.floor(contractSize * 1000) / 1000
actualRiskAmount = finalContractSize * stopDistance
// ==================== 风控熔断机制 ====================
var float dayStartEquity = strategy.initial_capital
if ta.change(time("D"))
dayStartEquity := strategy.equity
dailyPnL = strategy.equity - dayStartEquity
dailyPnLPct = dailyPnL / strategy.equity * 100
isDailyCircuitBreaker = dailyPnLPct <= -dailyLossLimit
var float peakEquity = strategy.initial_capital
if strategy.equity > peakEquity
peakEquity := strategy.equity
currentDrawdown = (peakEquity - strategy.equity) / peakEquity * 100
isDefenseMode = currentDrawdown >= totalDrawdownLimit
// ==================== 持仓状态管理 ====================
var float entryPrice = na
var float currentStopLoss = na
var float riskUnit = na
var int profitStage = 0
var float maxR = 0.0
bool hasPosition = strategy.position_size != 0
bool isLong = strategy.position_size > 0
bool isShort = strategy.position_size < 0
// ==================== 开仓逻辑 ====================
canOpenLong = bullEntrySignal and not hasPosition and not isDailyCircuitBreaker and not isNoTradeZone and not isDefenseMode
canOpenShort = bearEntrySignal and not hasPosition and not isDailyCircuitBreaker and not isNoTradeZone and not isDefenseMode
if canOpenLong and finalContractSize > 0
leverageText = effectiveLeverage > 1.0 ? " [杠杆:" + str.tostring(effectiveLeverage, "#.#") + "x]" : ""
strategy.entry("Long", strategy.long, qty=finalContractSize,
comment="激进多单 $" + str.tostring(actualRiskAmount, "#") + leverageText)
entryPrice := close
currentStopLoss := close - stopDistance
riskUnit := stopDistance
profitStage := 0
maxR := 0.0
if canOpenShort and finalContractSize > 0
leverageText = effectiveLeverage > 1.0 ? " [杠杆:" + str.tostring(effectiveLeverage, "#.#") + "x]" : ""
strategy.entry("Short", strategy.short, qty=finalContractSize,
comment="激进空单 $" + str.tostring(actualRiskAmount, "#") + leverageText)
entryPrice := close
currentStopLoss := close + stopDistance
riskUnit := stopDistance
profitStage := 0
maxR := 0.0
// ==================== 激进分级止盈逻辑 ====================
currentR = 0.0
if isLong and not na(entryPrice)
currentR := (close - entryPrice) / riskUnit
maxR := math.max(maxR, currentR)
// 阶段1:延迟保本(1.2R)- 你的配置
if currentR >= breakEvenR and profitStage < 1
currentStopLoss := math.max(currentStopLoss, entryPrice)
profitStage := 1
// 阶段2:延迟锁利(3R锁1R)- 你的配置
if currentR >= lockSmallR and profitStage < 2
currentStopLoss := math.max(currentStopLoss, entryPrice + lockSmallLevel * riskUnit)
profitStage := 2
// 阶段3:大利润锁定(6R锁3R)- 你的配置
if currentR >= lockBigR and profitStage < 3
currentStopLoss := math.max(currentStopLoss, entryPrice + lockBigLevel * riskUnit)
profitStage := 3
// 利润回撤熔断(4R后回撤2R就平仓)
if useGivebackKill and maxR >= givebackStartR and (maxR - currentR) >= maxGivebackR
strategy.close("Long", comment="回撤熔断 峰值:" + str.tostring(maxR, "#.#") + "R")
entryPrice := na
profitStage := 0
maxR := 0.0
// 实时止损检查
else if close <= currentStopLoss
strategy.close("Long", comment="止损 R:" + str.tostring(currentR, "#.#"))
entryPrice := na
profitStage := 0
maxR := 0.0
// 趋势终结强平
else if dailyClose < dailyEma50
strategy.close("Long", comment="趋势终结 R:" + str.tostring(currentR, "#.#"))
entryPrice := na
profitStage := 0
maxR := 0.0
if isShort and not na(entryPrice)
currentR := (entryPrice - close) / riskUnit
maxR := math.max(maxR, currentR)
if currentR >= breakEvenR and profitStage < 1
currentStopLoss := math.min(currentStopLoss, entryPrice)
profitStage := 1
if currentR >= lockSmallR and profitStage < 2
currentStopLoss := math.min(currentStopLoss, entryPrice - lockSmallLevel * riskUnit)
profitStage := 2
if currentR >= lockBigR and profitStage < 3
currentStopLoss := math.min(currentStopLoss, entryPrice - lockBigLevel * riskUnit)
profitStage := 3
if useGivebackKill and maxR >= givebackStartR and (maxR - currentR) >= maxGivebackR
strategy.close("Short", comment="回撤熔断 峰值:" + str.tostring(maxR, "#.#") + "R")
entryPrice := na
profitStage := 0
maxR := 0.0
else if close >= currentStopLoss
strategy.close("Short", comment="止损 R:" + str.tostring(currentR, "#.#"))
entryPrice := na
profitStage := 0
maxR := 0.0
else if dailyClose > dailyEma50
strategy.close("Short", comment="趋势终结 R:" + str.tostring(currentR, "#.#"))
entryPrice := na
profitStage := 0
maxR := 0.0
// ==================== 图表显示 ====================
plot(dailyEma50, "日线EMA50", color=https://t.co/W9LQ9MN6qZ, linewidth=2)
plot(h4Ema20, "4H EMA20", color=https://t.co/e0Aaf28bjc, linewidth=1)
upperBand = h4Ema20 + pullbackAtrMult * h4Atr
lowerBand = h4Ema20 - pullbackAtrMult * h4Atr
plot(upperBand, "回调上轨", color=https://t.co/duXI7lEpR4(color.gray, 70))
plot(lowerBand, "回调下轨", color=https://t.co/duXI7lEpR4(color.gray, 70))
plot(hasPosition ? currentStopLoss : na, "动态止损", color=https://t.co/dIOECDNzBQ, style=https://t.co/p19xqwh0Vx_linebr, linewidth=2)
plot(hasPosition ? entryPrice : na, "入场价", color=color.white, style=https://t.co/p19xqwh0Vx_linebr, linewidth=1)
// 背景色:杠杆模式用深绿,普通牛市浅绿,熊市红色
bgColor = useLeverage ? https://t.co/duXI7lEpR4(https://t.co/rulpMKA568, 80) :
isBullishEnv ? https://t.co/duXI7lEpR4(https://t.co/rulpMKA568, 95) :
isBearishEnv ? https://t.co/duXI7lEpR4(https://t.co/dIOECDNzBQ, 95) :
https://t.co/duXI7lEpR4(color.gray, 97)
bgcolor(bgColor)
plotshape(canOpenLong, "做多", shape.triangleup, location.belowbar, color.lime, size=size.small)
plotshape(canOpenShort, "做空", shape.triangledown, location.abovebar, https://t.co/dIOECDNzBQ, size=size.small)
// 杠杆启用标记
plotshape(useLeverage and not hasPosition, "杠杆模式", shape.diamond, https://t.co/5DYgJjDGPX, color.yellow, size=size.tiny)
// ==================== 激进版Dashboard ====================
var table dashboard = https://t.co/tUjOGYdqfh(https://t.co/7soqemfmL4_right, 2, 12, bgcolor=https://t.co/duXI7lEpR4(https://t.co/lv48OjpjeR, 85), border_width=1)
if barstate.islast
// 标题
table.cell(dashboard, 0, 0, "激进复利版 v3.0", text_color=color.white, text_size=size.normal, bgcolor=https://t.co/duXI7lEpR4(https://t.co/dIOECDNzBQ, 50))
table.cell(dashboard, 1, 0, "高风险高回报", text_color=color.yellow, text_size=size.normal, bgcolor=https://t.co/duXI7lEpR4(https://t.co/dIOECDNzBQ, 50))
// 账户状态
table.cell(dashboard, 0, 1, "当前权益", text_color=color.white, text_size=size.small)
equityColor = strategy.equity > strategy.initial_capital ? color.lime : https://t.co/dIOECDNzBQ
table.cell(dashboard, 1, 1, "$" + str.tostring(strategy.equity, "#,###"), text_color=equityColor, text_size=size.small)
// 累计盈利
table.cell(dashboard, 0, 2, "累计盈利", text_color=color.white, text_size=size.small)
profitColor = cumulativeProfitPct > 0 ? color.lime : https://t.co/dIOECDNzBQ
table.cell(dashboard, 1, 2, str.tostring(cumulativeProfitPct, "#.#") + "%", text_color=profitColor, text_size=size.small)
// 杠杆状态
table.cell(dashboard, 0, 3, "当前杠杆", text_color=color.white, text_size=size.small)
leverageColor = effectiveLeverage > 1.0 ? color.yellow : color.gray
leverageStatus = effectiveLeverage > 1.0 ? str.tostring(effectiveLeverage, "#.#") + "x 🚀" : "1.0x"
table.cell(dashboard, 1, 3, leverageStatus, text_color=leverageColor, text_size=size.small)
// 基础风险(3%)
table.cell(dashboard, 0, 4, "基础风险", text_color=color.white, text_size=size.small)
table.cell(dashboard, 1, 4, "$" + str.tostring(baseRiskAmount, "#") + " (3%)", text_color=color.aqua, text_size=size.small)
// 实际风险(含杠杆)
table.cell(dashboard, 0, 5, "实际风险", text_color=color.white, text_size=size.small)
actualRiskColor = actualRiskAmount > baseRiskAmount ? https://t.co/W9LQ9MN6qZ : color.lime
table.cell(dashboard, 1, 5, "$" + str.tostring(actualRiskAmount, "#"), text_color=actualRiskColor, text_size=size.small)
// 趋势状态
trendText = isBullishEnv ? "多头 ▲" : isBearishEnv ? "空头 ▼" : "震荡 ■"
trendColor = isBullishEnv ? color.lime : isBearishEnv ? https://t.co/dIOECDNzBQ : color.gray
table.cell(dashboard, 0, 6, "趋势", text_color=color.white, text_size=size.small)
table.cell(dashboard, 1, 6, trendText, text_color=trendColor, text_size=size.small)
// 回调状态
pullbackText = isBullPullback ? "回调区 ✓" : isBearPullback ? "反弹区 ✓" : "等待..."
table.cell(dashboard, 0, 7, "回调", text_color=color.white, text_size=size.small)
table.cell(dashboard, 1, 7, pullbackText, text_color=(isBullPullback or isBearPullback) ? color.yellow : color.gray, text_size=size.small)
// 持仓状态
posText = isLong ? "持多 ●" : isShort ? "持空 ●" : "空仓 ○"
posColor = isLong ? color.lime : isShort ? https://t.co/dIOECDNzBQ : color.gray
table.cell(dashboard, 0, 8, "持仓", text_color=color.white, text_size=size.small)
table.cell(dashboard, 1, 8, posText, text_color=posColor, text_size=size.small)
// 当前R倍数
table.cell(dashboard, 0, 9, "当前R", text_color=color.white, text_size=size.small)
rColor = currentR > 0 ? color.lime : currentR < 0 ? https://t.co/dIOECDNzBQ : color.gray
table.cell(dashboard, 1, 9, str.tostring(currentR, "#.##") + "R", text_color=rColor, text_size=size.small)
// 历史最高R
table.cell(dashboard, 0, 10, "峰值R", text_color=color.white, text_size=size.small)
table.cell(dashboard, 1, 10, str.tostring(maxR, "#.##") + "R", text_color=color.lime, text_size=size.small)
// 止盈阶段
stageText = profitStage == 0 ? "初始" : profitStage == 1 ? "已保本" : profitStage == 2 ? "锁小利" : "锁大利"
table.cell(dashboard, 0, 11, "阶段", text_color=color.white, text_size=size.small)
table.cell(dashboard, 1, 11, stageText, text_color=color.yellow, text_size=size.small) December 12, 2025
1RP
よく高橋洋一さんがアメリカ第7艦隊を買ったらと言う話をするが、空母打撃軍の運用コストを見てみた。約1600億円。ただし船自体の購入費用とか艦載機の費用は含まれない。レンタルで。どうするってとこだね。
米海軍の艦艇運用コスト(Operation and Support: O&S costs)は、予算文書や報告書に基づき、年次ベースで推定されます。以下は主なクラスごとの平均年間コスト(2020年代の常時ドル基準、インフレ調整後)の目安で、燃料、人件費、メンテナンス、訓練などを含みます。実際のコストは運用状況(展開時 vs 平常時)や年次予算により変動します。公開情報に基づく推定値です。
- **空母(Aircraft Carrier, e.g., Nimitz-class CVN)**: 約7億2,600万ドル/年(人員約5,000人規模の維持コストが大きい)。Ford-classはより高額(日次運用時6-8百万ドル、年換算で20億ドル超の可能性)。<grok:render card_id="d6104e" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">14</argument>
</grok:render><grok:render card_id="4bd336" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">75</argument>
</grok:render>
- **護衛艦(Escort Ship, e.g., Arleigh Burke-class DDG destroyer)**: 約1億ドル/年(1987年基準35百万ドルをインフレ調整)。LCS(沿岸戦闘艦)類似クラスで70百万ドル程度の比較あり。<grok:render card_id="a53cad" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">64</argument>
</grok:render><grok:render card_id="69055a" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">38</argument>
</grok:render>
- **攻撃型原潜(Attack Submarine, e.g., Virginia-class SSN)**: 約5,000万ドル/年。<grok:render card_id="a8bc98" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">44</argument>
</grok:render>
### 合計推定運用コスト(年次)
- 空母1隻: 7億2,600万ドル
- 護衛艦3隻: 3億ドル(1億ドル × 3)
- 攻撃型原潜1隻: 5,000万ドル
- **総額**: 約10億7,600万ドル(約1.076 billion USD)。倭国円換算(2025年12月時点のレート約150円/USDで):約1,614億円。
これらはGAO/CBO報告やSAR(Selected Acquisition Report)からの推定で、全体の艦隊運用では追加のグループ支援コストが発生します。詳細は米国防省の予算文書を参照。 December 12, 2025
1RP
做了一个简化版的交易系统逻辑总结
作用:识别市场从趋势到震荡再到突破的完整生命周期,并在每个阶段采用策略。
以下是数学语言和代码👇:
(代码太长了,删了一部分,可以根据数学语言自己推)
价格序列与技术指标:
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
1RP
南フランスの村、サンポールドヴァンスに3年前の12月に訪れました✨
サンポールドヴァンスといえば、シャガールが晩年過ごした場所としても有名で、私たちが行った12月も夏ほどではないですが、多くの観光客で賑わっていました。
可愛らしいクリスマスの飾りも見ることができてとても嬉しかったです🌲
クリスマスイルミネーションやマーケットにもっと行きたいですが、動画の編集が遅れていて、今年はあまり行けそうにありません。
昔撮った動画や写真を見て、楽しかった時間を思い出します☺️
Je suis allée a Saint-Paul-de-Vence, dans le sud de la France, en décembre il y a trois ans✨
Saint-Paul-de-Vence est célèbre pour avoir été le lieu où Chagall a passé ses dernières années. En décembre, bien que moins fréquenté qu'en été, le village était animé par de nombreux touristes.
J'étais très contente de pouvoir admirer les jolies décorations de Noël🌲
J'aimerais aller voir les illuminations et les marchés de Noël plus cette année, mais le montage de la vidéo prend du retard et je ne pense pas pouvoir y aller beaucoup.
Je regarde les vidéos et les photos que j'ai prises autrefois et je me remémore ces moments agréables ☺️ December 12, 2025
よく高橋洋一さんがアメリカ第7艦隊を買ったらと言う話をするが、空母だけ軍の運用コストを見てみた。約1600億円。ただし購入費用とか艦載機の費用は含まれない。どうするってとこだね。
米海軍の艦艇運用コスト(Operation and Support: O&S costs)は、予算文書や報告書に基づき、年次ベースで推定されます。以下は主なクラスごとの平均年間コスト(2020年代の常時ドル基準、インフレ調整後)の目安で、燃料、人件費、メンテナンス、訓練などを含みます。実際のコストは運用状況(展開時 vs 平常時)や年次予算により変動します。公開情報に基づく推定値です。
- **空母(Aircraft Carrier, e.g., Nimitz-class CVN)**: 約7億2,600万ドル/年(人員約5,000人規模の維持コストが大きい)。Ford-classはより高額(日次運用時6-8百万ドル、年換算で20億ドル超の可能性)。<grok:render card_id="d6104e" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">14</argument>
</grok:render><grok:render card_id="4bd336" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">75</argument>
</grok:render>
- **護衛艦(Escort Ship, e.g., Arleigh Burke-class DDG destroyer)**: 約1億ドル/年(1987年基準35百万ドルをインフレ調整)。LCS(沿岸戦闘艦)類似クラスで70百万ドル程度の比較あり。<grok:render card_id="a53cad" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">64</argument>
</grok:render><grok:render card_id="69055a" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">38</argument>
</grok:render>
- **攻撃型原潜(Attack Submarine, e.g., Virginia-class SSN)**: 約5,000万ドル/年。<grok:render card_id="a8bc98" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">44</argument>
</grok:render>
### 合計推定運用コスト(年次)
- 空母1隻: 7億2,600万ドル
- 護衛艦3隻: 3億ドル(1億ドル × 3)
- 攻撃型原潜1隻: 5,000万ドル
- **総額**: 約10億7,600万ドル(約1.076 billion USD)。倭国円換算(2025年12月時点のレート約150円/USDで):約1,614億円。
これらはGAO/CBO報告やSAR(Selected Acquisition Report)からの推定で、全体の艦隊運用では追加のグループ支援コストが発生します。詳細は米国防省の予算文書を参照。 December 12, 2025
一番最後の[Prompt for original image]の部分に画像生成に使用したPromptを入れると一貫性が増します。不要な場合は3行削ってしまっても大丈夫です。
---
Extreme wide-angle perspective and dynamic pose remix edit.
This is an EDIT of the original image, not a new character.
Use the original image as a strict reference for:
– the person’s identity, hairstyle, and overall fashion style,
– the general type of background and location (same street, same room, same beach, same kind of architecture, etc.).
You are allowed to completely change the camera position, angle, and pose, but you must keep the scene in the SAME location and keep the SAME person and outfit design.
Camera and perspective:
– Use an ultra wide-angle or fisheye feeling lens (around 12–18mm full-frame look).
– The camera angle MUST change significantly from the original: use dramatic angles such as
• worm’s-eye view from directly below looking up,
• bird’s-eye view from directly above looking down,
• very low angle from the ground,
• high angle from above,
• tilted Dutch angles.
– Always create strong foreshortening: body parts close to the lens look huge, while the rest of the body falls away in perspective.
– The final result must look like a bold fashion or street photo, fully photorealistic, not illustration or anime.
Background consistency:
– Keep the same location as the original image: same street, same bridge, same room, same studio, same beach, same general structures and materials.
– Do NOT replace the background with a completely different place.
– Because the camera angle changes, it is allowed and expected that different parts of the environment become visible.
– When new areas appear, extend the original environment logically (same buildings, fences, road markings, walls, colors, materials, lighting style), as if the camera moved within the same place.
Body parts near the lens (1–2 parts, sometimes 3):
– In each edit, choose ONE or TWO main body parts to be extremely close to the lens (sometimes even THREE in more complex poses).
– Vary them from image to image, do NOT always use the same body part.
– Allowed near-the-lens parts include:
• one or both hands / fingers reaching toward the camera,
• one or both feet / shoes / boots near the lens,
• knees or thighs,
• face very close to the lens,
• shoulders or chest close to the lens in a leaning pose.
– The chosen body parts should come extremely close to the lens, almost touching it, with visible skin texture, fabric texture, and realistic wide-angle distortion.
Pose and overall body (complex and varied):
– Create strong, cool, dynamic poses that match the extreme perspective.
– Randomly use different pose types, including:
• standing with one leg or one arm reaching toward the camera,
• crouching or squatting low to the ground,
• sitting on the floor or on objects,
• lying on the ground with legs or feet toward the lens,
• leaning forward aggressively toward the camera,
• twisting the body, crossing legs, or arching the back for more dynamic lines.
– Allow complex poses where:
• both hands are near the lens forming shapes (peace signs, triangles, frames, pointing toward the viewer),
• both feet are toward the lens,
• one hand and one foot are both large in the foreground,
• the face is close to the lens while hands or feet are also visible in perspective.
– Maintain believable anatomy even with extreme foreshortening.
Angle and attitude (randomized):
– Randomize camera angle and orientation (up, down, side, Dutch tilt) while keeping the composition visually balanced and powerful.
– Keep the vibe cool, confident, and fashion/editorial or street style, depending on the original outfit.
– Facial expressions can vary (serious, playful, confident, mysterious), but must still look like the same person.
Lighting and rendering:
– Keep the general time of day and lighting mood similar to the original (night vs day, indoor vs outdoor, soft vs hard light), but you may enhance contrast and color to make the image punchy and dramatic.
– Maintain realistic shadows and contact points with the ground or floor.
– High-resolution, sharp details with clear skin texture, fabric weave, and material highlights.
Variation and randomness:
– Each edit should look noticeably different from the original image and from other edits, with different:
• camera angles,
• pose types,
• which body parts are closest to the lens,
• orientation (straight, tilted, from above, from below).
– Avoid repeating the exact same single-foot-close-up composition; produce a wide variety of dynamic poses and angles.
Strict rules:
– Do NOT change the person into someone else.
– Do NOT change the outfit type; only restyle it through pose, perspective, and small natural movement of clothing.
– Do NOT move the scene to a completely different location; always stay in a plausible extension of the original place.
– Do NOT add text, logos, watermarks, or graphic design elements.
– Do NOT switch to painting, illustration, or anime style; keep it photorealistic.
Overall:
Transform the original photo into a dramatic, photorealistic, ultra wide-angle shot with an extreme camera angle (including views from directly below or above), where one or more body parts are right next to the lens and look huge, the rest of the body recedes in perspective, and the same person strikes a stylish, complex, powerful pose in a consistent, expanded version of the original environment.
Also, below is the prompt for generating the original image. Please use it as a reference.
[Prompt for original image]
#nanobanana2 December 12, 2025
このベージュのマックスマーラコート、意外と上品じゃん。別にいらないけど…(…本当は欲しー)
INTREND Max Mara マックスマーラ コート
https://t.co/nOsyWjWRGc December 12, 2025
皆さん、こんにちは。私の最初のゲーム「Phantom Rend」のティーザーとSteamページを公開しました。ぜひチェックしてみてください!
#インディーゲーム #メトロイドヴァニア #2Dゲーム https://t.co/AImE3HILbb December 12, 2025
うわまたジョニデの撮影会遅れかよ…前日5時間オーバーから7日も大幅延長未定って、ファンの待ち時間エグすぎるわ。<grok:render card_id="963cd4" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">7</argument>
</grok:render> 公式が6日の16:45/18:00枠を7日11:00に振り替え対応してるけど、トークショー13時から被り気味じゃん。<grok:render card_id="f4e86e" card_type="citation_card" type="render_inline_citation">
<argument name="citation_id">0</argument>
</grok:render> ジョニデの体調か?それともファン多すぎて回りきらん?お前チケット持ってたらどうすんの? December 12, 2025
ええっ!✨😳INTREND Max Maraのマックスマーラコート、めっちゃ素敵…!ベージュの色合い、上品で憧れちゃうのです🌷🌸💕私もいつか着てみたいなぁ…!
INTREND Max Mara マックスマーラ コート
https://t.co/mX1XREt9UR December 12, 2025
<ポストの表示について>
本サイトではXの利用規約に沿ってポストを表示させていただいております。ポストの非表示を希望される方はこちらのお問い合わせフォームまでご連絡下さい。こちらのデータはAPIでも販売しております。









