TİCK nedir? - sayfa 2

 

Tamam, Harika konu !!!!

o zaman Hacim Nedir? tik değişim zamanlarının sayısı mı, yoksa işlem zamanlarının sayısı mı veya bir dönemdeki ticaret fonu miktarı mı?

 

Yeniden belirtmek için:

Benim temel bulgum, eğer çift için MarketInfo'da () bir değişiklik olursa, bir "tik" alınır.

.

"Değişiklik bulunamadı" gibi istisnalar olabilir, ancak bir onay işareti alındı, ancak bu çok nadirdir.

Fiyat değişikliği olmadan alınan keneler nadir değildir ve çift için MarketInfo'da başka bir değişikliğe işaret eder.

.

Hacim, alınan onayların sayısına eşittir, yani start() işlevinin çağrılma sayısıdır, özel olarak işlemler veya Teklif/Soruşturma değişiklikleri değildir. MarketInfo()'daki değişiklik bir onay işaretini tetikler ve onay sayısı = hacim.

 
phy :

.

Hacim, alınan onayların sayısına eşittir, yani start() işlevinin çağrılma sayısı.


Evet, ancak önceki start() hala tamamlanmadığından bazı işaretler kaçırılabilir (start() işlevi çağrılmadı).

Yeni teklifler geldiğinde, ekteki uzmanların start() işlevi ve özel göstergeler yürütülecektir. Yeni bir fiyat teklifi geldiğinde önceki alıntıda başlatılan start() işlevi çalışıyorsa, yeni alıntı uzman tarafından atlanır . Program yürütülürken tüm yeni kotasyon gelirleri, start() işlevinin mevcut yürütmesi tamamlanana kadar program tarafından atlanır. Bundan sonra, start() işlevi yalnızca art arda yeni bir teklif geldiğinde çalıştırılacaktır. Özel göstergeler için, gelen yeni fiyat tekliflerinde mevcut grafik sembolü veya zaman çerçevesi bağımsız olarak değiştirildikten sonra yeniden hesaplama için start() işlevi başlatılacaktır. Uzman özellikleri penceresi açıkken start() işlevi çalıştırılmayacaktır. İkincisi, uzman uygulaması sırasında açılamaz.

 

Tetiklemek için Start() işlevini kullanmıyorum, MarketInfo'yu () incelemek için sonsuz döngülü bir komut dosyası kullanıyorum.

Deney beklenmedik bir yöne gittiği için senaryoyu yeniden yazacağım.

.


//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+


     double oldBid , oldAsk , oldVolume , oldCheckSum , oldTickValue , oldSpread , oldMarginRequired ;
     int oldTime ;
     int tickValueChange ;
     int checkSumCount = - 2 ;
     double checkSum ;

int start ()
   {

   oldBid = Bid ;
   oldAsk = Ask ;
   oldVolume = Volume [ 0 ] ;
   oldTime = Time [ 0 ] ;
   oldCheckSum          = GetCheckSum () ;
   oldTickValue          = MarketInfo ( Symbol () , MODE_TICKVALUE ) ;
   oldSpread              = MarketInfo ( Symbol () , MODE_SPREAD ) ;  
   oldMarginRequired      = MarketInfo ( Symbol () , MODE_MARGINREQUIRED ) ;
   
   int bidChange , askChange , eitherChange , neitherChange , bothChange , tickCount , spreadChange , marginChange ;

     while ( ! IsStopped ()){

       RefreshRates () ;
       if ( oldVolume != Volume [ 0 ]) tickCount += 1 ;
       if ( oldBid != Bid && oldAsk == Ask ) bidChange += 1 ;
       if ( oldAsk != Ask && oldBid == Bid ) askChange += 1 ;   
       if ( oldBid != Bid && oldAsk != Ask ) bothChange += 1 ;
       if ( oldBid == Bid && oldAsk == Ask && oldVolume != Volume [ 0 ]){
           if       ( oldTickValue != MarketInfo ( Symbol () , MODE_TICKVALUE )) tickValueChange += 1 ;
           else if ( oldSpread != MarketInfo ( Symbol () , MODE_SPREAD )) spreadChange += 1 ;
           else if ( oldMarginRequired != MarketInfo ( Symbol () , MODE_MARGINREQUIRED )) marginChange += 1 ;
           else neitherChange += 1 ;
       }
       
       GetCheckSum () ;
       
       Comment ( " \n " +
                   " Bid Change              = " + bidChange + " \n " +
                   " Ask Change             = " + askChange + " \n " +
                   " Both Change            = " + bothChange + " \n " +
                   " MarketInfo Change  = " + checkSumCount + " \n " +
                       " TickValueChange     = " + tickValueChange + " \n " +
                       " Margin Change        = " + marginChange + " \n " +
                       " Spread Change        = " + spreadChange + " \n " +
                   " No Change              = " + neitherChange + " \n " +
                   //" Checksum           = " + checkSum + "\n" +
                   " Sum of above          = " + ( bidChange + askChange + bothChange + spreadChange + neitherChange + checkSumCount + tickValueChange ) + " \n " +
                   " Tick Volume            = " + tickCount ) ;
                   
       Sleep ( 16 ) ;
                   
         oldVolume = Volume [ 0 ] ;
         oldBid = Bid ;
         oldAsk = Ask ;
        
    
     }


   return ( 0 ) ;
   }

