(3) TEST_BARS_GBPJPY_8v1_High_en

Download script
(3) TEST_BARS_GBPJPY_8v1_High_en

This tool is designed as a complex multi-indicator analysis system for the GBP/JPY currency pair. Rather than relying on a single data point, it functions by synthesizing information from multiple different currency markets simultaneously to identify high-probability price movements.

Core Logic and Methodology

The script operates on the principle of "confluence"—the idea that a trade signal is much stronger when multiple independent factors align at the exact same moment. It achieves this through three primary layers of analysis:

1. Multi-Pair Correlation Analysis The system monitors four different currency pairs (EUR/JPY, GBP/JPY, USD/JPY, and GBP/USD) to detect synchronized movements. It looks for specific behaviors in these pairs:

  • Shared Momentum: It checks if specific indicators across different pairs are moving in the same direction at once.
  • Relative Positioning: By observing how these pairs interact with each other, the tool attempts to filter out "noise" and identify whether a move is part of a broader market trend or just a localized fluctuation.

2. Signal Validation via Indicators The logic pulls data from several technical indicators (specifically variants of RSI and ADX). Instead of just looking at the current price of GBP/JPY, it asks:

  • Are the relative strength values for related pairs positive or negative?
  • Is the trend strength (ADX) sufficient to support a move?
  • Are the various "crosses" in the indicators aligning in favor of a specific direction?

3. Visual Output and Execution Logic The tool translates these complex mathematical calculations into visual histograms on your chart. The logic follows a specific set of "if/then" rules:

  • Directional Weighting: Depending on which conditions are met (e.g., if Pair A and Pair B are both showing positive momentum), the script calculates specific height values for different colored bars.
  • Intensity Measurement: The various heights of the histograms represent different levels of confidence. If multiple conditions are met, the visual representation shifts to indicate a stronger consensus among the underlying data points.

Summary for the User

Essentially, this script acts as an automated "consensus engine." It scans several different markets at once and only highlights a signal when a significant number of technical factors agree on a direction. For a trader, this means the tool is designed to filter out uncertainty by ensuring that a move in GBP/JPY is backed by the broader behavior of the Japanese Yen, the British Pound, and their interactions with the US Dollar and Euro.

Miscellaneous
Implements a curve of type %1
14 Views
0 Downloads
0 Favorites
(3) TEST_BARS_GBPJPY_8v1_High_en
//+------------------------------------------------------------------+
//|                                    TEST_BARS_GBPJPY_8v1_High.mq4 |
//| Âíèìàíèå! Äîëæíû ðàáîòàòü ÄÂÀ èíäþêà  TEST_BARS_GBPJPY_8v1_High è  TEST_BARS_GBPJPY_8v1_Low                                        |
//|  ÝÒÎ "ïðîèçâåäåíèå" = äëÿ âå÷íî ñîìíåâàþùèõñÿ, â ñâîèõ äåéñòâèÿõ íà ðûíêå.
//| Â îäèí áàð!!! çàãíàíî 8 âîñåìü èíäèêàòîðîâ !!!          i++ !!!!
//| Âîçìîæíî áóäåò äîðàáàòûâàòüñÿ, à ìîæåò è íåò
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1  Blue//Black 
#property indicator_color2 Red//Black White
#property indicator_color3 Blue//Blue
#property indicator_color4  Red 
#property indicator_color5 Blue //Black 
#property indicator_color6 Red//Black White
#property indicator_color7  Blue  //Blue
#property indicator_color8 Red 
//----
 extern int ilimit =  555;
//=====================================
//---- input parameters
 extern int  RSI_Period=5;
extern int  RSI_Price =0; // 0=CLOSE 1=OPEN 2=HIGH 3=LOW 4=MEDIAN  5  6
extern int  MA_Period =5;
extern int  MA_Method =3; // 0=SMA 1=EMA 2=SMMA 3=LWMA
extern int ADXPeriod = 12;

//---- buffers
//=====================================

//---- buffers 
 double val1[],val2[],val3[],val4[];
 double val11[],val22[],val33[],val44[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,val1);
   SetIndexDrawBegin(0,0);
   SetIndexStyle(1,DRAW_HISTOGRAM);
   SetIndexBuffer(1,val2);
   SetIndexDrawBegin(1,0);
   SetIndexStyle(2,DRAW_HISTOGRAM);
   SetIndexBuffer(2,val3);
   SetIndexDrawBegin(2,0);
   SetIndexStyle(3,DRAW_HISTOGRAM);
   SetIndexBuffer(3,val4);
   SetIndexDrawBegin(3,0);
       SetIndexLabel(0, " MOVE OF TWO CROSSES TOGETHER  " ); //" ÄÂÈÆÅÍÈÅ  ÄÂÓÕ ÊÐÎÑÑÎÂ ÂÌÅÑÒÅ  "
       SetIndexLabel(2, " MOVE OF USDJPY & GBPUSD TOGETHER " );//ÄÂÈÆÅÍÈÅ  USDJPY è GBPUSD ÂÌÅÑÒÅ
       SetIndexStyle(4,DRAW_HISTOGRAM);
   SetIndexBuffer(4,val11);
   SetIndexDrawBegin(4,0);
   SetIndexStyle(5,DRAW_HISTOGRAM);
   SetIndexBuffer(5,val22);
   SetIndexDrawBegin(5,0);
   SetIndexStyle(6,DRAW_HISTOGRAM);
   SetIndexBuffer(6,val33);
   SetIndexDrawBegin(6,0);
   SetIndexStyle(7,DRAW_HISTOGRAM);
   SetIndexBuffer(7,val44);
   SetIndexDrawBegin(7,0);
    SetIndexLabel(4, "  GBPJPY-r3           " );
    SetIndexLabel(6, "  GBPJPY-r4           " );
   return(0);
  }
