MQL5
Asesores Expertos
Fórex
Depuración de robots/indicadores
Optimización de estrategias
Estadística y matemáticas
C++
Módulo de estrategias
Python
Paneles de Control y Ventanas de Diálogo
C#
Acciones
Gráficos personalizados
Futuros
MySQL
Diseño de productos
JavaScript
Opciones
Java
Compilación de datos de internet
SQL
HTML
PHP
Minería de datos
Carga de datos a la página
Escritura de textos
Traducción de textos
OpenCL
ALGLIB
PostgreSQL
Linux
Photoshop
R
RegExp
Tarea técnica
Un Bot qui est adapté pour l'androïde import MetaTrader5 as mt5
import time
import pandas as pd
mt5.initialize()
SYMBOL = "EURUSD"
MAX_SPREAD = 0.00008 # 0.8 pip
def is_good_market():
tick = mt5.symbol_info_tick(SYMBOL)
spread = tick.ask - tick.bid
if spread > MAX_SPREAD:
print(f"Spread trop haut: {spread} - SKIP")
return False
return True
def get_trend():
rates = mt5.copy_rates(SYMBOL, mt5.TIMEFRAME_M1, 0, 250)
df = pd.DataFrame(rates)
df['ema20'] = df['close'].ewm(span=20).mean()
df['ema200'] = df['close'].ewm(span=200).mean()
last = df.iloc[-1]
return "BUY" if last['ema20'] > last['ema200'] else "SELL"
while True:
if is_good_market():
trend = get_trend()
if trend == "BUY":
request = {
"action": mt5.TRADE_ACTION_DEAL,
"symbol": SYMBOL,
"volume": 0.01,
"type": mt5.ORDER_TYPE_BUY,
"price": mt5.symbol_info_tick(SYMBOL).ask,
"sl": mt5.symbol_info_tick(SYMBOL).ask - 0.0010,
"tp": mt5.symbol_info_tick(SYMBOL).ask + 0.0005,
"deviation": 10,
}
mt5.order_send(request)
time.sleep(60) # 1 trade par minute max - règle HFT retail
time.sleep(0.1) # check chaque 100ms
Información sobre el proyecto
Presupuesto
30+ USD
Plazo límite de ejecución
a 200 día(s)
Cliente
Encargos realizados3
Número de arbitrajes0