Problèmes avec Time() - page 8

 

Oui, c'est un joli script ... toute personne débutant dans le codage devrait y prêter attention. Donc, cela signifie qu'il est possible de réorganiser le code OP pour le faire fonctionner correctement sans parenthèses. Il pourrait même être plus efficace de cette façon.

 
SDC:

Oui, c'est un joli script ... toute personne débutant dans le codage devrait y prêter attention. Cela signifie donc qu'il est possible de réorganiser le code de l'OP pour qu'il fonctionne correctement sans les parenthèses.

Non, je ne suis pas d'accord avec cela. Les personnes "novices en matière de codage", et les autres, devraient utiliser plusieurs lignes plutôt que d'essayer de coller tous les tests possibles sur une seule ligne. Le PO utilise un "outil" qui (apparemment) requiert toute la logique en un seul endroit. Mais dans un MT4 ordinaire, les tests devraient être répartis sur des lignes séparées ou dans des fonctions, de sorte que vous puissiez insérer des instructions d'impression entre elles et voir où la logique s'est détraquée (comme c'est souvent le cas :-).

L'ajout de parenthèses n'augmente en rien le coût de calcul. Et dans MQL4, mettre la logique sur plusieurs lignes est en fait moins coûteux en termes de calcul. Il n'y a donc que des avantages à utiliser plusieurs lignes et aucun inconvénient :-)

 
Peu importe qu'une chose soit efficace ou inefficace sur le plan informatique si elle ne fonctionne pas comme prévu... faites-la fonctionner d'abord... puis passez le reste de votre vie à l'optimiser si vous le souhaitez ou si vous en avez besoin.)
 
SDC:

Oui, c'est un joli script ... toute personne débutant dans le codage devrait y prêter attention. Cela signifie donc qu'il est possible de réorganiser le code de l'OP pour qu'il fonctionne correctement sans parenthèses.


Vraiment. Donc, logiquement, tout va bien après tout et pourrait même être plus efficace - après quelques "réarrangements".

Parfois, je me dis que ce site va vraiment à l'encontre de sa propre logique d'existence. Tout ce non-sens, juste pour arriver à "ça pourrait même être plus efficace comme ça". Vraiment, maintenant.

Unreal.

 
dabbler:

Intéressant, tout comme ceci

https://www.mql5.com/en/forum/126224

Il est utile de connaître le contexte de ce dont nous parlons !


J'ai évité ce fil de discussion parce qu'il y a tellement de colère de tous les côtés. Cela semble tellement inutile.


Peut-être que le PO devrait commencer un nouveau fil de discussion afin que les répondants n'aient pas à lire 200 messages avec une précision de 100% pour comprendre ce qui se passe.

Et peut-être que tout le monde pourrait arrêter d'insulter les gens.


Étant donné l'approche totalement erronée de mon fil de discussion par la brigade des "vraiment pleins d'eux-mêmes", le seul nouveau fil de discussion que j'envisagerais de lancer sur ce forum serait celui qui dirait à tous les auteurs de scripts non-MQL de rester à l'écart de cette fosse à vipères qu'est le forum - pour leur propre bénéfice.

 
dabbler:
Il est intéressant de noter que j'ai vérifié cela et que cela semble correct. MQL4 et C (et tout autre langage informatique) ont un ensemble de règles de précédence qui donnent une interprétation exacte d'une expression logique.


Sans blague - je le savais, et je ne suis même pas un développeur ! Pourquoi pensez-vous que je l'ai écrit de cette façon pour commencer ? En tant que non-programmeur, j'ai adopté l'approche la plus logique qui soit, et j'ai placé chaque expression dans l'ordre le plus logique, sans rien savoir de l'obligation que MQL impose de segmenter les arguments individuels qui utilisent des opérateurs logiques, en utilisant des parenthèses. Qui diable va connaître une telle exigence, à moins de coder MQL chaque jour, toute la journée.

Du point de vue d'un auteur de script non MQL, étant donné que je viens juste de commencer à utiliser MQL comme un moyen d'exécuter des transactions en dehors de mon prototype de système de trading qui n'utilise pas MQL, je dirais que cette première exécution était assez parfaite d'un point de vue purement logique. L'erreur (s'il y en a eu une) n'était pas logique, elle était SYNTACTIQUE :


Day() == 1 || Day() == 2 || Day() == 3 || Day() == 4 && TimeHour(TimeCurrent()) >=23 &&
 TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57


