Trading automatique Python & VantageFX

Forum sur le trading automatique et algorithmique : systèmes, backtests, robots de trading, résultats et limites, code à l'appui.
Starsnem
Messages : 4
Enregistré le : 25 nov. 2017 09:59

Trading automatique Python & VantageFX

Message non lu par Starsnem »

Bonjour,

Je souhaiterais me programmer une petite application qui me permettrais de faire mon trading management (afin de pouvoir ajouter plus de paramètes d'entrées et sorties que dispo actuellement dans nos chères plateformes).

Pour ceci, j'ai commencé à reflechir a une application python connecté à MT5. J'arrive a faire un peu tout ce que je veux, sauf passer le trade (ce qui est un peu ballot n'est ce pas ^^).
je suis sur le moment sur un compte démo, et pas grand chose ne fonctionne :(


A chaque fois, j'ai ceci :

Order failed, retcode=10030
order_send failed, retcode=10030
result OrderSendResult(retcode=10030, deal=0, order=0, volume=0.0, price=0.0, bid=0.0, ask=0.0, comment='Unsupported filling mode', request_id=0, retcode_external=0, request=TradeRequest(action=1, magic=234000, order=0, symbol='EURUSD', volume=0.01, price=1.1252900000000001, stoplimit=0.0, sl=1.1251900000000001, tp=1.1253900000000001, deviation=20, type=0, type_filling=2, type_time=0, expiration=0, comment='python script open', position=0, position_by=0))


mon code de test (juste pour passer un trade pour le moment), est le suivant :

Code : #

import MetaTrader5 as mt5

# initialise la connection
if not mt5.initialize():
    print("initialize() failed, error code =",mt5.last_error())
    quit()
 
 # parametres du trade   
lot = 0.01
point = mt5.symbol_info(symbol).point
price = mt5.symbol_info_tick(symbol).ask
deviation = 20
sl = price - 10 * point
tp = price + 10 * point

# crée la requête
request = {
    "action": mt5.TRADE_ACTION_DEAL,
    "symbol": symbol,
    "volume": lot,
    "type": mt5.ORDER_TYPE_BUY,
    "price": price,
    "sl": sl,
    "tp": tp,
    "deviation": deviation,
    "magic": 234000,
    "comment": "python script open",
    "type_time": mt5.ORDER_TIME_GTC,
    "type_filling": mt5.ORDER_FILLING_RETURN,
}

# passe la requête
result=mt5.order_send(request)

# vérifie si la requête a réussi
if result.retcode != mt5.TRADE_RETCODE_DONE:
    print("Order failed, retcode={}".format(result.retcode))
    # request failed, print the result
    print("   order_send failed, retcode={}".format(result.retcode))
    print("   result",result)
else:
    print("Order passed, ", result)

# termine la connection
mt5.shutdown()

Je ne comprend pas tellement

Pourtant, quand je regarde, le seul filling mode autorisé est ORDER_FILLING_RETURN (celui que j'utilise)

avez vous une idée ?
c'est un peu ballot si juste ce teste ne passe pas, bah je ne peux pas aller beaucoup plus loin ^^

merci de votre aide :)
Avatar du membre
Amarantine
Modératrice
Messages : 75630
Enregistré le : 16 sept. 2011 19:12

Re: Trading automatique Python & VantageFX

Message non lu par Amarantine »

Bonjour.
Coder demande énormément de temps et je ne suis pas certaine que tu obtiennes des réponses ici, mais tu peux toujours le tenter.
Starsnem
Messages : 4
Enregistré le : 25 nov. 2017 09:59

Re: Trading automatique Python & VantageFX

Message non lu par Starsnem »

j'ai résolu ce soucis, c'est bête mais mt5 me donné un filling mode, mais il n'était pas fonctionnel.
en testant les autres moi même j'ai fini par trouver le bon...
c'est bête des fois l'informatique ^^

maintenant j'arrive a passer mes ordres, mais par a poser un ordre différé.... surement encore un petit truc qqpart.

Merci de ton retour :)
Avatar du membre
Amarantine
Modératrice
Messages : 75630
Enregistré le : 16 sept. 2011 19:12

Re: Trading automatique Python & VantageFX

Message non lu par Amarantine »

Starsnem, bravo, tu as fait la question et la réponse. :lol:
Spoiler:
Par contre, j'ai supprimé les balises "quote" car les citations sont interdites
Pour poser un ordre différé, tu peux relancer une nouvelle file en posant la question.
Avatar du membre
falex
Le Gladiateur
Messages : 34269
Enregistré le : 12 févr. 2013 15:41

Re: Trading automatique Python & VantageFX

Message non lu par falex »

Y’a pas, y’a plus grand monde à utiliser mt4/mt5 sur ce forum. Pas sur que tu es beaucoup de réponses.
Avatar du membre
DarkPoule
Membre du Conseil Jedi
Messages : 7191
Enregistré le : 07 juil. 2017 06:02

Re: Trading automatique Python & VantageFX

Message non lu par DarkPoule »

en fait tu utilises un app python qui appel les API mt5 qui appel les API de ton broker.
ça doit faire grimper ton temps de réponse.
Passe direct Python > API broker.