TREND_alexcud[1]--2

Download script
Author: Copyright � 2007, Aleksander Kudimov
TREND_alexcud[1]--2

This script is designed as a comprehensive trend analysis tool for MetaTrader 4. It functions by aggregating multiple market data points across different timeframes and currency pairs to provide a "consensus" view on whether the current market momentum is bullish (upward) or bearish (downward).

Core Logic and Data Processing

The indicator operates by analyzing Moving Averages (MA) across three distinct timeframes: H1 (Hourly), H4 (4-Hour), and D1 (Daily). For each of these timeframes, it monitors five different moving average periods (ranging from 5 to 34).

Instead of just looking at a single line, the logic follows these steps:

  1. Multi-Timeframe Comparison: It calculates the direction of the moving averages for every timeframe simultaneously. If an average is rising, it marks a bullish signal; if falling, it marks a bearish signal.
  2. Signal Aggregation: The script compiles these individual data points into three primary "Total" scores (labeled as 1, 2, and 3). Each score represents a summary of the trend across all monitored periods for that specific timeframe.
  3. Dynamic Visual Feedback: On the chart interface, the script translates this complex math into simple visual cues:
    • Arrows/Symbols: It uses symbols like /\\ (Blue) to indicate an upward trend and V (Red) to indicate a downward trend.
    • Percentages: It calculates a percentage score for both "Up" and "Down" trends based on the number of active signals, showing you how dominant one direction is over the other.

Advanced Features

  • AC (Accelerator Curve) Integration: Beyond standard moving averages, the script incorporates the Accelerator Curve across different periods. It evaluates the curvature of this indicator to detect changes in momentum acceleration, adding another layer of validation to the trend analysis.
  • Smart Alerts and Notifications: The logic includes a specialized notification system for several major currency pairs (such as EURUSD, USDJPY, GBPUSD, etc.).
    • If the combined signals reach a high threshold (over 75%) in one direction across all timeframes, the script triggers a "Strong BUY" or "Strong SELL" alert.
    • When these major conditions are met, it can play specific sound files and update a global signal variable to notify the user of the high-probability trend.
  • Multi-Pair Monitoring: The tool is unique because it maintains "Global Variables." This means it can track the status of multiple currency pairs simultaneously in a single window, displaying their respective trends (Up/Down) side-by-side for a broader market overview.

Summary for the User

Essentially, this script acts as a Trend Radar. It looks at dozens of different moving averages across three timeframes and several currency pairs, then boils all that information down into a simplified dashboard. It tells you: "Based on the vast majority of data points currently available, the market is strongly moving in [Direction]."

Indicators Used
Moving average indicatorBill Williams Accelerator/Decelerator oscillator
Miscellaneous
It plays sound alerts
13 Views
0 Downloads
0 Favorites
TREND_alexcud[1]--2
//+------------------------------------------------------------------+
//|                                                TREND_alexcud.mq4 |
//|                             Copyright © 2007, Aleksander Kudimov |
//|                                               alexcud@rambler.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, Aleksander Kudimov"
#property link      "alexcud@rambler.ru"

#property indicator_separate_window

#property indicator_minimum 0
#property indicator_maximum 1

#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red

//---- buffers
double UPBuffer[];
double DOWNBuffer[];

extern int MANUAL_Tick=0;  //Ïåðåìåííàÿ äëÿ èíèöèàöèè ïåðåñ÷åòà !!!!! âìåñòî öåíîâãî òèêà è òîëüêî
extern int maTrendPeriod_1 = 5;
extern int maTrendPeriod_2 = 8;
extern int maTrendPeriod_3 = 13;
extern int maTrendPeriod_4 = 21;
extern int maTrendPeriod_5 = 34;

int m,m1,m2,m3,m4,m5,m6;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
double MaH11,  MaH41, MaD11, MaH1pr1, MaH4pr1, MaD1pr1;
double MaH12,  MaH42, MaD12, MaH1pr2, MaH4pr2, MaD1pr2;
double MaH13,  MaH43, MaD13, MaH1pr3, MaH4pr3, MaD1pr3;
double MaH14,  MaH44, MaD14, MaH1pr4, MaH4pr4, MaD1pr4;
double MaH15,  MaH45, MaD15, MaH1pr5, MaH4pr5, MaD1pr5;
 string H11, H41, D11;
 string H12, H42, D12;
 string H13, H43, D13;
 string H14, H44, D14;
 string H15, H45, D15;
 color co11 , co41 , co61;
 color co12 , co42 , co62;
 color co13 , co43 , co63;
 color co14 , co44 , co64;
 color co15 , co45 , co65;
 
double u1x5, u1x8, u1x13, u1x21, u1x34;
double u2x5, u2x8, u2x13, u2x21, u2x34;
double u3x5, u3x8, u3x13, u3x21, u3x34;
double u1ac, u2ac, u3ac;

double d1x5, d1x8, d1x13, d1x21, d1x34;
double d2x5, d2x8, d2x13, d2x21, d2x34;
double d3x5, d3x8, d3x13, d3x21, d3x34;
double d1ac, d2ac, d3ac;

 string short_name="TREND_alexcud";   
int init()
  {

//---- name for indicator window

   string short_name="TREND_alexcud";
   IndicatorShortName(short_name);

   SetIndexBuffer(0,UPBuffer);
   SetIndexBuffer(1,DOWNBuffer);

  if(!GlobalVariableCheck("Signal_EURUSD")) {GlobalVariableSet("Signal_EURUSD",0);}
  if(!GlobalVariableCheck("Signal_USDCHF")) {GlobalVariableSet("Signal_USDCHF",0);}
  if(!GlobalVariableCheck("Signal_USDJPY")) {GlobalVariableSet("Signal_USDJPY",0);}
  if(!GlobalVariableCheck("Signal_GBPUSD")) {GlobalVariableSet("Signal_GBPUSD",0);}
  if(!GlobalVariableCheck("Signal_EURJPY")) {GlobalVariableSet("Signal_EURJPY",0);}
  if(!GlobalVariableCheck("Signal_GBPJPY")) {GlobalVariableSet("Signal_GBPJPY",0);}
  if(!GlobalVariableCheck("Signal_AUDUSD")) {GlobalVariableSet("Signal_AUDUSD",0);}
   

//----
   return(0);
  }
  
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
  m1=GlobalVariableGet("Signal_EURUSD"); if(m1>0){m1--;  GlobalVariableSet("Signal_EURUSD",m1);} if(m1<0){m1++;  GlobalVariableSet("Signal_EURUSD",m1);}
  m2=GlobalVariableGet("Signal_USDCHF"); if(m2>0){m2--;  GlobalVariableSet("Signal_USDCHF",m2);} if(m2<0){m2++;  GlobalVariableSet("Signal_USDCHF",m2);}
  m3=GlobalVariableGet("Signal_USDJPY"); if(m3>0){m3--;  GlobalVariableSet("Signal_USDJPY",m3);} if(m3<0){m3++;  GlobalVariableSet("Signal_USDJPY",m3);}
   m=GlobalVariableGet("Signal_GBPUSD"); if(m>0) {m--;   GlobalVariableSet("Signal_GBPUSD",m );} if(m<0) {m++;   GlobalVariableSet("Signal_GBPUSD",m );}
  m4=GlobalVariableGet("Signal_EURJPY"); if(m4>0){m4--;  GlobalVariableSet("Signal_EURJPY",m4);} if(m4<0){m4++;  GlobalVariableSet("Signal_EURJPY",m4);}
  m5=GlobalVariableGet("Signal_GBPJPY"); if(m5>0){m5--;  GlobalVariableSet("Signal_GBPJPY",m5);} if(m5<0){m5++;  GlobalVariableSet("Signal_GBPJPY",m5);}
  m6=GlobalVariableGet("Signal_AUDUSD"); if(m6>0){m6--;  GlobalVariableSet("Signal_AUDUSD",m6);} if(m6<0){m6++;  GlobalVariableSet("Signal_AUDUSD",m6);}
  
   ObjectCreate("MA", OBJ_LABEL, WindowFind(short_name), 0, 0);
   ObjectSetText("MA", "Moving Average",9, "Verdana", Lime );
   ObjectSet("MA", OBJPROP_XDISTANCE, 75);  
   ObjectSet("MA", OBJPROP_YDISTANCE, 0);
    
   ObjectCreate("label_object1", OBJ_LABEL, WindowFind(short_name), 0, 0);
   ObjectSet("label_object1", OBJPROP_XDISTANCE, 11);  
   ObjectSet("label_object1", OBJPROP_YDISTANCE, 15);
   
   ObjectCreate("label_object2", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("label_object2", OBJPROP_XDISTANCE, 11);  
   ObjectSet("label_object2", OBJPROP_YDISTANCE, 35);
   
   ObjectCreate("label_object3", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("label_object3", OBJPROP_XDISTANCE, 11);  
   ObjectSet("label_object3", OBJPROP_YDISTANCE, 55);
 // ----------------------------------------------------------------------------
   ObjectCreate("H11", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H11", OBJPROP_XDISTANCE, 40);  
   ObjectSet("H11", OBJPROP_YDISTANCE, 15);
   
   ObjectCreate("H12", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H12", OBJPROP_XDISTANCE, 70);  
   ObjectSet("H12", OBJPROP_YDISTANCE, 15);
   
   ObjectCreate("H13", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H13", OBJPROP_XDISTANCE, 100);  
   ObjectSet("H13", OBJPROP_YDISTANCE, 15); 
   
   ObjectCreate("H14", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H14", OBJPROP_XDISTANCE, 130);  
   ObjectSet("H14", OBJPROP_YDISTANCE, 15); 
   
   ObjectCreate("H15", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H15", OBJPROP_XDISTANCE, 160);  
   ObjectSet("H15", OBJPROP_YDISTANCE, 15);    
  //--------------------------------------------------------------------------- 
   ObjectCreate("H41", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H41", OBJPROP_XDISTANCE, 40);  
   ObjectSet("H41", OBJPROP_YDISTANCE, 35);
   
   ObjectCreate("H42", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H42", OBJPROP_XDISTANCE, 70);  
   ObjectSet("H42", OBJPROP_YDISTANCE, 35);
   
   ObjectCreate("H43", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H43", OBJPROP_XDISTANCE, 100);  
   ObjectSet("H43", OBJPROP_YDISTANCE, 35); 
  
   ObjectCreate("H44", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H44", OBJPROP_XDISTANCE, 130);  
   ObjectSet("H44", OBJPROP_YDISTANCE, 35);
   
   ObjectCreate("H45", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("H45", OBJPROP_XDISTANCE, 160);  
   ObjectSet("H45", OBJPROP_YDISTANCE, 35);
  //--------------------------------------------------------------------------- 
   ObjectCreate("D11", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("D11", OBJPROP_XDISTANCE, 40);  
   ObjectSet("D11", OBJPROP_YDISTANCE, 55);
   
   ObjectCreate("D12", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("D12", OBJPROP_XDISTANCE, 70);  
   ObjectSet("D12", OBJPROP_YDISTANCE, 55);
   
   ObjectCreate("D13", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("D13", OBJPROP_XDISTANCE, 100);  
   ObjectSet("D13", OBJPROP_YDISTANCE, 55);  
   
   ObjectCreate("D14", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("D14", OBJPROP_XDISTANCE, 130);  
   ObjectSet("D14", OBJPROP_YDISTANCE, 55);
   
   ObjectCreate("D15", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("D15", OBJPROP_XDISTANCE, 160);  
   ObjectSet("D15", OBJPROP_YDISTANCE, 55); 
     
     int start,j;
      j=ObjectGet("start",OBJPROP_TIME1);     
   if(GetLastError()==0) start=iBarShift(NULL,0,j,False); else start=0;
 
 Print ("   START   ", start);
    
   
    ObjectCreate("Start-t", OBJ_LABEL, WindowFind(short_name), 0, 0); 
   ObjectSet("Start-t", OBJPROP_XDISTANCE, 260);  
   ObjectSet("Start-t", OBJPROP_YDISTANCE, 55); 
   ObjectSetText("Start-t", DoubleToStr(start,0));
     
     
     
     MaH11=iMA(NULL,PERIOD_H1,maTrendPeriod_1,0,MODE_SMA,PRICE_CLOSE,start);    MaH1pr1=iMA(NULL,PERIOD_H1,maTrendPeriod_1,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaH12=iMA(NULL,PERIOD_H1,maTrendPeriod_2,0,MODE_SMA,PRICE_CLOSE,start);    MaH1pr2=iMA(NULL,PERIOD_H1,maTrendPeriod_2,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaH13=iMA(NULL,PERIOD_H1,maTrendPeriod_3,0,MODE_SMA,PRICE_CLOSE,start);   MaH1pr3=iMA(NULL,PERIOD_H1,maTrendPeriod_3,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaH14=iMA(NULL,PERIOD_H1,maTrendPeriod_4,0,MODE_SMA,PRICE_CLOSE,start);   MaH1pr4=iMA(NULL,PERIOD_H1,maTrendPeriod_4,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaH15=iMA(NULL,PERIOD_H1,maTrendPeriod_5,0,MODE_SMA,PRICE_CLOSE,start);   MaH1pr5=iMA(NULL,PERIOD_H1,maTrendPeriod_5,0,MODE_SMA,PRICE_CLOSE,start+1);
    
     MaH41=iMA(NULL,PERIOD_H4,maTrendPeriod_1 ,0,MODE_SMA,PRICE_CLOSE,start);   MaH4pr1=iMA(NULL,PERIOD_H4,maTrendPeriod_1,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaH42=iMA(NULL,PERIOD_H4,maTrendPeriod_2,0,MODE_SMA,PRICE_CLOSE,start);    MaH4pr2=iMA(NULL,PERIOD_H4,maTrendPeriod_2,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaH43=iMA(NULL,PERIOD_H4,maTrendPeriod_3,0,MODE_SMA,PRICE_CLOSE,start);   MaH4pr3=iMA(NULL,PERIOD_H4,maTrendPeriod_3,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaH44=iMA(NULL,PERIOD_H4,maTrendPeriod_4,0,MODE_SMA,PRICE_CLOSE,start);   MaH4pr4=iMA(NULL,PERIOD_H4,maTrendPeriod_4,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaH45=iMA(NULL,PERIOD_H4,maTrendPeriod_5,0,MODE_SMA,PRICE_CLOSE,start);   MaH4pr5=iMA(NULL,PERIOD_H4,maTrendPeriod_5,0,MODE_SMA,PRICE_CLOSE,start+1);
     
     MaD11=iMA(NULL,PERIOD_D1,maTrendPeriod_1,0,MODE_SMA,PRICE_CLOSE,start);    MaD1pr1=iMA(NULL,PERIOD_D1,maTrendPeriod_1,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaD12=iMA(NULL,PERIOD_D1,maTrendPeriod_2,0,MODE_SMA,PRICE_CLOSE,start);    MaD1pr2=iMA(NULL,PERIOD_D1,maTrendPeriod_2,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaD13=iMA(NULL,PERIOD_D1,maTrendPeriod_3,0,MODE_SMA,PRICE_CLOSE,start);   MaD1pr3=iMA(NULL,PERIOD_D1,maTrendPeriod_3,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaD14=iMA(NULL,PERIOD_D1,maTrendPeriod_4,0,MODE_SMA,PRICE_CLOSE,start);   MaD1pr4=iMA(NULL,PERIOD_D1,maTrendPeriod_4,0,MODE_SMA,PRICE_CLOSE,start+1);
     MaD15=iMA(NULL,PERIOD_D1,maTrendPeriod_5,0,MODE_SMA,PRICE_CLOSE,start);   MaD1pr5=iMA(NULL,PERIOD_D1,maTrendPeriod_5,0,MODE_SMA,PRICE_CLOSE,start+1);
     
   //  MaH4=iMA(NULL,PERIOD_M30,34,0,MODE_SMA,PRICE_CLOSE,0);
     if (MaH11 < MaH1pr1){H11 = " V ";   co11 = Red;   u1x5 = 0; d1x5 = 1;}
     if (MaH11 > MaH1pr1){H11 = " /\\ "; co11 = Blue;  u1x5 = 1; d1x5 = 0;} 
     if (MaH11 == MaH1pr1){H11 = " 0 "; co11 = Green;  u1x5 = 0; d1x5 = 0;}           
     if (MaH41 < MaH4pr1){H41 = " V "; co41 = Red;     u2x5 = 0; d2x5 = 1;}            
     if (MaH41 > MaH4pr1){H41 = " /\\ "; co41 = Blue;  u2x5 = 1; d2x5 = 0;}
     if (MaH41 == MaH4pr1){H41 = " 0 "; co41 = Green;  u2x5 = 0; d2x5 = 0;}            
     if (MaD11 < MaD1pr1){D11 = " V "; co61 = Red;     u3x5 = 0; d3x5 = 1;}            
     if (MaD11 > MaD1pr1){D11 = " /\\ "; co61 = Blue;  u3x5 = 1; d3x5 = 0;}
     if (MaD11 == MaD1pr1){D11 = " 0 "; co61 = Green;  u3x5 = 0; d3x5 = 0;}  
     
     if (MaH12 < MaH1pr2){H12 = " V "; co12 = Red;     u1x8 = 0; d1x8 = 1;}
     if (MaH12 > MaH1pr2){H12 = " /\\ "; co12 = Blue;  u1x8 = 1; d1x8 = 0;}
     if (MaH12 == MaH1pr2){H12 = " 0 "; co12 = Green;  u1x8 = 0; d1x8 = 0;}            
     if (MaH42 < MaH4pr2){H42 = " V "; co42 = Red;     u2x8 = 0; d2x8 = 1;}            
     if (MaH42 > MaH4pr2){H42 = " /\\ "; co42 = Blue;   u2x8 = 1; d2x8 = 0;} 
     if (MaH42 == MaH4pr2){H42 = " 0 "; co42 = Green;   u2x8 = 0; d2x8 = 0;}           
     if (MaD12 < MaD1pr2){D12 = " V "; co62 = Red;      u3x8 = 0; d3x8 = 1;}             
     if (MaD12 > MaD1pr2){D12 = " /\\ "; co62 = Blue;   u3x8 = 1; d3x8 = 0;}
     if (MaD12 == MaD1pr2){D12 = " 0 "; co62 = Green;   u3x8 = 0; d3x8 = 0;} 
     
     if (MaH13 < MaH1pr3){H13 = " V "; co13 = Red;    u1x13 = 0; d1x13 = 1;}
     if (MaH13 > MaH1pr3){H13 = " /\\ "; co13 = Blue; u1x13 = 1; d1x13 = 0;}
     if (MaH13 ==MaH1pr3){H13 = " 0 "; co13 = Green;  u1x13 = 0; d1x13 = 0;}              
     if (MaH43 < MaH4pr3){H43 = " V "; co43 = Red; u2x13 = 0; d2x13 = 1;}            
     if (MaH43 > MaH4pr3){H43 = " /\\ "; co43 = Blue; u2x13 = 1; d2x13 = 0;}
     if (MaH43 ==MaH4pr3){H43 = " 0 "; co43 = Green;  u2x13 = 0; d2x13 = 0;}            
     if (MaD13 < MaD1pr3){D13 = " V "; co63 = Red; u3x13 = 0; d3x13 = 1;}            
     if (MaD13 > MaD1pr3){D13 = " /\\ "; co63 = Blue; u3x13 = 1; d3x13 = 0;}
     if (MaD13 ==MaD1pr3){D13 = " 0 "; co63 = Green;  u3x13 = 0; d3x13 = 0;}
     
     if (MaH14 < MaH1pr4){H14 = " V "; co14 = Red;    u1x21 = 0; d1x21 = 1;}
     if (MaH14 > MaH1pr4){H14 = " /\\ "; co14 = Blue; u1x21 = 1; d1x21 = 0;}
     if (MaH14 == MaH1pr4){H14 = " 0 "; co14 = Green; u1x21 = 0; d1x21 = 0;}              
     if (MaH44 < MaH4pr4){H44 = " V "; co44 = Red; u2x21 = 0; d2x21 = 1;}            
     if (MaH44 > MaH4pr4){H44 = " /\\ "; co44 = Blue; u2x21 = 1; d2x21 = 0;}
     if (MaH44 == MaH4pr4){H44 = " 0 "; co44 = Green; u2x21 = 0; d2x21 = 0;}            
     if (MaD14 < MaD1pr4){D14 = " V "; co64 = Red; u3x21 = 0; d3x21 = 1;}            
     if (MaD14 > MaD1pr4){D14 = " /\\ "; co64 = Blue; u3x21 = 1; d3x21 = 0;} 
     if (MaD14 == MaD1pr4){D14 = " 0 "; co64 = Green; u3x21 = 0; d3x21 = 0;}  
     
     if (MaH15 < MaH1pr5){H15 = " V "; co15 = Red;    u1x34 = 0; d1x34 = 1;}
     if (MaH15 > MaH1pr5){H15 = " /\\ "; co15 = Blue; u1x34 = 1; d1x34 = 0;} 
     if (MaH15 == MaH1pr5){H15 = " 0 "; co15 = Green; u1x34 = 0; d1x34 = 0;}             
     if (MaH45 < MaH4pr5){H45 = " V "; co45 = Red;    u2x34 = 0; d2x34 = 1;}            
     if (MaH45 > MaH4pr5){H45 = " /\\ "; co45 = Blue; u2x34 = 1; d2x34 = 0;}
     if (MaH45 == MaH4pr5){H45 = " 0 "; co45 = Green; u2x34 = 0; d2x34 = 0;}            
     if (MaD15 < MaD1pr5){D15 = " V "; co65 = Red;    u3x34 = 0; d3x34 = 1;}            
     if (MaD15 > MaD1pr5){D15 = " /\\ "; co65 = Blue; u3x34 = 1; d3x34 = 0;}
     if (MaD15 == MaD1pr5){D15 = " 0 "; co65 = Green; u3x34 = 0; d3x34 = 0;}                      
             
    // Comment(";JGF:");
     //        "\n", "H4 - ", H41 , 
     //        "\n", "D1 - ", D11   );   
            
             ObjectSetText("label_object1", "H1 - ",11, "Verdana", Lime );
             ObjectSetText("label_object2", "H4 - ",11, "Verdana", Lime );
             ObjectSetText("label_object3", "D1 - ",11, "Verdana", Lime );
             
             ObjectSetText("H11", H11 ,11, "Verdana", co11 );
             ObjectSetText("H12", H12 ,11, "Verdana", co12 );
             ObjectSetText("H13", H13 ,11, "Verdana", co13 );
             ObjectSetText("H14", H14 ,11, "Verdana", co14 );
             ObjectSetText("H15", H15 ,11, "Verdana", co15 );
             
             ObjectSetText("H41", H41 ,11, "Verdana", co41 );
             ObjectSetText("H42", H42 ,11, "Verdana", co42 );
             ObjectSetText("H43", H43 ,11, "Verdana", co43 );
             ObjectSetText("H44", H44 ,11, "Verdana", co44 );
             ObjectSetText("H45", H45 ,11, "Verdana", co45 );
             
             ObjectSetText("D11", D11 ,11, "Verdana", co61 );
             ObjectSetText("D12", D12 ,11, "Verdana", co62 );
             ObjectSetText("D13", D13 ,11, "Verdana", co63 );
             ObjectSetText("D14", D14 ,11, "Verdana", co64 );
             ObjectSetText("D15", D15 ,11, "Verdana", co65 ); 
             
//----------------------------------------------------------------------------
// AC Bil Vil
ObjectCreate("AC", OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("AC", "AC",9, "Verdana", Lime );
ObjectSet("AC", OBJPROP_XDISTANCE, 200);  
ObjectSet("AC", OBJPROP_YDISTANCE, 0);

double  ac  = iAC(NULL, 60, 0);
double  ac1 = iAC(NULL, 60, 1);
double  ac2 = iAC(NULL, 60, 2);
double  ac3 = iAC(NULL, 60, 3);
//double  ac4 = iAO(NULL, 0, 4);             
string ach11;
color acco11;

if ((ac1>ac2 && ac2>ac3 && ac<0 && ac>ac1) || (ac>ac1 && ac1>ac2 && ac>0)) 
{ach11 = "/\\ " ; acco11 = Blue; u1ac = 3; d1ac = 0;} 
if ((ac1<ac2 && ac2<ac3 && ac>0 && ac<ac1) || (ac<ac1 && ac1<ac2 && ac<0)) 
{ach11 = "V " ; acco11 = Red; u1ac = 0; d1ac = 3;}
if ((((ac1<ac2 || ac2<ac3) && ac<0 && ac>ac1) || (ac>ac1 && ac1<ac2 && ac>0))||
(((ac1>ac2 || ac2>ac3) && ac>0 && ac<ac1) || (ac<ac1 && ac1>ac2 && ac<0)))
{ach11 = "0 " ; acco11 = Green; u1ac = 0; d1ac = 0;}    

ObjectCreate("AC11", OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("AC11", ach11,11, "Verdana", acco11 );
ObjectSet("AC11", OBJPROP_XDISTANCE, 200);  
ObjectSet("AC11", OBJPROP_YDISTANCE, 15);  
  
double  ac03  = iAC(NULL, 1440, 0);
double  ac13 = iAC(NULL, 1440, 1);
double  ac23 = iAC(NULL, 1440, 2);
double  ac33 = iAC(NULL, 1440, 3);
//double  ac4 = iAO(NULL, 0, 4);             
string ach13;
color acco13;

if ((ac13>ac23 && ac23>ac33 && ac03<0 && ac03>ac13) || (ac03>ac13 && ac13>ac23 && ac03>0)) 
{ach13 = "/\\ " ; acco13 = Blue; u3ac = 3; d3ac = 0;}     
if ((ac13<ac23 && ac23<ac33 && ac03>0 && ac03<ac13) || (ac03<ac13 && ac13<ac23 && ac03<0)) 
{ach13 = "V " ; acco13 = Red; u3ac = 0; d3ac = 3;}     
if ((((ac13<ac23 || ac23<ac33) && ac03<0 && ac03>ac13) || (ac03>ac13 && ac13<ac23 && ac03>0))||
(((ac13>ac23 || ac23>ac33) && ac03>0 && ac03<ac13) || (ac03<ac13 && ac13>ac23 && ac03<0)))
{ach13 = "0 " ; acco13 = Green; u3ac = 0; d3ac = 0;}
ObjectCreate("AC13", OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("AC13", ach13,11, "Verdana", acco13 );
ObjectSet("AC13", OBJPROP_XDISTANCE, 200);  
ObjectSet("AC13", OBJPROP_YDISTANCE, 55);  

double  ac02  = iAC(NULL, 240, 0);
double  ac12 = iAC(NULL, 240, 1);
double  ac22 = iAC(NULL, 240, 2);
double  ac32 = iAC(NULL, 240, 3);
//double  ac4 = iAO(NULL, 0, 4);             
string ach12;
color acco12;

if ((ac12>ac22 && ac22>ac32 && ac02<0 && ac02>ac12) || (ac02>ac12 && ac12>ac22 && ac02>0)) 
{ach12 = "/\\ " ; acco12 = Blue; u2ac = 3; d2ac = 0;}     
if ((ac12<ac22 && ac22<ac32 && ac02>0 && ac02<ac12) || (ac02<ac12 && ac12<ac22 && ac02<0)) 
{ach12 = "V " ; acco12 = Red; u2ac = 0; d2ac = 3;}     
if ((((ac12<ac22 || ac22<ac32) && ac02<0 && ac02>ac12) || (ac02>ac12 && ac12<ac22 && ac02>0))||
(((ac12>ac22 || ac22>ac32) && ac02>0 && ac02<ac12) || (ac02<ac12 && ac12>ac22 && ac02<0)))
{ach12 = "0 " ; acco12 = Green; u2ac = 0; d2ac = 0;}
ObjectCreate("AC12", OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("AC12", ach12,11, "Verdana", acco12 );
ObjectSet("AC12", OBJPROP_XDISTANCE, 200);  
ObjectSet("AC12", OBJPROP_YDISTANCE, 35);     
  
 
 
ObjectCreate("rez", OBJ_LABEL, WindowFind(short_name), 0, 0);
ObjectSetText("rez", "ÐÅÇÓËÜÒÀÒÛ",9, "Verdana", Lime );
ObjectSet("rez", OBJPROP_XDISTANCE, 240);  
ObjectSet("rez", OBJPROP_YDISTANCE, 0);
 
  
  double uitog1 = (u1x5 + u1x8 + u1x13 + u1x21 + u1x34 + u1ac) * 12.5;
  double uitog2 = (u2x5 + u2x8 + u2x13 + u2x21 + u2x34 + u2ac) * 12.5;
  double uitog3 = (u3x5 + u3x8 + u3x13 + u3x21 + u3x34 + u3ac) * 12.5;
  
  double ditog1 = (d1x5 + d1x8 + d1x13 + d1x21 + d1x34 + d1ac) * 12.5;
  double ditog2 = (d2x5 + d2x8 + d2x13 + d2x21 + d2x34 + d2ac) * 12.5;
  double ditog3 = (d3x5 + d3x8 + d3x13 + d3x21 + d3x34 + d3ac) * 12.5;
  
  string hr1, hr2, hr3, hr4, hr5,hr6;
  string dhr1, dhr2, dhr3, dhr4, dhr5, dhr6;
  if (uitog1> ditog1) {hr1 = "Arial Black"; dhr1 = "Arial";}
  if (uitog1< ditog1) {hr1 = "Arial"; dhr1 = "Arial Black";}
  if (uitog1 == ditog1) {hr1 = "Arial"; dhr1 = "Arial";}
  
  if (uitog2> ditog2) {hr2 = "Arial Black"; dhr2 = "Arial";}
  if (uitog2< ditog2) {hr2 = "Arial"; dhr2 = "Arial Black";}
  if (uitog2 == ditog2) {hr2 = "Arial"; dhr2 = "Arial";}
  
  if (uitog3> ditog3) {hr3 = "Arial Black"; dhr3 = "Arial";}
  if (uitog3< ditog3) {hr3 = "Arial"; dhr3 = "Arial Black";}
  if (uitog3 == ditog3) {hr3 = "Arial"; dhr3 = "Arial";}
  
  ObjectCreate("uitog1", OBJ_LABEL, WindowFind(short_name), 0, 0);
  ObjectSetText("uitog1", StringConcatenate("/\\ ", uitog1, "%"),12, hr1, DodgerBlue );
  ObjectSet("uitog1", OBJPROP_XDISTANCE, 235);  
  ObjectSet("uitog1", OBJPROP_YDISTANCE, 15);
  
  ObjectCreate("uitog2", OBJ_LABEL, WindowFind(short_name), 0, 0);
  ObjectSetText("uitog2", StringConcatenate("/\\ ",uitog2, "%"),12, hr2, DodgerBlue );
  ObjectSet("uitog2", OBJPROP_XDISTANCE, 235);  
  ObjectSet("uitog2", OBJPROP_YDISTANCE, 35);
  
  ObjectCreate("uitog3", OBJ_LABEL, WindowFind(short_name), 0, 0);
  ObjectSetText("uitog3", StringConcatenate("/\\ ",uitog3, "%"),12, hr3, DodgerBlue );
  ObjectSet("uitog3", OBJPROP_XDISTANCE, 235);  
  ObjectSet("uitog3", OBJPROP_YDISTANCE, 55);
  
  ObjectCreate("ditog1", OBJ_LABEL, WindowFind(short_name), 0, 0);
  ObjectSetText("ditog1", StringConcatenate("\\/ ", ditog1, "%"),12, dhr1, Red );
  ObjectSet("ditog1", OBJPROP_XDISTANCE, 310);  
  ObjectSet("ditog1", OBJPROP_YDISTANCE, 15);
  
  ObjectCreate("ditog2", OBJ_LABEL, WindowFind(short_name), 0, 0);
  ObjectSetText("ditog2", StringConcatenate("\\/ ",ditog2, "%"),12, dhr2, Red );
  ObjectSet("ditog2", OBJPROP_XDISTANCE, 310);  
  ObjectSet("ditog2", OBJPROP_YDISTANCE, 35);
  
  ObjectCreate("ditog3", OBJ_LABEL, WindowFind(short_name), 0, 0);
  ObjectSetText("ditog3", StringConcatenate("\\/ ",ditog3, "%"),12, dhr3, Red );
  ObjectSet("ditog3", OBJPROP_XDISTANCE, 310);  
  ObjectSet("ditog3", OBJPROP_YDISTANCE, 55);
  
  
  string txt;
  if (uitog1 > 50 && uitog2 > 50 && uitog3 > 50)
  
  {txt = "Íåïëîõî BUY";}
  else
  {txt = "Íå îòêðûâàòü ÆÄÈÒÅ.";}
  
  if (ditog1 > 50 && ditog2 > 50 && ditog3 > 50)
  {txt = "Íåïëîõîé SELL";}
    
  if (uitog1 >= 75 && uitog2 >= 75 && uitog3 >= 75)
  {txt = "ÓÄÀ×ÍÛÉ BUY";

      if(m1==0){if(Symbol()=="EURUSD"){PlaySound("trendBayEURUSD.wav");GlobalVariableSet("Signal_EURUSD",600);}}
      if(m2==0){if(Symbol()=="USDCHF"){PlaySound("trendBayUSDCHF.wav");GlobalVariableSet("Signal_USDCHF",600);}}
      if(m3==0){if(Symbol()=="USDJPY"){PlaySound("trendBayUSDJPY.wav");GlobalVariableSet("Signal_USDJPY",600);}}
      if(m==0) {if(Symbol()=="GBPUSD"){PlaySound("trendBayGBPUSD.wav");GlobalVariableSet("Signal_GBPUSD",600);}}
      if(m4==0){if(Symbol()=="EURJPY"){PlaySound("trendBayEURJPY.wav");GlobalVariableSet("Signal_EURJPY",600);}}
      if(m5==0){if(Symbol()=="GBPJPY"){PlaySound("trendBayGBPJPY.wav");GlobalVariableSet("Signal_GBPJPY",600);}}
      if(m6==0){if(Symbol()=="AUDUSD"){PlaySound("trendBayAUDUSD.wav");GlobalVariableSet("Signal_AUDUSD",600);}}
 }
  
  if (ditog1 >= 75 && ditog2 >= 75 && ditog3 >= 75)
  {txt = "ÓÄÀ×ÍÛÉ SELL";

      if(m1==0){if(Symbol()=="EURUSD"){PlaySound("trendSellEURUSD.wav");GlobalVariableSet("Signal_EURUSD",-600);}}
      if(m2==0){if(Symbol()=="USDCHF"){PlaySound("trendSellUSDCHF.wav");GlobalVariableSet("Signal_USDCHF",-600);}}
      if(m3==0){if(Symbol()=="USDJPY"){PlaySound("trendSellUSDJPY.wav");GlobalVariableSet("Signal_USDJPY",-600);}}
      if(m==0) {if(Symbol()=="GBPUSD"){PlaySound("trendSellGBPUSD.wav");GlobalVariableSet("Signal_GBPUSD",-600);}}
      if(m4==0){if(Symbol()=="EURJPY"){PlaySound("trendSellEURJPY.wav");GlobalVariableSet("Signal_EURJPY",-600);}}
      if(m5==0){if(Symbol()=="GBPJPY"){PlaySound("trendSellGBPJPY.wav");GlobalVariableSet("Signal_GBPJPY",-600);}}
      if(m6==0){if(Symbol()=="AUDUSD"){PlaySound("trendSellAUDUSD.wav");GlobalVariableSet("Signal_AUDUSD",-600);}}
  }
  
  ObjectCreate("txt", OBJ_LABEL, WindowFind(short_name), 0, 0);
  ObjectSetText("txt", txt,14, "Verdana", Lime );
  ObjectSet("txt", OBJPROP_XDISTANCE, 500);  
  ObjectSet("txt", OBJPROP_YDISTANCE, 35);
  
  ObjectCreate("txt2", OBJ_LABEL, WindowFind(short_name), 0, 0);
  ObjectSetText("txt2","Ìóëüòèòàéìôðåéìíûé èíäèêàòîð \"TREND_ALEXCUD\"",9, "Verdana", Silver );
  ObjectSet("txt2", OBJPROP_XDISTANCE, 11);  
  ObjectSet("txt2", OBJPROP_YDISTANCE, 80);
  
  ObjectCreate("txt3", OBJ_LABEL, WindowFind(short_name), 0, 0);
  ObjectSetText("txt3","Copyright © 2007 ALEXCUD",9, "Verdana", Silver );
  ObjectSet("txt3", OBJPROP_XDISTANCE, 410);  
  ObjectSet("txt3", OBJPROP_YDISTANCE, 80);
  
if(m1==0){ObjectCreate("txtRU",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtRU","EURUSD",9,"Verdana",Silver);ObjectSet("txtRU",OBJPROP_XDISTANCE,390);ObjectSet("txtRU",OBJPROP_YDISTANCE,0);}
if(m2==0){ObjectCreate("txtDC",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtDC","USDCHF",9,"Verdana",Silver);ObjectSet("txtDC",OBJPROP_XDISTANCE,390);ObjectSet("txtDC",OBJPROP_YDISTANCE,11);}
if(m3==0){ObjectCreate("txtDJ",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtDJ","USDJPY",9,"Verdana",Silver);ObjectSet("txtDJ",OBJPROP_XDISTANCE,390);ObjectSet("txtDJ",OBJPROP_YDISTANCE,22);}
if(m==0) {ObjectCreate("txtPU",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtPU","GBPUSD",9,"Verdana",Silver);ObjectSet("txtPU",OBJPROP_XDISTANCE,390);ObjectSet("txtPU",OBJPROP_YDISTANCE,33);}
if(m4==0){ObjectCreate("txtRJ",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtRJ","EURJPY",9,"Verdana",Silver);ObjectSet("txtRJ",OBJPROP_XDISTANCE,390);ObjectSet("txtRJ",OBJPROP_YDISTANCE,44);}
if(m5==0){ObjectCreate("txtPJ",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtPJ","GBPJPY",9,"Verdana",Silver);ObjectSet("txtPJ",OBJPROP_XDISTANCE,390);ObjectSet("txtPJ",OBJPROP_YDISTANCE,55);}
if(m6==0){ObjectCreate("txtDU",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtDU","AUDUSD",9,"Verdana",Silver);ObjectSet("txtDU",OBJPROP_XDISTANCE,390);ObjectSet("txtDU",OBJPROP_YDISTANCE,66);}

if(m1<0){ObjectCreate("txtRU",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtRU","EURUSD \\/ ",9,"Verdana",Red);ObjectSet("txtRU",OBJPROP_XDISTANCE,390);ObjectSet("txtRU",OBJPROP_YDISTANCE,0);}
if(m2<0){ObjectCreate("txtDC",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtDC","USDCHF \\/ ",9,"Verdana",Red);ObjectSet("txtDC",OBJPROP_XDISTANCE,390);ObjectSet("txtDC",OBJPROP_YDISTANCE,11);}
if(m3<0){ObjectCreate("txtDJ",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtDJ","USDJPY  \\/ ",9,"Verdana",Red);ObjectSet("txtDJ",OBJPROP_XDISTANCE,390);ObjectSet("txtDJ",OBJPROP_YDISTANCE,22);}
if(m<0) {ObjectCreate("txtPU",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtPU","GBPUSD \\/ ",9,"Verdana",Red);ObjectSet("txtPU",OBJPROP_XDISTANCE,390);ObjectSet("txtPU",OBJPROP_YDISTANCE,33);}
if(m4<0){ObjectCreate("txtRJ",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtRJ","EURJPY  \\/ ",9,"Verdana",Red);ObjectSet("txtRJ",OBJPROP_XDISTANCE,390);ObjectSet("txtRJ",OBJPROP_YDISTANCE,44);}
if(m5<0){ObjectCreate("txtPJ",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtPJ","GBPJPY  \\/ ",9,"Verdana",Red);ObjectSet("txtPJ",OBJPROP_XDISTANCE,390);ObjectSet("txtPJ",OBJPROP_YDISTANCE,55);}
if(m6<0){ObjectCreate("txtDU",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtDU","AUDUSD \\/ ",9,"Verdana",Red);ObjectSet("txtDU",OBJPROP_XDISTANCE,390);ObjectSet("txtDU",OBJPROP_YDISTANCE,66);}      

if(m1>0){ObjectCreate("txtRU",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtRU","EURUSD /\\ ",9,"Verdana",DodgerBlue);ObjectSet("txtRU",OBJPROP_XDISTANCE,390);ObjectSet("txtRU",OBJPROP_YDISTANCE,0);}
if(m2>0){ObjectCreate("txtDC",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtDC","USDCHF /\\ ",9,"Verdana",DodgerBlue);ObjectSet("txtDC",OBJPROP_XDISTANCE,390);ObjectSet("txtDC",OBJPROP_YDISTANCE,11);}
if(m3>0){ObjectCreate("txtDJ",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtDJ","USDJPY  /\\ ",9,"Verdana",DodgerBlue);ObjectSet("txtDJ",OBJPROP_XDISTANCE,390);ObjectSet("txtDJ",OBJPROP_YDISTANCE,22);}
if(m>0) {ObjectCreate("txtPU",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtPU","GBPUSD /\\ ",9,"Verdana",DodgerBlue);ObjectSet("txtPU",OBJPROP_XDISTANCE,390);ObjectSet("txtPU",OBJPROP_YDISTANCE,33);}
if(m4>0){ObjectCreate("txtRJ",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtRJ","EURJPY  /\\ ",9,"Verdana",DodgerBlue);ObjectSet("txtRJ",OBJPROP_XDISTANCE,390);ObjectSet("txtRJ",OBJPROP_YDISTANCE,44);}
if(m5>0){ObjectCreate("txtPJ",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtPJ","GBPJPY  /\\ ",9,"Verdana",DodgerBlue);ObjectSet("txtPJ",OBJPROP_XDISTANCE,390);ObjectSet("txtPJ",OBJPROP_YDISTANCE,55);}
if(m6>0){ObjectCreate("txtDU",OBJ_LABEL,WindowFind(short_name),0,0);ObjectSetText("txtDU","AUDUSD /\\ ",9,"Verdana",DodgerBlue);ObjectSet("txtDU",OBJPROP_XDISTANCE,390);ObjectSet("txtDU",OBJPROP_YDISTANCE,66);}

   return(0);
  }
//+------------------------------------------------------------------+

Comments