Çiftli ticaret ve çoklu para birimi arbitrajı. Hesaplaşma. - sayfa 15

 
mytarmailS #:

Sorumda yanlış olduğum için özür dilerim, kar eğrisi hesaplamasına ne kadar spread (komisyon) koyduğunuzu kastetmiştim....

gerçek ya da sabit.


İki varlık (klasik) arasında doğrusal bir regresyon çiziyorum.

Lütfen bana bir örnek verin. Bu göstergenin hangi prensibe göre hesaplandığını tam olarak bilmiyorum. Gerçekten araştırmadım.

 
Roman Poshtar #:

Lütfen bana bir örnek verin. Bu göstergenin hangi prensibe göre hesaplandığını tam olarak bilmiyorum. Bu konuda fazla bir şey öğrenmedim.

Her şey hakkında aynı anda konuşmayalım.

Sorum hala geçerli

 
Roman Shiredchenko #:

Sakıncası yoksa lütfen hacimleri dengelemek için formülü yazınız....

Geleneksel göstergelerdeki sapma nedir ve nasıl tespit edilir?

Bir işlev olarak - 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 #:

Bir işlev olarak - MT4

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


Sorunuzdaki bu terimlere aşina değilim. Lotları anlıyorum, teşekkürler. Peki ya spread?

 
Sergiy Podolyak #:
Bir işlev olarak - MT4
Teşekkür ederim - çalışmalarımda kendim için kopyalayacağım.
 
Sergiy Podolyak 'tan bir cevap beklerken, stokastiklere bir baykuş ekleyeceğim ve sürüm 3'ü bitireceğim. Şimdilik kar üzerine kapanış ekleyeceğim, bakalım ne çıkacak. Moderatöre, lütfen sürüm 3'ü başlığa koyun.
Sergiy Podolyak
Sergiy Podolyak
  • 2018.12.05
  • www.mql5.com
Профиль трейдера
 

Sürüm 3'e göre, görünüşe göre bu son değil, kitten ikinci gösterge ile çalışmamız gerekiyor. Hadi devam edelim. Bir saat içinde V3_1 versiyonu kârla kapanacak.

Ayrıca tüm katılımcılardan tutarsızlıkları, paketleri belirleme, spread hesaplama vb. varyantlarını sunmalarını rica ediyorum.

Uzun süre çiğnemeyeceğiz, bir baykuş yazıyoruz, test cihazına atıyoruz ve izliyoruz.

 
Roman Poshtar #:

Sürüm 3'e göre, görünüşe göre bu son değil, kitten ikinci gösterge ile çalışmamız gerekiyor. Hadi devam edelim. Bir saat içinde karla kapanan V3_1 versiyonu olacak.

Ayrıca tüm katılımcılardan tutarsızlıkları, demetleri, spread hesaplamalarını vb. belirlemeye yönelik kendi varyantlarını sunmalarını rica ediyorum.

Uzun süre çiğnemeyeceğiz, bir baykuş yazıyoruz, test cihazına atıyoruz ve bakıyoruz.

Çapraz ticaret, majör ticaret ile aynıdır. Sana söylemiştim! Ve ayrışan çiftler asla bir araya gelmeyebilir, ancak daha da fazla ayrışabilir. Bir çiftle işlem yapmalı ve tamamen farklı ama coğrafi olarak yakın bir ülkeden iki çifte rehberlik etmelisiniz.
 
Vladislav Vidiukov #:
Çapraz ticaret yapmak majör ticaret yapmakla aynı şeydir. Sana söylemiştim! Ve birbirinden uzaklaşan bu çiftler asla bir araya gelmeyebilir, ancak daha da uzaklaşabilir. Coğrafi olarak yakın bir ülkeden 1 çift ticaret yapmak ve tamamen farklı 2 tarafından yönlendirilmek gerekir.

2 çift üzerinde test ettim ve çaprazlarda sonuçlar farklı. İki çift daha iyi, nedeninin ne olduğunu bilmiyorum. Belki de egzotiklerde çok büyük fark vardır. Moderatöre çabukluğu için teşekkürler. Daha fazla düşünüyorum )

 
Roman Poshtar #:

2 çift üzerinde test ettim ve çaprazlamaların farklı sonuçları var. İki tanesi daha iyi, nedenini bilmiyorum. Belki de egzotiklerde çok büyük fark vardır. Moderatöre çabukluğu için teşekkürler. Daha fazla düşünüyorum )

Bunun nedeni, "yenmediği" için 2 çift üzerinde daha fazla hareket olmasıdır.
Neden: