Meta Trader'da spread ticareti - sayfa 31

 
neoclassic >> :

USDCAD satarak ve DX alarak Kanada endeksini satın almış olursunuz. Aynı SS'yi kullanarak endeksin davranışına bakabilirsiniz - dinamikleri diğer endekslerden farklı değildir. Yani bu ticaret bence - 50/50 olacak.


Belki! tartışmayacağım.

Öyleyse daha ileriye bakalım. Diğer uygun araçları arayın.

Bu arada. Dün, türkiye ticaretinin sonuna yaklaşırken, Fduch -a girdi (ZC AL + ZW SAT)

Şu anda mevcut {+300 pip (mısır) -175 pip (buğday) }

 
neoclassic >> :

USDCAD satarak ve DX alarak Kanada endeksini satın almış olursunuz. Aynı SS'yi kullanarak endeksin davranışına bakabilirsiniz - dinamikleri diğer endekslerden farklı değildir. Yani bu ticaret bence - 50/50 olacak.


Ardından, pliz, Kanada endeks formülünün hesaplanması. Tabii ki varsa))) ... aslında kurtulmak , Yahudi'yi elbette "tandem" olarak almak daha iyidir. Çünkü Endekste daha fazla ağırlığı var. Normal gösterimi için hindi formülüne eksi işareti koymanız yeterlidir. Ve "tandem" katsayısını nasıl hesapladığınızı paylaşabilir misiniz, yani. anlaşmadaki çiftlerin ağırlığı?

 

Evet, henüz ciddiye almıyorum. Onlar. - gözle, - kabaca.

(dax/footsy) için - parti oranı 1.2/3 ve delta 200 tondan az değil, - Haftalarca süren gözlemler sonucunda şunu çıkardım.

EURIPY+USDJPY, - Aynı lot büyüklüklerini alıyorum. 2.5 haftalık çevrimiçi çalışma için (delta = 20-30 pip ile) - bu "hedge" 2-3 günden fazla oturmadı.

Toplamda 5 ila 20 pip kârla kapattım.

 
"Haftalık gözlem"? Sadece veri toplamak daha kolay değil mi?
 

Bunun olacağından emin değilim. "Tartışılan versiyonda" "Raging Dax " (lar) ve " beauty Futsy " (ler) farklı sitelerde işlem görmektedir.

Her gün ayak oyunları dax'tan bir saat sonra başlar. Dahası, tarihte dax'in işlem gördüğü ve ayaklanmanın (a) "hafta sonu" olduğu ya da tam tersi olduğu pek çok gün vardır. Bu nedenle, bu enstrümanların tarihi sürekli olarak birbirine göre değişmektedir ve bu nedenle çok güvenilir değildir.

 
rid >> :

Bunun olacağından emin değilim. "Tartışılan versiyonda" "Raging Dax " (lar) ve " beauty Futsy " (ler) farklı sitelerde işlem görmektedir.

Her gün ayak oyunları dax'tan bir saat sonra başlar. Dahası, tarihte dax'in işlem gördüğü ve ayaklanmanın (a) "hafta sonu" olduğu ya da tam tersi olduğu pek çok gün vardır. Bu nedenle, bu enstrümanların tarihi sürekli olarak birbirine göre değişmektedir ve bu nedenle çok güvenilir değildir.

Bu iyi. Kendi sahalarında asla "büyük amcalardan" daha iyi oynamayacağız. Ve böyle bir sahada "büyük amcaların" yapacak bir şeyi yoktur.

Bu bizim ekmeğimiz.

 
Fduch >> :
По открытиям баров

Şimdi, 2. sembol için sanal anlaşmaların taklidi ile her iki "hedge" enstrümanı için test cihazında çalıştırılabilen "yarı-arbitraj" Uzman Danışmanını bitiriyorum.

Bir soru vardı.

Lütfen söyle bana.

İşlevinizi nasıl değiştirirsiniz

 //--------------------------------------------------------------------+
