FORTS: Yeni başlayanlara yardımcı olmak için - sayfa 10

 
Dmi3 :

Nitekim her zamanki gibi itiraz edilecek bir şey yok mu?

Ve kimse soruyu görmedi - sadece asılsız suçlamalarınızı gördüler. Bunun öncelikle teknik bir forum olduğunu ve her havanın sallanmasının teknik detaylarla teyit edilmesi gerektiğini hatırlatmama izin verin. Bunu ilk ve son uyarınız olarak kabul edin.

 

Mum_time_end_and_spread göstergesine bir sona erme süresi hesaplaması eklendi. Onu her zaman unutuyorum. Belki birileri için faydalı olacaktır:

 

Gelecekte dayanak varlığın adını almanın kolay bir yolu var mı? temel, Si-3.21'de Si'yi döndürdüğü şey değildir, ancak USDRUB gereklidir. Şu anda uzun bir yazışma tablosu yazıyorum ama muhtemelen daha kolay bir yolu var. Belki moex üzerinden bir istek ama nasıl talep edileceği belli değil, şeytan orada bacağını kırar.

   if (future_basis == "Si" ) return "USDRUB_TOD" ;
   if (future_basis == "RVI" ) return future_basis;
   if (future_basis == "GAZR" ) return "GAZP" ;
   if (future_basis == "VTBR" ) return future_basis;
   if (future_basis == "Eu" ) return "EURRUB_TOD" ;
   if (future_basis == "SBRF" ) return "SBER" ;
   if (future_basis == "BR" ) return "BR Splice" ;
 
vponed :

Gelecekte dayanak varlığın adını almanın kolay bir yolu var mı? temel, Si-3.21'de Si'yi döndürdüğü şey değildir, ancak USDRUB gereklidir. Şu anda uzun bir yazışma tablosu yazıyorum ama muhtemelen daha kolay bir yolu var. Belki moex üzerinden bir istek ama nasıl talep edileceği belli değil, şeytan orada bacağını kırar.

Yer almanın bir yolu yok, kendin yazabilirsin:

 string GetSpot( const string a_symbol)
{
   if ( StringFind (a_symbol, "AFLT-" ) > - 1 ) return ( "AFLT" ); else
   if ( StringFind (a_symbol, "AFKS-" ) > - 1 ) return ( "AFKS" ); else
   if ( StringFind (a_symbol, "ALRS-" )> - 1 ) return ( "ALRS" ); else
   if ( StringFind (a_symbol, "CHMF-" )> - 1 ) return ( "CHMF" ); else
   if ( StringFind (a_symbol, "Eu-" )> - 1 ) return ( "EURRUB_TOM" ); else
   if ( StringFind (a_symbol, "FEES-" )> - 1 ) return ( "FEES" ); else
   if ( StringFind (a_symbol, "GMKR-" )> - 1 ) return ( "GMKN" ); else
   if ( StringFind (a_symbol, "GMKN-" )> - 1 ) return ( "GMKN" ); else
   if ( StringFind (a_symbol, "GAZR-" )> - 1 ) return ( "GAZP" ); else
   if ( StringFind (a_symbol, "HYDR-" )> - 1 ) return ( "HYDR" ); else
   if ( StringFind (a_symbol, "LKOH-" )> - 1 ) return ( "LKOH" ); else
   if ( StringFind (a_symbol, "MAGN-" )> - 1 ) return ( "MAGN" ); else
   if ( StringFind (a_symbol, "MOEX-" )> - 1 ) return ( "MOEX" ); else
   if ( StringFind (a_symbol, "MGNT-" )> - 1 ) return ( "MGNT" ); else
   if ( StringFind (a_symbol, "MTSI-" )> - 1 ) return ( "MTSS" ); else
   if ( StringFind (a_symbol, "NOTK-" )> - 1 ) return ( "NVTK" ); else
   if ( StringFind (a_symbol, "NLMK-" )> - 1 ) return ( "NLMK" ); else
   if ( StringFind (a_symbol, "PLZL-" )> - 1 ) return ( "PLZL" ); else
   if ( StringFind (a_symbol, "ROSN-" )> - 1 ) return ( "ROSN" ); else
   if ( StringFind (a_symbol, "RTKM-" )> - 1 ) return ( "RTKM" ); else
   if ( StringFind (a_symbol, "SNGP-" )> - 1 ) return ( "SNGSP" ); else
   if ( StringFind (a_symbol, "SNGR-" )> - 1 ) return ( "SNGS" ); else
   if ( StringFind (a_symbol, "SBPR-" )> - 1 ) return ( "SBERP" ); else
   if ( StringFind (a_symbol, "SBRF-" )> - 1 ) return ( "SBER" ); else
   if ( StringFind (a_symbol, "Si-" )> - 1 ) return ( "USDRUB_TOM" ); else
   if ( StringFind (a_symbol, "TRNF-" )> - 1 ) return ( "TRNFP" ); else
   if ( StringFind (a_symbol, "TATN-" )> - 1 ) return ( "TATN" ); else
   if ( StringFind (a_symbol, "VTBR-" )> - 1 ) return ( "VTBR" ); else
   if ( StringFind (a_symbol, "FIVE-" )> - 1 ) return ( "FIVE" ); else
   if ( StringFind (a_symbol, "TCSI-" )> - 1 ) return ( "TCSG" ); else
   if ( StringFind (a_symbol, "YNDF-" )> - 1 ) return ( "YNDX" ); else
   if ( StringFind (a_symbol, "POLY-" )> - 1 ) return ( "POLY" ); else
   if ( StringFind (a_symbol, "IRAO-" )> - 1 ) return ( "IRAO" ); else
   if ( StringFind (a_symbol, "MAIL-" )> - 1 ) return ( "MAIL" );
   return ( "NONE" );
} 
Petrolün MICEX'te yeri yok
 
