2
フォロー
319
フォロワー

個人投資家の自己鍛錬物語:AIを活用して不良取引の80%をブロック

作成日:: 2025-10-10 16:01:11, 更新日:: 2025-10-17 21:18:33
comments   7
hits   486

個人投資家の自己鍛錬物語:AIを活用して不良取引の80%をブロック

実際のシーン

ブラックフライデーの午前3時。スマホをスクロールしていると、BTCが最安値を更新しているのに気づきます。心臓がドキドキし、指は「購入」ボタンの上に置きます。頭の中を、無数の考えが駆け巡ります。

  • 「今安値で買わないと手遅れだ!」
  • 「技術的なことはどうですか?気にしないでください。見るには遅すぎます。」
  • 「口座にいくらお金があるかな?気にしないで、まず買うよ。」

ボタンをクリックしました。翌朝目覚めると、市場は8%も急落し、私は全損していました。

これが個人投資家の90%の日常生活だ私も、このツールを構築するまではそうでした。

核となるアイデア: 衝動と秩序の間に障壁を設ける

このツールが行うことはシンプルです:

你的交易冲动 → 强制写下理由 → AI冷静分析 → 给出可执行方案 → 记录成长轨迹

鍵は3つのユニークなデザイン:

1.「なぜ」を書き留めるようにしましょう

フォームには「取引のアイデア」を記入する必要があります。「なぜこの取引をしたいのか」を言葉で説明しようとすると、多くの衝動は自然と静まっていくでしょう。

❌ 模糊的冲动:"感觉要涨"
✅ 具体的理由:"突破120日均线+MACD金叉+成交量放大"

2. AIが多次元でロジックを検証

システムは 4 種類のデータを自動的に収集し、包括的な分析を実行します。

データ収集

持仓信息 ──┐
情绪分析 ──┼──→ 数据合并 → AI分析
技术指标 ──┤
交易思路 ──┘

AI分析の4つの側面:

  • 0️⃣ トランザクションアイデアの検証(最重要):認知バイアスを見つけ、その論理が有効かどうかを検証する
  • 1️⃣ 技術的なシグナルの検証:MACD/RSI/ATR/OBVはあなたの判断を裏付けていますか?
  • 2️⃣ 感情的リスク評価: 市場心理は貪欲かパニックか?
  • 3️⃣ エントリーのタイミングを決める: 今エントリーしてもいいですか、それとも引き戻し/突破を待つことができますか?

複数のフィールドの完全な分析を出力する:

{
  "思路原文": "跌了5%,应该到底了",
  "思路评价": "不合理",
  "致命缺陷": "锚定效应——下跌5%不代表充分",
  "验证结果": "MACD=-213深度空头,RSI=31无底背离",
  "执行建议": "放弃交易",
  "建议入场价格": "不建议入场",
  "止损价格": "$115,000",
  "止盈目标1_价格": "$125,000",
  // ...
}

3. トレーディングジャーナルを使って成長を追跡する

各トレーディングインスピレーション分析はCSVファイルに自動的に保存されます。1ヶ月後に開くと、以下の情報が表示されます。

日付 アイデアの評価 致命的な欠陥 実装の推奨事項
101 不合理な 追いついた あきらめる
105 不合理な アンカリング効果 あきらめる
108 部分的に合理的 ストップロスの設定が広すぎる 待って
1012 合理的 明らかな欠陥なし すぐに実行する

これは衝動的な人間から理性的な人間への進化です

システムアーキテクチャ

完全なフローチャート

個人投資家の自己鍛錬物語:AIを活用して不良取引の80%をブロック

工作流触发 → 表单输入 → 空值判断 → [数据收集] → 数据整理 → AI分析 → 存储 → 导出CSV
                            ↓
               ┌────────────┼────────────┐
               ↓            ↓            ↓
           持仓信息      情绪分析     技术指标

レイヤー1: トランザクションインスピレーションキャプチャ

ノード名: トランザクションスパークを入力
タイプ: 待機ノード(フォームモード)

// 表单字段配置
{
  "交易品种": "text",      // 如BTC
  "交易方向": "下拉框选择",  // LONG/SHORT/COVERLONG/COVERSHORT
  "交易数量": "number",    // 如1
  "交易思路": "text"       // 核心!必须填写理由
}

キーデザイン:

  • このフォームの後にスイッチノードトランザクションスパークが存在するかどうかを判断し、AI検証の次のステップに進みます。

レイヤー2: データ収集

パス1: 位置情報の収集

ノード名: 位置情報の収集
タイプ: accountInfo ノード

// 查询当前品种持仓
symbol: "{{ $json['交易品种'] }}_USDT.swap"
operation: "getPosition"

