← К каталогу
Исходный код · ID 4453

XMA

!!!-mt4 xma.mq4

Похожие материалы по тегам

range breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих теговsmcj, fix.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор XMA для MetaTrader 4 — комплексный аналитический инструмент, отображающий на графике несколько скользящих средних, информационные панели и светофор торговых сигналов. Он рассчитывает линии ценовой динамики, зоны поддержки и сопротивления, а также интегрирует стохастик для формирования визуальных сигналов о возможных точках входа.

Индикатор отображает три основных типа линий (ценовую, циклическую и трендовую) и дополнительные буферы, которые можно включать или отключать через настройки. Визуальная информация включает текстовые метки с текущими данными по цене, спреду, дневным максимумам и минимумам.

Система уведомлений поддерживает всплывающие окна, звуковые и push-уведомления при смене сигнала. Светофор сигналов (BUY/SELL/WAIT) позволяет быстро оценить текущую рыночную ситуацию без глубокого анализа графика.

Настройки программы

НастройкаОписание
KPeriod Период быстрой линии стохастика, используемый для определения торговых сигналов индикатора.
showInfoText Включает или отключает отображение текстовой информации о текущем сигнале на графике.
placeInfoTextInWindow Номер окна, в котором размещается информационный текстовый блок индикатора.
moveInfoBoxUpDown Вертикальное смещение информационного блока на графике в пикселях.
showTRAFFICLIGHT Включает или отключает отображение светофора торговых сигналов на графике.
alertsOn Включает или отключает отправку уведомлений при смене торгового сигнала.
Получить полный код

Поиск по коду файла

#property  indicator_chart_window
#property  indicator_buffers 19

        extern int KPeriod=34,DPeriod=13,Slowing=2;

   extern bool showBands=TRUE; int BarsCount=1700,maPeriod=180;
        double maxCH=0.,minCH=0.,Inc1=0.,Inc2=0.,Inc3=0.; double Res1[],Sup1[],Res2[],Sup2[];

   extern bool showInfoText=true,showLargeText=true,showInfoBox=true;
    extern int placeInfoTextInWindow=0;
    extern int moveInfoBoxUpDown=30,moveInfoBoxLeftRight=0,movePriceSideways=0,movePriceUpDown=0; 

   extern bool showTRAFFICLIGHT=TRUE,showTimer=TRUE,DrawYdayHighLow=false;

   extern bool alertsOn=false,alertsOnCurrent=true,alertsmsg=false,alertsSound=false,alertsNotify=false;

        double Priceline[],Pricelineb[],Breakline[],Breaklineb[],Cycleline[],Cyclelineb[],StocBuffer[];
        double Trendline[],Trendlineb[],MiddleI[],MiddleII[],Slope[],MiddleX[],MiddleXX[],SlopeX[],trend[];

        string TimeFrame="Current time frame",SymbolPair="",ID="XMA",indicatorFileName; 
         color PanelBgd=clrBlack,PriceCol,txt1col,txt2col,txt3col,Boxbgd=C'10,20,30',Panelcol=C'40,50,60'; 
        string FontType="Arial Black",txt1,txt2,txt3,txtX,strMAType;
        double DecNos,myPoint,mPoint,data1;
        double SetPoint() {if(Digits< 4) mPoint= 0.01; else mPoint= 0.0001; return(mPoint);} 
           int tmp,sec,min,hor,barTime,curTime,per,TimeStart,TimeFinish,slopebars=1;
        string cTime, sHor, sMin, sSec, sper;
           int window,FontSize=11,FontSize2=12,timeFrame,previous,pipsize;    
           int pos_sideways=0,pos_updown=-20,text_size=19;
         color textcolUP=C'40,50,60',textcolDN=C'40,50,60',textcolWT=C'40,50,60',Panetpgd2=C'40,50,60';   

#define RedLight -1
#define OverBoughtLight 0
#define OverSoldLight 1
#define GreenLight 2
#define OrangeLight 3
#define PowerFailure -999
         color PanelBgd1=C'10,20,30',PanelBgd2=C'20,30,40',PanelBgd3=C'40,50,60';
           int Corner=1,Window=0; bool showSignalLight=true;

   extern bool Indicator_On=true; bool Deinitialized; int ChartScale,Width1,Width2,Width3,Width4,Width5;          

   int init() {
      // код доступен только после оплаты
   } 

   int deinit() {maxCH=0; minCH=0; return(0);}

   int  start() {
      // код доступен только после оплаты
   }if(!Indicator_On){if(!Deinitialized) {deinit(); Deinitialized=true;} return(0);}

   int i,limit,counted_bars=IndicatorCounted(); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars;
   for(i=limit; i>=0; i--)  Priceline[i]=iMA(NULL,0,2,0,MODE_LWMA,PRICE_CLOSE,i); 
   for(i=limit; i>=0; i--) Pricelineb[i]=Priceline[i];
   for(i=limit; i>=0; i--)  Breakline[i]=iMAOnArray(Priceline,Bars,18,0,MODE_LWMA,i);
   for(i=limit; i>=0; i--) Breaklineb[i]=Breakline[i];
   for(i=limit; i>=0; i--)  Cycleline[i]=iMAOnArray(Breakline,Bars,34,0,MODE_LWMA,i);
   for(i=limit; i>=0; i--) Cyclelineb[i]=Cycleline[i];
   for(i=limit; i>=0; i--)  Trendline[i]=iMAOnArray(Cycleline,Bars,maPeriod,0,MODE_EMA,i);
   for(i=limit; i>=0; i--) Trendlineb[i]=Trendline[i];

   if(iBars(NULL,0)<BarsCount) BarsCount=iBars(NULL,0)-maPeriod-1; for(i=BarsCount; i>=0; i--) {
   double m=Trendline[i];
   double top=High[i]-m; if(top>maxCH) maxCH=top;   
   double bot= Low[i]-m; if(bot<minCH) minCH=bot;
   if(MathAbs(maxCH)> MathAbs(minCH)) Inc3=maxCH; else Inc3=minCH;
   Inc1=Inc3*0.382; Inc2=Inc3*0.854;
   Res1[i]=m+Inc1; Sup1[i]=m-Inc1;
   Res2[i]=m+Inc2; Sup2[i]=m-Inc2;}

   datetime TimeArray[]; counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); 
   if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; for(i=limit; i>=0; i--) { 
   string MarketPrice=DoubleToStr(Bid,Digits-1);
   StocBuffer[i]=iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_EMA,1,MODE_MAIN,i); 

   if(Slope[limit]==-1) CleanPoint(limit,MiddleI,MiddleII);
   Slope[i]=Slope[i]; MiddleI[i]=EMPTY_VALUE; MiddleII[i]=EMPTY_VALUE;
	if(Priceline[i]>Trendline[i]) {Slope[i]= 1;} 
	if(Priceline[i]<Trendline[i]) {Slope[i]=-1;} 
	if(Slope[i]==-1) PlotPoint(i,MiddleI,MiddleII,Trendline); 

   if(SlopeX[limit]==-1) CleanPoint(limit,MiddleX,MiddleXX);
   SlopeX[i]=SlopeX[i]; MiddleX[i]=EMPTY_VALUE; MiddleXX[i]=EMPTY_VALUE;
	if(Priceline[i]>Cycleline[i]) {SlopeX[i]= 1;} 
	if(Priceline[i]<Cycleline[i]) {SlopeX[i]=-1;} 
	if(SlopeX[i]==-1) PlotPoint(i,MiddleX,MiddleXX,Cycleline); 

    txt1="  *** DO NOT TRADE ***";  txt1col=clrDarkGray;    PriceCol=clrSilver;      trend[i]= 0;
   if(Priceline[i]>Cycleline[i] && Priceline[i]>Breakline[i] && StocBuffer[i]>50.) 
   {txt1="  *** POSSIBLE BUY ***";  txt1col=clrDeepSkyBlue; PriceCol=clrDeepSkyBlue; trend[i]= 1;}            
   if(Priceline[i]<Cycleline[i] && Priceline[i]<Breakline[i] && StocBuffer[i]<50.)
   {txt1="  *** POSSIBLE SELL ***"; txt1col=clrViolet;      PriceCol=clrRed;         trend[i]=-1;} 
   if(showInfoText) {txtPanels(ID+"Brax1",8,-1,"ggggggggggg",FontSize2+5,"Webdings",Panelcol);         
   txtLabels(ID+"Brax2",17,1); ObjectSetText(ID+"Brax2",timeFrameToString(timeFrame)+" "+txt1,FontSize2-1,FontType,txt1col);} 

	          int LightButp=Determine_StopLight(); Show_TrafficLights(LightButp);   

   if(showInfoBox) {makePanel2(ID+"Xard1",4,129,"g",70,"Webdings",Panelcol);
                    makePanel2(ID+"Xard2",4,212,"g",70,"Webdings",Panelcol);
                    makePanel2(ID+"Xard3",9,134,"g",62,"Webdings",Boxbgd); 
                    makePanel2(ID+"Xard4",9,216,"g",62,"Webdings",Boxbgd);                

   string OPEN=""; double OpenToday= iOpen(NULL,1440,0); OPEN=(DoubleToStr(OpenToday,DecNos));                   
   double ydayhigh=iHigh(Symbol(),PERIOD_D1,1), ydaylow=iLow(Symbol(),PERIOD_D1,1); 
   double spreadx=(MarketInfo(SymbolPair,MODE_BID));
   if(spreadx>=1 && spreadx<=9.99)         int shiftspreadx=+13;
   else if(spreadx>=0 && spreadx<=0.9999)      shiftspreadx=+12;
   else if(spreadx>=10 && spreadx<=99.99)      shiftspreadx=+13;
   else if(spreadx>=100 && spreadx<=999.99)    shiftspreadx=+12;
   else if(spreadx>=1000 && spreadx<=9999.99)  shiftspreadx=+12;
   else if(spreadx>=10000 && spreadx<=99999.99)shiftspreadx=+14;
   makePanel2(ID+"Xard5",shiftspreadx,155,DoubleToStr(MarketInfo(SymbolPair,MODE_BID),DecNos),16,"Arial Black",PriceCol);

   double spread=(Ask-Bid)/myPoint;
   if(spread>=1 && spread<=9.99)int shiftspread=-1;
   else if(spread>=10 && spread<=99.99)shiftspread=-3;
   else if(spread>=100 && spread<=999.99)shiftspread=-6;
   makePanel2(ID+"Xard6",18+shiftspread,179,"SPRD: "+DoubleToStr((Ask-Bid)*MathPow(10,Digits)/pipsize,1),
   FontSize-1,FontType,Snow); Show_Timer(); RefreshRates();

   string PIPS=""; double CLOSE=iClose(NULL,1440,0); PIPS=DoubleToStr((CLOSE-OpenToday)/Point/pipsize,0); color colorPIPS;
   if(CLOSE>=OpenToday) {colorPIPS=clrAqua;} if(CLOSE<OpenToday) {colorPIPS=clrViolet;}
   makePanel2(ID+"Xard8",13,134,StringSubstr(SymbolPair,0,7),18,"Impact",clrWhite);
   makePanel2(ID+"Xard9",12,211,"Daily Open",10,"Arial Black",colorPIPS);
   makePanel2(ID+"Xard10",21,224,OPEN,13,FontType,colorPIPS);
   makePanel2(ID+"Xard11",54,246,"P2Op",10,"Arial Bold",clrSnow);
   makePanel2(ID+"Xard12",14,246,PIPS,11,"Arial Bo

Показано первые 50% кода (символов: 20242)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
2 024,20₽ ≈ $24.74