Il y a une différence entre une personne qui se trompe de syntaxe et une personne qui n'a tout simplement aucune compréhension logique de ce qu'elle fait, quelle qu'elle soit. Mais, bien sûr, les gourous "Je suis un MQL" de ce forum n'ont pas compris cela. Compte tenu de la durée de mon exposition au MQL et de la complexité de l'ensemble de mes EAs, je doute que la plupart des nouveaux venus sur le MQL aient pu aller aussi loin dans ce que j'essaie d'accomplir.

Le fait que j'ai simplement fait une erreur de syntaxe, dit tout ce que j'ai besoin de savoir sur la réponse de ce conseil à mon OP.

Comme je l'ai dit, Traders, Trade. Je n'ai pas eu le temps supplémentaire sur mes mains au cours des années pour développer des compétences de programmation. De même, les codeurs, codent. Et, j'en ai rencontré très peu au fil des ans qui étaient capables d'écrire une seule ligne de logique commerciale reproductible qui contient une reconnaissance de modèle historiquement significative, suffisante pour construire un véritable capital et donc une véritable richesse.

J'ai un système de trading entièrement intégré qui fonctionne presque sans faille. Mon seul intérêt pour MQL, c'est de commencer l'exploration POC des échelles de temps inférieures, ce dont mon prototype ne profite pas pour le moment.

Ce serait un site formidable, s'il n'y avait pas cette attitude de gourou du codage qui va à l'encontre de sa raison d'être. Peut-être qu'un jour vous trouverez cet indice.

 
RaptorUK:
Peu importe que quelque chose soit efficace ou inefficace sur le plan informatique si cela ne fonctionne pas comme prévu... faites-le fonctionner d'abord... puis passez le reste de votre vie à l'optimiser si vous le voulez ou le devez. ;-)


Cela fonctionne très bien, maintenant. Je ne remercie personne sur ce forum, car j'ai trouvé par moi-même un moyen d'obtenir l'itération basée sur le temps dont j'ai besoin et sur la plage de temps qui est nécessaire pour que la logique commerciale prenne vie. Essentiellement, le code scanne une série de modes iCustom dans de multiples cadres temporels, pour des configurations spécifiques sur une plage de temps spécifique à chaque mode.

Vous n'avez vu que la partie basée sur Time(), ici sur ce forum. L'EA est en fait composé de cinq (5) EA différents, chacun surveillant la performance commerciale de l'autre, afin de ne pas déclencher de signaux subordonnés, et de permettre aux signaux supérieurs de persister (car la position reste ouverte). Le système global est conçu pour rester sur le marché lorsqu'il passe de la verticale à l'horizontale, puis à la verticale. Ce n'est pas quelque chose de facile à concevoir du point de vue de la logique commerciale.

Il ne s'agit certainement pas d'une stratégie de croisement typique (trop familière) et aucun indicateur "standard" n'est utilisé.


La SEULE chose qui compte dans le domaine du trading, c'est la logique commerciale finale que vous déployez sur le marché. Tout le reste, y compris les grandes compétences en programmation que l'on pense avoir, n'aura aucune importance si vous ne pouvez pas écrire une logique commerciale solide comme le roc.

J'en ai assez dit sur ce sujet et sur le mien.

 

Pour ceux qui ont besoin d'en savoir plus sur la façon de développer une logique de transaction qui fonctionne, j'ai créé une sorte de laboratoire temporaire pendant que je mène mes recherches pour savoir si mes indicateurs personnalisés sont valables ou non dans des cadres temporels inférieurs. Le site est le suivant CollaborativeFx.forumer.com. J'ai retiré le site jusqu'à ce que j'aie créé suffisamment de modèles Bot et que je sois en mesure de présenter les résultats.

[Vous pouvez suivre mon retour sur le projet CollaborativeFx.forumer.com en ligne sur Twitter @CollaborativeFx. Le CollaborativeFx, est un site de R&D UNIQUEMENT. Aucun produit commercial n'est autorisé sur le site, et il n'y a rien à vendre sur le site. Ce sera un site dédié aux personnes à l'esprit positif qui souhaitent découvrir ce qui rend possible une bonne logique commerciale.

Ce n'est PAS un site dédié au MQL. Sur le site, le MQL ne sera rien d'autre qu'un outil pour construire plusieurs preuves de concepts, liées à une poignée d'indicateurs personnalisés de base que j'ai développés depuis le début au fil des ans. Bien sûr, il y aura toujours des programmeurs MQL sur d'autres sites. Le CollaborativeFx, c'est le développement de la logique commerciale.