34 lines
1.4 KiB
JSON
34 lines
1.4 KiB
JSON
{
|
|
"strategyId": "ai_generated_000001_open_cap_band",
|
|
"version": "2",
|
|
"parser": "omniquant-engine-script-v2",
|
|
"market": "CN_A",
|
|
"signalSymbol": "000001.SH",
|
|
"benchmark": {
|
|
"instrumentId": "000852.SH",
|
|
"fallbackInstrumentId": "000852.SH"
|
|
},
|
|
"engineConfig": {
|
|
"market": "CN_A",
|
|
"signalSymbol": "000001.SH",
|
|
"benchmarkSymbol": "000852.SH",
|
|
"refreshRate": 15,
|
|
"rankLimit": 40
|
|
},
|
|
"runtimeExpressions": {
|
|
"prelude": "let refresh_rate = 15;\nlet stocknum = 40;\nlet xs = 0.008;\nlet base_index_level = 2000;\nlet lower_offset = 3;\nlet upper_offset = 28;\n\nfn cap_floor(current_price, base_index_level, xs, lower_offset) {\nround((current_price - base_index_level) * xs + lower_offset)\n}\n\nfn cap_ceiling(current_price, base_index_level, xs, upper_offset) {\nround((current_price - base_index_level) * xs + upper_offset)\n}",
|
|
"selection": {
|
|
"limitExpr": "stocknum",
|
|
"marketCapField": "market_cap",
|
|
"marketCapLowerExpr": "cap_floor(signal_open, base_index_level, xs, lower_offset)",
|
|
"marketCapUpperExpr": "cap_ceiling(signal_open, base_index_level, xs, upper_offset)",
|
|
"stockFilterExpr": "stock_ma5 > stock_ma10 && stock_ma10 > stock_ma30 && rolling_mean(\"volume\", 5) < rolling_mean(\"volume\", 60) && !ends_with(symbol, \".BJ\") && !at_upper_limit && !at_lower_limit"
|
|
},
|
|
"ordering": {
|
|
"rankBy": "market_cap",
|
|
"rankExpr": "",
|
|
"rankOrder": "asc"
|
|
}
|
|
}
|
|
}
|