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

 
Soru şu ki, test cihazının MT5'te çalıştığını programlı olarak belirlemek mümkün müdür?
 
Maksim Mihajlov :
Soru şu ki, test cihazının MT5'te çalıştığını programlı olarak belirlemek mümkün müdür?
Başlatılan MQL5 programı hakkında bilgi   – davranışını ek olarak kontrol etmeye yardımcı olan mql5 programının özellikleri;
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
  • www.mql5.com
Константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Merhaba. Kime soracağımı, nereye yazacağımı bilmiyorum. Interactive Brokers'da MT5 ile işlem yapmak mümkün müdür? Onlara bir soru sordum, ancak cevapta https://www.metaquotes.net/ru/company/contacts bağlantılarına bir bağlantı attılar, bu yüzden bu bir tüzel kişilik için bir formdur. MT5 ve TWS arasında bir çeşit yazılım köprüsü var gibi görünüyor, lütfen bana bunun hakkında bir şeyler söyleyin. Veya belirli bir enstrümanın grafiğini görmek ve buna bağlı olarak MT5 göstergelerini kullanmak ve zaten TWS üzerinden işlem yapmak için MT5 yayınlı Amerikan borsalarından kotasyon satın almak bile mümkün mü? Soru amacına uygun değilse lütfen nereye yazacağımı söyleyin, sorun.
Контакты представительств компании MetaQuotes
Контакты представительств компании MetaQuotes
  • www.metaquotes.net
По вопросам приобретения торговой платформы MetaTrader 5 вы можете обратиться к нашим представителям:
 
akarustam :

MT5'te iyi bir Expert Advisor'ın optimizasyonundaki sürekli farklılığın nedenini anlamaktan bıktım... Aynı döviz çiftinde, aynı Expert Advisor ile, aynı optimizasyon parametreleriyle, optimizasyon farkı var sonuçlar ... Yani Sürekli aynı şeyi sürüyorum, aynı sonuçlar bekleniyordu, ama aslında farklılar ...

Aydınlanın pliz, kim bilir böyle bir yanlış anlaşılmayı?

TEŞEKKÜR ETMEK.

en sık başlatılmamış değişkenler veya genel değişkenlere erişim (terminaldekiler)

 

Söyle bana, mum göstergesi

 #property tester_everytick_calculate
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_plots    1
//--- plot newCandles
#property indicator_label1    "newCandles"
#property indicator_type1    DRAW_CANDLES
#property indicator_color1    clrWhite
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
//--- indicator buffers
double    newCandles_Open[];
double    newCandles_High[];
double    newCandles_Low[];
double    newCandles_Close[];
int       newCandles_index  = 0 ;
//--- цены формирующейся свечи
double    candle_Open    = - 1.0 ;
double    candle_High    = - 1.0 ;
double    candle_Low     = - 1.0 ;
double    candle_Close   = - 1.0 ;

int OnInit ()
{
//--- indicator buffers mapping
   SetIndexBuffer ( 0 , newCandles_Open,   INDICATOR_DATA );
   SetIndexBuffer ( 1 , newCandles_High,   INDICATOR_DATA );
   SetIndexBuffer ( 2 , newCandles_Low,   INDICATOR_DATA );
   SetIndexBuffer ( 3 , newCandles_Close, INDICATOR_DATA );
//+---------------------
   PlotIndexSetDouble ( 0 , PLOT_EMPTY_VALUE , 0.0 );
//+---------------------
   PlotIndexSetString ( 0 , PLOT_LABEL , "newCandles(" + IntegerToString (in_Candle_Size_Point)+ ", " + TimeToString (in_Start_Time, TIME_DATE )+ ")" );
   IndicatorSetString ( INDICATOR_SHORTNAME , "newCandles(" + IntegerToString (in_Candle_Size_Point)+ ", " + TimeToString (in_Start_Time, TIME_DATE )+ ")" );
//+---------------------
   ArrayInitialize (newCandles_Open, 0.0 );
   ArrayInitialize (newCandles_High, 0.0 );
   ArrayInitialize (newCandles_Low, 0.0 );
   ArrayInitialize (newCandles_Close, 0.0 );

//+---------------------
   return ( INIT_SUCCEEDED );
}

Hesaplama OnCalculate'de gerçekleşir ve koşullar karşılandığında INDICATOR_DATA arabellekleri doldurulur.

      newCandles_Open[newCandles_index]      = candle_Open;
      newCandles_High[newCandles_index]      = candle_High;
      newCandles_Low[newCandles_index]       = candle_Low;
      newCandles_Close[newCandles_index++]   = candle_Close;

Bu tamponları doldururken bir şamdan çizilmesi gerektiğini düşündüm. Ama render olmuyor. Niye ya?

 
Сергей Таболин :

Söyle bana, mum göstergesi

Hesaplama OnCalculate'de gerçekleşir ve koşullar karşılandığında INDICATOR_DATA arabellekleri doldurulur.

Bu tamponları doldururken bir şamdan çizilmesi gerektiğini düşündüm. Ama render olmuyor. Niye ya?

Tam kod nerede? OnCalculate'de tam olarak ne yaptığınız belli değil. Örnek olarak, DRAW_CANDLES yardımını kullanın.

Ve negatif fiyatları olan bu mum nedir?
 
Vladimir Karputov :

Tam kod nerede? OnCalculate'de tam olarak ne yaptığınız belli değil. Örnek olarak, DRAW_CANDLES yardımını kullanın.

Ve negatif fiyatları olan bu mum nedir?

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MQ5:: Şamdan göstergesi hakkında bir soru.

Sergey Tabolin , 2020.08.05 18:17

Edgar, teşekkürler, ama bunu anlıyorum. 2019'dan önce neden kene olmadığı belli değil mi?


Şimdi asıl soru şu

Göstergede neden mumlar çizilmiyor?   nerede hatalıyım?

Kamusal alanda kaynak

Bu sadece saymaya başlamak için bir başlangıç. Fiyatlar doğru.
Dosyalar:
newCandles.mq5  21 kb
 
Сергей Таболин :
Bu sadece saymaya başlamak için bir başlangıç. Fiyatlar doğru.

Hata ayıklamada, hangi durumlarda durumunuzun karşılanacağını kontrol edin ve kontrol edin?


 
Vladimir Karputov :

Hata ayıklamada, hangi durumlarda durumunuzun karşılanacağını kontrol edin ve kontrol edin?


Bunun doğru olmayabileceğini anlıyorum. Ancak!

İşe yarıyor. Gösterge başladığında koşul karşılanır. Bir kere. Fiyatlar basılmıştır. Ardından, keneler sayılır. Ayrıca basılmıştır.

 2020.08 . 06 14 : 27 : 31.101 newCandles (USDJPY,H1)   2020.08 . 05 21 : 31 : 16 >>> Свеча 03623 >> open = 105.638 hihg = 105.675 low = 105.473 close = 105.473 > Сформирована за 07539 тиков.
2020.08 . 06 14 : 27 : 31.101 newCandles (USDJPY,H1)   2020.08 . 06 03 : 14 : 33 >>> Свеча 03624 >> open = 105.473 hihg = 105.635 low = 105.395 close = 105.635 > Сформирована за 19034 тика.
2020.08 . 06 14 : 27 : 31.102 newCandles (USDJPY,H1)   2020.08 . 06 10 : 54 : 42 >>> Свеча 03625 >> open = 105.635 hihg = 105.695 low = 105.471 close = 105.471 > Сформирована за 08861 тик.
2020.08 . 06 14 : 27 : 31.102 newCandles (USDJPY,H1)  ~~~~ Предварительный расчёт индикатора закончен.
2020.08 . 06 14 : 27 : 31.102 newCandles (USDJPY,H1)  Расчёт на тике 00872 Бар 03626
2020.08 . 06 14 : 27 : 31.102 newCandles (USDJPY,H1)  Расчёт на тике 00873 Бар 03626
2020.08 . 06 14 : 27 : 31.102 newCandles (USDJPY,H1)  Расчёт на тике 00874 Бар 03626

Ama merak ediyorum, mumlar neden çekilmiyor?

 
Сергей Таболин :

Bunun doğru olmayabileceğini anlıyorum. Ancak!

İşe yarıyor. Gösterge başladığında koşul karşılanır. Bir kere. Fiyatlar basılmıştır. Ardından, keneler sayılır. Ayrıca basılmıştır.

Ama merak ediyorum, mumlar neden çekilmiyor?

İlk olarak, DRAW_CANDLES tabanlı bir göstergenin nasıl oluşturulacağını öğrenin. Bu durumda, indeksi '0' olan bir mumun ne olduğunu düşünmeniz gerekir.

Yani kenelere yaklaşmak bile imkansızken.


Bir mum çizmek için TÜM dört tamponu doldurmanız gerekir. Yapamazsınız - hem newCandles_Close'u hem de ....'yi atlayın.