Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1669

 
artem artem #:

Les ajouts que je voulais faire :

1. Pour faire l'ouverture d'une transaction et vérifier la correspondance de toutes les conditions des indicateurs(croisement d'un rapide (5) de deux lents (75) (85) et ouverture d'une barre MACD dans la même direction avec un rapide (5)) a été fait seulement au prix d'ouverture d'une nouvelle bougie (le premier tick de chaque bougie de 30 minutes) ;
  1. Créez les conditions permettant de "remettre à zéro" les indicateurs. Par exemple, pour un mouvement rapide (5) Si elle est plus élevée que les lentes, c'est un signal d'achat. Si après cela, il descend et touche l'un d'entre eux, ou se trouve entre les indicateurs lents (75) et (85)- alors le signal de l'indicateur rapide se met à zéro et reste dans cette position" zéro" tant qu'il touche ou reste entre les indicateurs lents. Si après cela, le rapide croise les deux lents d'un côté(y compris s'il retourne du côté d'où il venait avant de toucher les lents)- alors ce sera un signal de cet indicateur. Avec le MACD, la situation est similaire- Seul MACD=0 sera considéré comme "zéro"(si sur la première bougie le MACD, par exemple, a ouvert avec 0.0043, et sur la deuxième bougie avec -0.0010, cela signifie que le MACD sur la deuxième bougie a" zéro" et a donné un nouveau signal). Cependant, il y a un moment le rapide (5) et le MACD devraient être en quelque sorte "sur un pied d' égalité" - si (5) ne change pas sa position par rapport au lent, et que le MACD a ouvert sur la bougie précédente dans la mauvaise zone (pas d'entrée), et sur la suivante - dans la même zone que le rapide, alors toutes les conditions ont convergé et une entrée à l'ordre devrait se produire. Notez que tout ceci doit se faire uniquement sur les prix d'ouverture des bougies - uniquement sur ce tick;
  1. Et le dernier, pour que le Conseiller Expert attende 4 ouvertures de bougies consécutives:

    1. 1er prix d'ouverture - (5) au-dessus de (75) et (85) + barre MACD ouverte au-dessus de 0- 1 confirmation sur 4;
    2.Le cours d'ouverture de la 2ème bougie - (5) sur (75) et (85) + barre MACD ouverte au-dessus de 0- 2 confirmations sur 4 est;
    3. Le cours d'ouverture de la 3ème bougie - (5) sur (75) et (85) + barre MACD ouverte au-dessus de 0- 3 confirmations sur 4 est;
    4.Prix d'ouverture de la 4ème bougie - (5) au-dessus de (75) et (85) + barre MACD ouverte au-dessus de 0- 4 confirmations sur 4 oui- Ouvrir un trade d'achat sur la même bougie (4ème).
La même situation avec les ordres de vente, mais dans l'autre sens, les indicateurs doivent s'ouvrir. Et il y a un point important- si à n'importe quel stade de la 1ère bougie à la 4ème, les indicateurs changent de position(par exemple, sur la 3ème bougie d'ouverture, la barre MACD s'ouvre soit en dessous de 0, soit = 0)- alors tout se réinitialise, car les signaux n'ont pas été vérifiés à l'ouverture de la 4ème bougie d'affilée.

Je suis avec ces paramètres - j'ai essayé de faire un indicateur (ROUGE ET BLEU)

par rapport aux autres indicateurs - ils ont tous le même thème

EURUSDH1

 
MakarFX #:

Trouvez ensuite les prix d'ouverture min/mac, additionnez-les et divisez-les par 2. Si vous achetez, ajoutez des points*Points au résultat,

et si vous vendez, soustrayez.

Makar si vous pouvez m'expliquer plus en détail : Prix d'ouverture de ce ????

 
EVGENII SHELIPOV #:

Makar si vous pouvez m'expliquer plus en détail : Prix d'ouverture de ce ????

Prix d'ouverture de l'ordre maximum et minimum

 
MakarFX #:

Prix d'ouverture de l'ordre maximum et minimum

Je me demande si le pas entre les ordres "Dynamic" change en fonction de la volatilité ?

 
EVGENII SHELIPOV #:

Je me demande si le pas entre les ordres "Dynamic" change en fonction de la volatilité ?

Je ne comprends pas la question
 
EVGENII SHELIPOV #:

Je me demande si le pas entre les ordres "dynamiques" change en fonction de la volatilité ???

Ou est-ce que cela n'a rien à voir ???

 
MakarFX #:
Je ne comprends pas la question.

C'est la même chose que de compter le prix moyen mais en incluant le lot.

 
EVGENII SHELIPOV #:

Ou est-ce que cela n'a rien à voir ?

Vous vous êtes éloigné du sujet initial !

Vous vouliez un certain "chiffre" en points du seuil de rentabilité pour clôturer les ordres avec le ticket maximum et minimum.

Vous trouvez donc les prix ouverts de ces ordres, vous les additionnez et vous divisez par deux - ce sera le prix auquel vous devez ajouter ou soustraire des points.

 
MakarFX #:

Vous vous êtes éloigné du sujet initial !

Vous vouliez un certain "chiffre" en points du seuil de rentabilité pour clôturer les ordres avec le ticket maximum et minimum.

Vous trouvez donc les prix ouverts de ces ordres, vous les additionnez et vous les divisez par deux. Ce sera le prix auquel vous devez ajouter ou soustraire des points.

Makar, je l'ai. Vous ne devez utiliser que les coefficients de pondération des tailles de lot min et max, c'est-à-dire que vous devez effectuer un calcul parallèle selon le principe de calcul et le principe décrit ci-dessous. Je pense que ce n'est pas raisonnable.

double   AwerageBuyPrice = 0, AwerageSelPrice = 0;
      if(b >= 2)
         AwerageBuyPrice = NormalizeDouble((BuyPriceMax * BuyPriceMaxLot + BuyPriceMin * BuyPriceMinLot) / (BuyPriceMaxLot + BuyPriceMinLot) + iMinimalProfit * Point(), Digits());
      if(s >= 2)
         AwerageSelPrice = NormalizeDouble((SelPriceMax * SelPriceMaxLot + SelPriceMin * SelPriceMinLot) / (SelPriceMaxLot + SelPriceMinLot) - iMinimalProfit * Point(), Digits());

Ma question était simple : comment spécifier des ordres min/max à fermer après le seuil de rentabilité au lieu du profit en devise, après un certain nombre de pips
.

 
EVGENII SHELIPOV #:

Oui Makar, j'ai déjà compris. Seulement, il doit être compté en tenant compte des coefficients de pondération des tailles de lot min et max, c'est-à-dire qu'il doit être compté en parallèle selon le principe de calcul et selon le principe mentionné ci-dessous. Je pense que ce n'est pas raisonnable.

Ma question était simple : au lieu du profit en devise, vous pouvez spécifier que les ordres min/max se fermeront après le seuil de rentabilité après un certain nombre de points
.

Vous avez une fonction de prix moyen "GetAveragePrice()"
.

Faites de même, mais seulement pour "max_ticket" et "min_ticket".