Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 928

 
Juer :

Paylaşılan klasör nedir? Ben hiç kullanmıyorum. Ben her zaman taşınabilir modda çalışırım. Kurulum klasöründe her şeyim var.

Tüccar için LifeHack makalesi: Birkaç testin karşılaştırmalı raporu .

*** İşte basit bir komut dosyası örneği   Check_TerminalPaths.mq5:

 //+------------------------------------------------------------------+
//|                                          Check_TerminalPaths.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   Print ( "TERMINAL_PATH = " , TerminalInfoString ( TERMINAL_PATH ));
   Print ( "TERMINAL_DATA_PATH = " , TerminalInfoString ( TERMINAL_DATA_PATH ));
   Print ( "TERMINAL_COMMONDATA_PATH = " , TerminalInfoString ( TERMINAL_COMMONDATA_PATH ));
  }
//+------------------------------------------------------------------+

Bu komut dosyası üç parametre verir:

  • TERMINAL_PATH - terminalin başlatıldığı klasör
  • TERMINAL_DATA_PATH - terminal verilerinin depolandığı klasör
  • TERMINAL_COMMONDATA_PATH — bilgisayarda kurulu tüm istemci terminallerinin ortak klasörü

Üç terminal için bir örnek (bunlardan biri / Portable tuşuyla başlatılır):

 // Терминал запускается в основном режиме
TERMINAL_PATH 			= C:\Program Files\MetaTrader 5
TERMINAL_DATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075
TERMINAL_COMMONDATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\Common

// Терминал запускается в основном режиме
TERMINAL_PATH 			= D:\MetaTrader 5 3
TERMINAL_DATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\ 0 C46DDCEB43080B0EC647E0C66170465
TERMINAL_COMMONDATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\Common

// Терминал запускается в режиме Portable
TERMINAL_PATH 			= D:\MetaTrader 5 5
TERMINAL_DATA_PATH 			= D:\MetaTrader 5 5
TERMINAL_COMMONDATA_PATH 			= C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\Common

***

 
Vladimir Karputov :

Paylaşılan klasör: FILE_COMMON . Aramak, okumak. Düşünürüz.

Neden aynı dosyaya sahip test cihazında 5004 hatası alıyorum, ancak gerçek verilerde hata ayıklarken her şey yolunda mı?

 
Juer :

Neden aynı dosyaya sahip test cihazında 5004 hatası alıyorum, ancak gerçek verilerde hata ayıklarken her şey yolunda mı?

Resmin tamamını vermiyorsunuz. Bilgiler, kıskaçlarla içinizden çekilmelidir.

Durumu doğru bir şekilde tanımlamaya çalışın. ÇALIŞTIRılabilecek bir KOD sağlayın.

 

FILE_COMMON ile hem gerçek verilerde hem de test cihazında hatasız geçer.

 

Lütfen bana bir lotun maliyetini OrderCalcMargin kullanmadan nasıl hesaplayacağımı söyler misiniz?

bool l=OrderCalcMargin(ORDER_TYPE_BUY,Symbol(),Lts,SymbolInfoDouble(Symbol(),SYMBOL_ASK),Margin);

uyarı(l);

ve sonra işlevim false döndürür

 
Fast528 :

Giriş/çıkış konumlarını görüntülemek ve aralarında bir çizgi çizmek için grafikteki göstergeye ihtiyacım var, örneğin Bugün eksi 1 gün periyodunda, örneğin genellikle bir göstergede veya bir robotta yapıldığı gibi?

Asıl soru ve mısralarla balın ne alakası var anlamadım. Bugün eksi 1 gün çeşitli şekillerde atanabilir. ya da başka bir soru?
 
Alexey Viktorov :
Asıl soru ve mısralarla balın ne alakası var anlamadım. Bugün eksi 1 gün çeşitli şekillerde atanabilir. ya da başka bir soru?

zaman değişkeninin ne için olduğunu sordunuz? "Sunucu Tarihi" eksi 1-2 gün hesaplamasını nasıl ayarlayacağıma bakıyorum

ve elbette bir soru vardı ve Yapıyı doldurmak için bu iki seçenek arasındaki fark nedir,

 MqlDateTime dt;
TimeTradeServer (dt);

и

MqlDateTime tm;
TimeToStruct ( TimeTradeServer (),tm);
 
Fast528 :

zaman değişkeninin ne için olduğunu sordunuz? "Sunucu Tarihi" eksi 1-2 gün hesaplamasını nasıl ayarlayacağıma bakıyorum

ve elbette bir soru vardı ve Yapıyı doldurmak için bu iki seçenek arasındaki fark nedir,

Eh, sadece yapının doldurulması durumunda, o zaman neredeyse hiç fark olmayacaktır.

Ve yerel bilgisayarın zamanı boyunca sunucunun zamanını tanımlamak için ne var? TimeCurrent() hakkında sevilmeyecek ve ondan dans edilemeyecek ne var?

 
TimeTradeServer ile hafta sonları işlem aralıklarını denemek daha uygundur
 

kod

 //+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   for ( int i= 0 ;i<= 21 ;i++)
     {
       Print ( "Timeframe: " + EnumToString (( ENUM_TIMEFRAMES )i));
     }
  }

Bu sonucu verir:

 2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_CURRENT
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M1
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M2
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M3
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M4
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M5
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M6
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 7
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 8
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 9
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M10
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 11
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M12
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 13
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 14
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M15
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 16
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 17
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 18
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 19
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: PERIOD_M20
2018.09 . 17 00 : 59 : 59.716 CheckTF (EURUSD,H4)     Timeframe: ENUM_TIMEFRAMES :: 21
Neyi yanlış yapıyorum?