[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 253

 
Dimka-novitsek:

Um die Anzahl der Punkte auszudrücken, müssen Sie durch Punkt dividieren. Dies scheint eine so genannte vordefinierte Variable zu sein, die die Größe eines einzelnen Punktes angibt. Oh nein, nein, das ist es nicht. Nehmen wir an, Sie haben einen bestimmten Kurswert, z.B. 1,2244. Wenn Sie den Kurs um 5 Punkte erhöhen wollen, müssen Sie ihn als 1,2244+(5*Punkt) schreiben, dann ergibt sich 1,2249. Verstehen Sie das?


Jetzt macht das alles Sinn, vielen Dank!
 

Ich kann keine Funktion in den Truthahn einfügen. (' - Funktion zur Ermittlung unerwarteter C:. \ Ò Der \experimentelle \ Indikator \IndexDiamond mq4 (142, 19)

Was vermisst er? '(' - Funktionsdefinition unerwartet C:\Òterminalëë\experts\indicators\ÈäþêÄèìîínà .mq4 (142, 19)

//+------------------------------------------------------------------+
//|                                                 ИндюкДимона .mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property link      "http://www.metaquotes.net"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 DarkBlue
#import "user32.dll"
   int   PostMessageA(int  hWnd,int  Msg,int  wParam,string lParam);
#import
#define WM_COMMAND                     0x0111
int delimiter = 0;



double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];
double СинняячертаBuffer3[];
 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 extern int T=4,K=200;
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
 int pereklutsatel;
double naklon,linija2; int P;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()

  {SetIndexStyle(0,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(0,ВерхняячертаBuffer1);//Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue(0,0.0);
   
   SetIndexStyle(1,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(1,НижняячертаBuffer2);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(1,0.0);
   
   SetIndexStyle(2,DRAW_SECTION,STYLE_SOLID,T,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(2,СинняячертаBuffer3);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(2,0.0);
//---- indicators




//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
   
   for ( int J=0;J<=49;J++){
//----

  // for(int i=Bars; i>=0;i--)
  int i=Bars;
      бар_вершина=iHighest( NULL,  timeframe, MODE_HIGH, K, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble ( бар_вершина/2,0), start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble (бар_вершина*1.5,0), бар_вершина ) ;
       начало=Low[ бар_начало ];
       
      //   Alert ( " бар_вершина   ",бар_вершина  , " вершина  " , вершина ,
      //    " бар_основание_первого_снижения  " ,бар_основание_первого_снижения  , " основание_первого_снижения  " , основание_первого_снижения , 
      //    " бар_начало  " , бар_начало   , " начало  " , начало    );
  if(начало>основание_первого_снижения){naklon=(начало-основание_первого_снижения)/(бар_начало-бар_основание_первого_снижения);
 // Alert("naklon  ", naklon);
    НижняячертаBuffer2[бар_начало]=начало;linija2=начало;for(i=бар_начало-1;i>=0;i--){linija2=linija2-naklon;
  //  Alert ("linija2  " , linija2 );
    НижняячертаBuffer2[i]=linija2;
   //  Alert("НижняячертаBuffer2[i]  ", НижняячертаBuffer2[i] , "  i " , i);
   }
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;}
    
    
         for (i=0;i<100;i++){  СинняячертаBuffer3[i]= Open[i];}
          for (i=330;i<500;i++){  СинняячертаBuffer3[i]= Open[i];}

     ВерхняячертаBuffer1[бар_начало]=начало;
     
 double точка4; int бар_точка4;   бар_точка4=iHighest( NULL,  timeframe, MODE_HIGH, бар_основание_первого_снижения, 3 ) ; 
  точка4 =High[ бар_точка4 ];  
   
   if(вершина>точка4){naklon=(начало-точка4)/(бар_начало-бар_точка4);  
   double linija1=начало;for(i=бар_начало-1;i>=0;i--){linija1=linija1-naklon;ВерхняячертаBuffer1[i]=linija1; }}
   
 double vulf=НижняячертаBuffer2[0];
  if ( vulf==Ask&&vulf==Bid)vulf=1;
  else{ for (vulf=vulf+Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf-Point){
           if ( vulf==Ask&&vulf==Bid){vulf=1;}} 
      for (vulf=vulf-Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf+Point){
           if ( vulf==Ask&&vulf==Bid)vulf=1;} 
              
           
           
           }
           
           
   if (vulf==1){Comment ("  Есть вульв!!! "  , "  timeframe " , timeframe);return(0);  }
   
   if (vulf!=1&&pereklutsatel==1) {    
   
     if(delimiter<3){delimiter++;Comment(delimiter);return(0);}
   delimiter=0;
    fChangePeriod();P++;
                                 
                   }  
 if (P>8){  K=K+50;return(0);P=0; }    
//----
   return(0);
  }
//+------------------------------------------------------------------+


void fChangePeriod(){int ii,hwd = WindowHandle(Symbol(),Period());
   switch(Period()){
      case PERIOD_W1    : ii = 33134; break; //PERIOD_D1;
      case PERIOD_D1    : ii = 33136; break; //PERIOD_H4;
      case PERIOD_H4    : ii = 33135; break; //PERIOD_H1;
      case PERIOD_H1    : ii = 33140; break; //PERIOD_M30;
      case PERIOD_M30   : ii = 33139; break; //PERIOD_M15;
      case PERIOD_M15   : ii = 33138; break; //PERIOD_M5;
      case PERIOD_M5    : ii = 33137; break; //PERIOD_M1;
      case PERIOD_M1    : ii = 33141; break; //PERIOD_W1;
   }     
   PostMessageA(hwd, WM_COMMAND, ii, 0);
   return;
}
 
Können Sie mir sagen, ob es bereits einen Indikator gibt, der den Index (Korb) der Währungen in Prozent berechnet?
zum Beispiel von
Euro 37,4
Japanischer Yen 9,4
Pfund Sterling 11,3
U.S. Dollar 41,9
 

Hallo Leute, könntet ihr einem Neuling bitte erklären, wie der "mikahekin"-Indikator den angezeigten Puffer verändert? Und wie bringe ich die "Alarm"-Funktion dazu, bei einem Trendwechsel aufzurufen?

P.S. Der Indikator steht unten.

Dateien:
 

Können Sie mir sagen, ob es möglich ist, eine Datei mit der Erweiterung ex4 zu knacken, die auf dem Passwort steht? Und was sonst noch getan werden kann, außer dem Passwort in das Tutorial Kovalev geschrieben, so dass der Experte nicht gehackt wird (wenn möglich, natürlich) ?

Ich danke Ihnen.

 
Skander:

Und was kann man außer dem Passwort aus Kovalevs Anleitung noch tun, um zu verhindern, dass der Experte gehackt wird (falls das überhaupt möglich ist)?

Lassen Sie sie einbrechen. Das spielt keine Rolle. Kein Expert Advisor wird den Markt verändern, und jeder auf dem Markt kann kein Geld verdienen, es ist nicht möglich.
 
Skander:

Sagen Sie mir, ob es möglich ist, eine Datei mit der Erweiterung ex4 zu knacken, die auf dem Passwort steht.

können Sie.
 

Hallo, Fachleute! Bitte beraten Sie mich, ich habe die Moving Average Expert Advisor testen, aber nach dem Wochenende der Tester gibt Fehler 131 falsche Volumina ... aber vor, dass alles in Ordnung war ... Ich habe mit einer Plattform von MetaQuotes Software Corp getestet .

 
Zhunko:

Dieses Skript funktioniert bei mir:

Dieser Experte arbeitet auf seltsame Weise. Man könnte sagen, es funktioniert nicht. An sich schaltet die TF nur bis M5.

Ich warte auf die echten Zecken. Ich verstehe nicht, wie das Problem entstanden ist. In den neuen Builds von MT4 hat sich etwas geändert.

Ich habe den Code des Expert Advisors durcheinander gebracht. Der geloopte EA schaltet die TF von selbst um, aber der Code ist zu umständlich.

Es könnte noch einfacher sein. Dies ist für diejenigen, die Zugang zur autonomen Aktualisierung der Karte haben (sie wird am Samstag und Sonntag funktionieren):

#include <ServicesMT4.mqh>
int g_hwndChart = NULL;
int g_nCounter = 0;

void init()
 {
  g_hwndChart = WindowHandle(Symbol(), Period()); // Получаем системный дескриптор графика.
  if (UninitializeReason() == 0) ServiceRefreshChart(g_hwndChart, 2000); // Запускаем обновление графика каждые 2 секунды.
 }

void deinit()
 {
  if (UninitializeReason() == REASON_REMOVE || UninitializeReason() == REASON_CHARTCLOSE)
   {
    ServiceStopRefreshChart(g_hwndChart); // Останавливаем обновление.
   }
 }

void start()
 {
  ServiceSetTimeframeByNumber(g_hwndChart, g_nCounter % 9);
  g_nCounter++;
  Sleep(2000);
 }
Dies ist für diejenigen, die keinen Zugang zu Offline-Chart-Updates haben:
#include <ServicesMT4.mqh>
int g_hwndChart = NULL;
int g_nCounter = 0;

void init()
 {
  g_hwndChart = WindowHandle(Symbol(), Period()); // Получаем системный дескриптор графика.
 }

void start()
 {
  ServiceSetTimeframeByNumber(g_hwndChart, g_nCounter % 9);
  g_nCounter++;
  Sleep(2000);
 }

Oder so:

#include <ServicesMT4.mqh>
int g_nCounter = 0;

void start()
 {
  ServiceSetTimeframeByNumber(WindowHandle(Symbol(),Period()), g_nCounter % 9);
  g_nCounter++;
  Sleep(2000);
 }

Nun, was denkst du, Rustam? Hat jemand hier in den letzten 2 Tagen den Code der TF-Umschaltung in Expert Advisor gezeigt? Du denkst, du bist ein Profi, aber du konntest es nicht herausfinden. Sie konnten den Fehler in einem einfachen Code nicht erkennen. Aber Sie haben es geschafft, die Entwicklung von jemand anderem zu loben.

 

Vadim, niemand bezweifelt deine Genialität, ich meinte, dass all dies mit einfacheren API-Tools möglich ist, womit der Fragesteller begann, aber anstatt zu erklären und zu helfen, hast du das Gespräch wie üblich auf dein eigenes Thema gelenkt. Und die Folgen werden nicht lange auf sich warten lassen.

Was mich betrifft - alles bei mir schaltet, funktioniert, immer, und wie es sollte:

>
Grund der Beschwerde: