페어 트레이딩과 다중 통화 차익거래. 대결. - 페이지 15

 
mytarmailS #:

제 질문이 정확하지 않아서 죄송합니다. 수익 곡선 계산에 어떤 스프레드(수수료)를 넣으시나요....?

실수 또는 상수.


두 자산(클래식) 사이의 선형 회귀를 플롯합니다.

예를 들어주세요. 이 지표가 어떤 원리로 계산되는지 정확히 모르겠습니다. 자세히 살펴보지 않았습니다.

 
Roman Poshtar #:

예를 들어주세요. 이 지표가 어떤 원리로 계산되는지 정확히 모르겠습니다. 이에 대해 많이 배우지 못했습니다.

한 번에 모든 것에 대해 이야기하지 말자.

내 질문은 여전히 관련이 있습니다.

 
Roman Shiredchenko #:

괜찮으시다면 볼륨 밸런싱 공식을 적어주세요....

기존 지표의 차이는 무엇이며 이를 식별하는 방법은 무엇인가요?

기능 - MT4

-------------------------------------

//+-----------------------------+
enum BalLot {     // Balance Lot Size
     BLS1 = 0,    // BalanceVolatility
     BLS2 = 1     // BalancePrice
}; 

extern string    DIFF_PairI           = "EURUSD"; 
extern string    DIFF_PairII          = "GBPUSD";  

extern string    LOT_OPTIONS          = "===================================";
extern double    LotSize              = 0.1;
extern BalLot    BalanceLotSize       = BLS1;
extern int       VOL_PeriodATR        = 144; 

//+==================================================================+
//|     Возвращает сбалансированный / уравновешенный размер лота     |
//+==================================================================+
double getLotSize(string CurrentPair)  {

      //+-------------------------------+
      // Определяем балансовые коэффициенты каждого инструмента
      double kVol1 = SymbolInfoDouble(DIFF_PairI, SYMBOL_TRADE_TICK_VALUE)  / SymbolInfoDouble(DIFF_PairI, SYMBOL_TRADE_TICK_SIZE);
      double kVol2 = SymbolInfoDouble(DIFF_PairII, SYMBOL_TRADE_TICK_VALUE) / SymbolInfoDouble(DIFF_PairII, SYMBOL_TRADE_TICK_SIZE);

      //--------------------------------------------------------------------  
      // Рассчитываются не абсолютные значения, а относительные, приведенные
      // к первому инструменту. 
  
      double Lot_Volat1 = LotSize, Lot_Volat2 = 0,     // Объем, рассчитанный по волатильности
             Lot_Price1 = LotSize, Lot_Price2 = 0,     // Объем, рассчитанный по цене открытия
             var1;
  
      //+=======================================+
      //| рассчитываем объемы по волатильности  |
      //+---------------------------------------+
      if ( iBars(DIFF_PairI, 0) < VOL_PeriodATR+1 )   {
           if  (Language == Lang1) Message("LOT: Calculation Not possible, Download quotes - "+DIFF_PairI);
           else                    Message("LOT: Расчет Невозможен, Подкачайте котировки-"+DIFF_PairI);        
           return(0);
      }
      if ( iBars(DIFF_PairII, 0) < VOL_PeriodATR+1 )   {
           if  (Language == Lang1) Message("LOT: Calculation Not possible, Download quotes - "+DIFF_PairII);
           else                    Message("LOT: Расчет Невозможен, Подкачайте котировки-"+DIFF_PairII);        
           return(0);
      }

      if (BalanceLotSize == BLS1)  { 
          var1  = Lot_Volat1*kVol1*iATR(DIFF_PairI,0,VOL_PeriodATR,1);
          if (kVol2 != 0 && iATR(DIFF_PairII,0,VOL_PeriodATR,1) != 0)  {
              Lot_Volat2 = var1/kVol2/iATR(DIFF_PairII,0,VOL_PeriodATR,1);
          }else{
              LotMessage();
              return(0);
          }
          //+---------------------+
          if (Lot_Volat2 < LotSize)  {
              if (Lot_Volat2 != 0)   {
                  Lot_Volat1 *= Lot_Volat1/Lot_Volat2; 
              }else{
                  LotMessage();
                  return(0);              
              }
              Lot_Volat2  = LotSize;
          }
          //+---------------------+
          if (CurrentPair == DIFF_PairI) return( NormalizeDouble(Lot_Volat1, 2) );//return( normalizeLotSize(DIFF_PairI,  Lot_Volat1) );
          else                           return( NormalizeDouble(Lot_Volat2, 2) );//return( normalizeLotSize(DIFF_PairII, Lot_Volat2) );
      }
   
      //+=======================================+
      //| рассчитываем объемы по цене открытия  |
      //+---------------------------------------+
      if (BalanceLotSize == BLS2) {
          var1  = Lot_Price1*kVol1*iOpen(DIFF_PairI,0,0);
          if (kVol2 != 0 && iOpen(DIFF_PairII,0,0) != 0)   {
              Lot_Price2 = var1/kVol2/iOpen(DIFF_PairII,0,0);
          }else{
              LotMessage();
              return(0);          
          }
          //+----------------------+
          if (Lot_Price2 < LotSize)  {
              if (Lot_Price2 != 0)   {
                  Lot_Price1 *= Lot_Price1/Lot_Price2; 
              }else{
                  LotMessage();
                  return(0);              
              }
              Lot_Price2  = LotSize;
          }  
          //+----------------------+
          if (CurrentPair == DIFF_PairI) return( NormalizeDouble(Lot_Price1, 2) );//return( normalizeLotSize(DIFF_PairI,  Lot_Price1) );
          else                           return( NormalizeDouble(Lot_Price2, 2) );//return( normalizeLotSize(DIFF_PairII, Lot_Price2) );
      }

      //+-------------------------------+
      return(0);
}
 
