Référencement des tableaux d'indieurs.
Résultats de 1 é 5 sur 5

Sujet : Référencement des tableaux d'indieurs.

  1. #1
    Est-il possible de r?f?rencer un tableau qui a d?j? ?t? initialis? dans un indieur. Quelque chose de similaire ? la fonction iCustom, en passant peut-?tre l'index de la fen?tre, le nom de l'indieur et l'index du buffertableau.

    J'ai un indieur qui cr?e 6 bufferstableaux. J'ai alors quelques autres indieurs qui ex?cutent le code dupliqu? pour produire peut-?tre 2 ou 3 de ces m?mes tampons. Tout fonctionne bien, mais je trouve qu'il peut ?tre co?teux en performance, dont les d?tails que j'ai gagn? ne sont pas pour le moment.

    Si je comprends bien, iCustom, avec ses param?tres, ex?cute r?ellement le code (dans son propre thread) pour produire la valeur de retour souhait?e, ce qui est g?nial mais pas ce dont j'ai besoin si ma principale pr?occupation est la performance.

    Ce que je suis apr?s est la capacit? de r?f?rencer un tableau particulier d'un indieur qui est d?j? initialis?. Dans ce cas, le r?f?rencement proviendrait d'un indieur diff?rent mont? dans la m?me fen?tre. Mais ce serait pratique si cela pouvait ?tre r?f?renc? ailleurs car j'ai d'autres indieurs dans des sous-fen?tres s?par?es qui dupliquent encore le code pour produire 1 ou 2 tampons de l'indieur de base.

    J'ai lu un tas d'articles mais je n'ai pas trouv? ce dont j'avais besoin. Je ne pense pas qu'il soit possible que ce soit une ?gie bien document?e pour surmonter partiellement la limite de 8 tampons sur chaque indieur. (Pourquoi ont-ils cela?)

    Hmmm # 8230 ;. Ou suis-je r?pondre ? ma propre question ici # 8230; est la solution pour redessiner mes indieurs pour utiliser une s?rie d'appels iCustom # 8230 ;. Hmnmmmm # 8230; .. compliqu? et probablement au-del? de mes comp?tences en programmation novice.

    Toutes les pens?esconseils ou un facteur d?cisif # 8220; NO # 8230; ?a peut # 8217; t ?tre fait # 8221; serait grandement appr?ci?. D?sol? si cette question a ?t? adress?e avant etou affiche mon ignorance de MQL.

    Merci beaucoup ? l'avance pour toute r?ponse.

  2. #2
    V?rifiez que vos indieurs ne calculent que pour les bougies qui ont chang?. Un des plus grands meurtriers de performance sont des indieurs qui traversent chaque bougie ? chaque tick.

  3. #3

    Citation Envoy? par ;
    V?rifiez que vos indieurs ne calculent que pour les bougies qui ont chang?. Un des plus grands meurtriers de performance sont des indieurs qui traversent chaque bougie ? chaque tick.
    Merci pour la r?ponse . Oui, en utilisant counted_bars = IndiorCounted () ect ect. J'appr?cie qu'il soit difficile de commenter le code quand je n'en ai pas post? ... mais j'esp?rais simplement que j'aurais une r?ponse rapide et facile ... OUI ... vous le faites comme ?a. Je suis confiant que le code de base est correct ... Je le posterai si n?cessaire .... mais je suis confiant que le code de base est bon parce que l'a ?crit ..... hahahahah. Le probl?me que j'ai est plus th?orique que toute autre chose ... Je trouve que je duplique beaucoup de code pour reproduire une valeur qui est d?j? produite dans un indieur ... ce ne serait pas g?nial si je pouvais R?f?rencez cette valeur au lieu d'ex?cuter le code encore et encore .... Comme je l'ai dit ... mon code fonctionne bien, mais comme je l'ajuste ici et le modifier ici en exp?rimentant avec d'autres indieurs qui utilisent les m?mes tampons inidior de base. .. cette question ne cesse de m'appeler ... m'incitant ? passer des heures ? parcourir des fichiers d'aide et des articles ici et ? tsd pour voir s'il y a une solution ? ce qui, j'en suis s?r, est un probl?me commun. Fondamentalement .... un tableau initialis? dans un indieur peut-il ?tre r?f?renc? ? partir d'un autre indieur s?par?. L'indieur en question est celui qui trace un panier de paires de devises comme une paire de monnaie unique ... c'est-?-dire qu'il r?sume le HLOC de chaque paire de devises et le trace comme une chandelle. Peut-?tre que je ne l'explique pas assez clairement. Mais je ne peux pas penser ? une meilleure fa?on de l'expliquer autrement que de poster des pages et des pages de code. ============================================= ============= ok voici quelques segments du code qui peuvent aider ? expliquer ce que je veux dire ... Je peux poster les indieurs si n?cessaire mais cela prendrait du temps car j'ai fait Beaucoup de modifiions ? l'indieur de panier de base qui me permettent de charger diff?rents paniers rapidement ... mais je suis s?r que vous verrez ce que je veux dire par rapport ? la question des discussions. int start () {int counted_bars = IndiorCounted (); double ch, cl, cb, co; if (counted_barslt; 0) renvoie (-1);/---- la derni?re barre compt?e sera recompt?e si (counted_barsgt; 0) counted_bars--; int pos = Bars-counted_bars; while (posgt; = 0) {ch = gethigh (Paire1, Tp?riode, pos) gethigh (Paire2, Tp?riode, pos) gethigh (Paire3, Tp?riode, pos) gethigh (Paire4, Tp?riode, pos) gethigh (Paire5, Tp?riode, pos) gethigh (Pair6, Tp?riode, pos) gethigh (Pair7, Tp?riode, pos) gethigh (Pair8, Tp?riode, pos); cl = getlow (Paire1, T?riode, pos) getlow (Paire2, T?riode, pos) getlow (Paire3, T?riode, pos) getlow (Paire4, T?riode, pos) getlow (Paire5, T?riode, pos) getlow (Paire6 , T?riode, pos) getlow (Paire7, T?riode, pos) getlow (Paire8, T?riode, pos); cb = getbid (Paire1, Tp?riode, pos) getbid (Paire2, Tp?riode, pos) getbid (Paire3, Tp?riode, pos) getbid (Paire4, Tp?riode, pos) getbid (Paire5, Tp?riode, pos) getbid (Paire6 , Tp?riode, pos) getbid (Pair7, Tp?riode, pos) getbid (Pair8, Tp?riode, pos); co = getopen (Paire1, T?riode, pos) getopen (Paire2, T?riode, pos) getopen (Paire3, T?riode, pos) getopen (Paire4, T?riode, pos) getopen (Paire5, T?riode, pos) getopen (Paire6 , T?riode, pos) getopen (Paire7, T?riode, pos) getopen (Paire8, T?riode, pos);............................................. .... celles-ci les valeurs sont ensuite pass?es ? une s?rie de tampons et utilis?es pour tracer une bougie. les fonctions appel?es sont ci-dessous: - ........................................... ...... double gethigh (cha?ne c, int tf, int ni) {if (StringLen (c) lt; 6) renvoie (0); RefreshRates (); double chigh = iHigh (c, tf, ni)MarketInfo (c, MODE_POINT); retour (chigh); } double getlow (cha?ne c, int tf, int ni) {if (StringLen (c) lt; 6) renvoie (0); RefreshRates (); double clow = iLow (c, tf, ni)MarketInfo (c, MODE_POINT); retour (clow); } double getbid (cha?ne c, int tf, int ni) {if (StringLen (c) lt; 6) renvoie (0); RefreshRates (); double cbid = iClose (c, tf, ni)MarketInfo (c, MODE_POINT); return (cbid); } double getopen (cha?ne c, int tf, int ni) {if (StringLen (c) lt; 6) renvoie (0); RefreshRates (); double copen = iOpen (c, tf, ni)MarketInfo (c, MODE_POINT); retour (copen); } ============================================ ======== Supposons maintenant que je veuille produire un indieur RSI ou un indieur Stochs pour le panier .... au lieu d'avoir ? dupliquer le code pour reproduire les tampons pour dire ... l'ench?re (pour RSI). ... ou le haut, bas, tampons d'offre (pour Stochs) est-il possible de r?f?rencer l'indieur d'origine dans say .... sub Window1, indieur = BasketBars, buffer1, ?l?ment de tableau 27 ou autre. J'esp?re que vous pouvez voir o? je vais avec ?a. Y at-il quelque chose qui me manque dans la programmation MQL g?n?rale qui pourrait r?duire tout ce code redondantdupliqu? que j'utilise actuellement. Comme je l'ai dit ... mes indieurs fonctionnent bien ... mais j'ai ce sentiment lancinant que je manque quelque chose qui pourrait rendre la chose tellement plus facile et peut-?tre plus rapide. J'appr?cie que pouvoir r?f?rencer l'indieur original ... n'aboutirait pas ? des performances beaucoup plus rapides dans ce cas car les deux tampons ... dans l'indieur de panier d'origine et de RSI ne modifient que les derni?res bougies modifi?es comme vous l'avez soulign?. ... mais th?oriquement ... est-ce possible? Comme le r?sultat final de ma ?gie utilise plusieurs ?ch?anciers pour chacun des 8 paniers, chaque p?riode utilise RSI et Stochs avec chacun trois p?riodes diff?rentes .... m?me si dans un cas l'augmentation de la performance peut ?tre n?gligeable, dans l'ensemble, il pourrait ?tre signifiif . Merci encore pour toute aide ou conseils .... Je l'appr?cie.

  4. #4
    Je vois ce que vous demandez et malheureusement vous ne pouvez pas r?f?rencer les tampons ? partir d'un indieur en cours d'ex?cution. Ce serait vraiment bien, et MT4 n'est pas gentil. LOL! Votre seul espoir est la fonction iCustom o? vous pouvez r?f?rencer chacun des tampons individuellement.

  5. #5

    Citation Envoy? par ;
    Je vois ce que vous demandez et malheureusement vous ne pouvez pas r?f?rencer les tampons ? partir d'un indieur en cours d'ex?cution. Ce serait vraiment bien, et MT4 n'est pas gentil. LOL!
    Merci . Je ne le pensais pas. Oh bien ... au moins je ne me demande plus. Cheers mate.

Régles des messages

  • Vous ne pouvez pas cr?er de sujets
  • Vous ne pouvez pas r?pondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas ?diter vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé
Le site d'sundytrading utilise des cookies
Le site d'sundytrading utilise des cookies pour vous assurer la meilleure expérience sur notre site ; certains sont déjà effectifs. Vous pouvez consulter plus de détails sur leurs usages ici. Veuillez cliquer sur le bouton à droite pour accepter nos cookies. Si vous continuez à utiliser le site internet d???sundytrading, nous considérerons que vous acceptez nos cookies.