// 输出示例
{
  "symbol": BTC,  // 持仓品种
  "amount": 0.5,  // 持仓数量
  "price": 110003  // 方向
}

パス2: 感情データを収集する

ノード名: 感情データを収集する → 感情情報を分析する
タイプ: MCP Client + AI Agent

ステップ1:ニュースを入手する

// Alpha Vantage MCP接口
endpointUrl: "https://mcp.alphavantage.co/mcp?apikey='YOUR_KEY'"
tool: "NEWS_SENTIMENT"
tickers: "CRYPTO:{{ $json['交易品种'] }}"

ステップ2:AIが感情を抽出する

// AI输出的结构化情绪分析
{
  "shortTermSentiment": {
    "category": "积极",
    "score": 0.7,
    "rationale": "24小时内突破关键阻力位,社交媒体热度上升"
  },
  "longTermSentiment": {
    "category": "中性",
    "score": 0.0,
    "rationale": "监管不确定性仍存,机构入场速度放缓"
  }
}

感情データはなぜ重要なのでしょうか?
個人投資家と機関投資家の間の最大のギャップの一つは、情報へのアクセス能力です。最近のニュースセンチメントを分析することで、以下の情報を常に把握できます。

  • 主要メディアが特定の通貨について報道する傾向
  • 市場参加者の感情の傾向
  • 主要なニュースイベントの影響評価

これは重要な情報のギャップを埋める

パス3:テクニカル指標を計算する

ノード名: シグナル指標の計算
タイプ: tradingPlugin ノード

function main(inputData) {
    const symbol = inputData + "_USDT.swap"
    const records = exchange.GetRecords(symbol)
    
    // 数据校验
    if (records.length <= 10) {
        Log("Error: 数据不足");
        return null;
    }
    
    // 计算技术指标(使用talib库)
    const macd = talib.MACD(records);
    const rsi = talib.RSI(records, 14);
    const atr = talib.ATR(records, 14);
    const obv = talib.OBV(records);

    // 获取最近10个值
    function getLast10Values(arr) {
        if (!arr || arr.length === 0) return [];
        return arr.slice(-10);
    }

    return {
        MACD: {
            macd: getLast10Values(macd[0]),
            signal: getLast10Values(macd[1]), 
            histogram: getLast10Values(macd[2])
        },
        RSI: getLast10Values(rsi),
        ATR: getLast10Values(atr),
        OBV: getLast10Values(obv)
    };
}

返されたテクニカル指標:

  • MACD(トレンド指標):ゴールデンクロス/デッドクロス/ダイバージェンス
  • RSI(オシレーター):買われすぎ(>70)/売られすぎ(<30)
  • ATR(ボラティリティ):ダイナミックストップロスに使用
  • OBV(取引量):資本フロー

パス4:取引の意図そのもの

種類、方向、数量など、フォームから直接渡します。取引のアイデア

レイヤー3: データラングリング

ノード名: データ収集
タイプ: コードノード (JavaScript)

// 初始化容器
let posData = null;
let contentData = null;
let technicalIndicators = null;
let tradeIdea = null;

// 遍历合并节点的所有输入
for (const item of items) {
    // =============== 持仓数据 ===============
    if (item.json.operation === 'getPosition' && item.json.result !== undefined) {
        posData = item.json.result;
        // 关键转换:数值→易读文本
        posData.amount = posData.amount == 0 ? "无持仓" : 
                         posData.amount > 0 ? "多仓" : "空仓";
    }

    // =============== 情感分析结果 ===============
    if (item.json.output !== undefined) {
        try {
            contentData = JSON.parse(item.json.output);
        } catch (e) {
            contentData = item.json.output;
        }
    }

    // =============== 技术指标数据 ===============
    if (item.json.MACD !== undefined || item.json.RSI !== undefined) {
        technicalIndicators = {
            "趋势指标MACD": item.json.MACD,
            "振荡指标RSI": item.json.RSI,
            "波动性指标ATR": item.json.ATR,
            "成交量分析OBV": item.json.OBV
        };
    }

    // =============== 交易意图 ===============
    if (item.json["交易品种"] !== undefined) {
        tradeIdea = {
            "交易品种": item.json["交易品种"],
            "交易方向": item.json["交易方向"],
            "交易数量": item.json["交易数量"],
            "交易思路": item.json["交易思路"]  // 核心!
        };
    }
}

// =============== 返回汇总结果 ===============
return [{
    json: {
        "持仓数据": posData,
        "情感分析": contentData,
        "技术指标": technicalIndicators,
        "交易意图": tradeIdea
    }
}];

このノードはなぜ必要なのでしょうか?

  • 4方向データ形式は統一されておらず、標準化する必要がある
  • 位置の値は読み取り可能なテキストに変換する必要があります
  • AIの理解を容易にするテクニカル指標と中国語の説明

レイヤー4: AI意思決定分析(コアの中核)

ノード名: AIトランザクションスパーク識別
タイプ: エージェントノード

これがシステム全体の核心です。Promptは厳密な分析フレームワークを設計しました。

分析フレームワーク(4次元):

0️⃣ 交易思路验证(优先级最高)
   - 该理由是否成立?(用技术指标+情绪数据验证)
   - 是否存在认知偏差?(追涨杀跌/锚定效应/赌徒谬误)
   - 风险收益比是否合理?(至少2:1)

1️⃣ 技术信号验证
   - MACD方向是否支持交易方向?
   - RSI是否超买/超卖?
   - OBV与价格是否背离?

2️⃣ 情绪风险评估
   - 短期情绪分数?(>0.6极度贪婪/<-0.6极度恐慌)
   - 是否存在黑天鹅事件?

3️⃣ 入场时机判断
   - 当前价位是否合理?
   - 是否需要等待回调/突破?

出力要件: 分析フィールドを完了する

{
  "分析时间": "2025-10-11T10:30:00.000Z",
  "交易品种": "BTC",
  "交易方向": "LONG",
  "交易数量": "1",
  
  "思路原文": "跌了5%,应该到底了",
  "思路评价": "不合理",
  "验证结果": "MACD=-213深度空头,RSI=31无底背离,OBV持续流出",
  "致命缺陷": "锚定效应——下跌5%不构成反转理由",
  
  "执行建议": "放弃交易",
  "信心度": "高",
  "依据_思路验证": "交易逻辑存在严重缺陷",
  "依据_技术面": "MACD/RSI/OBV均显示空头趋势未结束",
  "依据_风险点": "盲目抄底可能遭遇二次探底,潜在亏损15%+",
  
  "建议入场价格": "不建议入场",
  "建议入场条件": "交易思路存在重大缺陷",
  "建议入场时间": "放弃当前计划",
  "止损价格": "$115,000",
  "止损理由": "跌破关键支撑位",
  "止盈目标1_价格": "$125,000",
  "止盈目标1_仓位": "50%",
  "止盈目标1_理由": "回测阻力位",
  "止盈目标2_价格": "$132,000",
  "止盈目标2_仓位": "剩余仓位",
  "止盈目标2_理由": "关键整数关口",
  
  "核心风险": "当前处于下跌趋势中段,抄底过早可能遭遇止损",
  "风险收益比": "0.5:1",
  "潜在收益百分比": "5%",
  "最大亏损百分比": "10%",
  "风险等级": "高风险",
  
  "操作摘要": "放弃抄底计划,等待MACD金叉+RSI底背离",
  "决策有效期": "直到技术面出现明确反转信号",
  "复核条件": "MACD金叉或RSI形成底背离或出现放量阳线"
}

フィールド分析

  • 取引決定の重要な要素をすべて網羅
  • 完全にフラット化されており、後続のCSV保存に便利です
  • 各フィールドは実行可能であり、明確なトリガー条件があります

特別な状況に対処するためのルール:

プロンプトは具体的に 3 つの特殊なケースを定義します。

  1. 「取引アイデア」が明らかに不合理な場合:

    • 「提案を実行」は「トランザクションを放棄」に強制されます
    • 「致命的な欠陥」は認知バイアスの種類を明確に示さなければならない
    • 「推奨エントリー価格」が「非推奨エントリー」に設定されています
  2. 市場が非常に不安定なとき:

    • 「リスクレベル」が「極めて高いリスク」とマークされている
    • 「決定の有効期間」が「1時間以内に有効」に短縮されました
  3. テクニカル指標が矛盾する場合:

    • 「信頼度」は「低い」
    • 「提案を実行」は「入力を待つ」を優先します

レイヤー5: 結果の保存とエクスポート

ノード1: AI分析、組織化、保存

タイプ: コードノード

const rawData = $input.first().json.output;

// 提取JSON内容的函数(处理可能的markdown包裹)
function extractJSON(outputString) {
  const jsonMatch = outputString.match(/```json\n([\s\S]*?)\n```/);
  
  if (jsonMatch && jsonMatch[1]) {
    return JSON.parse(jsonMatch[1]);
  }
  
  // 如果没有markdown包裹,直接解析
  return JSON.parse(outputString);
}

const result = extractJSON(rawData);
Log("本次交易分析:", result);

// 使用_G全局存储函数(关键!)
let tradelog = _G('tradelog') || [];  // 初始化兜底

// 添加最新记录
tradelog.push(result);

// 持久化保存
_G('tradelog', tradelog);

return tradelog;