Sergiy Podolyak #:

기능 - MT4

-------------------------------------


질문의 해당 용어에 익숙하지 않습니다. 로트에 대해서는 이해합니다. 스프레드는 어떻게 되나요?

 
Sergiy Podolyak #:
기능 - MT4
감사합니다 - 제 업무에 복사해 두겠습니다.
 
세르기 포돌약의 답변을 기다리는 동안 확률론에 부엉이를 추가하고 버전 3을 완성하겠습니다. 지금은 수익에 대한 종가를 추가하고 어떤 결과가 나올지 보겠습니다. 진행자에게는 헤더에 버전 3을 넣어주세요.
Sergiy Podolyak
Sergiy Podolyak
  • 2018.12.05
  • www.mql5.com
Профиль трейдера
 

버전 3에 따르면 분명히 이것이 끝이 아니며 키트의 두 번째 표시기로 작업해야합니다. 계속 진행하겠습니다. 한 시간 안에 수익에 대한 마감과 함께 버전 V3_1이 될 것입니다.

또한 모든 참가자에게 불일치, 번들, 스프레드 계산 등을 결정하는 변형을 제공하도록 요청합니다.

우리는 오랫동안 씹지 않고 올빼미를 쓰고 테스터에 던지고 지켜 볼 것입니다.

 
Roman Poshtar #:

버전 3에 따르면 분명히 이것이 끝이 아니며 키트의 두 번째 표시기로 작업해야합니다. 계속 진행하겠습니다. 한 시간 안에 이익에 대한 마감과 함께 버전 V3_1이 될 것입니다.

또한 모든 참가자에게 불일치, 번들, 스프레드 계산 등을 결정하는 변형을 제공하도록 요청합니다.

우리는 오랫동안 씹지 않고 올빼미를 쓰고 테스터에 던져보고 볼 것입니다.

트레이딩 크로스는 메이저 트레이딩과 동일합니다. 내가 말했잖아! 그리고 갈라진 쌍은 다시 합쳐지지 않을 수도 있지만 더 많이 갈라질 수 있습니다. 한 쌍을 거래하고 완전히 다르지만 지리적으로 가까운 나라에서 온 두 쌍의 안내를 받아야 합니다.
 
Vladislav Vidiukov #:
크로스 트레이딩은 메이저 트레이딩과 동일합니다. 말했잖아요! 그리고 갈라진 쌍은 다시 합쳐지지 않고 더 갈라질 수 있습니다. 한 쌍을 거래하고 완전히 다르지만 지리적으로 가까운 나라에서 온 두 쌍의 안내를 받아야합니다.

두 쌍으로 테스트했는데 교차로 결과가 다릅니다. 두 쌍이 더 좋지만 그 이유가 무엇인지 모르겠습니다. 아마도 외래종에 너무 큰 스프레드가있을 수 있습니다. 신속성에 대해 중재자에게 감사드립니다. 나는 더 생각한다 )

 
Roman Poshtar #:

두 쌍으로 테스트했는데 십자가의 결과가 다릅니다. 두 개가 더 나은데 그 이유가 무엇인지 모르겠습니다. 아마도 외래종에 너무 큰 스프레드가있을 수 있습니다. 신속성에 대해 중재자에게 감사드립니다. 나는 더 생각한다 )

그 이유는 "먹지"않기 때문에 2 쌍에 더 많은 움직임이 있기 때문입니다.