Angle of T3 – Convertir mq4 a Prorealtime

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #53461 quote
    Fr7Fr7
    Participant
    Master

    Hola Nicolás, a ver si puede pasar este indicador a Prorealtime. Gracias

    //+——————————————————————+//| Angle of average.mq4 |//| mladen |//+——————————————————————+ #property indicator_separate_window#property indicator_buffers 6#property indicator_color1 Green#property indicator_color2 Red#property indicator_color3 DimGray#property indicator_color4 Green#property indicator_color5 Red#property indicator_color6 Red#property indicator_width1 2#property indicator_width2 2#property indicator_width4 2#property indicator_width5 2#property indicator_width6 2 ////////// extern int T3_Period = 34;extern double T3_Hot = 0.7; extern int T3_Price = PRICE_CLOSE;extern bool T3_Original = false;extern double AngleLevel = 5;extern int AngleBars = 6; ////////// double Buffer1[];double Buffer2[];double Buffer3[];double Buffer4[];double Buffer4da[];double Buffer4db[];double t3[];double slope[]; //+——————————————————————+//| |//+——————————————————————+////////// int init(){ IndicatorBuffers(8); SetIndexBuffer(0,Buffer1); SetIndexStyle(0,DRAW_HISTOGRAM); SetIndexBuffer(1,Buffer2); SetIndexStyle(1,DRAW_HISTOGRAM); SetIndexBuffer(2,Buffer3); SetIndexStyle(2,DRAW_HISTOGRAM); SetIndexBuffer(3,Buffer4); SetIndexBuffer(4,Buffer4da); SetIndexBuffer(5,Buffer4db); SetIndexBuffer(6,t3); SetIndexBuffer(7,slope); IndicatorShortName(“Angle of T3 (“+T3_Period+”,”+DoubleToStr(AngleLevel,2)+”,”+AngleBars+”)”); IndicatorDigits(2); return(0);} //+——————————————————————+//| |//+——————————————————————+////////// #define Pi 3.141592653589793238462643 ////////// int start(){ int countedBars = IndicatorCounted(); int limit, i; if(countedBars<0) return(-1); if(countedBars>0) countedBars–; limit = Bars-countedBars; // // // // // if (slope[limit]==-1) CleanPoint(limit,Buffer4da,Buffer4db); for(i=limit; i>=0; i–) { t3[i] = iT3(iMA(NULL,0,1,0,MODE_SMA,T3_Price,i),T3_Period,T3_Hot,T3_Original,i); double range = iATR(NULL,0,AngleBars*20,i); double angle = 0.00; double change=t3[i]-t3[i+AngleBars]; if (range != 0) angle = MathArctan(change/(range*AngleBars))*180.0/Pi; // // // // // Buffer1[i] = EMPTY_VALUE; Buffer2[i] = EMPTY_VALUE; Buffer3[i] = angle; Buffer4[i] = angle; slope[i] = slope[i+1]; if (angle > AngleLevel) { Buffer1[i] = angle; Buffer3[i] = EMPTY_VALUE;} if (angle < -AngleLevel) { Buffer2[i] = angle; Buffer3[i] = EMPTY_VALUE;} if (Buffer4[i]>Buffer4[i+1]) slope[i] = 1; if (Buffer4[i]<Buffer4[i+1]) slope[i] = -1; if (slope[i] == -1) PlotPoint(i,Buffer4da,Buffer4db,Buffer4); } return(0);} //——————————————————————////——————————————————————////////// double workT3[][6];double workT3Coeffs[][6];#define _period 0#define _c1 1#define _c2 2#define _c3 3#define _c4 4#define _alpha 5 ////////// double iT3(double price, double period, double hot, bool original, int i, int instanceNo=0){ if (ArrayRange(workT3,0) != Bars) ArrayResize(workT3,Bars); if (ArrayRange(workT3Coeffs,0) < (instanceNo+1)) ArrayResize(workT3Coeffs,instanceNo+1); if (workT3Coeffs[instanceNo][_period] != period) { workT3Coeffs[instanceNo][_period] = period; double a = hot; workT3Coeffs[instanceNo][_c1] = -a*a*a; workT3Coeffs[instanceNo][_c2] = 3*a*a+3*a*a*a; workT3Coeffs[instanceNo][_c3] = -6*a*a-3*a-3*a*a*a; workT3Coeffs[instanceNo][_c4] = 1+3*a+a*a*a+3*a*a; if (original) workT3Coeffs[instanceNo][_alpha] = 2.0/(1.0 + period); else workT3Coeffs[instanceNo][_alpha] = 2.0/(2.0 + (period-1.0)/2.0); } // // // // // int buffer = instanceNo*6; int r = Bars-i-1; if (r == 0) { workT3[r][0+buffer] = price; workT3[r][1+buffer] = price; workT3[r][2+buffer] = price; workT3[r][3+buffer] = price; workT3[r][4+buffer] = price; workT3[r][5+buffer] = price; } else { workT3[r][0+buffer] = workT3[r-1][0+buffer]+workT3Coeffs[instanceNo][_alpha]*(price -workT3[r-1][0+buffer]); workT3[r][1+buffer] = workT3[r-1][1+buffer]+workT3Coeffs[instanceNo][_alpha]*(workT3[r][0+buffer]-workT3[r-1][1+buffer]); workT3[r][2+buffer] = workT3[r-1][2+buffer]+workT3Coeffs[instanceNo][_alpha]*(workT3[r][1+buffer]-workT3[r-1][2+buffer]); workT3[r][3+buffer] = workT3[r-1][3+buffer]+workT3Coeffs[instanceNo][_alpha]*(workT3[r][2+buffer]-workT3[r-1][3+buffer]); workT3[r][4+buffer] = workT3[r-1][4+buffer]+workT3Coeffs[instanceNo][_alpha]*(workT3[r][3+buffer]-workT3[r-1][4+buffer]); workT3[r][5+buffer] = workT3[r-1][5+buffer]+workT3Coeffs[instanceNo][_alpha]*(workT3[r][4+buffer]-workT3[r-1][5+buffer]); } // // // // // return(workT3Coeffs[instanceNo][_c1]*workT3[r][5+buffer] + workT3Coeffs[instanceNo][_c2]*workT3[r][4+buffer] + workT3Coeffs[instanceNo][_c3]*workT3[r][3+buffer] + workT3Coeffs[instanceNo][_c4]*workT3[r][2+buffer]);} //——————————————————————-////——————————————————————-////////// void CleanPoint(int i,double& first[],double& second[]){ if ((second[i] != EMPTY_VALUE) && (second[i+1] != EMPTY_VALUE)) second[i+1] = EMPTY_VALUE; else if ((first[i] != EMPTY_VALUE) && (first[i+1] != EMPTY_VALUE) && (first[i+2] == EMPTY_VALUE)) first[i+1] = EMPTY_VALUE;} ////////// void PlotPoint(int i,double& first[],double& second[],double& from[]){ if (first[i+1] == EMPTY_VALUE) { if (first[i+2] == EMPTY_VALUE) { first[i] = from[i]; first[i+1] = from[i+1]; second[i] = EMPTY_VALUE; } else { second[i] = from[i]; second[i+1] = from[i+1]; first[i] = EMPTY_VALUE; } } else { first[i] = from[i]; second[i] = EMPTY_VALUE; }}

    AngleofT3png.png AngleofT3png.png Angle-of-T3-2.mq4
    #53679 quote
    NicolasNicolas
    Keymaster
    Legend

    Agregue el nombre del indicador en el título del tema la próxima vez. Este indicador parece el mismo que este ya convertido:

    https://www.prorealcode.com/prorealtime-indicators/tma-slope/

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

Angle of T3 – Convertir mq4 a Prorealtime


ProBuilder: Indicadores y Herramientas

New Reply
Author
author-avatar
Fr7 @fr7 Participant
Summary

This topic contains 1 reply,
has 2 voices, and was last updated by NicolasNicolas
8 years, 11 months ago.

Topic Details
Forum: ProBuilder: Indicadores y Herramientas
Language: Spanish
Started: 11/21/2017
Status: Active
Attachments: 2 files
ProRealCode ProRealCode
Loading...