Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bonjour, cher Igor ! Mon système utilise des suppresseurs de tendance. Et le temps et le prix du crossover y sont importants.
Une séquence de mesures n'a pas toujours un temps "continu". Sorties, trous, etc.
L'utilisation de CrossPointOfLines ( dans test_CrossPointOfLines.mq4) pour le calcul du temps dans sa forme naturelle conduit aux résultats suivants
à gauche de la barre de zéro
(La position des lignes de tendance sur les graphiques n'a rien à voir avec le système - sélection aléatoire. Les points de référence de la ligne de tendance peuvent
l'un à gauche de la barre de zéro, l'autre à droite).
et à droite
Les calculs ne doivent pas être effectués en heures, mais en fonction de la situation : à la fois en barres et en heures . L'unité de temps à gauche est la barre. Et pour le côté droit, après la barre de zéro, il faut mesurer en heures.
La recherche de solutions toutes faites n'a encore rien donné. La fonction CrossPointOfLines est la seule présente sur le site jusqu'à présent. Il faut une histoire parfaite :(
Bonne journée Igor !
Veuillez m'aider en me donnant des conseils ou une solution. J'essaie de faire en sorte que le Conseiller Expert donne un signal lorsqu'une barre précédente "absorbe" la précédente.
1 - si l'absorption a eu lieu vers le haut2 - si l'absorption a eu lieu vers le bas.
Je pensais que c'était très simple, il suffit de comparer les prix d'ouverture et de clôture et voilà ... mais ce n'est pas le cas. Lorsque je passe ma souris sur les 2 barres précédentes, il est clair que la dernière mange l'avant-dernière.
J'espère vivement que vous m'aiderez et je vous remercie par avance.
Voici le texte :
int start(){
//----
if (SShort()==1)
Alert("1") ;
}
si (SLong()==1)
Alert("2") ;
}
//----
return(0) ;
}
//+------------------------------------------------------------------+
int SShort()
{int MS=0 ;
if (Open[1]>Close[2] && Close[1]<Open[2] && Open[1]>Close[1] && Open[2]<Close[2])
MS=1 ;
return(MS) ;
}
//+------------------------------------------------------------------+
int SLong()
{
int ML=0 ;
if(Open[1]<Close[2] && Close[1]>Open[2] && Open[1]<Close[1] && Open[2]>Close[2])
ML=1 ;
return(ML) ;
}
//+------------------------------------------------------------------+
Jeu de filtres temporels : C et PO
(et plus encore...).
Lorsqu'on m'a demandé ce qu'il en était, voici le résultat que j'ai trouvé moi-même.1. Interdire ou autoriser les activités quotidiennes.
Option 1.
Notez que le "délai d'expiration" de ces options s'étend jusqu'à la fin de l'heure et des 59 secondes du nombre de minutes.
c'est-à-dire que l'heure de fin de l'événement indiquée comme étant 23:59 est en réalité 23:59:59
Et jusqu'à la fin de l'heure car les minutes utilisent l'opérateur de comparaison ">=", ce qui n'est cependant pas un problème et vous pouvez spécifier "==",
mais en ramenant le temps à 59 secondes, cela fonctionnera de toute façon...
Option 2.
Plus précis du point de vue de l'établissement des conditions...
L'heure est définie en spécifiant en passant des paramètres à la fonction, par exemple 21:15:23 comme (21,15,23).
Il est clair que ce n'est pas cool, mais c'est un code tout à fait exploitable...
SZY : le contrôle de validité des paramètres saisis n'est pas accidentel.
Car si vous entrez dans le mauvais, vous serez époustouflé. Je n'ai pas trouvé d'autre moyen, alors je l'ai commenté.
Par conséquent, je vous serais très reconnaissant de trouver un moyen de résoudre ce problème...
Variante n°3.
Il s'avère que c'est le plus simple et le plus exact.
La simplicité, semble-t-il, réside dans les particularités de la transformation des paramètres qui lui sont passés par la fonction StrToTime().
Par exemple, si vous entrez uniquement l'heure "HH:MM:SS", la sortie sera l'heure de chaque jour actuel...
D'ailleurs...
En combinant l'échantillonnage par heures et par jours, vous pouvez filtrer par type :
- ce qu'il y avait à 18:00 de chaque jour, ou ce qu'il y avait chaque jour de la période spécifiée à partir de C et plus heures:minutes:secondes
Cependant, l'éventail des jours peut aussi être chargé de et vers...
2. Fonction DateFirstDayMonday()
(basé sur DateOfMonday() )
Renvoie la date du premier jour à 00:00:00 du mois en cours.
J'avais besoin de filtrer les événements d'AVANT le début du mois...
DateFirstDayMonday()-1 dans le deuxième échantillon imprime "dernier jour du mois précédent 23:59:59".
...
S'il vous plaît, ne me donnez pas de coup de pied à l'avance, parce que je suis un imbécile.
:)))
S'il vous plaît, ne me donnez pas de coup de pied à l'avance, parce que je suis un imbécile. :)))
Chyneg pas chyneg, mais si vous avez pris le buisson, suivez-le jusqu'au bout. Nous aimerions que les heures de fonctionnement et de fermeture autorisées soient séparées des fonctions booléennes de ce type :
bool TradeTime(Heure de début de transaction, Heure de fin de transaction)
Il sera alors très pratique d'utiliser, if (TradeTime(.,...)) et de travailler !
Chyneg n'est pas un chyneg, mais si vous avez pris le gouvernail, allez jusqu'au bout. Il faudrait mettre le temps de fonctionnement autorisé et le temps de fermeture dans des fonctions booléennes distinctes :
bool TradeTime(Heure de début de négociation, Heure de fin de négociation)
Il sera très pratique d'utiliser alors, if (TradeTime(.,.)) et de travailler !
Eh bien, déjà... ;)
Pour une banque, je fais une variante avec deux timings simultanés :
- clôturer tous les ordres et toutes les positions avant le retournement à 22h00
- pause commerciale du début du roulement à 22:00 jusqu'à la fin de la journée à 23:59
(version brute sans contrôles supplémentaires)
...(version brute sans contrôles supplémentaires)
Vinin avait des fonctions séparées pour le timing, très détaillées et élaborées. Regardez dans les EA sur son site ou frappez à sa porte.
Vinin a eu des fonctions séparées pour travailler avec le temps, elles sont très détaillées et minutieuses. Regardez les conseillers experts sur son site ou frappez simplement à sa porte.
Merci, mais ce n'est pas encore nécessaire...
Je n'ai pas beaucoup de temps pour ce conseiller en ce moment,
Je sais ce qu'il faut y écrire et je sais aussi comment l'écrire...
*
Je vais poster le texte principal sur le forum de la banque afin de ne pas disperser ce sujet.
En son temps, bien sûr. ;)
bool TradeTime(Heure de début de transaction, Heure de fin de transaction)
Il sera alors très pratique d'utiliser, if (TradeTime(.,.)) et de travailler !
Il est nécessaire de commander une telle fonction pour Igor Kim.
Igor Kim devrait commander une telle fonction.
Je me joins à la demande ! Ce serait une fonction très utile et nécessaire. A la lumière des réalités commerciales actuelles....
Il est même possible d'y prévoir deux intervalles de temps.