Cookbook

API Cookbook

ការណែនាំជាក់ស្តែង ដែលអាចចម្លងបិទភ្ជាប់បានសម្រាប់វិធីសាស្រ្តទូទៅបំផុតក្នុងការភ្ជាប់ API បញ្ជាក់ការធ្វើដេញ Smart Money ទៅក្នុង bot។ ការណែនាំគ្រប់យ៉ាងហៅ GET /v1/confirm និងធ្វើសកម្មភាពលើ action, confidence, និង size_multiplier។ ផ្ញើសោរបស់អ្នកក្នុង X-API-Key header — សូមមើល ឯកសារពេញលេញ.

ត្រូវការសោជាមុនទេ? ចុះឈ្មោះដោយឥតគិតថ្លៃ, ចម្លងវាពី ផ្ទាំងគ្រប់គ្រង, និងជំនួស sm_your_key ខាងក្រោម។
រូបមន្ត 1

បញ្ជាក់មុនចូល (Python)

រង្វិលជុំស្តង់ដារ។ មុនពេលយុទ្ធសាស្ត្ររបស់អ្នកបើកតំណែង សួរ API ថាតើរចនាសម្ព័ន្ធទីផ្សារយល់ព្រម។ ចូលតែនៅពេល action == "CONFIRM".

Python
import requests API_KEY = sm_your_key BASE = https://api.smartmoneyapi.com/v1 def confirm(symbol, direction): r = requests.get( f{BASE}/confirm, params={"symbol": symbol, "direction": direction}, headers={"X-API-Key"API_KEY}, timeout=5,)raise_for_status() return r.json() sig = confirm(BTC, វែង) បើ sig[សកម្មភាព] == CONFIRM: place_order(BTC, វែង) # ការប្រតិបត្តិរបស់អ្នក ផ្សេងទៀត: បោះពុម្ព(skip:, sig[ហេតុផល])
ចម្លើយតប
{ "symbol": "BTC", "direction": "long", "action": "CONFIRM", "confidence": "HIGH", "composite": 0.74, "size_mult": 1.5, "reasons": ["Funding positive across venues", "Whales 67% long"] }
Recipe 2

Gate a Freqtrade signal

Override confirm_trade_entry so Freqtrade only takes entries the API confirms. Fail open on API errors so a timeout never blocks all trading.

Python — Freqtrade
import requests from freqtrade.strategy import IStrategy class SmartMoneyStrategy(IStrategy): SM_KEY = "sm_your_key" SM_BASE = "https://api.smartmoneyapi.com/v1" def confirm_trade_entry(self, pair, order_type, amount, rate, time_in_force, current_time, entry_tag, **kwargs): symbol = pair.split("/")[0] if symbol not in ("BTC", "ETH", "SOL"): return True try:r = requests.get( f"{self.SM_BASE}/confirm", params={"symbol" : symbol,: "direction""long"}, headers={"X-API-Key"3, ).: self.SM_KEY}, timeout=() json r.get("action") == "CONFIRM" except Exception: return True # fail open on API error
Recipe 3

Size by size_multiplier

Let conviction set position size. Multiply your base size by size_mult (0.0–1.5) so HIGH-confidence trades get more capital and weak ones get less.

