Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 608
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bonne journée à tous !
Pouvez-vous me dire quelle est la meilleure façon de coder la condition suivante
Si tous les chandeliers de 1 à 20 sont baissiers sans exception (le nombre de points entre l'ouverture et la fermeture de chaque chandelier n'a pas d'importance).
Pour ouvrir une commande.
La seule façon de le faire est de rédiger un ordre de "travail".
Si je pouvais l'écrire "à la main".
Eh bien, à moins que ce soit écrit sur place.
Citoyens, pouvez-vous me dire pourquoi le terminal Alpari est incapable de passer un ordre ?
La fonction OrderSend ressemble à ceci
Il n'y a pas de paramètres égaux à zéro. Je l'ai vérifié.
La distance minimale d'arrêt et de profit selon les conditions du terminal = 0,1.
Le terminal génère l'erreur 130 et écrit sur un profit ou un stop invalide.
Les paramètres SL et TP sont respectivement 11 et 1 (après normalisation).
Sur les terminaux Aforex, Diven FX, ForexClub, AlfaForex - aucun problème avec le même code.
Pour l'achat, le Stop et la Prise sont comptés à partir du prix d'achat - c'est un.
Deuxièmement - comme les prix stop sont calculés, ils doivent être normalisés. La normalisation précédente de SL et TP n'est rien. Ensuite, dans l'ordre de transaction, vous substituez la valeur non normalisée de l'expression.
Troisièmement, tous les prix doivent respecter les exigences et les restrictions commerciales. Le niveau StopLevel, par exemple, peut être supérieur à la taille de l'ordre stop.
Veuillez m'expliquer pourquoi il en est ainsi.
Il existe trois conditions (en gras), qui, lorsqu'elles sont exécutées simultanément, permettent d'ouvrir un ordre avec succès.
int start()
{
int ot = OrdersTotal();
int index=iHighest(NULL,0,MODE_HIGH,20,1) ;
int index1=iLowest(NULL,0,MODE_HIGH,20,1) ;
int index3=iLowest(NULL,0,MODE_HIGH,40,20) ;
if(Low[index1]==Low[1])
if(High[index]==High[20])
if(Low[index3]==Low[40]
si ( Bid==Low[40])
si (ot==0)
OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 ) ;
PROBLÈME
Dès que j'ajoute une quatrième condition (marquée en rouge), un ordre est ouvert UNIQUEMENT si la quatrième condition est remplie.
Lestrois conditions précédentes sont ignorées par le programme.
J'ai essayé d'écrire les conditions par &&.... ne fonctionne pas.
Comment faire en sorte que le mandat soit ouvert lorsque les quatre conditions sont remplies simultanément.
Merci.
Veuillez m'expliquer pourquoi il en est ainsi.
Il existe trois conditions (mises en évidence en gras) qui, lorsqu'elles sont exécutées en même temps, permettent d'ouvrir un ordre avec succès.
int start()
{
int ot = OrdersTotal() ;
int index=iHighest(NULL,0,MODE_HIGH,20,1) ;
int index1=iLowest(NULL,0,MODE_HIGH,20,1) ;
int index3=iLowest(NULL,0,MODE_HIGH,40,20) ;
if(Low[index1]==Low[1])
if(High[index]==High[20])
if(Low[index3]==Low[40]
si ( Bid==Low[40])
si (ot==0)
OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 ) ;
PROBLÈME
Dès que j'ajoute une quatrième condition (marquée en rouge), l'ordre s'ouvre lorsque la quatrième condition est remplie UNIQUEMENT.
Le programme ignore lestrois conditions précédentes.
J'ai essayé d'écrire les conditions par &&.... ne fonctionne pas.
Comment faire pour que le mandat soit ouvert en même temps que l'exécution des quatre conditions.
Merci.
Pour l'achat, le stop et le take sont calculés à partir du cours acheteur - c'est le premier.
Deuxièmement, si vous calculez les prix des ordres stop, ils doivent être normalisés. Le fait que SL et TP aient été normalisés plus tôt n'est pas un problème. Ensuite, dans l'ordre de transaction, vous substituez la valeur non normalisée de l'expression.
Troisièmement, tous les prix doivent respecter les exigences et les restrictions relatives aux opérations commerciales. Le niveau de StopLevel, par exemple, peut être supérieur à la taille de l'ordre stop.
sur alpari depuis hier est passé à l'exécution sur le marché c.-à-d.
D'abord acheter/vendre sl=0;tp=0 ; puis modifier sl=100;tp=300 ;
Développez les accolades pour que l'algorithme fonctionne.
sur alpari depuis hier est passé à l'exécution sur le marché c.-à-d.
d'abord acheter/vendre sl=0;tp=0 ; ensuite modifier sl=100;tp=300 ;
C'est aussi au même endroit. Bien sûr, l'un ne contredit pas l'autre. Il compte les ordres d'arrêt pour l'achat à partir de la demande. Elle ne les normalise pas. Ne vérifie pas la limite de distance StopLevel.
En bref - un méli-mélo.
Alpari est passé à l'exécution sur le marché depuis hier, c'est à dire
d'abord acheter/vendre sl=0;tp=0 ; ensuite modifier sl=100;tp=300 ;
Merci pour les conseils. Je me pencherai sur la question. Le passage à l'exécution sur le marché signifie-t-il que les ordres en attente doivent également être placés avec des stops et des profits nuls, puis modifiés ?