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

 

new-rena :
Ок. В каком месте? В конце месяца? Я по календарику проверял...

 //+------------------------------------------------------------------+
//|                                                  WeekOfMonth.mq4 |
//|                                                         new-rena |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "new-rena"
#property link        ""
#property version    "1.00"
#property strict
//--------------------------
double DayOfMonth,WeekOfMonth;
int DayOfWeeks,MonthOfYear,PrevMonth,Delta= 0 ,Show= 0 ;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//--- 
PrevMonth= TimeMonth ( TimeLocal ());
DayOfMonth= TimeDay ( TimeLocal ());
if (DayOfMonth== 1 )
   {
      Delta= TimeDayOfWeek ( TimeLocal ());
      Show= 1 ;
   }
//--- init
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//--- deinit
       return ( 0 );   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
//---   
MonthOfYear= TimeMonth ( TimeLocal ());
DayOfMonth= TimeDay ( TimeLocal ());
DayOfWeeks= TimeDayOfWeek ( TimeLocal ());
if (PrevMonth!=MonthOfYear && DayOfMonth== 1 )
   {
      Delta=DayOfWeeks;
      Show= 1 ;
   }
if (Show== 1 )
   {
      WeekOfMonth= MathCeil ((DayOfMonth+Delta)/ 7 );      
       Print ( "DayOfMonth N " + DoubleToStr (DayOfMonth, 0 ));
       Print ( "WeekOfMonth N " + DoubleToStr (WeekOfMonth, 0 ));
   }

PrevMonth=MonthOfYear;
//--- start
       return ( 0 );   
  }
//+------------------------------------------------------------------+

komik değil
 
pako :
komik değil

Böyle cevap vermenin 30 dakika sürdüğünü mü düşündün?

Bu bir cevap değil. Özellikle Paco.

Başka bir şeyin komik olmadığını biliyorsun, ama hikaye bu konuda sessiz ...

 

Herhangi bir test cihazı hata içermelidir.

Sana açıklama yapmak bana düşmez. Tamamlanacak 2-3 puan. 0.1-1 puan komisyonu. Vb.

Ama yine de size başka parametrelerin de olduğunu açıklamamın bir anlamı yok.

Örneğin, bir trendin içinde olduğumuzu varsayalım. Örneğin EURUSD için. Bu yılın Ocak ayından sonraki dönem için, örneğin, tekrar!!! Bugün ne kadar kazanacağız? Hesaplaması kolaydır. Ama ne? Tamamen aynı paraya yatırım yapıyorsanız. Birkaç gün içinde tam olarak aynı karı elde edecek miyiz? Bir tüccarın hayal etmesi gereken şey budur!! Şimdi, işe başlayalım. Strateji? Yerel kodda böyle bir şey mümkünse? Benzer veya deneyimli bir tüccarın stratejisine yakın bir şey yapmalıdır.

  Tek kelimeyle, yaratılışınıza bakmak! Ne söylenebilir? Hiçbir şey söyleyemem. Her şey ne kadar kötü! Her şey o kadar iyi değil. Her şey gerçek yönden çok uzak. Sadece televizyon izliyorum. Dinleniyorum, Sadece!!!

Ama yine de sana iyi şanslar.

 
new-rena :

Böyle cevap vermenin 30 dakika sürdüğünü mü düşündün?

Bu bir cevap değil. Özellikle Paco.

Başka bir şeyin komik olmadığını biliyorsun, ama hikaye bu konuda sessiz ...

sepette doğru sayılır :)))
 
pako :
sepette doğru sayılır :)))

Her neyse, fikir burada ve ben verdim (yani....):

if (PrevMonth!=MonthOfYear && DayOfMonth== 1 )    {        Delta=DayOfWeeks;       Show= 1 ;    }

WeekOfMonth= MathCeil ((DayOfMonth +Delta )/ 7 ); 

 
new-rena :

Ayın 1'i haftasonuna düştüğünde de yapıştırmalıyız, çünkü. test cihazı hafta sonu dönmüyor ... Eski kürk ağacını görmedim.

Peki, birkaç ay öncesinden VE içinde bulunulan aya kadar başlatmada döndürmek için, bir ay boyunca hafta sayısının hesaplanmasının bitmesini beklememek zarar vermez. Ama bunların hepsi nüanslar ....

MQL4'ü güzel yapan da budur - kod kısa ve anlaşılırdır!

Şimdi fazla zaman yok ama Kim tarih ve saatleri bulmak için tüm fonksiyonlara sahip, hem ayın başı hem de haftanın numarası var, genel olarak her şeyi gördüğüm yerde gördüm - hatırlamıyorum , ama belki burada: https://forum.mql4.com /en/38949
 

Ey. Yıllar, aylar , haftanın günleri . Saat??? 15 dakika??? Ey. !5 dakika çalıştı ve Ah. Ah çok para. Yoksa yirmi mi? Ve sonra tekrar. Ey.

 
Karputov Vladimir :

Ana pencereye bir gösterge eklenmesi gerektiğinde

 int OnInit () 
  { 
   
//--- Создание кнопки 
   if ( ! ObjectCreate ( 0 , "Add_Indicator" , OBJ_BUTTON , 0 , 0 , 0 ) )
  {
  
     Print ( "Кнопка 'Добавить' не создана!" );
     return ( INIT_FAILED );
  }
   else
  {
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_CORNER , CORNER_RIGHT_LOWER );
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_XDISTANCE , 200 );             
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_YDISTANCE , 500 );
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_XSIZE , 80 );
     ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_YSIZE , 20 );

       ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_BGCOLOR , clrWhite );
       ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_STATE , true );
       ObjectSetString ( 0 , "Add_Indicator" , OBJPROP_TEXT , "Добавить" );
     
  }
    
MA_handle= iCustom ( NULL , 0 , "Examples\\Custom Moving Average" ,MA_Period,MA_Shift,MA_Method, PRICE_CLOSE );
   if (MA_handle== INVALID_HANDLE )
//--- попробуем добавить индикатор на график 
 Print ( __FUNCTION__ , ", first_start = " ,first_start);
//return(INIT_FAILED);
   return ( INIT_SUCCEEDED );
  } 
//+------------------------------------------------------------------+
//| Обработка события нажатия кнопок                                 |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,         // идентификатор события   
                   const long & lparam,   // параметр события типа long 
                   const double & dparam, // параметр события типа double 
                   const string & sparam   // параметр события типа string 
                  )                
  {
   long b_state;
   //---
   if (id== CHARTEVENT_OBJECT_CLICK ) // НАЖАТ ГРАФИЧЕСКИЙ ОБЪЕКТ       
         if ( sparam == "Add_Indicator" ) // Нажата кнопка
         {
       if ( ObjectGetInteger ( 0 , "Add_Indicator" , OBJPROP_STATE , 0 , b_state ) )
      {
         if ( b_state == 1 )
        {
          first_start= false ;
           ObjectSetInteger ( 0 , "Add_Indicator" , OBJPROP_BGCOLOR , clrWhite );
           ObjectSetString ( 0 , "Add_Indicator" , OBJPROP_TEXT , "Добавить" );
        }
   }
}
 return ;
}

Ben de örneklerden buton kodunu aldım, .... Butona basma nasıl yapılır sabit değil yani işlevini yürüttükten sonra eski haline dönüyor..

 
new-rena :
Bir veya daha fazla sayıda herhangi bir gösterge numarası eklemenize izin verecek özel bir kontrol paneline mi ihtiyacınız var?

Evet, gerekip gerekmediğini nasıl kolaylaştıracağımı bilmiyorum ..

bunu sonra düşüneceğim