_G関数の値:

  • データは永続的に保存され、ワー​​クフローを再起動した後も保持されます。
  • データはワークフロー間で共有可能
  • 過去の取引決定を記録するのに非常に適しています

ノード2: ファイルを変換する

タイプ: convertToFile ノード

すべてのフィールドを含む JSON 配列を CSV 形式に変換します。

ノード3: トランザクションログを保存する

タイプ: writeFileノード

ローカルに保存tradelog.csv

CSVファイルの長い値:

このファイルはあなたのトレーディング思考の進化:

第1周: 10次想法 → 7次"不合理" → 认知偏差:追涨杀跌
第2周: 8次想法 → 5次"不合理" → 开始意识到问题
第4周: 6次想法 → 3次"不合理" → 学会等待技术信号
第8周: 5次想法 → 1次"不合理" → 思路开始成熟
...

これはトレーディングマスターの成長日記です

制限事項(明確にする必要がある)

このツールは万能薬ではありません。

未来を予測できないAIは過去のデータに基づいており、ブラックスワンが現れても失敗する
直感に代わるものはないベテラントレーダーの「市場感覚」を定量化するのは難しい
収益性は保証されていない: 意思決定の質は向上しますが、すべての取引が利益を生むことを保証するものではありません。
極端な市場状況に耐えられない市場が混乱しているとき、合理的な分析は損失につながる可能性がある

しかし、次のことは可能です: ✅ 各取引のリスクをお知らせします
✅ 認知バイアスの特定を支援
✅ 成長の軌跡を記録する
✅ 最も基本的な間違いを避ける

改善の方向性

短期的な最適化:

  • より多くのデータソース(オンチェーンデータ、資金調達率)にアクセスする
  • 履歴バックテストモジュールを追加
  • ATRを使用してストップロスを動的に計算する

さらなる改善:

  • 取引所APIに接続して半自動注文を実現します
  • 複数のAIエージェントによる投票(急進派 vs. 保守派)
  • 市場状況に基づいて感情/テクニカルの重み付けを調整する

クイックスタート(5分)

ステップ1: ワークフローをインポートする

記事の最後にある戦略リンクをクリックし、「戦略をコピー」をクリックします。

ステップ2: APIキーを設定する

3 つの API を構成する必要があります。

  1. Alpha Vantage(感情データ):MCPクライアントノードで構成
  2. OpenAI(AIモデル):2つのOpenAIモデルノード上に構成
  3. 交換(ポジションクエリ、実際の取引を設定する必要があります):交換セクションで設定します

ステップ3: テスト実行

  1. 「クリックするとワークフローを実行する」ノードをクリックします
  2. フォームテストに記入してください(タイプ:BTC、方向:LONG、数量:1、アイデア:「BTCは上昇し続けます!」)
  3. AI分析を待つ
  4. 分析結果の照合、レビュー、保存
  5. ローカルで生成されたものを表示tradelog.csv
# 1. 进入托管者日志目录
cd ~/logs/storage

# 2. 找到你的策略ID目录(如620669)
cd 620669/files

# 3. 查看交易日志
cat tradelog.csv

ステップ4:自己家畜化

取引したい衝動を感じたら、フォームにご記入ください。AIが状況を冷静に分析します。毎週末にtradelog.csvファイルを開いて、よくあるミス(値上がりや値下がりを追いかけたり、安値で盲目的に買ったり)を振り返ることをお勧めします。1~2ヶ月継続してご利用いただくと、衝動的な行動から合理的な行動へと変化していくのがはっきりとわかるでしょう。

最後に

このツールの最大の価値は、どれだけのお金を稼ぐことができるかではなく、

注文する前に必ず自分自身に問いかけます。「なぜこの取引をする必要があるのか​​?」

  • 答えられない→ギャンブル
  • 質問に答えられるのにAIが欠点を指摘する→これは学習です
  • あなたとAIの両方が合理的だと思うのに、それでもお金を失う場合→これは通常の試行錯誤です

取引の究極の目標は市場を上回ることではなく、自分自身を理解する自分自身の貪欲さ、恐怖、独善性を理解してください。

このトランザクション ログ ファイルは、自己認識へのパスです。

テクニカルサポートコメント欄で議論を歓迎します
免責事項: このツールは学習のみを目的としています。取引にはリスクが伴います。慎重に判断してください。

この記事がお役に立てば、同じようにトレードに苦労しているお友達にもぜひシェアしてください。衝動に駆られた時、「ちょっと待って、本当に大丈夫?」と声をかけてくれる、穏やかな声が誰にでも必要です。

戦略的リンクhttps://www.fmz.com/m/strategy/511337 知らせ:このフレームワークはまだ予備的な実装であり、バグ処理と機能改善のために最適化する必要があります。