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

 
Roman Sharanov:

J'ai besoin de stocker des tableaux de citations dans un tableau.

Pour copier une fois dans une boucle et ensuite effectuer des calculs en utilisant ArrayCopy, et non CloseCopy

Bien sûr, chacun est libre de faire ce qu'il veut. Mais pourquoi devrions-nous copier un tableau élément par élément dans un autre tableau bidimensionnel et ensuite travailler avec ce tableau bidimensionnel ? Ne pouvons-nous pas effectuer les mêmes calculs au lieu de les copier ?

Ou est-ce que je rate quelque chose ? Peut-on copier un tableau unidimensionnel dans la deuxième dimension d'un tableau bidimensionnel ?
 
Alexey Viktorov:

Bien sûr, chacun est libre de faire ce qu'il veut. Mais pourquoi copier un élément par élément dans un autre tableau bidimensionnel et ensuite travailler avec ce tableau bidimensionnel ? Ne pouvons-nous pas faire ces calculs au lieu de les copier ?

Ou est-ce que je rate quelque chose ? Est-il possible de copier un tableau unidimensionnel dans la deuxième dimension d'un tableau bidimensionnel ?

J'ai deux boucles imbriquées, l'externe a CopyClose, et l'interne

Et tous copient les mêmes caractères du tableau.

Je veux entrer un tableau de cotations pour chaque paire dans un tableau séparé avant les boucles.

Quoi qu'il en soit, voici ce que j'ai fait, j'ai enveloppé un double tableau de devises dans une structure, et j'ai créé un tableau de structures

for(int i = 0; i<ACTIVES; i++){
      CopyClose(all_pairs[i], PERIOD_CURRENT, 1, calculation_period, pairs_data[i].currency);
      pairs_data[i].pair = all_pairs[i];
   }
for(int i = 0; i < ACTIVES-1; i++){
	 ArrayCopy(first_data, pairs_data[i].currency, 0,0,WHOLE_ARRAY);
	//работа с firstData
	...
      
	 for(int k = i+1; k < ACTIVES; k++){
		 ArrayCopy(second_data, pairs_data[i].currency, 0,0,WHOLE_ARRAY);
         	//Работа с secondData
         	...
      }
   }
 

Mes amis, je ne peux pas dormir sans résoudre ce problème pendant un certain temps :

J'utilise un indicateur qui se rafraîchit périodiquement après avoir reçu un tick. Mais parfois, cette mise à jour est nécessaire maintenant, mais le tic-tac est retardé, et le week-end, le marché est endormi.
Je dois faire un clic droit sur le graphique - "rafraîchir". Malheureusement, je n'ai pas trouvé de touche de raccourci pour cette action.

La chose la plus efficace que je vois est un indicateur/conseiller séparé hautement spécialisé avec un bouton sur le graphique, en appuyant dessus, qui imite l'action unique de "rafraîchissement". J'ai essayé de googler la solution, mais sans succès....

Puisque le thème s'appelle "Toutes les questions des débutants, aide et discussion", j'ose poser cette question.
J'espère que quelqu'un d'intelligent en la matière m'aidera, ou au moins me mettra le nez dedans - "exactement CECI a déjà été discuté ici".


 
Roman Sharanov:

la différence moyenne proche n'est pas égale à la différence moyenne proche, hélas et ah

Eh bien, c'est évident !

Mais si vous vous déplacez dans l'espace des moyennes rapprochées, vous vous trouvez automatiquement dans un espace mathématique différent.

C'est-à-dire que vous effectuez une transformation intégrale des moyennes mobiles, et que vous quittez consciemment( !!!! Dans votre cas, si je comprends bien, pas tout à fait) l'espace des cotations (par Close, dans votre cas).

C'est-à-dire que vous abandonnez consciemment les cotations (Close) pour entrer dans l'espace des moyennes mobiles (integral).

Personne ne vous oblige à le faire. Vous le faites vous-même, de votre propre gré, et tout à fait consciemment. ( !?)

Mais ! !! Dans ce nouvel espace (intégral), nous devons travailler avec les différences en moyennes, et non en citations.

La différence entre les guillemets n'a aucun sens dans l'espace (intégral) des moyennes ! !!

Et la différence moyenne des cotations dans l'espace moyen intégral n'a pas non plus de sens ! !!

J'espère que ces simples vérités mathématiques sont claires pour vous. ( !?)

------------------------------------------------------------------------------------------------

