[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 532

 
FAQ:
dans le cas de l'entrée que j'ai montrée, les variables d'entrée, lorsqu'elles sont modifiées dans la fonction, conserveront leurs valeurs modifiées à la sortie de la fonction.
Merci beaucoup ... ))))
 
Tantrik:

Bonjour aux programmeurs, existe-t-il un script qui n'afficherait pas les ordres en attente dans une fenêtre par heure d'ouverture, mais par nom d'instrument et les regrouperait ?

Lorsque vous travaillez avec 10 paires de devises, vous ne pouvez pas trouver l'ordre nécessaire. Est-ce que quelqu'un l'a ?

Voir l'aide de MetaEditor pour OrderSymbol()
 
Reshetov:
Voir OrderSymbol() dans l'aide de MetaEditor.
Merci, pour que vous puissiez le changer vous-même.
 
Tantrik:
Merci, pour que vous puissiez le changer vous-même.
Si personne ne l'interdit et que l'opportunité potentielle existe, alors c'est possible.
 
Reshetov:
Si personne ne l'interdit et que l'opportunité potentielle existe, alors vous pouvez le faire.
Pouvez-vous me dire où le trouver ? Tout est en anglais.
 

Quelle est la mise maximale sur le forex via MetaTrader 4 ? Sur mon compte de démonstration, je parie jusqu'à 50 tee. 51 ne fonctionne plus. Puis-je changer ce chiffre pour un plus élevé ? J'ai regardé dans les paramètres du programme, je ne l'ai pas trouvé. Si j'entre plus de 50, les boutons Vendre et Acheter sont désactivés.

Si ces paramètres ne peuvent pas être modifiés, veuillez indiquer comment ouvrir plusieurs ordres à la suite sans que le prix ne s'écarte du point d'entrée prévu.

Pour ouvrir une nouvelle commande, nous avons le raccourci clavier F9, mais ensuite vous devez cliquer partout et cela peut prendre un certain temps.

Existe-t-il une fonction dans MT4 permettant de fermer tous les ordres en même temps ? Ou une touche de raccourci pour les fermer tous en même temps ?

 

J'essaie de trouver les sommets (sans queue) pour le jour suivant (pour un cadre d'une heure)... la fabrication d'un indicateur.

ne montre rien...

int start()
{
int counted_bars = IndicatorCounted();
int lowest=0;
int highest=0;
//----
int limit;
//---- последний посчитанный бар будет пересчитан
if((counted_bars > 0))
counted_bars--;
limit = Bars - counted_bars;
//---- основной цикл

if ((Hour()> 0 && Hour()<=1 && Minute()>0 && Minute()<=1 ) ){

for(int i = 1; i < limit; i++)
{
//+++++++++++++++++++++++
for(int k = 1; k < 24; k++)
{if (iClose(NULL,0,k) >highest)
{highest=iClose(NULL,0,k);
}
}
ExtMapBuffer1[i] = highest ;

//+++++++++++++++++

for(int l = 1; l < 24; l++)
{if (lowest ==0) {lowest=iClose(NULL,0,l);}
if (iClose(NULL,0,l)< lowest) {lowest=iClose(NULL,0,l);} }
ExtMapBuffer2[i] = lowest;

//------------------
}
//----
return(0);
}

}

 
Tantrik:
Pouvez-vous me dire où le trouver ? Tout est en anglais.
Merci, j'ai compris.
 
DOCTORS:

J'essaie de trouver les sommets (sans queue) pour le jour suivant (pour un cadre d'une heure)... la fabrication d'un indicateur.

ne montre rien...

int start()
{
int counted_bars = IndicatorCounted();
int lowest=0;
int highest=0;
//----
int limit;
//---- последний посчитанный бар будет пересчитан
if((counted_bars > 0))
counted_bars--;
limit = Bars - counted_bars;
//---- основной цикл

if ((Hour()> 0 && Hour()<=1 && Minute()>0 && Minute()<=1 ) ){

for(int i = 1; i < limit; i++)
{
//+++++++++++++++++++++++
for(int k = 1; k < 24; k++)
{if (iClose(NULL,0,k) >highest)
{highest=iClose(NULL,0,k);
}
}
ExtMapBuffer1[i] = highest ;

//+++++++++++++++++

for(int l = 1; l < 24; l++)
{if (lowest ==0) {lowest=iClose(NULL,0,l);}
if (iClose(NULL,0,l)< lowest) {lowest=iClose(NULL,0,l);} }
ExtMapBuffer2[i] = lowest;

//------------------
}
//----
return(0);
}

}

Dès une heure du matin, il y aura une lecture...
 

Je n'arrive pas à comprendre la logique du compilateur. J'ai une fonction. Je déclare une variable externe.

int start ;

en outre, le corps de la fonction

double B()
{

int i=0, k=OrdersHistoryTotal() ;
for (i=k-1 ; i<=k ; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)!=false) {
if (OrderType()==OP_SELL) {
if(OrderProfit()< 0) {start=1;}

}

}

}

}

La valeur de la variable de départ doit être mémorisée et égalisée à zéro en cas de besoin. Mais ici il s'avère que si OrderProfit()<0 , alors start=1, et si OrderProfit()> 0 , alors automatiquement start=0.

Ai-je bien compris la logique du compilateur ?