double      GetCheckSum (){


     checkSum =
         
   ( 100 * MarketInfo ( Symbol () , MODE_LOW )) +
   ( 101 * MarketInfo ( Symbol () , MODE_HIGH )) +
   //(102*MarketInfo(Symbol(),MODE_TIME)) +
   //(103*MarketInfo(Symbol(),MODE_BID)) +
   //(104*MarketInfo(Symbol(),MODE_ASK)) +
   ( 105 * MarketInfo ( Symbol () , MODE_POINT )) +
   ( 106 * MarketInfo ( Symbol () , MODE_DIGITS )) +
   //(107*MarketInfo(Symbol(),MODE_SPREAD)) +
   ( 108 * MarketInfo ( Symbol () , MODE_STOPLEVEL )) +
   ( 109 * MarketInfo ( Symbol () , MODE_LOTSIZE )) +
   //(110*MarketInfo(Symbol(),MODE_TICKVALUE)) +
   ( 111 * MarketInfo ( Symbol () , MODE_TICKSIZE )) +
   ( 112 * MarketInfo ( Symbol () , MODE_SWAPLONG )) +
   ( 113 * MarketInfo ( Symbol () , MODE_SWAPSHORT )) +
   ( 114 * MarketInfo ( Symbol () , MODE_STARTING )) +
   ( 115 * MarketInfo ( Symbol () , MODE_EXPIRATION )) +
   ( 116 * MarketInfo ( Symbol () , MODE_TRADEALLOWED )) +
   ( 117 * MarketInfo ( Symbol () , MODE_MINLOT )) +
   ( 118 * MarketInfo ( Symbol () , MODE_LOTSTEP )) +
   ( 119 * MarketInfo ( Symbol () , MODE_MAXLOT )) +
   ( 120 * MarketInfo ( Symbol () , MODE_SWAPTYPE )) +
   ( 121 * MarketInfo ( Symbol () , MODE_PROFITCALCMODE )) +
   ( 122 * MarketInfo ( Symbol () , MODE_MARGINCALCMODE )) +
   ( 123 * MarketInfo ( Symbol () , MODE_MARGININIT )) +
   ( 124 * MarketInfo ( Symbol () , MODE_MARGINMAINTENANCE )) +
   ( 125 * MarketInfo ( Symbol () , MODE_MARGINHEDGED )) +
   //(126*MarketInfo(Symbol(),MODE_MARGINREQUIRED)) +
   ( 127 * MarketInfo ( Symbol () , MODE_FREEZELEVEL )) ;

     if ( checkSum != oldCheckSum ) checkSumCount += 1 ;
    
     oldCheckSum = checkSum ;
    
     return ( checkSumCount ) ;
}
 

Fiyat değişikliği ile veya fiyat değişikliği olmadan alınan keneler, tik sayısı = hacim.

Ancak Müşteri MT'si, geçici olarak bazı saniyelerde net kesinti gibi bazı nedenlerden dolayı TÜM Onayları almamış olabilir.

sonra kene sayısı = hacim, sunucudaki zamanları sayar veya değiştirir. veya komisyoncu tarafından tanımlanan bir dönemde fiyatını kaç kez değiştirmek ister.

Bu doğru mu ?

Bir komisyoncu için, müşterilerin geçici pozisyonlarından korunmak için piyasada yer alması için, Hacim, komisyoncu tarafından bir dönemde ne kadar çok kez fiyatını değiştirmek istediği de tanımlanır.

Tanrım !

Hacim verileri nasıl kullanılır?

 

Marketinfo() ile ilgili sorular.

Sonsuz bir döngüdeki aşırı Marketinfo() çağrıları Aracı tarafından spam olarak kabul edilecek mi?

Neler spam olarak kabul edilmez?

Marketinfo()'yu ne sıklıkla çalıştırabilir ve Broker'ı üzmeyebilirsiniz?

Marketinfo() komutu Aracıların önbelleğinden mi alıyor, yoksa gerçek bir alıntı mı?

teşekkürler

 

MarketInfo () aramaları Bayiye gitmez, bayiden alınan en son değerleri okur.

Bayiye yapılan aramaların her birinin tamamlanması için yaklaşık 100-300 milisaniye gerekir.

 // script
int start(){
  
   int startTime = GetTickCount();  
   for(int i = 0; i < 10000; i++){   
      int spread = MarketInfo(Symbol(), MODE_SPREAD);  
   }   
   int endTime = GetTickCount();   
   Print("Time to collect 10000 instances of data = " + (endTime -startTime) + " milliseconds");  
   
   startTime = GetTickCount();  
   OrderSend(Symbol(), OP_BUY, 1, Ask, 0, 0, 0 , "", 0, 0, CLR_NONE);
   endTime = GetTickCount();   
   Print("Time to send one order to Server = " + (endTime -startTime) + " milliseconds");  
   return(0);
}
 
2008.10.27 16:32:37 Test GBPJPY,M15: Time to send one order to Server = 531 milliseconds
2008.10.27 16:32:37 Test GBPJPY,M15: open #8556064 buy 1.00 GBPJPY at 144.77 ok
2008.10.27 16:32:37 Test GBPJPY,M15: Time to collect 10000 instances of data = 438 milliseconds
 
BÜYÜK KONU!!! YUKARI
 

Phy - bu konuyu tekrar açtığım için üzgünüm :-)

Bir kenenin doğası hakkında inandıklarınız ile kar/risk vb. hesaplama yönteminiz arasında bir uyumsuzluk olduğunu düşünüyorum (önceki bazı yazıları okumaktan).

Yani, mevduat para birimi cinsinden ifade edilen çiftin pip değerini belirlemek için MarketInfo'yu (Symbol(),MODE_TICKVALUE) tek başına kullanırsınız.

Ancak, MT4'teki tikler hakkında inandığınız şey doğruysa, tik değeri, tikler arasındaki tırtıl sayısının bir faktörü kadar değişebilir.

Başka bir deyişle, fiyat aniden birkaç pip atlarsa, MarketInfo'ya önceden yapılan bir çağrı, TICKSIZE ve TICKVALUE'nin sırasıyla 0.0001 ve 7.16 olduğunu ortaya çıkarabilir. Sonra bir sonraki çağrı 0.0002 ve 14.32'ye dönebilir.

Bu durumda, hem MarketInfo(Symbol(),MODE_TICKSIZE) hem de MarketInfo(Symbol(),MODE_TICKVALUE) her zaman kâr/risk formüllerinize dahil edersiniz ve asla MarketInfo(Symbol(),MODE_TICKVALUE) tek başına olmaz.

Bu doğru mu?


CB

 
MODE_TICKVALUE 16 Mevduat para birimindeki değeri işaretleyin.
MODE_TICKSIZE 17 Teklif para biriminde onay boyutu.

.

MBTrading'de Euro için:

10000 MODE_LOTSIZE Temel para biriminde parti boyutu.
0.1 MODE_TICKVALUE Mevduat para birimindeki değeri işaretleyin.
0.00001 MODE_TICKSIZE Karşıt para biriminde onay boyutu.

.

İsterseniz yukarıdaki "kene" kelimesini "pip" ile değiştirin.

.

Bu komisyoncu standart boyut olarak mini lot kullanır -- MODE_LOTSIZE

Fiyat için 3/5 basamak kullanıyorlar -- MODE_TICKSIZE

Bu "tiklerden" birinin değeri 0,10 ABD dolarıdır -- MODE_TICKVALUE

.

GBPAUD için:

.

10000 MODE_LOTSIZE Temel para biriminde parti boyutu.
0.080262 MODE_TICKVALUE Mevduat para birimindeki değeri işaretleyin.
0.00001 MODE_TICKSIZE Karşıt para biriminde onay boyutu.

.

Bir lotta GBPAUD tek pip hareketi 0,080262 dolar ödüyor

.

Siparişinizin fiyat değişimini bir andan diğerine hesaplama fikriniz...

PositionValueChange = PriceChangeInPips * MarketInfo ( OrderSymbol(), MODE_TICKVALUE) * OrderLots();

.

MB Trading Futures , Inc .
MBTrading - Demo Server

MB Trading Futures , Inc .
MBT MetaTrader 4
D : \Program Files ( x86 ) \MetaTrader\MBT MetaTrader 4
/ reports / MarketInfo_MB Trading Futures , Inc . _ . txt
2009.07 . 15 16 : 47 : 49



Report for EURUSD

