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

 
Sergey Savinkin :

İşler. ))

Ve ne kadar akıllı bir forum motoru ... Kodun eklenmesiyle ilgili tüm talimatların bulunduğu bağlantıyı kendim verdim.

 
Alexey Viktorov :

Ve gerçekten... neden daha iyi olmak için çabalasın ki...

Bu fonksiyonlara ne kadar fazladan kod yazıldığını ve bu kendi kendine yazılan fonksiyonları çağırarak ne kadar kod yazdığınızı sayın.

Ticarette daha iyi olmaya çalışıyorum ve bu hedefe doğru ilerlemek için kodlamaya ihtiyacım var.

Sene sonunda aradaki fark 0,1 saniye ise canını sıkmanın bir anlamı var mı?

Bu kodu fonksiyonsuz yapmayı ve çalışmasını hızlandırmayı gösterebilir misiniz?

 
Aleksey Vyazmikin :

Ticarette daha iyi olmaya çalışıyorum ve bu hedefe doğru ilerlemek için kodlamaya ihtiyacım var.

Sene sonunda aradaki fark 0,1 saniye ise canını sıkmanın bir anlamı var mı?

Bu kodu fonksiyonsuz yapmayı ve çalışmasını hızlandırmayı gösterebilir misiniz?

Yani her şeyi yazmışsın. Sadece tüm bunlar mql4'ün altına sarılır. Böyle bir sarmalayıcı olmadan yapmak mümkün mü?

Ve bu

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

Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5

Aleksey Vyazmikin , 2018.05.24 12:30

Her şey yavaş yavaş gidiyor, ancak geriye ne kaldığını bilmesem de başlangıçta benzer işlevlerin ana dizisini buradan aldım.

 ENUM_TIMEFRAMES TFMigrate( int tf)
  {
   switch (tf)
     {
       case 0 : return ( PERIOD_CURRENT );
       case 1 : return ( PERIOD_M1 );
       case 5 : return ( PERIOD_M5 );
       case 15 : return ( PERIOD_M15 );
       case 30 : return ( PERIOD_M30 );
       case 60 : return ( PERIOD_H1 );
       case 240 : return ( PERIOD_H4 );
       case 1440 : return ( PERIOD_D1 );
       case 10080 : return ( PERIOD_W1 );
       case 43200 : return ( PERIOD_MN1 );

       case 2 : return ( PERIOD_M2 );
       case 3 : return ( PERIOD_M3 );
       case 4 : return ( PERIOD_M4 );
       case 6 : return ( PERIOD_M6 );
       case 10 : return ( PERIOD_M10 );
       case 12 : return ( PERIOD_M12 );
       case 16385 : return ( PERIOD_H1 );
       case 16386 : return ( PERIOD_H2 );
       case 16387 : return ( PERIOD_H3 );
       case 16388 : return ( PERIOD_H4 );
       case 16390 : return ( PERIOD_H6 );
       case 16392 : return ( PERIOD_H8 );
       case 16396 : return ( PERIOD_H12 );
       case 16408 : return ( PERIOD_D1 );
       case 32769 : return ( PERIOD_W1 );
       case 49153 : return ( PERIOD_MN1 );
       default : return ( PERIOD_CURRENT );
     }
  }

sadece sessiz korku ... Bütün bunlar ne için ???

Genel olarak, burada kurs yoktur. Üzgünüm, daha fazla eleştiri yok.

 
Alexey Viktorov :

Yani her şeyi yazmışsın. Sadece tüm bunlar mql4'ün altına sarılır. Böyle bir sarmalayıcı olmadan yapmak mümkün mü?

Ve bu


sadece sessiz korku ... Bütün bunlar ne için ???

Genel olarak, burada kurs yoktur. Üzgünüm, daha fazla eleştiri yok.

Eh, yeni başlayanlar için nasıl daha iyi olduğunu gösterme arzusu olmadığı için ...

Korkuyu görmüyorum, MT4'te zaman aralığı genellikle dakikaların katları olan sayılarla belirtilir, bu MT5'te mantıklı değildir, ancak kodu taşımayı kolaylaştırır.

 
Aleksey Vyazmikin :

Eh, yeni başlayanlar için nasıl daha iyi olduğunu gösterme arzusu olmadığı için ...

Korkuyu görmüyorum, MT4'te zaman aralığı genellikle dakikaların katları olan sayılarla belirtilir, bu MT5'te mantıklı değildir, ancak kodu taşımayı kolaylaştırır.

Neden, buna sahip olmak, onu dakika sayısına çevir ve sonra geri gönder ???

16408, PERIOD_D1'den veya 49153, PERIOD_MN1'den daha mı net?

Периоды графиков - Константы графиков - Стандартные константы, перечисления и структуры - Справочник MQL4
Периоды графиков - Константы графиков - Стандартные константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql4-программа. Перечисление ENUM_TIMEFRAMES содержит значения стандартных таймфреймов, онлайновые графики финансовых...
 

Merhaba, EA'da grafiğin en yüksek döneminden mevcut ATR değerini bilmek istiyorum. Bir tamsayı değeri.

 #include <Trade\SymbolInfo.mqh> 
CSymbolInfo    m_symbol;
//===
input int              ATRper= 7 ;         //ATR Period
input ENUM_TIMEFRAMES ATRtimeframe= PERIOD_CURRENT ; //«Time_Frame_ ATR»
int             handle_iCustom;
double atr_tp;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//---
   if (!m_symbol.Name( Symbol ())) // sets symbol name
       return ( INIT_FAILED );
   handle_iCustom= iATR (m_symbol.Name(),ATRtimeframe,ATRper);
//--- if the handle is not created 
   if (handle_iCustom== INVALID_HANDLE )
     {
       //--- tell about the failure and output the error code 
       PrintFormat ( "Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d" ,
                  m_symbol.Name(),
                   EnumToString ( Period ()),
                   GetLastError ());
       //--- the indicator is stopped early 
       return ( INIT_FAILED );
     }
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
   int Bar_=0;
   atr_tp= iCustomGet(handle_iCustom  , 0 ,Bar_);
   atr_tp= NormalizeDouble (atr_tp, Digits ())/ _Point ;
   atr_tp=( int )atr_tp;
   Comment ( "atr_" ,atr_tp);
  }
//+------------------------------------------------------------------+
double iCustomGet( int handle, const int buffer, const int index)
  {
   double Custom[ 1 ];
//--- reset error code 
   ResetLastError ();
//--- fill a part of the iCustom array with values from the indicator buffer that has 0 index 
   if ( CopyBuffer (handle,buffer,index, 1 ,Custom)< 0 )
     {
       //--- if the copying fails, tell the error code 
       PrintFormat ( "Failed to copy data from the iCustom indicator, error code %d" , GetLastError ());
       //--- quit with zero result - it means that the indicator is considered as not calculated 
       return ( 0.0 );
     }
   return (Custom[ 0 ]);
  }
///

Hata nerede?

 
lil_lil :

Merhaba, EA'da grafiğin en yüksek döneminden mevcut ATR değerini bilmek istiyorum. Bir tamsayı değeri.

Hata nerede?

Ve ne yazıyor? Neye yemin ediyor?

 
Sergey Savinkin :

Ve ne yazıyor? Neye yemin ediyor?

Küfür etme, yalan söyleme. Eski olandaki gösterge "8" gösteriyor ve yorumda danışman "6" yazıyor

 
lil_lil :

Küfür etme, yalan söyleme. Kıdemli üzerindeki gösterge "8" gösterir ve yorumda danışman "6" yazar

Danışmanınızı 5 dakikalık bir süre içinde başlattım, ATP süresi 14, ATP zaman çerçevesi 1 saat. Her şey hem yorumlarda hem de grafikte tam olarak görünüyor.

 
lil_lil :

Evet, ATRtimeframe=PERIOD_CURRENT ile şu anki konuda bana yalan söylüyor


Bana öyle geliyor ki buradaki nokta hiç kodda değil. İşte benim PERIOD_CURRENT'im


Neden: