Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 638

 
Vitaly Muzichenko:

Können Sie mir sagen, wer auf diese Linie gestoßen ist und weiß, wie man sie verlassen kann?

29301441,1475681547,0,0.01,EURUSD,1.1207,0.0000,0.0000,1475690944,1.1213,0.00,0.00,0.60,,13134545

wie diese:

-118,120,-39,52,-58,-76,62,-66,-49,-97,-38,-86,-125,-52,-70,-96,89,-23,13,-91,111,74,-79,16,65,127,116,-76,99,5,27,48,42,44,55,-94,84,-72,-63,115,26,18,-47,-46,5,-55,32,68,114,-20,46,-7,79,7,82,78,-91,41,82,-114,121,112,-64,-106,35,-10,24,-128,58,-81,-69,92,34,79,64,-97,52,-95,127,-18,-46,104,104,85,56,93,8,100,14,-52,-88,-38,-28,-76,-49,35,-74,27,120,74,53,124,-104,-59,-1,41,-127,-99,103,104,-38,2,47,-93,68,35,-15,44,123,47,78,-117,15,-114,-46,-98,-108,-26,

Ich danke Ihnen!

Die zweite Zeichenfolge ist einem Array mit Vorzeichen mehr als ähnlich. Das heißt, die ganze "Zeichenkette" könnte einfach eine binäre Struktur sein, die Byte für Byte gedruckt wird, und vielleicht wurde sie vorher verschlüsselt, so dass es keine 0 gibt.
 

Guten Tag.

Ich bin selbst kein Programmierer, aber ich möchte meine EAs dazu bringen, mir E-Mail-Benachrichtigungen über die Signale zu senden. Die Aufgabe ist einfach und scheint zu funktionieren, aber wenn die Signalbedingung erfüllt ist, senden sie eine unendliche Anzahl von E-Mails.

Bitte helfen Sie mir, bei jedem Signal nur eine E-Mail zu senden.

Hier ist ein Beispiel für meinen Code für den einfachen gleitenden Durchschnitt. Was sollte ich hinzufügen oder ändern?

int init()
  {
   return(0);
  }
start()
  {
//-----------------------------------------------------------------------------------------------------
// Сигналы
//-----------------------------------------------------------------------------------------------------
if(Open[1]>ma && Close[1]<ma)  {
bool res = SendMail("Сигнал", " Покупай");
}
if(Open[1]<ma && Close[1]>ma) {
SendMail("Сигна", "Продавай");
}
//-------------------------------------------------------------------
   return(0);
  }

 
ev85:

Guten Tag.

Ich bin selbst kein Programmierer, aber ich möchte meine EAs dazu bringen, mir E-Mail-Benachrichtigungen über die Signale zu senden. Die Aufgabe ist einfach und scheint zu funktionieren, aber wenn die Signalbedingung erfüllt ist, senden sie eine unendliche Anzahl von E-Mails.

Bitte helfen Sie mir, bei jedem Signal nur eine E-Mail zu senden.

Hier ist ein Beispiel für meinen Code für den einfachen gleitenden Durchschnitt. Was sollte ich hinzufügen oder ändern?


Fügen Sie datetime mailTime hinzu und merken Sie sich die Zeit vor dem Senden, so dass Sie die Nachricht nicht erneut senden müssen.

datetime mailTime=0;
int init()
  {
   return(0);
  }

start()
  {
//-----------------------------------------------------------------------------------------------------
// Сигналы
//-----------------------------------------------------------------------------------------------------
if(Open[1]>ma && Close[1]<ma && Time[1]>mailTime)  {
bool res = SendMail("Сигнал", " Покупай");
if (res) mailTime=Time[1];
 }
if(Open[1]<ma && Close[1]>ma && Time[1]>mailTime) {
bool res=SendMail("Сигна", "Продавай");
if (res) mailTime=Time[1];
 }
//-------------------------------------------------------------------
   return(0);
  }

ps. es ist an der Zeit, in EAs von start() zu OnTick() zu wechseln

pps. mailTime sollte auch in globalen Variablen des Terminals gespeichert werden, falls Expert Advisor neu gestartet wird.

 
Maxim Kuznetsov:

