Type/to search
2
Follow
484
Followers
バイナンス永久先物契約の新規エントリー自動化ワークフロー:AIに相場監視を任せよう
Discussions
Created 2026-03-20 09:40:26  Updated 2026-03-23 16:16:26
 0
 351

img

新規公開(IPO)という言葉は、株式市場では誰もが知っています。事前に申し込みを行い、正式上場の瞬間に価格発見による利益を得る――これが新規公開の核となるロジックです。暗号資産(仮想通貨)の世界にも同様の新規公開機会があり、その頻度は株式市場よりもはるかに高くなっています。主要な中央集権型取引所では、ほぼ数日おきに新しいパーペチュアル先物が上場されており、これらの機会はすべての人に平等に開かれています。

img

パーペチュアル先物が上場されたばかりの段階では、市場での当該通貨の価格設定はまだ不十分で、価格弾力性が非常に高く、短期間で通常の相場をはるかに超える値動きを見せることがよくあります。事前に方向性を判断し、寄り付きの瞬間にエントリーする――これこそがパーペチュアル先物の新規公開機会です。しかし、問題もあります。新しい先物が上場される前に、私たちはその通貨についてほとんど何も知りません。チームの背景、トークノミクス、市場センチメント、資金調達率……これらの情報を収集・分析するには多大な時間が必要です。十分な知識なしにむやみにエントリーするのは、ギャンブルと変わりません。人手ですべての新通貨を調査していては、とてもペースについていけません。

そこで本日ご紹介するのは、この問題を解決するためのワークフローです。すなわち、システムが発表が出た瞬間に自動でデータ収集を開始し、継続的にAI分析を行い、寄り付き前に十分な知識基盤を構築するというものです。ワークフロー全体は24時間自動で稼働し、人手による監視は不要で、新通貨の発表、データ収集、AI分析、寄り付きでのエントリーがすべて自動で完了します。

img


全体アーキテクチャ:2つの並行実行ライン

この戦略のアーキテクチャは、2つの実行ラインで構成されています。

分析ラインは長めの時間間隔でループ実行され、新通貨上場の発表を継続的に監視し、多次元データを収集し、AIを呼び出して分析を行い、その都度の分析結果を履歴として蓄積します。実行ラインは非常に短い時間間隔で高速ループし、新通貨が取引所に上場されたかをリアルタイムで検出し、上場を検出するとすぐに分析結果を読み取り、エントリーの判断を行い、ポジションの利確・損切りを継続的に監視します。

2つのラインは明確に役割分担されています。分析ラインが方向性を示し、実行ラインがそれを実行に移します。


分析ライン:ステップ1――新通貨の発見と追跡キューの作成

分析ラインが起動すると、まずグローバル状態を初期化し、初期資金や実行回数などの基本データを記録します。

javascript
if (_G('nl_initialized') === null) { _G('nl_initialized', true); _G('nl_trackingList', JSON.stringify([])); _G('nl_STARTTIME', Date.now()); const initAccount = exchange.GetAccount(); _G('nl_initmoney', $vars.initmoney || initAccount.Balance); }

次に、Binanceの公式発表を取得し、パーペチュアル先物がまもなく上場される新通貨を識別します。

javascript
const raw = HttpQuery( 'https://www.binance.com/bapi/composite/v1/public/cms/article/list/query?type=1&pageNo=1&pageSize=10', { method: 'GET', headers: { 'User-Agent': 'Mozilla/5.0', 'clienttype': 'web' } } );

新通貨を識別すると、システムはそれを追跡キューにプッシュし、ステータスフラグを設定します。上場前はPRE_LISTING(プレ追跡)、上場当日はLAUNCH_DAY(寄り付き日)、エントリー後はTRADING(取引中)、完了後はDONEに変更され、自動的にキューから削除されます。

javascript
trackingList.push({ symbol, launchDate, status: isLaunchDay ? 'LAUNCH_DAY' : 'PRE_LISTING', discoveredAt: now.toISOString(), hoursToLaunch: isLaunchDay ? '今日发行' : hoursToLaunch, analysisCount: 0, lastAnalyzedAt: null });

これにより、システムは常に現時点で真に価値のあるターゲットのみに注目し、期限切れの機会にリソースを浪費することはありません。


分析ライン:ステップ2――多次元データ収集

新通貨を発見した後、システムは直ちに3つの次元からデータ収集を開始します。

ファンダメンタルデータはCoinMarketCap APIを介して、トークンの時価総額、流通比率、CMCランキングなどを取得します。

javascript
function fetchCMC(coin) { const key = $vars.cmcApiKey || ''; const raw = HttpQuery( 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=' + coin + '&convert=USD', { method: 'GET', headers: { 'X-CMC_PRO_API_KEY': key, 'Accept': 'application/json' } } ); const c = JSON.parse(raw).data[coin]; const q = c.quote.USD; const supply = c.max_supply || c.total_supply; return { name: c.name, rank: c.cmc_rank, circulatingSupply: c.circulating_supply, circulationRatio: supply ? parseFloat((c.circulating_supply / supply * 100).toFixed(2)) : null, spotPrice: q.price, change1h: q.percent_change_1h, change24h: q.percent_change_24h, change7d: q.percent_change_7d, volume24h: q.volume_24h, marketCap: q.market_cap, fullyDilutedMarketCap: q.fully_diluted_market_cap }; }

センチメントデータはBrave Searchを介して、直近の当該通貨に関連する資金背景、チーム動向、アンロックスケジュールなどのニュースを取得します。3つの異なるキーワード組み合わせでそれぞれ検索します。

javascript
function fetchBraveNews(coin) { const key = $vars.braveKey || ''; const queries = [ '"' + coin + '" token funding team', '"' + coin + '" vesting unlock schedule', '"' + coin + '" binance futures listing' ]; // 对每条query调用Brave Search API,过滤命中coin名称的结果,去重后返回 }

マーケットデータはBybit、OKX、Gate、HTXの4つの取引所から先物の相場を同時に取得し、資金調達率、建玉、価格差などの主要指標を含みます。OKXを例に挙げると:

javascript
function fetchOKX(coin) { try { const instId = coin + '-USDT-SWAP'; const tkRaw = HttpQuery('https://www.okx.com/api/v5/market/ticker?instId=' + instId, { method: 'GET', headers: { 'Accept': 'application/json' } }); const tk = JSON.parse(tkRaw).data && JSON.parse(tkRaw).data[0]; if (!tk) return null; Sleep(150); let fundingRate = null, nextFundingRate = null, fundingTime = null, nextFundingTime = null; try { const frRaw = HttpQuery('https://www.okx.com/api/v5/public/funding-rate?instId=' + instId, { method: 'GET', headers: { 'Accept': 'application/json' } }); const fr = JSON.parse(frRaw).data && JSON.parse(frRaw).data[0]; if (fr) { fundingRate = parseFloat(fr.fundingRate); nextFundingRate = fr.nextFundingRate !== '' ? parseFloat(fr.nextFundingRate) : null; fundingTime = fr.fundingTime; nextFundingTime = fr.nextFundingTime; } } catch(e) {} Sleep(150); let openInterest = null; try { const oiRaw = HttpQuery('https://www.okx.com/api/v5/public/open-interest?instType=SWAP&instId=' + instId, { method: 'GET', headers: { 'Accept': 'application/json' } }); const oiData = JSON.parse(oiRaw).data && JSON.parse(oiRaw).data[0]; if (oiData) openInterest = parseFloat(oiData.oiUsd); } catch(e) {} const last = parseFloat(tk.last); const sodUtc0 = parseFloat(tk.sodUtc0); return { price: last, bid1: parseFloat(tk.bidPx), bid1Size: parseFloat(tk.bidSz), ask1: parseFloat(tk.askPx), ask1Size: parseFloat(tk.askSz), spread: parseFloat((parseFloat(tk.askPx) - parseFloat(tk.bidPx)).toFixed(8)), change24h: parseFloat(((last - sodUtc0) / sodUtc0 * 100).toFixed(4)), high24h: parseFloat(tk.high24h), low24h: parseFloat(tk.low24h), open24h: parseFloat(tk.open24h), volume24h: parseFloat(tk.vol24h), volCcy24h: parseFloat(tk.volCcy24h), openInterest, fundingRate, nextFundingRate, fundingTime, nextFundingTime }; } catch(e) { Log('OKX失敗:', e.message); return null; } }

複数取引所の相互検証により、単一データソースによるバイアスを効果的に回避でき、新しい銘柄に対する認識もより立体的になります。


分析ライン:第3ステップ——履歴記憶を備えたAI分析

これはワークフロー全体で最も核となる設計です。

発表から新規銘柄の正式上場までには数日かかることが多く、その間システムはデータ収集とAI分析を繰り返します。重要なのは、分析のたびに、それまでのすべての結論をAIに渡し、過去の判断に基づいて新たな推論を行わせる点です。

履歴レコードを読み込み、プロンプトに注入します。

javascript
const historyKey = 'nl_history_' + symbol; const history = JSON.parse(_G(historyKey) || '[]'); const orderNum = history.length + 1; function buildHistorySection(history) { if (history.length === 0) return '(これは該当銘柄の初回分析であり、履歴はありません)'; return history.map(h => { const ai = h.aiConclusion; return [ '### 第' + h.order + '回分析', '- 時間: ' + h.timestamp + ' | 上場まで' + h.hoursToLaunch + ' | フェーズ:' + h.phase, '- 結論: ' + ai.direction + ', 確信度' + ai.confidence + '%, リスク' + ai.riskLevel, '- トレンド: ' + (ai.trendConsistency || '初期'), '- エントリータイミング: ' + (ai.entryTiming || '-'), '- 総合判断: ' + ai.summary ].join('\n'); }).join('\n\n'); }

AI分析はいくつかの核となる原則に従います:過去の方向性が一致している場合、確信度は分析回数に応じて上昇します。方向性の反転が発生した場合は、それが本当のシグナルなのか短期的なノイズなのかを明確に説明する必要があります。過去の判断が不安定な場合は確信度を保守的に保ち、不当に引き上げてはいけません。AIは最終的に構造化された結論を出力します。

javascript
// AI出力のJSON構造 { "order": 3, "direction": "ロング|ショート|様子見", "confidence": 76, // 0-100の整数 "trendConsistency": "初期|強化|維持|弱体化|反転", "reversalType": "本当のシグナル|短期的なノイズ|null", "entryTiming": "immediate|drawdown_N", // drawdown_5 は5%の押し目を待つことを意味 "priceRange": { "low": 128, "high": 130 }, "leverage": 10, "stopLoss": 5, // ストップロスのパーセンテージ "takeProfit": 15, // 利確のパーセンテージ "riskLevel": "高|中|低", "riskPoints": ["リスクポイント1", "リスクポイント2"], "keyChanges": "前回と比べて最も重要なデータの変化", "summary": "100字以内の総合判断" }

分析完了後、結論は履歴レコードに保存され、同時に該当銘柄の最終戦略が更新され、実行ラインが読み取れるようになります。

javascript
const record = { order: item.orderNum, timestamp: new Date().toISOString(), phase: item.status, hoursToLaunch: item.hoursToLaunch, currentData: item.currentData, aiConclusion: aiResult }; history.push(record); _G('nl_history_' + symbol, JSON.stringify(history)); _G('nl_strategy_' + symbol, JSON.stringify({ symbol, updatedAt: new Date().toISOString(), phase: item.status, historyCount: history.length, aiResult }));

方向が一貫している場合、信頼度は分析回数に応じて増加します。方向に反転が生じた場合、AIは明確な理由を示す必要があります。こうして蓄積された判断は、一回の独立した分析よりもはるかに信頼性が高くなります。


実行ライン:第4歩——上場検出と安全なエントリー

実行ラインは高頻度でループし、exchange.GetMarkets() を使用して新規コインが取引所の先物リストに表示されたかどうかを検出します。上場が検出されると、まず安全チェックを通過します。

javascript
if (ai.direction === '様子見') { updateStatus(symbol, 'DONE'); continue; } if (ai.riskLevel === '高') { updateStatus(symbol, 'DONE'); continue; } if (ai.confidence < CONFIG.MIN_CONFIDENCE) { updateStatus(symbol, 'DONE'); continue; } if (hasPosition(coin)) { updateStatus(symbol, 'TRADING'); continue; }

全てのチェックを通過した後、AIが示すエントリーのタイミングに従って操作を実行します。即時エントリーの場合は、契約数量を計算して直接注文を出します。

javascript
const leverage = Math.min(ai.leverage || 5, CONFIG.MAX_LEVERAGE); exchange.SetMarginLevel(leverage); const allocAmount = Math.min(CONFIG.POSITION_AMOUNT, account.Balance * 0.3); const qty = calcContractAmount(allocAmount, price, market); if (ai.direction === 'ロング') { exchange.SetDirection('buy'); orderId = exchange.Buy(-1, qty); } else if (ai.direction === 'ショート') { exchange.SetDirection('sell'); orderId = exchange.Sell(-1, qty); }

AIがオープニングプレミアムが高すぎると判断した場合は、押し目を待ってエントリーする方法を選択します。システムは目標価格を記録し、継続的にポーリングします。

javascript
const targetPrice = ai.direction === 'ロング' ? openPrice * (1 - pct / 100) : openPrice * (1 + pct / 100); _G(coin + '_nl_waitEntry', JSON.stringify({ type: 'drawdown', waitStartTime: Date.now(), openPrice, targetPrice, drawdownPct: pct, ai })); updateStatus(symbol, 'TRADING_WAIT');

2時間以上待機してもトリガーされない場合は、チャンスが過ぎたとみなして自動的にエントリーを放棄します。


実行ライン:第5歩——ポジション監視と利益確定・損切り

エントリー後、実行ラインはポジションの状態を継続的に監視します。利益確定・損切りは2つのメカニズムを並行して動作させます。

javascript
const TP_SL = { DEFAULT_SL: 10, // デフォルト損切り 10% DEFAULT_TP: 25, // デフォルト固定利益確定 25% TRAILING_TRIGGER: 30, // 含み益30%到達時にトレーリングストップを有効化 TRAILING_DRAWDOWN: 8 // トレーリングストップのドローダウントリガー比率 8% }; // 最大含み益の記録を更新 if (pnlPct / 100 > maxProfit) { maxProfit = pnlPct / 100; _G(maxProfitKey, maxProfit); } // 含み益が閾値に達したら、自動でトレーリングストップを有効化 if (tpDrawdown === 0 && maxPnlPct >= TP_SL.TRAILING_TRIGGER) { tpDrawdown = TP_SL.TRAILING_DRAWDOWN; _G(tpDrawKey, tpDrawdown); } // 3つの決済条件を順に判定し、最初にトリガーされたものを実行 let closeReason = null; if (tpDrawdown > 0 && drawdown >= tpDrawdown) closeReason = 'トレーリングストップ'; if (!closeReason && pnlPct <= -maxSL) closeReason = '損切り'; if (!closeReason && pnlPct >= entry.takeProfit) closeReason = '固定利益確定'; if (closeReason) { if (isLong) { exchange.SetDirection('closebuy'); exchange.Sell(-1, amount); } else { exchange.SetDirection('closesell'); exchange.Buy(-1, amount); } _G(maxProfitKey, null); _G(slKey, null); _G(tpDrawKey, null); }

トレーリングストップにより利益を伸ばし、固定利益確定と損切りで下限を守ります。これら3つが同時に機能し、最初にトリガーされたものが実行されます。


実際の運用効果の表示

戦略実行後、ダッシュボードには4つのステータステーブルがリアルタイム表示されます。アカウント概要には稼働時間、現在の純資産、総収益率が表示されます。追跡キューには監視対象各通貨のステータス、上場までのカウントダウン、分析回数が表示されます。AI分析サマリーには各通貨の最新の完全な分析結果が表示されます。リアルタイムポジション監視には含み益、最大含み益、トレーリングストップ有効状況が表示され、オンラインでの手動決済や損切りパラメータの変更が可能です。

img

最近上場予定のEWYUSDTを例にとると、システムはアナウンス発見時から継続して複数回の分析を完了しています。毎回AIが示す方向はロングで、トレンドは「継続強化」とマークされています。これは過去の記憶メカニズムが機能していることを示しており、複数回の分析方向が一致しているため、マルチシグナルが安定していることを意味し、何かのデータ変動による誤判定ではありません。最新の総合判断:OKXおよびHTXの資金調達率は安定してプラス、韓国ETF無期限先物の上場関連ニュースは総じてポジティブ、AIはロング方向を示し、信頼度76%、価格帯128〜130でのオープン時即時エントリーを推奨、レバレッジ10倍、損切り5%、利益確定15%、リスクは中程度です。


戦略の限界とリスク注意事項

この戦略が解決する中核的な問題は、新規コイン上場前に、体系的な方法で人手によるコインの認識を代替し、判断結果を実行可能なエントリーシグナルに変換することです。ただし、その限界を明確に認識する必要があります。

新規コイン自体の変動は非常に大きく、損切りはオープン直後の1分以内にトリガーされる可能性があります。AIの判断品質はデータの完全性に依存し、上場前のデータが少ないほど判断は保守的になります。レバレッジは損益を拡大し、どの戦略も安定した利益を保証するものではありません。

ポジションコントロールを徹底することが、この戦略を使用する上で最も重要な前提です。

このシステムは現時点ではどちらかというと出発点です。新規上場投資は非常に深みのある分野であり、関連するシグナルの次元、エントリータイミングの判断、ポジション管理の詳細など、最適化の余地はまだ大きく残されています。この分野でご自身の経験や知見をお持ちの方は、ぜひコメント欄で情報交換をお願いします。皆で知恵を出し合うことで、より遠くへ進むことができます。どの戦略にも損失リスクは伴いますので、ご自身の状況に応じて必ず戦略ロジックを十分に検討した上でご利用ください。

戦略ソースコード:Binance新規上場スマートAI戦略

Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)