vponed :

Mum_time_end_and_spread göstergesine bir sona erme süresi hesaplaması eklendi. Onu her zaman unutuyorum. Belki birileri için faydalı olacaktır:

GetExpiration() işlevini kendi adınıza göndermeniz için değil, KİŞİSEL kullanım için verdim!

 
prostotrader :

GetExpiration() işlevini kendi adınıza göndermeniz için değil, KİŞİSEL kullanım için verdim!

Çok özür dilerim hemen işlevi buradan aldığımı ve göstergenin de üçüncü şahıs olduğunu yazdım. Verilerinizi koda enjekte edebilirim. Veya yükseltmeleri protesto ederseniz silin.
Bir şey çalmak niyetinde değildim, sadece birileri için faydalı olabileceğini düşündüm.
Benim olduğunu bile yazmadım (bir şekilde umurumda değil)

evet ve özellik için çok teşekkür ederim

 
prostotrader :

Yer almanın bir yolu yok, kendin yazabilirsin:

Petrolün MICEX'te yeri yok
Görevin temel varlıktan aylık hacimler almak olduğunu biliyorum, bu yüzden BR Splice'ı iade ediyorum, hacimler tam olarak orada olacak
Ve neden TOD değil de USDRUB_TOM kullanıyorsunuz, orada daha fazla likidite var?
 
vponed :
Görevin temel varlıktan aylık hacimler almak olduğunu biliyorum, bu yüzden BR Splice'ı iade ediyorum, hacimler tam olarak orada olacak
Ve neden TOD değil de USDRUB_TOM kullanıyorsunuz, orada daha fazla likidite var?

Hayır, TOM artık kullanılabilir

 
prostotrader :

Hayır, TOM artık kullanılabilir

O zaman bir zaman kayması eklemeniz gerekir

 
prostotrader :

Yer almanın bir yolu yok, kendin yazabilirsin:

Petrolün MICEX'te yeri yok

genellikle aynı bilgi SymbolInfoString'den döndürülür (_Symbol,SYMBOL_BASIS)

Bu nedenle, işlevin büyük ölçüde azaltılabileceği görülüyor. Yalnızca farklı olanı döndür:

 string basis_from_future( string future)
  {
   string future_basis = SymbolInfoString ( _Symbol , SYMBOL_BASIS );

   if (future_basis == "Si" )
       return "USDRUB_TOM" ;
   if (future_basis == "GAZR" )
       return "GAZP" ;
   if (future_basis == "Eu" )
       return "EURRUB_TOD" ;
   if (future_basis == "SBRF" )
       return "SBER" ;
   if (future_basis == "BR" )
       return "BR Splice" ;
   if (future_basis == "GMKR" )
       return "GMKN" ; 
         if (future_basis == "MTSI" )
       return "MTSS" ; 
if (future_basis == "NOTK" )
       return "NVTK" ; 
if (future_basis == "SNGP" )
       return "SNGSP" ; 
if (future_basis == "SNGR" )
       return "SNGS" ; 
if (future_basis == "SBPR" )
       return "SBERP" ; 
if (future_basis == "TRNF" )
       return "TRNFP" ;
if (future_basis == "TCSI" )
       return "TCSG" ;
if (future_basis == "TCSI" )
       return "TCSG" ;
if (future_basis == "YNDF" )
       return "YNDX" ;

   return future_basis;

  }

ve eklemeler çalışacak

Документация по MQL5: Получение рыночной информации / SymbolInfoString
Документация по MQL5: Получение рыночной информации / SymbolInfoString
  • www.mql5.com
SymbolInfoString - Получение рыночной информации - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5