datetime mailTime hinzufügen und die Zeit vor dem Versenden speichern, damit Sie die E-Mail nicht erneut versenden müssen

ps. Es ist an der Zeit, in EAs von start() zu OnTick() zu wechseln

pps. Die mailTime sollte auch in den globalen Variablen des Terminals gespeichert werden, falls der EA neu gestartet wird.

Es hat nicht funktioniert. Es sendet die ganze Zeit über Nachrichten.

 
ev85:

Guten Tag.

Ich bin selbst kein Programmierer, aber ich möchte meine EAs dazu bringen, mir E-Mail-Benachrichtigungen über die Signale zu senden. Die Aufgabe ist einfach und scheint zu funktionieren, aber wenn die Signalbedingung erfüllt ist, senden sie eine unendliche Anzahl von E-Mails.

Bitte helfen Sie mir, bei jedem Signal nur eine E-Mail zu senden.

Hier ist ein Beispiel für meinen Code für den einfachen gleitenden Durchschnitt. Was sollte ich hinzufügen oder ändern?



static datetime TimeN=0;
int init()
  {
   return(0);
  }
start()
  {
//Операции выполняются только при появлении следующего бара
   datetime TimeC=iTime(NULL,TF,0);
   if(TimeN==0)TimeN=TimeC;
   if(TimeN==TimeC) return;
   TimeN=TimeC;

//-----------------------------------------------------------------------------------------------------
// Сигналы
//-----------------------------------------------------------------------------------------------------
if(Open[1]>ma && Close[1]<ma)  {
bool res = SendMail("Сигнал", " Покупай");
}
if(Open[1]<ma && Close[1]>ma) {
SendMail("Сигна", "Продавай");
}
//-------------------------------------------------------------------
   return(0);
  }
 
-Aleks-:
In diesem Jahr werden überhaupt keine E-Mails mehr verschickt((
 
ev85:
In diesem Jahr werden überhaupt keine E-Mails verschickt((
Und was ist deine Ma gleich? Handelt es sich zufällig um die Ma auf der Nullleiste?
 
-Aleks-:
Was ist also ma gleich? Ist es nicht zufällig ma auf der Nullleiste?

ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);

 
ev85:

ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);

Dann ist alles klar. Der Mach auf dem Null-Balken wird ständig neu berechnet - die Signale kommen also bei jedem Tick.

Versuchen Sie es auf diese Weise:

static datetime TimeN=0;

int Signal=0;


int init()

  {

   return(0);

  }

start()

  {

//Операции выполняются только при появлении следующего бара

   datetime TimeC=iTime(NULL,TF,0);

   if(TimeN==0)TimeN=TimeC;

   if(TimeN==TimeC && Signal==1) return;

   TimeN=TimeC;

   Signal=0;


//-----------------------------------------------------------------------------------------------------

// Сигналы

//-----------------------------------------------------------------------------------------------------

if(Open[1]>ma && Close[1]<ma)  

{

bool res = SendMail("Сигнал", " Покупай");

Signal=1;

}

if(Open[1]<ma && Close[1]>ma) 

{

SendMail("Сигнал", "Продавай");

Signal=1;

}

   return(0);

  }


Im Allgemeinen wird ein Vergleich durchgeführt

ma=iMA(NULL,0,GleitendePeriode,MovingShift,MODE_SMA,PRICE_CLOSE,1);

ma>Öffnen[0];


 
Maxim Kuznetsov:
die zweite Zeichenkette ist einem Array aus vorzeichenbehafteten Zeichen mehr als ähnlich. Das heißt, die gesamte "Zeichenkette" kann nur eine binäre Struktur sein, die Byte für Byte gedruckt wird, und sie kann vorher verschlüsselt worden sein, so dass es keine 0
Ja, nach einigem Hin und Her stellte sich heraus, dass die Zeichenfolge tatsächlich ein vorzeichenbehaftetes Zeichen ist. Nun stellt sich die Frage: Wie kann man sie auf dem Server lesbar machen?
Grund der Beschwerde: