[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 121

 
Vinin >> :

Il est préférable de calculer d'abord les valeurs de la stochastique et de la ligne de signal. Et ensuite les comparer. Je n'aime pas ce style. Il en résulte une sorte de cécité. Et il est plus facile de faire une erreur.

If() dans la variante méta-citations fait le calcul complet de l'expression logique. Il serait souhaitable de le rendre aussi simple que possible. C'est juste que if() est l'une des opérations les plus lentes.

Il existe également une notion de "bavardage" sur la barre de zéro. Il peut arriver que le signal soit répété plus d'une fois sur une même barre. Et il peut même ne pas se verrouiller. C'était un faux signal. C'est pourquoi nous essayons de prendre des valeurs à partir des barres formées. Mais dans ce cas, nous devons utiliser les prix d'ouverture. Cependant, il peut y avoir d'autres variantes.

Le "claquement" sur la barre de zéro est clair, mais c'est un autre problème.

Merci pour la "lenteur" de l'opération if - c'était instructif.

Il est donc préférable de créer par exemple des variables

x=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowingF,PriceFieldF,0,shiftF) ;

y=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF) ;

et ensuite if(x>y) etc. n'est-ce pas ?

" Je n'aime pas ce style. C'est un peu aveugle. Et c'est aussi plus facile de faire une erreur."

Comment l'écrirais-tu ? Apprends-moi.

 
Bonjour, tout le monde. Il y a une demande. J'ai vu quelque part sur le net quelque chose de similaire, mais je ne l'ai pas retrouvé. J'ai besoin d'un script qui ouvre des transactions dont la taille du lot est calculée en fonction de la valeur du stoploss. J'utilise des variables externes pour définir le % du dépôt ou le montant que je suis prêt à risquer et la valeur du stop loss en pips. En fonction de la valeur du point et du stop loss, le script calcule le lot et place un ordre. Si vous disposez d'un tel script, n'hésitez pas à le poster. Je veux vous donner un indice pour savoir où le télécharger. Merci d'avance.
 
mukata писал(а) >>

Le "chatter" à la barre zéro est compréhensible, mais c'est un autre problème...

Merci pour la "lenteur" de l'opération if - c'est instructif.

En d'autres termes, il est préférable de créer par exemple des variables

x=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowingF,PriceFieldF,0,shiftF) ;

y=iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF) ;

et ensuite if(x>y) etc. n'est-ce pas ?

" Je n'aime pas ce style. C'est un peu aveugle. Et c'est plus facile de faire une erreur."

Comment l'écrirais-tu ? Apprends-moi.

La façon dont je procède habituellement pour contrôler les passages à niveau est la suivante. Il y a une intersection, un traitement ultérieur.

string _Symbol=Symbol(); // чтобы лишний раз не вызывать функцию

double Stoch0  = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 0,     0);
double Stoch1  = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 0, shiftF);
double Signal0 = iStochastic(_Symbol, 0, KperiodF, DperiodF, SlowlingF, methodF, PriceFieldF, 1,     0);
double Signal1 = iStochastic(_Symbol, 0, KperiodF, D periodF, SlowlingF, methodF, PriceFieldF, 1, shiftF);


//пересекла ли главная линия стохастика сигнальную линию 
if (( Stoch0  - Signal0 )*( Stoch1  - Signal1) <0) {
   // Есть пересечение, дальше проверяем положение (как пересекла мы не знаем пока еще)

}
 
Vinin >> :

Je fais habituellement le contrôle du passage à niveau comme ceci. Il y a une intersection, traitement ultérieur.

  // Есть пересечение, дальше проверяем положение (как пересекла мы не знаем пока еще)
Mm-hmm, quelle efficacité ! !!
Surtout dans mon testeur...:-)
La plupart des ticks sont sans croisement, mais il s'avère que je comptais chaque tick : si tel tick est inférieur à tel autre, ou si tel autre est inférieur à tel......................
Merci beaucoup, je me mets au travail.
 
mukata писал(а) >>

Seule ma conception présente un inconvénient. Si les valeurs coïncident sur l'une des barres calculées, il peut y avoir un saut de signal. Bien que cela soit peu probable, cela peut arriver.

 
StatBars >> :

Merci.

 
rsi >> :

C'est ce que vous dites : envoyer un ordre de jour avec les conditions 1 & 2, et de nuit avec les conditions 1 & 2 & 3. Vous avez donc la quatrième condition jour-nuit, mais vous l'avez mélangée avec la troisième. Vous pouvez, par exemple.

Merci.

 

J'aimerais demander à des personnes bien informées quel est le nombre maximum d'ordres en cours (et en attente) possible ?

Ou bien cette limite n'existe-t-elle pas ?

 
xrym писал(а) >>

J'aimerais demander à des personnes bien informées quel est le nombre maximum d'ordres en cours (et en attente) possible ?

Ou bien il n'y a pas de telle limitation.

Il convient de le vérifier auprès de votre société de courtage. Vous pouvez essayer de mettre un cycle sans fin pour voir le maximum :

for(int k=1; k>2; k--)
{
   OrderSend(Symbol(),OP_BUY,0.1,Ask,1,0,0,"testing order");
   Alert("Текущее количество ордеров: ",OrdersTotal());
}
La dernière alerte sera le nombre maximum d'ordres dans votre DC.
 

A propos, OrdersTotal() renvoie un nombre de type int. Et int peut prendre des valeurs :

Внутреннее представление - длинное целое число размером 4 байта. Целые константы могут принимать значения от -2147483648 до 2147483647. Если константа превышает указанный диапазон, то результат не определен.

C'est-à-dire que le nombre maximal théorique d'odeurs est de 2147483647.