Demandez ! - page 147

 
AceFX:
Ben,

Je ne peux que vous remercier pour votre réponse rapide et utile. Vous aviez tout à fait raison et j'ai fait un pas de plus grâce à elle !

J'ai cependant une autre question, j'essaie d'ajouter un point d'équilibre à un niveau inférieur au stop suiveur mais je n'ai pas réussi à le dépasser :

extern bool UseBreak_Even = True ;

extern int Break_Even = 20 ;

...

Une chance d'avoir des conseils ici aussi ?

Merci encore et prenez soin de vous !

-Ace

Bonjour, Breakeven est une fonction facile, vous devez juste comprendre ce dont vous avez besoin et ensuite vous serez capable de penser à ce que vous écrivez pour y arriver.

1. Breakeven = déplacement du stoploss vers le prix d'ouverture de l'ordre lorsque le stoploss est inférieur à l'ouverture (pour l'achat, supérieur à l'ouverture pour la vente).

Pour vérifier si c'est en dessous, nous utilisons généralement ceci : OrderStopLoss()<OrderOpenPrice()

2. Avant de passer au breakeven, vous devez vérifier si les conditions sont vraies. J'utilise quelque chose comme ceci :

if(bid>orderopenprice()+breakeven*point) move

3. Déplacement. J'utilise quelque chose comme ceci :

ordermodify(symbol(),bla-bla-bla,,,stoploss,takeprofit,0) ;

bla-bla-bla = ensemble de paramètres qui ne changent pas pour les ordres ouverts comme le prix d'ouverture de l'ordre (peut être changé pour les ordres en attente)

stoploss = je mets habituellement orderopenprice() ici pour que l'ordre soit fermé à 0 pip de profit.

takeprofit = si vous ne voulez pas que le TP change, entrez simplement OrderTakeProfit() (sensible à la casse !)

J'espère que cela vous aidera et oui, cela vous laisse le soin de faire le travail vous-même.

Oh, et comment trouver l'ordre que vous voulez modifier :

for(int i=0;i<=OrdersTotal();i++) {

if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if(OrderSymbol()!=Symbol()) continue;

if(OrderMagicNumber!=MagicNumber) continue;

if(your-condition-here) your-action-here;

}

Cela devrait faire l'affaire Ce cycle passe simplement en revue les ordres et trouve chaque ordre actuellement ouvert. Il filtre ensuite les ordres ayant un numéro magique différent (vous devez d'abord définir le numéro magique) et ceux ayant un symbole différent(paire de devises).

J'espère que cela vous aidera

nck

Merci mais le code est inutile sans les indicateurs goldminer1 et goldminer2.

La nouvelle EA est jointe. Je n'ai pas pu le tester pour des raisons évidentes, alors ne me blâmez pas s'il ne fonctionne pas comme il le devrait. Il devrait fermer l'ordre existant quand un nouveau signal est reçu mais il pourrait y avoir un conflit de signaux parce que différents indicateurs sont utilisés pour l'achat et la vente.

Amusez-vous bien avec le nouvel EA !

Dossiers :
 

Taille des transactions par tick ou par barre dans MT4

Bonjour,

J'espère que quelqu'un ayant une bonne connaissance des mécanismes internes de MT4 pourra répondre à ma question et que cette réponse pourra profiter à tout le monde : Je ne trouve nulle part comment obtenir une taille de transaction pour les ticks entrants ou pour une barre. Cela semble être une caractéristique de base du marché mais la fonction MarketInfo ne la fournit pas. Est-ce possible dans MT4 ?

Merci

 
atkfam:
Bonjour,

J'espère que quelqu'un ayant une bonne connaissance des mécanismes internes de MT4 pourra répondre à ma question et que cette réponse pourra profiter à tout le monde : Je ne trouve nulle part comment obtenir une taille de transaction pour les ticks entrants ou pour une barre. Cela semble être une caractéristique de base du marché mais la fonction MarketInfo ne la fournit pas. Est-ce possible dans MT4 ?

Merci

double Volume[]

Tableau de séries qui contient les volumes des ticks de chaque barre du graphique actuel.

double iVolume( string symbol, int timeframe, int shift)

Retourne la valeur du volume en ticks pour la barre du symbole indiqué avec timeframe et shift. Si l'historique local est vide (non chargé), la fonction renvoie 0.

Pour le graphique actuel, les informations sur les volumes en tic-tac des barres se trouvent dans le tableau prédéfini nommé Volume[].

Est-ce que c'est ce que vous recherchiez ? Les volumes sont basés sur le nombre de ticks reçus pendant la barre, ils peuvent être générés pendant le back-test, et diffèrent pour chaque courtier. Je crains qu'ils n'aient pas beaucoup de valeur.

 

Taille des transactions par tick ou par barre dans MT4

Shinigami,

Merci pour votre réponse mais je cherche la taille réelle de la transaction associée à chaque tick. Chaque tick semble être une transaction d'achat/vente et j'aimerais vraiment connaître la taille réelle d'une telle transaction. S'agit-il de 100 lots standard, d'un lot ou d'un microlot ? Cela fait une différence.

 

Bonjour les codeurs et les collègues traders, j'ai une question mais plus sur la logique.

J'essaie (sans succès) depuis un certain temps de faire un EA simple et j'espère que vous m'aiderez à faire une prochaine étape.

J'ai un indicateur personnalisé (2MA CrossoverWithPrice) et je voudrais faire un achat lorsque les flèches bleues apparaissent et vendre lorsque la flèche rouge apparaît.

J'ai appelé l'indicateur avec la fonction iCustom comme ceci :

iCustom(NULL,0, "2MA CrossoverWithPrice",0,0,CLR_NONE) ;

et j'ai compilé l'EA et il semble que tout soit correct puisque j'obtiens une alerte sur le graphique lorsque je l'attache (il est dit que l'indicateur personnalisé est attaché).

Ce qui me dérange, c'est que je ne sais pas quoi faire ensuite, comment dire à l'EA d'acheter et de vendre parce que l'indicateur crée 2 types de flèches.

Est-ce que quelqu'un peut m'aider d'une manière ou d'une autre ? Un conseil ou autre, s'il vous plaît ?

 

Contexte commercial occupé

Bonjour, est-ce que quelqu'un connaît un moyen de continuer à envoyer une fermeture ou une ouverture à votre courtier si vous continuez à recevoir le signal "trade context busy" ?

 

ajouter des niveaux de MA à un indicateur

J'ai peur de ne pas pouvoir vous aider avec les questions ci-dessus, car je parie que je suis le plus récent programmeur débutant ici.

J'ai réussi (enfin !) à réaliser mon premier indicateur simple qui place simplement 4 EMAs sur un graphique - et ils peuvent être ajustés WOW ! Je suis très content.

Ce que j'aimerais maintenant, c'est avoir la possibilité d'ajouter des niveaux à une ou plusieurs EMA. Quelqu'un sait-il comment faire cela dans le code ? De plus, est-il possible de les avoir en tant que variable externe - pour pouvoir varier les niveaux - ou faut-il un autre paramètre pour le faire ?

Une fois que j'aurai résolu ce problème, j'ajouterai des booléens d'affichage pour pouvoir désactiver chaque EMA - petit à petit. La théorie est de trouver la meilleure EMA et d'ajouter des niveaux montrant la gamme (peut-être 2 niveaux vers le haut et deux vers le bas).

Merci d'avance,

Dave

 
willmalou:
Bonjour, est-ce que quelqu'un connaît un moyen de continuer à envoyer un ordre de fermeture ou d'ouverture à votre courtier si vous continuez à recevoir le signal "trade context busy" ?

Vous devriez placer l'ordre dans une boucle et vérifier la réponse de votre courtier. Si la réponse est -1, envoyez à nouveau l'ordre. Il serait bon de prévoir un léger délai avant de le renvoyer en utilisant la fonction Sleep.

Bonne chance

Lux

 
atomi50:
Bonjour les codeurs et collègues traders, j'ai une question mais plus sur la logique .

J'essaie (sans succès) depuis un certain temps de faire un EA simple et j'espère que vous m'aiderez à passer à l'étape suivante.

J'ai un indicateur personnalisé (2MA CrossoverWithPrice) et je voudrais faire un achat lorsque les flèches bleues apparaissent et une vente lorsque la flèche rouge apparaît.

J'ai appelé l'indicateur avec la fonction iCustom comme ceci :

iCustom(NULL,0, "2MA CrossoverWithPrice",0,0,CLR_NONE) ;

et j'ai compilé l'EA et il semble que tout soit correct puisque j'obtiens une alerte sur le graphique lorsque je l'attache (indique que l'indicateur personnalisé est attaché).

Ce qui me dérange, c'est que je ne sais pas quoi faire ensuite, comment dire à l'EA d'acheter et de vendre parce que l'indicateur crée 2 types de flèches.

Quelqu'un peut-il m'aider de quelque manière que ce soit ? des conseils ou quoi que ce soit, s'il vous plaît ?

Pour commencer, vous utilisez l'indicateur personnalisé de manière incorrecte. La dernière variable devrait être la barre que vous voulez vérifier, généralement 0 ou 1, ou cela pourrait être une variable. Je ne sais pas pourquoi vous envoyez une couleur ?

L'avant-dernière variable est le tampon que vous essayez de retourner. S'il n'y a que les deux flèches, je suppose que ce sont les tampons 0 et 1. Ce que vous devez faire, c'est vérifier si l'un ou l'autre a une valeur autre que 0 ou NULL, selon l'indicateur. Vous devez regarder le code de l'indicateur pour déterminer quel tampon est lié à quelle flèche et les utiliser en conséquence.

Relisez la fonction icustom.

Bonne chance

Lux

 

Tracer le croisement de la MA du TF inférieur sur le graphique du TF supérieur ?

Bonjour,

Je voudrais savoir comment tracer un croisement de MA d'un horizon temporel inférieur sur un graphique d'un horizon temporel supérieur.

Par exemple, je veux tracer une flèche sur le graphique H1 lorsque les MA5 et MA10 de M15 se croisent.

Veuillez m'informer.

Merci,

JForex.

Raison: