Questions des débutants MQL5 MT5 MetaTrader 5 - page 552

 
Vitalii Ananev:
Si vous avez besoin de rsi et de stochastique dans un seul indicateur, il peut être mis en œuvre au moyen du langage mql. Contactez le service des freelances.
Non disponible. Je vais le faire moi-même. MERCI.
 
Vitalii Ananev:

La condition pour franchir le niveau.

Par exemple, le prix de clôture d'un chandelier.

double Uroven ; - niveau

si (Close[2]<Uroven && Close[1]>=Uroven) du bas vers le haut

si (Close[2]>Uroven && Close[1]<=Uroven) de haut en bas.

Merci.
 

Bonjour, j'ai rencontré ce problème.

Il y a une condition dans le programme : si une variable (dans laquelle le profit de certains ordres est calculé) est plus petite que l'expression de plusieurs autres variables, plusieurs fonctions seront exécutées ensuite.

Je ne décrirai pas tout de suite exactement ce qu'elle est et comment elle est calculée car ce serait trop. Peut-être, la réponse sera très simple car je ne la connais pas :)

Ainsi, lors de l'exécution du programme, cette condition s'avère être vraie, alors qu'en fait la première variable est beaucoup plus grande que l'autre (par exemple, j'ai sorti les valeurs - 146.3412 et 0.41 dans le testeur).

Toutes les variables dans cette condition sont de type double et séparément sont calculées correctement.

Pouvez-vous me dire à quoi cela peut être lié ?

 
Maria Baburina:

Bonjour, j'ai rencontré ce problème.

Il y a une condition dans le programme : si une variable (dans laquelle le profit de certains ordres est calculé) est plus petite que l'expression de plusieurs autres variables, plusieurs fonctions seront exécutées ensuite.

Je ne décrirai pas tout de suite exactement ce qu'elle est et comment elle est calculée car ce serait trop. Peut-être, la réponse sera très simple car je ne la connais pas :)

Ainsi, lors de l'exécution du programme, cette condition s'avère être vraie, alors qu'en fait la première variable est beaucoup plus grande que l'autre (par exemple, j'ai sorti les valeurs - 146.3412 et 0.41 dans le testeur).

Toutes les variables dans cette condition sont de type double et séparément sont calculées correctement.

Pouvez-vous me dire à quoi cela peut être lié ?

La solution se trouve en réalité à la surface - ici :Telepath Club
Клуб Телепатов (^_^) - MQL4 форум
Клуб Телепатов (^_^) - MQL4 форум
  • www.mql5.com
Клуб Телепатов (^_^) - MQL4 форум
 
Karputov Vladimir:
La solution se trouve en fait à la surface - allez ici :Telepath Club

Prérequis :

if (ProfitSellDBL < (Profit_Upgr+(Tral_Start__Upgr-Tral_Size__Upgr)*TV*SumLotSellDBL)) CloseTriggerS_Upgrade=0;


ProfitSellDBL est calculé ici

   for (i=totalsellDBL-1; i>=0; i--)
      {
      ReturnValueBool=OrderSelect(DoubleSell[i][0],SELECT_BY_TICKET);
      SumLotSellDBL+=OrderLots();
      j=i+totalbuyDBL;
      MassivDBL[j][0]=OrderProfit()+OrderCommission()+OrderSwap();
      MassivDBL[j][1]=DoubleSell[i][0]; 
      ProfitSellDBL+=MassivDBL[j][0];
      LastPriceSellDBL = OrderOpenPrice(); 
      LastLotSellDBL = OrderLots();      
      }

Profit_Upgr = 0.01

Tral_Start__Upgr est assimilé à une variable externe de type int et égale à 5.

Tral_Size__Upgr est pareillement égal à 4

TV - valeur de coche, =10

SumLotSellDBL = 0.04

 
Vitalii Ananev:

La condition pour franchir le niveau.

Par exemple, le prix de clôture d'un chandelier.

double Uroven ; - niveau

si (Close[2]<Uroven && Close[1]>=Uroven) du bas vers le haut

si (Close[2]>Uroven && Close[1]<=Uroven) de haut en bas.

Désolé, ça ne marche pas. Je vais la décrire en image. La ligne brisée rouge est un indicateur, les lignes bleues sont des niveaux.

Condition d'ouverture à l'achat : lorsque l'indicateur traverse un niveau quelconque de bas en haut.

Condition de clôture d'un achat (ouverture simultanée d'une vente) : lorsque l'indicateur franchit n'importe quel niveau de haut en bas, sauf celui où l'ordre a été ouvert.

Désolé, je dois déjà vous ennuyer.

Dossiers :
 
Maria Baburina:

Prérequis :


ProfitSellDBL est calculé ici

Profit_Upgr = 0.01

Tral_Start__Upgr est assimilé à une variable externe de type int et égale à 5.

Tral_Size__Upgr est pareillement égal à 4

TV - valeur de coche, =10

SumLotSellDBL = 0.04

Chevaux et personnes mélangés...Conversion de type
 
edutak:

Désolé, ça ne marche pas. Je vais le décrire en image. La ligne brisée rouge est l'indicateur, les lignes bleues sont les niveaux.

Condition pour ouvrir un achat : lorsque l'indicateur traverse n'importe quel niveau de bas en haut.

Condition de clôture d'un achat (ouverture simultanée d'une vente) : lorsque l'indicateur franchit n'importe quel niveau de haut en bas, sauf celui où l'ordre a été ouvert.

Désolé, je dois déjà vous ennuyer.

Lorsqu'elle traverse de haut en bas, regardez le prix d'ouverture de l'ordre et déterminez quelle ligne il a traversé à l'ouverture. Naturellement, si la même ligne est franchie maintenant, l'ordre ne doit pas être fermé.
 
Est-il possible de mettre en ligne les graphiques de la balance et du compte de capital sur la fenêtre de la paire de devises ? Où puis-je me procurer le logiciel correspondant ?
 
edutak:

Désolé, ça ne marche pas. Je vais le décrire en image. La ligne brisée rouge est l'indicateur, les lignes bleues sont les niveaux.

Condition pour ouvrir un achat : lorsque l'indicateur traverse n'importe quel niveau de bas en haut.

Condition de clôture d'un achat (ouverture simultanée d'une vente) : lorsque l'indicateur franchit n'importe quel niveau de haut en bas, sauf celui où l'ordre a été ouvert.

Désolé, je dois déjà vous ennuyer.

Au lieu de Close[2], mettez la valeur de l'indicateur sur la deuxième barre (par exemple iRSI(.......,2) ), et au lieu de Close[1] mettez la valeur de l'indicateur sur la première barre. Et uroven est la valeur du niveau.

Et le reste, on vous l'a déjà dit plus haut.