Индикаторы: Cross Arbitr

 

Cross Arbitr:

Рассчитывает синтетические уровни Bid и Ask для кроссов по прямым соотношениям через USD.

Author: Игорь Герасько

 

Спасибо за индикатор. Интересно. У моего брокера по еврофранку синтетик в 2 раза больше кросса - выгодно работать по кроссу. Зато евроканадец наоборот - синтетик в 2 раза меньше кросса, так что выгодней работать через прямые пары. 

 

СrossArbitr явно показывает, что очень редко синтетический спрэд бывает меньше, чем реальный, который предоставляет ДЦ по кроссу. И ни в коем случае синтетический спрэд не будет равен сумме спрэдов двух составляющих пар, так как только для некоторых пар справедливы соотношения (например для GBPJPY): Bid = Bid1 * Bid2 Ask = Ask1 * Ask2.


Странно... а у меня явно по EUR/CAD синтетика всегда меньше чем кросс ДЦ.

и синтетический спрэд не будет равен сумме спрэдов двух составляющих пар никогда !!!! Потому что на 1 лот EUR/USD нужно поиметь 1 лот USD/CAD * (текущую котировку EUR/USD) ! если EUR/USD = 1.4100 и спред 2, а по USD/CAD спред 3, то синтетический будет - 2+3*1,41 = 6,23 !

и для такой цели мне кажется лучше использовать скрипт, а не индикатор. потому что индикатор запускается от прихода котировок EUR/CAD например, и пропускает изменение прямых валют. например такой скрипт . Если есть интерес переделайте на подобие своего индикатора и выложите, я вам спасибо скажу :)

string comment_1="";
string comment_2="";
string comment_3="";
string comment_4="";
string comment_5="";
string comment_6="";
string comment_7="";
string comment_8="";
void init()
{
}
void start()
{
	while ( !IsStopped() )
	{
	RefreshRates();
   comment_1 = "Bid: "+DoubleToStr(Bid,Digits)+ "  Ask: " +DoubleToStr(Ask,Digits) + " Спред: "+ DoubleToStr(Ask-Bid,Digits) + " Реальный";
   comment_2 = "Bid: "+DoubleToStr( ( MarketInfo("EURUSD",MODE_BID)*MarketInfo("USDCAD",MODE_BID)) ,Digits)+ "  Ask: " 
+DoubleToStr( ( MarketInfo("EURUSD",MODE_ASK)*MarketInfo("USDCAD",MODE_ASK)) ,Digits)+ " Спред: "
+ DoubleToStr( ( MarketInfo("EURUSD",MODE_ASK)*MarketInfo("USDCAD",MODE_ASK))-( MarketInfo("EURUSD",MODE_BID)*MarketInfo("USDCAD",MODE_BID)),Digits)+" Синтетический";
   comment_3 = "Bid: (Delta) : "+DoubleToStr( ( Bid-MarketInfo("EURUSD",MODE_BID)*MarketInfo("USDCAD",MODE_BID)) ,Digits)+ "  Ask: (Delta) : " 
+DoubleToStr( (Ask- MarketInfo("EURUSD",MODE_ASK)*MarketInfo("USDCAD",MODE_ASK)) ,Digits);
   comment_4 = "EURUSD : " + DoubleToStr(  MarketInfo("EURUSD",MODE_BID),Digits);
   comment_5 = "USDCAD : " + DoubleToStr(  MarketInfo("USDCAD",MODE_BID),Digits);
   Comment(comment_1,"\n",comment_2,"\n",comment_3,"\n",comment_4,"\n",comment_5,"\n",comment_6,"\n",comment_7,"\n",comment_8,"\n");   
   
   if(ObjectFind("line_my_bid1")!= -1 ) 
      {
      ObjectMove("line_my_bid1",0,D'2005.02.25 12:30',MarketInfo("EURUSD",MODE_BID)*MarketInfo("USDCAD",MODE_BID));
      }
   else
      {
      ObjectCreate( "line_my_bid1", OBJ_HLINE,0,0,MarketInfo("EURUSD",MODE_BID)*MarketInfo("USDCAD",MODE_BID) );
      ObjectSet("line_my_bid1",OBJPROP_COLOR,DimGray);
      ObjectSet("line_my_bid1",OBJPROP_STYLE,STYLE_DOT);
      }      
   if(ObjectFind("line_my_ask1")!= -1 ) 
      {
      ObjectMove("line_my_ask1",0,D'2005.02.25 12:30',MarketInfo("EURUSD",MODE_ASK)*MarketInfo("USDCAD",MODE_ASK));
      }
   else
      {
      ObjectCreate( "line_my_ask1", OBJ_HLINE,0,0,MarketInfo("EURUSD",MODE_ASK)*MarketInfo("USDCAD",MODE_ASK) );
      ObjectSet("line_my_ask1",OBJPROP_COLOR,Red);
      ObjectSet("line_my_ask1",OBJPROP_STYLE,STYLE_DOT);
      }      
		Sleep(25);
	}
	return;
}


 

Vitaliy_IVV писал(а):

Странно... а у меня явно по EUR/CAD синтетика всегда меньше чем кросс ДЦ.

Ничего странного. У меня, например, больше. Ведь реальный курс кросса далеко не всегда высчитывается, исходя из его составляющих к доллару. Это рынок и небольшие перекосы всегда существуют.

и синтетический спрэд не будет равен сумме спрэдов двух составляющих пар никогда !!!! Потому что на 1 лот EUR/USD нужно поиметь 1 лот USD/CAD * (текущую котировку EUR/USD) ! если EUR/USD = 1.4100 и спред 2, а по USD/CAD спред 3, то синтетический будет - 2+3*1,41 = 6,23 !

Не пойму, что это за такой странный расчет спрэда и откуда он взялся. Синтетический спрэд можно высчитать ТОЛЬКО ВЗЯВ РАЗНИЦУ МЕЖДУ СИНТЕТИЧЕСКИМ ASK И BID. Больше никак.

и для такой цели мне кажется лучше использовать скрипт, а не индикатор. потому что индикатор запускается от прихода котировок EUR/CAD например, и пропускает изменение прямых валют. например такой скрипт . Если есть интерес переделайте на подобие своего индикатора и выложите, я вам спасибо скажу :)

Пожалуйста, можно найти Здесь

 

Извините за оффтопик.

Но админы не проскают мои файлы :(

Говорят про какие то доработки которые нужно зделать в кодах :(

Не пойму советник рабочий !!!!

Есть Мануал

*.mq4

*.ex4

Кароче все файлы в порядке...

Причина обращения: