import requests import time import json import numpy as np import pandas as pd from sklearn.linear_model import LogisticRegression # Configuration POCKET_OPTION_API_URL = "https://api.pocketoption.com" API_KEY = "your_api_key_here" TRADE_AMOUNT = 1 # Trade amount in USD ASSET = "EURUSD" # Trading pair INTERVAL = 60 # 1-minute candles # Function to fetch market data def get_market_data(): url = f"{POCKET_OPTION_API_URL}/market/{ASSET}/history?interval={INTERVAL}&limit=100" headers = {"Authorization": f"Bearer {API_KEY}"} response = requests.get(url, headers=headers) if response.status_code == 200: return response.json() else: print("Error fetching market data:", response.text) return None # Function to prepare data def preprocess_data(data): df = pd.DataFrame(data) df['sma_5'] = df['close'].rolling(window=5).mean() df['sma_10'] = df['close'].rolling(window=10).mean() df['signal'] = np.where(df['sma_5'] > df['sma_10'], 1, 0) return df.dropna() # AI Model Training def train_model(df): X = df[['sma_5', 'sma_10']] y = df['signal'] model = LogisticRegression() model.fit(X, y) return model # Function to place a trade def place_trade(direction): url = f"{POCKET_OPTION_API_URL}/trade" headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"} data = json.dumps({"asset": ASSET, "amount": TRADE_AMOUNT, "direction": direction}) response = requests.post(url, headers=headers, data=data) if response.status_code == 200: print("Trade placed successfully!", response.json()) else: print("Error placing trade:", response.text) # Main Bot Logic def run_bot(): while True: data = get_market_data() if data: df = preprocess_data(data) model = train_model(df) latest_data = df[['sma_5', 'sma_10']].iloc[-1].values.reshape(1, -1) prediction = model.predict(latest_data) direction = "buy" if prediction[0] == 1 else "sell" place_trade(direction) time.sleep(60) # Wait 1 minute before next trade if __name__ == "__main__": run_bot()