Cookbook
API Cookbook
ការណែនាំជាក់ស្តែង ដែលអាចចម្លងបិទភ្ជាប់បានសម្រាប់វិធីសាស្រ្តទូទៅបំផុតក្នុងការភ្ជាប់ API បញ្ជាក់ការធ្វើដេញ Smart Money ទៅក្នុង bot។ ការណែនាំគ្រប់យ៉ាងហៅ GET /v1/confirm និងធ្វើសកម្មភាពលើ action, confidence, និង size_multiplier។ ផ្ញើសោរបស់អ្នកក្នុង X-API-Key header — សូមមើល ឯកសារពេញលេញ.
រូបមន្ត 1
បញ្ជាក់មុនចូល (Python)
រង្វិលជុំស្តង់ដារ។ មុនពេលយុទ្ធសាស្ត្ររបស់អ្នកបើកតំណែង សួរ API ថាតើរចនាសម្ព័ន្ធទីផ្សារយល់ព្រម។ ចូលតែនៅពេល action == "CONFIRM".
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.
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
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.
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 ឈរនៅខាង។
sig = បញ្ជាក់(symbol, direction)
action = sig["សកម្មភាព"]
បើ សកម្មភាព == "CONFIRM":
ដាក់ពាក្យបញ្ជា(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
ឬបើ សកម្មភាព == "REDUCE":
ដាក់ពាក្យបញ្ជា(symbol, direction, BASE_SIZE_USD * sig["size_mult"])
ផ្សេងទៀត:
កត់ត្រា(f"រំលង {symbol} {direction}: {sig['reasons']}")
រូបមន្ត 5
ដោះស្រាយ 402 / 429
A 402 មានន័យថានិមិត្តសញ្ញា ឬ endpoint ត្រូវការផែនការខ្ពស់ជាង; a 429 មានន័យថាអ្នកបានដល់ដែនកំណត់អត្រា។ ដោះស្រាយ 429/5xx ជាបណ្តោះអាសន្ន (ថយក្រោយ), 402/401/403 ជាចុងក្រោយ (ជួសជុលផែនការ ឬ key)។
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())
ប្រសិនបើ r.status_code == 429: reset =int(r.headers.(get, 2)) ពេលវេលា។គេង(នាទី(កំណត់ឡើងវិញ, 2 ** ការព្យាយាម))
បន្ត
ពេលវេលា។ដេក(2 ** ការព្យាយាម)
return None
រូបមន្ត 6
ប្រើជាមួយភ្នាក់ងារកូដ
ដាក់កូដ Claude, Codex, ឬ Cursor ទៅកាន់ឯកសារយោងដែលម៉ាស៊ីនអាចអានបាន ហើយឱ្យវាភ្ជាប់ការរួមបញ្ចូលគ្នា។ ចង្អុលវាទៅ /llms.txt សម្រាប់ទិដ្ឋភាពទូទៅ និងលក្ខណៈបច្ចេកទេស OpenAPI សម្រាប់រូបរាងពិតប្រាកដ។
អាន 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 ពេញលេញ។
ការគាំទ្រសំរេចចិត្ត មិនមែនជាដំបូងបង្ហាញពីការអនុវត្តទេ។ មិនមែនជាដំបូងបង្ហាញពីហិរញ្ញវត្ថុទេ។ ការធ្វើដេញថ្លៃរូបិយប័ណ្ណឌីជីថលពាក់ព័ន្ធនឹងហានិភ័យខ្ពស់នៃការខាតបង់។