Python
BASE_SIZE_USD = 1000 sig = បញ្ជាក់("ETH", វែងmult = sig.get(size_mult, 0.0ទំហំ = BASE_SIZE_USD * mult បើ ទំហំ > 0: ដាក់ពាក្យបញ្ជា(ETH, វែង, size_usd=size) បោះពុម្ព(f"បានបញ្ចូល ${size:.0f} (គុណ {mult})")
A size_mult នៃ 0.0 មានន័យថាកុំបញ្ចូល — លទ្ធផលដូចគ្នានឹង SKIP។ សូមចាត់ទុកអ្វីដែលទាបជាងកម្រិតរបស់អ្នកថាជា SKIP។
រូបមន្ត 4

រំលងលើ SKIP / កាត់បន្ថយលើ REDUCE

ដោះស្រាយសកម្មភាពទាំងបីយ៉ាងច្បាស់លាស់។ CONFIRM បញ្ចូលទំហំពេញលេញ, REDUCE បញ្ចូលនៅគុណ (តូចជាង), និង SKIP ឈរនៅខាង។

Python
sig = បញ្ជាក់(symbol, direction) action = sig["សកម្មភាព"] បើ សកម្មភាព == "CONFIRM": ដាក់ពាក្យបញ្ជា(symbol, direction, BASE_SIZE_USD * sig["size_mult"]) ឬបើ សកម្មភាព == "REDUCE": # រចនាសម្ព័ន្ធលាយគ្នា — បញ្ចូលតូចជាង, បង្រួមការឈប់ ដាក់ពាក្យបញ្ជា(symbol, direction, BASE_SIZE_USD * sig["size_mult"]) ផ្សេងទៀត: # SKIP កត់ត្រា(f"រំលង {symbol} {direction}: {sig['reasons']}")
រូបមន្ត 5

ដោះស្រាយ 402 / 429

A 402 មានន័យថានិមិត្តសញ្ញា ឬ endpoint ត្រូវការផែនការខ្ពស់ជាង; a 429 មានន័យថាអ្នកបានដល់ដែនកំណត់អត្រា។ ដោះស្រាយ 429/5xx ជាបណ្តោះអាសន្ន (ថយក្រោយ), 402/401/403 ជាចុងក្រោយ (ជួសជុលផែនការ ឬ key)។

Python
import time, requests def confirm_safe(symbol, direction, retries=3): for attempt in range(ការព្យាយាមម្តងទៀត៖)get(f"{BASE}/confirm","symbol" ទិសដៅ: direction}, headers={X-API-Key: API_KEY}, timeout=5, ) if r.status_code == 200: return r.json() ប្រសិនបើ r.status_code នៅក្នុង (401, 402, 403): លើក RuntimeError(r.json()) # terminal: កែសម្រួល key/plan ប្រសិនបើ r.status_code == 429: reset =int(r.headers.(get, 2)) ពេលវេលា។គេង(នាទី(កំណត់ឡើងវិញ, 2 ** ការព្យាយាម)) បន្ត ពេលវេលា។ដេក(2 ** ការព្យាយាម) # 5xx / បណ្តោះអាសន្ន return None
រូបមន្ត 6

ប្រើជាមួយភ្នាក់ងារកូដ

ដាក់កូដ Claude, Codex, ឬ Cursor ទៅកាន់ឯកសារយោងដែលម៉ាស៊ីនអាចអានបាន ហើយឱ្យវាភ្ជាប់ការរួមបញ្ចូលគ្នា។ ចង្អុលវាទៅ /llms.txt សម្រាប់ទិដ្ឋភាពទូទៅ និងលក្ខណៈបច្ចេកទេស OpenAPI សម្រាប់រូបរាងពិតប្រាកដ។

សំណួរ
# បិទភ្ជាប់ទៅក្នុង Claude Code / Cursor / Codex អាន https://smartmoneyapi.com/llms.txt និង OpenAPI spec នៅ github.com/tashiardit/smartmoneyapi-docs បន្ទាប់មកបន្ថែមការត្រួតពិនិត្យមុនធ្វើដេញថ្លៃទៅក្នុងបូតរបស់ខ្ញុំ៖ ហៅ GET /v1/confirm ជាមួយ X-API-Key របស់ខ្ញុំ ហើយរំលងការបញ្ចូលណាមួយ លើកលែងតែ action == "CONFIRM"។ ប្តូរទំហំតាម size_multiplier។

ធនធាន៖ /llms.txt · OpenAPI spec · Python client.

ត្រៀមខ្លួនដើម្បីគ្រប់គ្រងការធ្វើដេញថ្លៃដំបូងរបស់អ្នកហើយឬនៅ?

យកសោឥតថាលែងហើយអានការយោង endpoint ពេញលេញ។

ការគាំទ្រសំរេចចិត្ត មិនមែនជាដំបូងបង្ហាញពីការអនុវត្តទេ។ មិនមែនជាដំបូងបង្ហាញពីហិរញ្ញវត្ថុទេ។ ការធ្វើដេញថ្លៃរូបិយប័ណ្ណឌីជីថលពាក់ព័ន្ធនឹងហានិភ័យខ្ពស់នៃការខាតបង់។