//+------------------------------------------------------------------+
int start()
  { double w,ww,w1,ww1, r,rr,r1,rr1, rr2_DI,rr3_DI_S,  r2_ADX ,r3_ADX_S ;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   for(int i=0; i<limit; i++)
{ 
	r=iCustom("EURJPY",0,"VininI_RSI_FO",RSI_Period,RSI_Price, MA_Period, MA_Method,0,i);
	r1=iCustom("EURJPY",0,"VininI_RSI_FO",RSI_Period,RSI_Price, MA_Period, MA_Method,0,i);
	rr=iCustom("GBPJPY",0,"VininI_RSI_FO",RSI_Period,RSI_Price, MA_Period, MA_Method,0,i);
	rr1=iCustom("GBPJPY",0,"VininI_RSI_FO",RSI_Period,RSI_Price, MA_Period, MA_Method,0,i);
    w=iCustom("USDJPY",0,"VininI_RSI_FO",RSI_Period,RSI_Price, MA_Period, MA_Method,0,i);
	w1=iCustom("USDJPY",0,"VininI_RSI_FO",RSI_Period,RSI_Price, MA_Period, MA_Method,0,i);
	ww=iCustom("GBPUSD",0,"VininI_RSI_FO",RSI_Period,RSI_Price, MA_Period, MA_Method,0,i);
	ww1=iCustom("GBPUSD",0,"VininI_RSI_FO",RSI_Period,RSI_Price, MA_Period, MA_Method,0,i);
//+------------------------------  	
 if (r>0 && rr>0)
 {
    val1[i]=High[i];    val2[i]=High[i]-(High[i]-Low[i])*0.125;
 }
 if (0>r1 && 0>rr1) 
 {
    val1[i]=High[i]-(High[i]-Low[i])*0.125;     val2[i]=High[i];
  }  
//+------------------------------   
 if (w>0 && ww>0)
 {
   val3[i]=High[i]-(High[i]-Low[i])*0.125;  
    val4[i]=High[i]-(High[i]-Low[i])*0.25; 
 }
 if (0>w1&&0>ww1) 
 {
    val3[i]=High[i]-(High[i]-Low[i])*0.25;
    val4[i]=High[i]-(High[i]-Low[i])*0.125;  
 }
//+------------------------------  
//==============================================================================
// Â èíäþêå "ADXm",  0 áóôåð = DI,( ðàçíîñòü +DI  è -DI), à 1 áóôåð = ADX , 
//==============================================================================
     rr2_DI =  iCustom("GBPJPY",0,"ADXm",ADXPeriod ,0,0,i);
     rr3_DI_S =iCustom("GBPUSD",0,"ADXm",ADXPeriod ,0, 0, i)*0.5+iCustom("USDJPY",0,"ADXm",ADXPeriod,0,0,i)*0.5; 
////  //+------------------------------          
     r2_ADX =  iCustom("GBPJPY",0,"ADXm",ADXPeriod*0.5,0,1, i);                        
     r3_ADX_S = iCustom("GBPUSD",0,"ADXm",ADXPeriod*0.5,0, 1, i)*0.5+ iCustom("USDJPY",0,"ADXm",ADXPeriod*0.5,0,1,i)*0.5;     
 //+------------------------------------------------------------------+  
//+----------------------------------- &&
if (rr2_DI> rr3_DI_S && rr2_DI > 0 )
{
	val11[i]=High[i]-(High[i]-Low[i])*0.25;
   val22[i]=High[i]-(High[i]-Low[i])*0.375;
}
if (rr2_DI< rr3_DI_S && rr2_DI  < 0 ) 
{
     val11[i]=High[i]-(High[i]-Low[i])*0.375; 
     val22[i]=  High[i]-(High[i]-Low[i])*0.25; 
}
//+-----------------------------------
if (r3_ADX_S >0)
{
  val33[i]=High[i]-(High[i]-Low[i])*0.375;
  val44[i]= High[i]-(High[i]-Low[i])*0.5;         
}
if ( r3_ADX_S <0) 
{
  val33[i]=High[i]-(High[i]-Low[i])*0.5;
  val44[i]= High[i]-(High[i]-Low[i])*0.375;
}
//+-----------------------------------
 }
   return(0);
  }
//+------------------------------------------------------------------+


//+------------------------------------------------------------------+



Comments