Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 333

 
evillive:

Laissez les gourous commenter si une pause est nécessaire ici ou non, et laissez alexey1979621 penser, est-ce que cette fonction est appelée ici ?

De plus, si nous utilisons CountTrades() ; alors, c'est égal à OrdersTotal(), plus facile et plus rapide.

Je ne suis pas un gourou, mais je vais répondre : tous les cas seront exécutés jusqu'à ce qu'un break ; se produise :
 
artmedia70:
Je ne suis pas un gourou, mais je vais répondre : jusqu'à ce qu'un break ; soit rencontré, tous les cas seront exécutés :

Je parle de la pause dans la fonction BU en fait...
 
Quelqu'un peut m'aider à télécharger les cotations des courtiers sur le terminal. J'ai nettoyé le dossier Historique, modifié le nombre de barres affichées dans lesparamètres du terminal, téléchargé l'historique complet pour la paire et la période qui m'intéressent à partir du nœud metastock, téléchargé un fichier cvs à partir du site Web de finam, accédé à l'archive des cotations, à l'onglet d'importation, à l'aperçu - mon fichier cvs - ouvert - ok et ..... Le fichier cvs n'est pas les guillemets. J'ai téléchargé un script qui génère des cvs en hst et l'ai installé sur le graphique et rien, je n'ai même pas vu la fenêtre avec ses paramètres, dites-moi ce qu'il faut faire !
 
Alors, est-ce que quelqu'un a un indice ou pas ?
 
Où sont les célèbres pros ? Aidez un lamer !
 
mason:
Où sont les célèbres pros ? Aidez un boiteux !

Qui vous empêche de télécharger l'histoire à l'ancienne, avec le bouton HOME ?
 
mason:
Quelqu'un peut m'aider à télécharger les cotations des courtiers sur le terminal. J'ai nettoyé le dossier Historique, modifié le nombre de barres affichées dans lesparamètres du terminal, téléchargé l'historique complet pour la paire et la période qui m'intéressent à partir du nœud metastock, téléchargé un fichier cvs à partir du site Web de finam, accédé à l'archive des cotations, à l'onglet d'importation, à l'aperçu - mon fichier cvs - ouvert - ok et ..... Le fichier cvs n'est pas les guillemets. J'ai téléchargé le script qui génère les cvs en hst et l'ai installé sur le graphique et il n'apparaît pas même dans la fenêtre des paramètres.


Et montrez-moi votre fichier csv, si ce n'est pas un grand secret.
 
niformalka:


Honnêtement, je ne comprends pas l'intérêt de ce code..... est inférieur à moins cent, pourquoi <100 alors ?
 

Il s'agit d'une fonction élémentaire de placement d'ordres en attente, les paramètres ne sont pas importants, mais il est important de faire en sorte que le conseiller expert (il peut utiliser la boucle existante des ordres en attente) après avoir reçu un "nouveau prix" ou de le rechercher, ou d'éviter d'une manière ou d'une autre de placer des ordres au même prix. Dans ce cas, la boucle de passation des ordres ne doit pas s'arrêter.

double Dist=10000.0 ;
chaîne SMB ;
double NewPrice ;
int i ;
int start()
{
RefreshRates() ;
SMB=Symbole() ;
{UstanOtlozh();}
}
retour(0) ;
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped() ; // Le script est lancé ici.
RefreshRates() ;
SMB=Symbole() ;
{
int i=1 ;
while(i<=OrdersTotal())
{
si (OrderSelect(i-1,SELECT_BY_POS)==true) // s'il existe un
{ // Analyse de l'ordre :
if (OrderSymbol()!= SMB) continue ; // Pas notre instrument financier.
int Tip=OrderType() ; // Type de commande
if (Tip<2) continue ; // Ordre de marché
double NewPrice=OrderOpenPrice() ; // Prix de la commande
{
while(NewPrice<=Ask+200*Point||NewPrice>=Ask+50*Point)
{
NewPrice=NewPrice+50*Point ;
OrderSend(SMB,OP_BUYSTOP,0.01,NewPrice,3,0,0,NULL,0,CLR_NONE) ;
if(NewPrice>Ask+200*Point||NewPrice<Ask+50*Point)
pause ;
}}}}}}
 

II Voici une fonction élémentaire de placement d'ordres en attente, les paramètres ne sont pas importants, mais il est important de faire en sorte que l'Expert Advisor (il peut utiliser la boucle existante d'évaluation des ordres) après avoir reçu un "nouveau prix" ou de le passer, ou d'une manière ou d'une autre d'éviter de placer des ordres au même prix. Dans ce cas, le cycle de passation des commandes ne doit pas s'arrêter. Aidez-moi, s'il vous plaît.

double Dist=10000.0 ;
chaîne SMB ;
double NewPrice ;
int i,z ;
int start()
{
RefreshRates() ;
SMB=Symbole() ;
{UstanOtlozh();}
}
retour(0) ;
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped() ; // Le script est lancé ici.
RefreshRates() ;
SMB=Symbole() ;
{
int i=1 ;
while(i<=OrdersTotal())
{
si (OrderSelect(i-1,SELECT_BY_POS)==true) // s'il existe un
{ // Analyse de l'ordre :
if (OrderSymbol()!= SMB) continue ; // Pas notre instrument financier.
int Tip=OrderType() ; // Type de commande
if (Tip<2) continue ; // Ordre de marché
double NewPrice=OrderOpenPrice() ; // Prix de la commande
{
while(NewPrice<=Ask+100*Point||NewPrice>=Ask+20*Po int)
{
NewPrice=NewPrice+20*Point ;
for(z=0 ; z<OrdersTotal() ; z++)
{
if(OrderSelect(z, SELECT_BY_POS, MODE_TRADES))
{
if(OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
{
si (NormalizeDouble(OrderOpenPrice(),Digits)== NormalizeDouble(NewPrice,Digits))
Alert("Nous avons déjà une commande à ce prix") ;
pause ;
}
}
}
OrderSend(SMB,OP_BUYSTOP,0.01,NewPrice,3,0,0,NULL, 0,CLR_NONE) ;
if(NewPrice>Ask+100*Point||NewPrice<Ask+20*Point)
retour ;
}}}}}}

Raison: