Ordres limites

Viewing 8 posts - 1 through 8 (of 8 total)
  • #13857

    Bonjour,
    Merci pour votre site qui apporte aide importante pour les débutants.

    Après 20 d’expérience sur les marchés essentiellement sur les options, j’ai ouvert un compte cfd chez PRT afin de tenter l’aventure du trading automatique.

    J’avais une question un peu bête en matière de programmation.

    Je me suis adressé aussi à Doc Trading mais pour ne pas lui prendre trop de temps et afin de partager les réponses, j’ai décidé de poster sur le forum.

    Bonjour Marc,

    Sans trop abusé de votre temps, une petite question.

    Je pensais pouvoir passer un ordre limite dans le trading automatique

    Par exemple, acheter 5 points en dessous ou vendre 5 points au dessus de l’ouverture du marché si atteint bien sur.

    J’ai mis le code suivant

    IF not longonmarket and c1 THEN
    BUY 1 SHARES AT 5 limit
    ENDIF

    Mais cela ne fonctionne pas, il achète au prix de l’ouverture car cela revient à acheter si le sous-jacent touche 5 d’après le guide probuilder.

    il faudrait le code suivant  BUY 1 SHARES AT market -5

    Je pense que ma demande n’est pas possible.

    Pourtant, cela existe chez tous les brokers. Vous envoyez un ordre limite sur le marché.

    Je voulais avoir votre avis car ce sujet n’est abordé par personne dans le forum

    Bonne journée.

    #13864

    Bonjour, merci de mettre à jour ton profil avec ton pays (pas automatique via les inscriptions réseaux sociaux, je dois corriger cela.. bref).

    Dans le code que tu soumets, tu demandes à acheter à “Market-5”, il faudrait définir ce qu’est “market” pour commencer 🙂 , si je comprends ta stratégie, ce serait le Open ou plutôt le DOpen(0), soit le cours d’ouverture du jour.

    Par contre, puisque tu souhaites tester cette condition, il faut lancer le code sur une unité de temps très courte, puisque PRT n’exécute le code qu’une seule fois par barre, il n’exécutera ton code que le lendemain et il sera trop tard. Donc le code ressemblerait plutôt à :

    MAIS! les ordres conditionnels doivent être re-placé à chaque barre, il n’y a pas de settings d’expiration pour ces ordres. Donc ta condition c1 doit être TRUE à chaque barre, sinon l’ordre conditionnel ne se placera pas.

     

     

    #13871

    Merci.

    J’ai mis le profil à jour.

    Je veux acheter à la prochaine bougie si la condition c1 est remplie mais je ne veux pas acheter au prix d’ouverture au marché. Si elle ouvre à 10 000 points, je veux un ordre d’achat limite à 9995 points. Si le cours n’est pas touché, l’ordre n’est pas exécuté.

    Pourquoi on ne peut pas faire :

    IF not longonmarket and c1 THEN
    BUY 1 SHARES AT open -5 limit
    ENDIF

    Je ne comprend pas l’indicateur Dopen. Comment doit on définir cette variable.

    J’ai testé mon code mais cela ne semble pas acheter -5 du point d’ouverture.

    Je vous remercie de votre piste de recherche.

    #13872

    Voir la documentation sur le site pour des exemples de l’utilisation des Dopen, Dclose, etc…

    #13984

    Merci pour votre aide Nicolas.

    Je relance la file en donnant la réponse de Marc qui je pense ne m’en voudra pas de reporter sa réponse ici.

    Bonjour

    Buy 1 shares at 5 limit signifie : 
    acheter si le cours est au maximum à une valeur de 5 (euros, etc.)
    Donc forcément ça ne fonctionne pas, par exemple s’il s’agit d’une action dont la valeur est 30 euros.
    Il faudrait plutôt mettre quelque chose du genre :
    IF time = 090000 THEN // si l’ouverture du marché est à 9 heures
    niveauachat = close – 5
    ENDIF
    Buy at niveauachat limit
    Je pense que Marc voulait plutôt dire
    niveauachat= open -5
    Pour l’instant, j’ai testé cela.
    BUY 1 SHARES AT open -5 limit
    Mais cela ne fonctionne pas.
    Je peux remplacer open par Dopen comme proposé par Nicolas mais cela n’est pas accepté par le programme
    Je vais donc faire comme proposé par Marc. Il faudra tester en réel car cela ne peut pas fonctionner dans les backtests puisque le système ne connait pas le prix dans la bougie.
    Je mets une copie du programme pour ceux qui veulent passer des ordres limites même si cela ne semble pas intéresser grand monde à mon étonnement.
    entreea= open-5
    IF not longonmarket and c1  THEN
    BUY 1 SHARES AT entreea limit
    ENDIF
    entreeb= open+5
    IF not shortonmarket and c1 THEN
    SELLSHORT 1 SHARES AT entreeb limit
    ENDIF
    Si cela inspire quelqu’un ou si vous avez déjà testé en réel, je suis preneur.
    Je prendrai position dès lundi sur cette base-là.
    #13989

    Le code donné sur le post http://www.prorealcode.com/topic/ordres-limites/#post-13864 doit fonctionner, je ne comprends pas le problème ?

    #14002

    Le problème est assez simple.

     

    Si j’écris Dopen ou Dclose dans le programme, impossible de lancer le backtest,  erreur de syntaxe à la ligne concernée.

     

    Comme la nuit porte conseil, il faut bien prendre close et non open comme expliqué par doc trading.

     

    On met bien la limite à 5 points de la dernière clôture.

    #14013

    As-tu bien utilisé l’instruction Dopen ou Dclose avec le offset adéquat? Dans ton cas :

    Sans les parenthèses, ProBacktest te retournera en effet une erreur de syntaxe.

    Sinon poste ton code en entier ici et je le corrigerai, aucun problème 🙂

     

Viewing 8 posts - 1 through 8 (of 8 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login