1.39775      MODE_LOW                  Low day price . 
1.41344      MODE_HIGH                High day price . 
2009.07 . 15 16 : 47 : 48      MODE_TIME                The last incoming tick time ( last known server time ) . 
1.41044      MODE_BID                 Last incoming bid price . For the current symbol , it is stored in the predefined variable Bid 
1.41054      MODE_ASK                 Last incoming ask price . For the current symbol , it is stored in the predefined variable Ask 
0.00001      MODE_POINT                Point size in the quote currency . For the current symbol , it is stored in the predefined variable Point 
5      MODE_DIGITS              Count of digits after decimal point in the symbol prices . For the current symbol , it is stored in the predefined variable Digits 
10      MODE_SPREAD              Spread value in points . 
0      MODE_STOPLEVEL           Stop level in points . 
10000      MODE_LOTSIZE             Lot size in the base currency . 
0.1      MODE_TICKVALUE           Tick value in the deposit currency . 
0.00001      MODE_TICKSIZE            Tick size in the quote currency . 
- 0.6      MODE_SWAPLONG            Swap of the long position . 
- 2.4      MODE_SWAPSHORT           Swap of the short position . 
0      MODE_STARTING            Market starting date ( usually used for futures ) . 
0      MODE_EXPIRATION          Market expiration date ( usually used for futures ) .
1      MODE_TRADEALLOWED        Trade is allowed for the symbol . 
0.1      MODE_MINLOT              Minimum permitted amount of a lot . 
0.1      MODE_LOTSTEP             Step for changing lots . 
10000      MODE_MAXLOT              Maximum permitted amount of a lot . 
2      MODE_SWAPTYPE            Swap calculation method . 0 - in points ; 1 - in the symbol base currency ; 2 - by interest ; 3 - in the margin currency .
0      MODE_PROFITCALCMODE      Profit calculation mode . 0 - Forex ; 1 - CFD ; 2 - Futures . 
0      MODE_MARGINCALCMODE      Margin calculation mode . 0 - Forex ; 1 - CFD ; 2 - Futures ; 3 - CFD for indices .
0      MODE_MARGININIT          Initial margin requirements for 1 lot . 
0      MODE_MARGINMAINTENANCE   Margin to maintain open positions calculated for 1 lot .
0      MODE_MARGINHEDGED        Hedged margin calculated for 1 lot . 
141.05      MODE_MARGINREQUIRED      Free margin required to open 1 lot for buying . 
0      MODE_FREEZELEVEL         Order freeze level in points . If the execution price lies within the range defined by the freeze level , the order cannot be modified , cancelled or closed . 

Report for GBPAUD
2.04     MODE_LOW                Low day price. 
2.06095     MODE_HIGH               High day price. 
2009.07.15 16:47:42     MODE_TIME               The last incoming tick time (last known server time). 
2.04538     MODE_BID                Last incoming bid price. For the current symbol, it is stored in the predefined variable Bid 
2.04588     MODE_ASK                Last incoming ask price. For the current symbol, it is stored in the predefined variable Ask 
0.00001     MODE_POINT              Point size in the quote currency. For the current symbol, it is stored in the predefined variable Point 
5     MODE_DIGITS             Count of digits after decimal point in the symbol prices. For the current symbol, it is stored in the predefined variable Digits 
50     MODE_SPREAD             Spread value in points. 
0     MODE_STOPLEVEL          Stop level in points. 
10000     MODE_LOTSIZE            Lot size in the base currency. 
0.080262     MODE_TICKVALUE          Tick value in the deposit currency. 
0.00001     MODE_TICKSIZE           Tick size in the quote currency. 
-1.47     MODE_SWAPLONG           Swap of the long position. 
-3.65     MODE_SWAPSHORT          Swap of the short position. 
0     MODE_STARTING           Market starting date (usually used for futures). 
0     MODE_EXPIRATION         Market expiration date (usually used for futures).
1     MODE_TRADEALLOWED       Trade is allowed for the symbol. 
0.1     MODE_MINLOT             Minimum permitted amount of a lot. 
0.1     MODE_LOTSTEP            Step for changing lots. 
10000     MODE_MAXLOT             Maximum permitted amount of a lot. 
2     MODE_SWAPTYPE           Swap calculation method. 0 - in points; 1 - in the symbol base currency; 2 - by interest; 3 - in the margin currency.
0     MODE_PROFITCALCMODE     Profit calculation mode. 0 - Forex; 1 - CFD; 2 - Futures. 
0     MODE_MARGINCALCMODE     Margin calculation mode. 0 - Forex; 1 - CFD; 2 - Futures; 3 - CFD for indices.
0     MODE_MARGININIT         Initial margin requirements for 1 lot. 
0     MODE_MARGINMAINTENANCE  Margin to maintain open positions calculated for 1 lot.
0     MODE_MARGINHEDGED       Hedged margin calculated for 1 lot. 
164.21     MODE_MARGINREQUIRED     Free margin required to open 1 lot for buying. 
0     MODE_FREEZELEVEL        Order freeze level in points. If the execution price lies within the range defined by the freeze level, the order cannot be modified, cancelled or closed.