//ФУНКЦИЯ РАСЧЕТА СРЕДНЕСТАТ.СПРЕДА                    |
//--------------------------------------------------------------------+               
  double CalculateAvarageSpread ( string Symbol_1 , string Symbol_2 ,
                              int Timeframe , int NBars )
{
   int k ;   double N = 0 ;   double Sum = 0 ;
   for ( k = 0 ; k < iBars ( Symbol_1 , Timeframe ) ; k + + )
   {
      if ( N = = NBars )          break ;

      int symb2Shift = iBarShift ( Symbol_2 , Timeframe , iTime ( Symbol_1 , Timeframe , k ) , true ) ;
      if ( symb2Shift ! = - 1 )
      {
         Sum + = iClose ( Symbol_1 , Timeframe , k ) - iClose ( Symbol_2 , Timeframe , symb2Shift ) ;
         N + + ;
      }
   }
   double avarageSpread = Sum / N ;
   return ( avarageSpread ) ;
}

Böylece son NBars çubukları için ortalama yayılmayı döndürmez mi?

Ve sondan bir önceki NBars çubukları için.

Onlar. ( 2*NBars )-th bar'dan NBars -th bar'a kadar olan süre için?

Cevap verebilecek herkese soru.

Ve sonra düşünmeden burada oturuyorum.

 
//--------------------------------------------------------------------+
//ФУНКЦИЯ РАСЧЕТА СРЕДНЕСТАТ.СПРЕДА                    |
//--------------------------------------------------------------------+               
  double CalculateAvarageSpread(string Symbol_1, string Symbol_2,
                              int Timeframe, int NBars)
{
   int k;   double N = 0;   double Sum = 0;
   for(k = NBars; k < iBars(Symbol_1,Timeframe); k++)
   {
      if(N == NBars)          break;

      int symb2Shift = iBarShift(Symbol_2,Timeframe,iTime(Symbol_1,Timeframe,k),true);
      if(symb2Shift != -1)
      {
         Sum += iClose(Symbol_1,Timeframe,k) - iClose(Symbol_2,Timeframe,symb2Shift);
         N++;
      }
   }
   double avarageSpread = Sum / N;
   return(avarageSpread);
}
 

Teşekkürler getch ! Şimdi onu kullanıyorum.

İkinci "hedge" enstrümanının sanal işlemlerini test cihazında uygulamak başlangıçta düşündüğümden daha kolay çıktı.

Açılış fiyatlarına işi yaptırdım, tk. testçi teklifleri iade etmez ve MarketInfo(Symbol_2,MODE_BID); ve test cihazı açılış ve kapanış fiyatlarını normal olarak döndürür.

Daha fazla doğruluk için şimdi tf = m1 üzerinde test ediyorum

İlgilenenler ve ihtiyacı olanlar için (rid+leonid553) yazılım çözümümüzün parçalarını sunuyoruz.

Açılış türü 1 hedge (yani sat1+satınal2):

Eleştirel açıklamalar yapmaktan memnuniyet duyacağım.

 double POINT_1 = MarketInfo ( Symbol_1 , MODE_POINT ) ; 
double POINT_2 = MarketInfo ( Symbol_2 , MODE_POINT ) ; 

double  Close_Symbol_1 = iClose ( Symbol_1 , Period ( ) , 1 ) ; 
double  Close_Symbol_2 = iClose ( Symbol_2 , Period ( ) , 1 ) ;
//-----------------------------------------------------



if ( TradeUP = = true & & флаг 1 = = 0 ) { //если условия первого хеджа
//соответствуют заданным  
//продаем 1-й символ и покупаем второй символ 
//-------------------------------------
if ( Symbol ( ) ! = Symbol_2 & & IsTesting ( ) = = True ) { //при тестировании 2-го
// инструмента команду  не выполняем !
if ( NumberOfPositions ( Symbol_1 , OP_SELL , Magic ) < 1  ) { //нет поз селл по 1-му символу
 SL = 0 ; TP = 0 ;
if ( StopLoss > 0 )   SL = Bid_1 + POINT_1 * StopLoss ;
if ( TakeProfit > 0 ) TP = Bid_1 - POINT_1 * TakeProfit ; 
ti = OpenPosition ( Symbol_1 , OP_SELL , Lots_1 , 0 , 0 , Magic ) ;
if ( OrderSelect ( ti , SELECT_BY_TICKET ) )
 ModifyOrder ( - 1 , SL , TP , clModifySell ) ;  
    }
                   } //if (IsTesting() == True)
//--------------------------------------
if ( Symbol ( ) ! = Symbol_1 & & IsTesting ( ) = = True ) { //при тестировании 1-го
// инструмента команду не выполняем !
 if ( NumberOfPositions ( Symbol_2 , OP_BUY , Magic ) < 1 ) { //нет  поз бай по 2-му символу 
   SL = 0 ; TP = 0 ;
if ( StopLoss > 0 )   SL = Bid_2 - POINT_2 * StopLoss ;
if ( TakeProfit > 0 ) TP = Ask_2 + POINT_2 * TakeProfit ;   
ti = OpenPosition ( Symbol_2 , OP_BUY , Lots_2 , 0 , 0 , Magic ) ;
if ( OrderSelect ( ti , SELECT_BY_TICKET ) )
  ModifyOrder ( - 1 , SL , TP , clModifyBuy ) ; 
          }
                         } //if (IsTesting() == True) {         
//--------------------------------------------------                                                    
                                 } //если условия соответствуют заданным

Ayrıca, aslında, "hedge" kapanışını kapatma bloğundaki sanal işlemlerin mekanizması:

 

Ayrıca, aslında, "hedge" kapanışını kapatma bloğundaki sanal işlemlerin mekanizması:

Buradaki toplam karı kapatmak ve hesaplamak belki de kilit öneme sahiptir!

 if ( Symbol ( ) = = Symbol_1 ) { //если прогоняем  1-го инструмент
//--------------Закрываем первый хедж -----------------------------------
//задаем и вычисляем номер бара открытия реальной селл 1-го 
//инструмента - с магиком 1
int N_of_barOP_SELL_1 = NumberOfBarOpenLastPos ( Symbol_1 , 0 , OP_SELL , Magic ) ;
//задаем цену открытия этого бара на 2-м инстр., равную  цене открытия 
//виртуальной поз.BUY на втором иструменте(магик)
double OpenBUY_Symbol_2 = iOpen ( Symbol_2 , Period ( ) , N_of_barOP_SELL_1 ) ;


if (    ( ( PriceOpenLastPos ( Symbol_1 , OP_SELL , Magic ) - Close_Symbol_1 ) +
        ( Close_Symbol_2 - OpenBUY_Symbol_2 ) )  > =  CloseProfit * POINT_1 ) {
 //если суммарный профит реальной сделки селл 1-го
// инструмента и "виртуальный" профит сделки Бай 2-го
// инструмента (хеджа TradeUP) по факту больше заданного
//значения, то - закрываем реальную OP_SELL 1-го символа и
// виртуальную OP_BUY второго символа
        ClosePosFirstProfit ( Symbol_1 , OP_SELL , Magic ) ;
        if ( IsTesting ( ) ! = True ) { // при тестировании команду не выполняем ! 
        ClosePosFirstProfit ( Symbol_2 , OP_BUY , Magic ) ;
                                  }
                         }
//------------ Закрываем второй хедж -------------------------------------
      аналогично
//----------------------------------------------                          
                         } //if ( Symbol()== Symbol_1 ){

Aslında hepsi bu...

Benzer şekilde, ikinci cihazın test çalıştırmasını kapatıyoruz ( if ( Symbol ( ) = = Symbol_2 )

Igor Kim'in işlevleri söz konusudur ( ona alçak bir yay ):

OpenPosition() ; - açılış pozu.

ModifyOrder() - durakların değiştirilmesi

NumberOfPositions() - pozisyon sayısı

PriceOpenLastPos ( ) - son açılış fiyatı. pozisyonlar

ClosePosFirstProfit ( ) - kapanış pozisyonları

NumberOfBarOpenLastPos() - son açık çubuk numarasını döndürür. pozisyonlar