Et ce que vous avez, c'est que vous vous déplacez en quelque sorte dans l'espace des moyennes. Et, en même temps, vous continuez à considérer la différence moyenne par une fermeture.

Quel genre de miracle mathématique est-ce là ?

-------------------------------------------------------------------------------------------------------

On ne peut pas avoir un pied dans le bateau et un pied sur le rivage et continuer à naviguer sur la mer.

 
Alexey Viktorov:

Bien sûr, chacun est libre de faire ce qu'il veut. Mais pourquoi devrais-je en copier un élément par élément dans un autre tableau bidimensionnel et ensuite travailler avec ce tableau bidimensionnel ? Ne pouvons-nous pas effectuer ces calculs au lieu de les copier ?

Ou est-ce que je rate quelque chose ? Peut-on copier un tableau unidimensionnel dans la deuxième dimension d'un tableau bidimensionnel ?

Vous ne comprenez probablement pas quelque chose.

Par définition, les calculs dans les tableaux de données brutes sont interdits.

Afin d'effectuer des calculs, nous devons copier le tableau de données d'origine dans un nouveau tableau, puis effectuer des calculs avec ce nouveau tableau.

Ainsi, en cas d'erreur ou de problème, nous pouvons toujours revenir au tableau d'origine et recommencer.

----------------------------------------------------------------------------------------------------------------------------------

Si nous utilisons le tableau original pour les calculs, toute erreur sera fatale.

--------------------------------------------------------------------------------------------------------------------------------------------

Et copier un tableau unidimensionnel dans un tableau bidimensionnel peut être très utile.

Par exemple, nous écrivons "couleur des citations" dans le premier tableau, et les citations elles-mêmes dans le second.

Ensuite, par la "couleur" du tableau, vous pouvez juger des mouvements des citations elles-mêmes, sans prêter attention aux valeurs.

------------------------------------------------------------------------------------------------------------------------------------------------

À propos, il est utile d'avoir un "dégradé de couleurs" similaire sur le graphique lui-même (et pas seulement un fond uni !).

Ou vous pouvez simplement faire une "barre de couleur" sur le côté. Il est très utile de l'avoir pour le commerce.

 
Сергей Николаев:


J'utilise un indicateur, qui se rafraîchit périodiquement après l'arrivée du tick. Mais parfois, cette mise à jour est nécessaire tout de suite, et le tick est reçu avec un certain retard, et le week-end, le marché est endormi.
Je dois cliquer avec le bouton droit de la souris sur "rafraîchir" le graphique. Malheureusement, je n'ai pas trouvé de raccourci clavier pour cette action.

suivez cet événement dans un timer et mettez à jour votre indicateur

 
neverness:

Vous ne comprenez probablement pas quelque chose.

Les calculs dans les ensembles de données brutes sont, par définition, interdits.

Vraiment... vous ne pouvez pas comprendre les absurdités que vous écrivez...

Quels tableaux originaux ? Et qui l'a interdit ???

Pour le reste, non seulement il est difficile de comprendre le sens, mais il est même impossible de comprendre à quoi se rapporte tout ce que vous avez écrit...

 
Alexey Viktorov:

En effet... Il est impossible de comprendre les absurdités que vous écrivez...

Quels sont les tableaux d'origine ? Et qui l'a interdit ???

Pour le reste, il est difficile non seulement de comprendre le sens, mais même de comprendre à quoi se réfère tout ce qui est écrit...

Entraînez-vous à comprendre les "bêtises", pas vous-même.

Encore une fois, en programmation, les données brutes ne sont pas corrigées et ne changent pas, quelles que soient les conditions.

C'est pourquoi ces données ne vont que "en mode lecture - ONLY READ".

Autrement dit, pour travailler avec des données brutes, il faut les copier dans un nouveau tableau de données.

C'est pourquoi C++Builder dispose d'une procédure permettant de copier des données dans le bloc Memo, qui détermine elle-même la taille du tableau à copier.

D'ailleurs, ce phénomène est également présent dans les MT4/MT5. Bravo aux développeurs de MT4/MT5 - ils s'en sont occupés.

 
neverness:

Encore une absurdité qui non seulement n'a aucun rapport avec le sujet traité, mais qui n'a aucun sens.

 
Alexey Viktorov:

Encore une absurdité qui n'a rien à voir avec le sujet traité et qui n'a aucun sens.

Ne vous énervez pas. C'est normal. Si vous ne comprenez pas, c'est bien. Ce n'est pas grave.

Raison: