← सूची पर वापस जाएँ

OpenClaw x Polymarket: हाथ आपको सिखाने के लिए कैसे एक स्वचालित ट्रेडिंग मशीन का निर्माण करने के लिए लोग

itadol5j

पॉलीमार्केट ट्रेडिंग मशीन लोग

पॉलीमार्केट क्या है?

पॉलीमार्केट दुनिया का सबसे बड़ा पूर्वानुमान बाजार है, जहां उपयोगकर्ता घटनाओं की संभावना का व्यापार कर सकते हैं - खेल प्रतियोगिताओं से लेकर राजनीतिक चुनाव तक, एन्क्रिप्टेड धन की कीमतों से विज्ञान और प्रौद्योगिकी समाचार तक। जिस तरह से लेनदेन होता है वह "दोहरी शक्ति" के समान है: किसी दिए गए परिणाम के लिए "हाँ" या "नहीं" टोकन खरीदता है और यदि परिणाम होता है तो उसे पुरस्कृत किया जाता है।

इसकी मुख्य शक्तियां हैं:

  • पूरी तरह से विकेंद्रीकृत।: Polygon श्रृंखला पर आधारित खुला और पारदर्शी
  • रियल टाइम प्राइस खोज: बाजार पूर्वानुमान पारंपरिक चुनावों की तुलना में अधिक सटीक होते हैं
  • एपीआई ओपनस्वचालित लेनदेन का समर्थन करने के लिए पूरा लेनदेन एपीआई प्रदान करें

तैयारी

पायथन निर्भरता स्थापित करें

हमें इसकी आवश्यकता है। py-clob-client यह आधिकारिक SDK:

pip install py-clob-client requests python-dotenv

2. वॉलेट और एपीआई कुंजी तक पहुंच

पॉलीमार्क दो प्रकार के प्रमाणीकरण का समर्थन करता है:

  • ईओए वॉलेट(स्वयं गैस)
  • प्रॉक्सी वॉलेट(Gasless लेन-देन)

यहां प्रदर्शित करने का सबसे सरल तरीका है - ईओए वॉलेट:

  1. एक बहुभुज वॉलेट बनाएं (मेटमास्क के साथ सिफारिश की गई)
  2. जमा USDC.e(व्यापार के लिए) और छोटा पीओएल(गैस के लिए)
  3. वॉलेट के लिए। निजी कुंजी
  4. SDK का उपयोग करना create_or_derive_api_creds() स्वचालित रूप से एपीआई वाउचर उत्पन्न करने की विधि

3. ओपनक्लॉ पर्यावरण

ओपनक्लाव exec टूल पाइथन कोड को निष्पादित करता है और इस स्वचालित स्क्रिप्ट को चलाने के लिए अच्छी तरह से अनुकूल है।

कोर कोड प्राप्त

मूल: मार्केट + स्वचालित लिस्टिंग की निगरानी करें

import os
import time
import requests
from py_clob_client.client import ClobClient
from py_clob_client.clob_types import OrderArgs, OrderType
from py_clob_client.order_builder.constants import BUY, SELL

HOST = "https://clob.polymarket.com"
CHAIN_ID = 137
PRIVATE_KEY = os.getenv("POLYMARKET_PRIVATE_KEY")
FUNDER_ADDRESS = os.getenv("POLYMARKET_FUNDER")

def init_client():
    temp_client = ClobClient(HOST, key=PRIVATE_KEY, chain_id=CHAIN_ID)
    api_creds = temp_client.create_or_derive_api_creds()
    client = ClobClient(HOST, key=PRIVATE_KEY, chain_id=CHAIN_ID, creds=api_creds, signature_type=0, funder=FUNDER_ADDRESS)
    return client

def get_markets(tag=None, limit=10):
    url = "https://gamma-api.polymarket.com/markets"
    params = {"active": "true", "closed": "false", "limit": limit}
    if tag:
        params["tagName"] = tag
    resp = requests.get(url, params=params)
    return resp.json()

def get_price(token_id):
    url = f"https://gamma-api.polymarket.com/markets/{token_id}/price"
    resp = requests.get(url)
    return resp.json()

def place_order(client, token_id, price, size, side=BUY):
    order = client.create_and_post_order(
        OrderArgs(token_id=token_id, price=price, size=size, side=side, order_type=OrderType.GTC),
        options={"tick_size": "0.01", "neg_risk": False}
    )
    return order

प्रगति: औसत वापसी रणनीति मशीन लोग

इस रणनीति का केंद्रीय विचार यह है कि जब कीमतें औसत से अलग हो जाती हैं और वापसी की प्रतीक्षा करती हैं तो इसे स्वचालित रूप से खरीदना चाहिए।

import logging
import time

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

class MeanReversionBot:
    def __init__(self, client, token_id, threshold=0.1, size=10):
        self.client = client
        self.token_id = token_id
        self.threshold = threshold
        self.size = size
    
    def get_mid_price(self):
        data = get_price(self.token_id)
        return float(data.get("price", 0.5))
    
    def check_and_trade(self):
        mid_price = self.get_mid_price()
        logger.info(f"当前中间价: {mid_price}")
        
        if mid_price < 0.5 - self.threshold:
            logger.info(f"价格偏低,买入!")
            order = place_order(self.client, self.token_id, mid_price, self.size, BUY)
            logger.info(f"订单已下单: {order}")
        elif mid_price > 0.5 + self.threshold:
            logger.info(f"价格偏高,卖出!")
            order = place_order(self.client, self.token_id, mid_price, self.size, SELL)
            logger.info(f"订单已下单: {order}")
        else:
            logger.info("价格在合理区间,不交易")
    
    def run(self, interval=60):
        logger.info(f"机器人启动,监控 token: {self.token_id}")
        while True:
            try:
                self.check_and_trade()
            except Exception as e:
                logger.error(f"错误: {e}")
            time.sleep(interval)

if __name__ == "__main__":
    client = init_client()
    markets = get_markets(tag="politics", limit=1)
    if markets:
        token_id = markets[0]["clobTokenIds"][0]
        print(f"监控市场: {markets[0]['question']}")
        bot = MeanReversionBot(client, token_id, threshold=0.15, size=5)
        bot.run(interval=120)

OpenClaw एकीकरण

यह OpenClaw में इस रोबोट को चलाने के लिए बहुत सरल है। आप उपरोक्त कोड को सहेज सकते हैं polymarket_bot.py, और फिर OpenClaw में निष्पादित:

运行 python polymarket_bot.py

ध्यान

जोखिम युक्तियां

  • अनुमानित बाजार अस्थिरता, कृपया केवल उन फंडों का उपयोग करें जो सस्ती हैं
  • यह अनुशंसा की जाती है कि हम पहले नेटवर्क का परीक्षण करें।
  • रोबोटिक लेनदेन को चरम सीमाओं को रोकने के लिए निरंतर निगरानी की आवश्यकता होती है।

2. एपीआई प्रतिबंध

  • प्रमाणीकरण के बिना ओपन एपीआई
  • डील एपीआई को वॉलेट और एपीआई कुंजी की आवश्यकता है
  • गति सीमा के लिए बाहर देखो।

गैस अनुकूलन

  • ईओए मोड को पीओएल भुगतान गैस की आवश्यकता होती है
  • आप गैस रहित लेनदेन करने के लिए प्रॉक्सी वॉलेट के लिए आवेदन कर सकते हैं