Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 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);   
  }
//+------------------------------------------------------------------+

nicht lustig
 
pako:
Das ist nicht lustig.

Haben Sie daran gedacht, 30 Minuten lang so zu antworten?

Das ist keine Antwort. Sei genauer, Paco.

Sie wissen, dass das überhaupt nicht lustig ist, aber die Geschichte schweigt dazu...

 

Jeder Prüfer muss Unsicherheiten einbeziehen.

Das brauche ich Ihnen nicht zu erklären. 2 oder 3 Punkte zu erreichen. 0,1-1 Punkt Provision und so weiter.

Aber auch hier ist es sinnlos, Ihnen zu erklären, dass es noch andere Parameter gibt.

Nehmen wir zum Beispiel an, dass wir auf einen Trend gestoßen sind. Zum Beispiel bei EURUSD. Für den Zeitraum ab Januar dieses Jahres, zum Beispiel, wieder! Wie viel Geld haben wir dann bis jetzt verdient? Sie ist leicht zu berechnen. Aber was? Wenn wir genau den gleichen Geldbetrag investieren. Wir werden in ein paar Tagen genau den gleichen Gewinn erzielen? Davon sollte ein Händler träumen!!! Jetzt kommen wir zur Sache. Strategie? Ist das im Maschinencode möglich? Es muss etwas Ähnliches oder Ähnliches wie die Strategie eines erfahrenen Händlers tun.

Mit einem Wort, die Betrachtung Ihrer Kreation! Was soll man dazu sagen? Ich kann nichts sagen. Wie schlimm ist es! Alles ist so falsch. Alles ist so weit von der wahren Richtung entfernt. Ich schaue nur fern. Ich ruhe mich aus, ich ruhe mich einfach aus!!!

Aber trotzdem viel Glück.

 
new-rena:

Haben Sie daran gedacht, 30 Minuten lang so zu antworten?

Das ist keine Antwort. Sei genauer, Paco.

Sie wissen, dass das überhaupt nicht lustig ist, aber darüber schweigt die Geschichte...

im Warenkorb zählt richtig :)))
 
pako:
im Warenkorb richtig zählt :)))

Noch eine Idee hier und ich gab es (so....):

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

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

 
new-rena:

Wir sollten auch angeben, wann der 1. des Monats auf ein Wochenende fällt, da der Tester die Wochenenden nicht dreht... Ich habe das mit dem Excel nicht gesehen.

Nun, und in der Initialisierung von vor ein paar Monaten UND auf den aktuellen Monat zu rollen würde nicht schaden, um nicht für das Ende der Berechnung der Zahl der Woche einen ganzen Monat warten. Aber das sind alles nur Nuancen ....

Das ist es, was MQL4 so attraktiv macht - der Code ist kurz und klar!

Ich habe im Moment keine Zeit, aber Kim hat alle Funktionen, um nach Daten und Zeiten zu suchen, es gibt den Monatsanfang und die Wochennummer, im Allgemeinen habe ich alles gesehen, ich weiß nicht mehr, wo ich es gesehen habe, aber vielleicht hier: https://forum.mql4.com/ru/38949
 
Dimitri hat für Sie längst alles über die Zeit geschrieben, Tage, Wochen, Monate, Jahre... Erfinden Sie das Rad neu?
 

Ah. Jahre, Monate, Tage oder Wochen. Stunden??? 15 Minuten??? Ah. !5 Minuten gearbeitet und Ah. Ah, wie viel Geld. Oder zwanzig? Und dann wieder. Ah.

 
Karputov Vladimir:

Wenn dem Hauptfenster ein Indikator hinzugefügt werden soll

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;
}

Habe auch den Code der Schaltfläche aus den Beispielen übernommen, .... Wie kann man erreichen, dass das Drücken einer Taste nicht fixiert ist, d.h. dass sie nach der Ausführung ihrer Funktion in ihren Ausgangszustand zurückkehrt ...

 
new-rena:
Benötigen Sie ein benutzerdefiniertes Bedienfeld, mit dem Sie eine beliebige Anzahl von Indikatoren aus einem oder mehreren hinzufügen können?

Ich weiß nicht, wie man es einfacher machen kann, ob es notwendig ist oder nicht...

Darüber werde ich später nachdenken.

Grund der Beschwerde: