Sunday, 12 February 2017

Arrow Indicator Forex That Draws

DRAWARROW Le style DRAWARROW dessine des flèches de la couleur spécifiée (symboles de l'ensemble Wingdings) en fonction de la valeur du tampon indicateur. La largeur et la couleur des symboles peuvent être spécifiées comme pour le style DRAWLINE à l'aide des directives du compilateur ou dynamiquement à l'aide de la fonction PlotIndexSetInteger (). Des changements dynamiques des propriétés de tracé permettent de modifier l'aspect d'un indicateur en fonction de la situation actuelle. Le code symbole est défini à l'aide de la propriété PLOTARROW. Définir le code symbole de la police Wingdings pour dessiner dans PLOTARROW PlotIndexSetInteger (0, PLOTARROW, code) La valeur par défaut de PLOTARROW159 (un cercle). Chaque flèche est en fait un symbole qui a la hauteur et le point d'ancrage, et peut couvrir certaines informations importantes sur un graphique (par exemple, le prix de clôture à la barre). Par conséquent, nous pouvons en outre spécifier le décalage vertical en pixels, qui ne dépend pas de l'échelle du graphique. Les flèches seront décalées vers le bas par le nombre spécifié de pixels, bien que les valeurs de l'indicateur restent les mêmes: Définir le décalage vertical des flèches en pixels PlotIndexSetInteger (0, PLOTARROWSHIFT, shift) Une valeur négative de PLOTARROWSHIFT signifie la Déplacement des flèches vers le haut, une valeur positive déplace la flèche vers le bas. Le style DRAWARROW peut être utilisé dans une sous fenêtre distincte d'un graphique et dans sa fenêtre principale. Les valeurs vides ne sont pas dessinées et n'apparaissent pas dans la quotData Windowquot, toutes les valeurs dans les tampons indicateurs doivent être définies explicitement. Les tampons ne sont pas initialisés avec une valeur zéro. Définir une valeur vide PlotIndexSetDouble (indexofplotDRAWARROW, PLOTEMPTYVALUE, 0) Le nombre de tampons requis pour tracer DRAWARROW est 1. Un exemple de l'indicateur, qui dessine des flèches sur chaque barre avec le prix de clôture supérieur au prix de clôture de la précédente bar. La couleur, la largeur, le décalage et le code symbole de toutes les flèches sont changés aléatoirement toutes les N tickes. Dans l'exemple, pour plot1 avec le style DRAWARROW, les propriétés, la couleur et la taille sont spécifiées à l'aide de la propriété de directive du compilateur. Puis dans la fonction OnCalculate (), les propriétés sont définies de manière aléatoire. Le paramètre N est défini dans les paramètres externes de l'indicateur pour la possibilité de configuration manuelle (l'onglet Paramètres dans la fenêtre Propriétés de l'indicateur). Description de la propriété quotAn indicateur pour démontrer DRAWARROWquot description de la propriété quotDraws flèches définies par des caractères Unicode, sur une description de propriété chartquot quotLa couleur, la taille, le décalage et le code symbole de la flèche sont changés d'une manière aléatoirequot propriété description quotefter every N ticksquot description de la propriété quotThe code parameter Définit la valeur de base: code159 (un cercle) quot propriété indicatorchartwindow propriété indicatorbuffers 1 propriété indicatorplots 1 plot Arrows propriété indicatorlabel1 quotArrowsquot property indicatortype1 DRAWARROW propriété indicatorcolor1 clrGreen property indicatorwidth1 1 input paramètres input int N 5 Nombre de ticks à changer Input code ushort 159 Code symbole à dessiner DRAWARROW Un tampon indicateur pour la trame double ArrowsBuffer Un tableau pour stocker les couleurs couleur couleurs Initialisation de l'indicateur personnalisé fonction int OnInit () indicateur buffers mappage SetIndexBuffer (0, ArrowsBuffer, INDICATORDATA) Définir le code symbole pour le dessin PLOTARROW PlotIndexSetInteger (0, PLOTARROW, code) Définir le décalage vertical des flèches en pixels PlotIndexSetInteger (0, PLOTARROWSHIFT, 5) Définir comme valeur vide 0 PlotIndexSetDouble (0, PLOTEMPTYVALUE, 0) return (INITSUCCEEDED) Fonction d'itération de l'indicateur personnalisé int OnCalculate (const int ratestotal, const int pré calculé, const datetime amptime, const double Statique int ticks0 Calculez les tiques pour changer la couleur, la taille, le décalage et le code de la flèche des tiques Si un nombre critique de ticks a été accumulé si (ticksgt N) Modifier les propriétés de ligne ChangeLineAppearance () Réinitialiser le compteur de ticks à zero ticks0 Bloc pour calculer les valeurs d'indicateur int start1 if (prevcalculatedgt0) Startprevcalculated 1 Boucle de calcul pour (int i1iltratestotali) Si le prix actuel est plus élevé que le précédent, dessinez une flèche si (closeigtclosei 1) ArrowsBuffericlosei Sinon spécifiez la valeur nulle autre ArrowsBufferi0 retourne la valeur de prevcalculated pour le retour d'appel suivant (ratestotal) Modifier l'apparence des symboles dans l'indicateur void ChangeLineAppearance () Chaîne pour la formation d'informations sur les propriétés de l'indicateur string commquotquot Un bloc pour changer la couleur de la flèche int nombre MathRand () Obtenir un nombre aléatoire Le diviseur est égal à La taille du tableau de couleurs int taille ArraySize (couleurs) Obtenir l'index pour sélectionner une nouvelle couleur comme le reste de la division integer int colorindexnumbersize Définir la couleur comme la propriété PLOTLINECOLOR PlotIndexSetInteger (0, PLOTLINECOLOR, colorscolorindex) Ecrire la couleur de la ligne commcomm quotrnquot (string) colorscolorindex Un bloc pour changer la taille nombre de flèches MathRand () Obtenir la largeur du reste de la division integer int widthnumber5 La taille est définie de 0 à 4 Définir la couleur comme la propriété PLOTLINEWIDTH PlotIndexSetInteger (0, PLOTLINEWIDTH, width) Écrire la taille de la flèche commcomm quotrnWidthquot IntegerToString (largeur) Un bloc pour changer le code de la flèche (PLOTARROW) MathRand () Get Le reste de la division entière pour calculer un nouveau code de la flèche (de 0 à 19) int codeaddnumber20 Définir le nouveau code de symbole comme résultat de codecodeadd PlotIndexSetInteger (0, PLOTARROW. Code code) Ecrire le code symbole PLOTARROW comm quotrnquot quotPLOTARROWquot IntegerToString (code code) commun Un bloc pour changer le décalage vertical des flèches en nombre de pixels MathRand () Obtenir le décalage comme le reste de l'entier Division int shift20 number41 Définir le nouveau décalage de 20 à 20 PlotIndexSetInteger (0, PLOTARROWSHIFT, shift) Écrire le décalage PLOTARROWSHIFT comm quotrnquot quotPLOTARROWSHIFTquot IntegerToString (shift) comm Affiche les informations sur le tableau en utilisant Un commentaire Commentaire (comm) Indicateur Aide à dessiner la flèche après le déplacement de pip x Besoin d'aide avec mon indicateur. Veuillez trouver le code ci dessous. Il est censé dessiner des flèches dans les régions où le prix a déplacé plus de quotXquot nombre de pips dans les 20 dernières barres d'où: Openi gt (Openi20 PriceMove Point)) Il dessine flèche fine sur le tableau où je veux, mais pour une raison quelconque, ne Ne pas mettre à jour en direct. Si vous devez relancer l'indicateur et que les flèches ne s'affichent qu'après. S'il vous plaît conseiller où il ya erreur dans le code est si vous le pouvez. Rgrds et remerciements à l'avance, Le nombre de tampons pour le calcul, jusqu'à 8 indicateurs de propriété indicator2 La couleur pour afficher les flèches propriété indicatorcolor1 Green Signal long indicatorcolor2 Rouge Signal court Largeur des flèches de propriété indicatorwidth1 2 Long signal flèche indicateur de propriété indicator2 2 Short signal flèche Extern int PriceMove 20 Buffers pour les calculs double UpArrowBuffer Tampon long pour affichage double DownArrowBuffer Tampon court pour affichage Fonction d'initialisation de l'indicateur personnalisé int init () SetIndexStyle définit le nouveau type, le style, la largeur et la couleur d'une ligne d'indicateur donnée SetIndexBuffer lie la variable de tableau déclarée à un niveau global à l'indicateur personnalisé de la mémoire tampon prédéfinie SetIndexArrow Symbole de flèche pour la ligne indicateurs du type DRAWARROW. SetIndexStyle (0, DRAWARROW) SetIndexBuffer (0, UpArrowBuffer) SetIndexArrow (0, 233) Vers le haut arrow SetIndexStyle (1, DRAWARROW) SetIndexBuffer (1, DownArrowBuffer) Fonction de désinitialisation de l'indicateur personnalisé int deinit () return (0) Fonction d'itération de l'indicateur personnalisé int start () int i Bar index int Barres comptées Nombre de barres comptées CountedbarsIndicatorCount () Nombre de barres comptées iBars Countedbars 2 Index du premier comptage (igt0) Loop pour les barres non comptées if (isUpSwingBar (i)) UpArrowBufferi Lowi (20 points) DownArrowBufferi EMPTYVALUE i continue si (isDownSwingBar (i)) DownArrowBufferi Highi (20 points) UpArrowBufferi EMPTYVALUE i continue UpArrowBufferi EMPTYVALUE DownArrowBufferi EMPTYVALUE i bool isUpSwingBar (int i) if (Openi gt Openi20 PriceMove Point)) return (true) return (false)


No comments:

Post a Comment