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

 
Vitaly Muzichenko :

Bana kimin rastladığını ve bu çizgiden nasıl çıkacağını bildiğini söyle:

29301441.1475681547.0.0.01.EURUSD.1.1207.0.0000.0.0000.1475690944.1.1213.0.00.000.0.60.

bunun gibi:

-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,

Teşekkür ederim!

ikinci satır, imzalı bir karakter dizisinden daha fazlasıdır. Yani, tüm "dize", bayt bayt basılmış bir ikili yapı olabilir ve belki de ilk önce şifrelenmiştir, bu nedenle 0 yoktur.
 

Tünaydın.

Kendim bir programcı değilim, ancak danışmanlarımın sinyaller hakkında bana e-posta bildirimleri gönderdiğinden emin olmak istiyorum. Görev basit ve işe yarıyor gibi görünüyor, ancak sinyal koşulu gerçekleştiğinde sonsuz sayıda mektup gönderilir.

Her sinyalde yalnızca bir harf gönderilmesine yardımcı olun.

İşte düzenli bir hareketli ortalama için kodumun bir örneği. Ne eklemeli veya düzeltmeli?

 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 :

Tünaydın.

Kendim bir programcı değilim, ancak danışmanlarımın sinyaller hakkında bana e-posta bildirimleri gönderdiğinden emin olmak istiyorum. Görev basit ve işe yarıyor gibi görünüyor, ancak sinyal koşulu gerçekleştiğinde sonsuz sayıda mektup gönderilir.

Her sinyalde yalnızca bir harf gönderilmesine yardımcı olun.

İşte düzenli bir hareketli ortalama için kodumun bir örneği. Ne eklemeli veya düzeltmeli?


datetime mailTime ekleyin ve mektupları yeniden göndermemek için gönderme öncesi saati hatırlayın

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

not. Expert Advisors'da start()'tan OnTick()'e geçmenin zamanı geldi

pps mailTime, EA'nın yeniden başlatılması durumunda terminalin global değişkenlerine de kaydedilmelidir.

 
Maxim Kuznetsov :

datetime mailTime ekleyin ve mektupları yeniden göndermemek için gönderme öncesi saati hatırlayın

not. Expert Advisors'da start()'tan OnTick()'e geçmenin zamanı geldi

pps mailTime, EA'nın yeniden başlatılması durumunda terminalin global değişkenlerine de kaydedilmelidir.

Yardım etmedi. Böylece sonsuz mektuplar gönderir.

 
ev85 :

Tünaydın.

Kendim bir programcı değilim, ancak danışmanlarımın sinyaller hakkında bana e-posta bildirimleri gönderdiğinden emin olmak istiyorum. Görev basit ve işe yarıyor gibi görünüyor, ancak sinyal koşulu gerçekleştiğinde sonsuz sayıda mektup gönderilir.

Her sinyalde yalnızca bir harf gönderilmesine yardımcı olun.

İşte düzenli bir hareketli ortalama için kodumun bir örneği. Ne eklemeli veya düzeltmeli?



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- :
Bu yıl hiç e-posta gönderilmedi ((
 
ev85 :
Bu yıl hiç e-posta gönderilmedi ((
Peki ma neye eşittir? Bu, sıfır çubuğunda bir onay işareti değil mi?
 
-Aleks- :
Peki ma neye eşittir? Bu, sıfır çubuğunda bir kene değil mi?

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

 
ev85 :

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

O zaman her şey açıktır. Sıfır çubuğundaki tik sürekli olarak yeniden hesaplanır - bu nedenle sinyaller her tik ile birlikte gelir.

Şu şekilde deneyin:

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

  }


Genel olarak, genellikle bir karşılaştırma yapılır

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

ma>Aç[0];


 
Maxim Kuznetsov :
ikinci satır, imzalı bir karakter dizisinden daha fazlasıdır. Yani, tüm "dize", bayt bayt yazdırılan ikili bir yapı olabilir ve belki de ilk önce şifrelenmiştir, bu nedenle 0 yoktur.
Evet, bazı işlemlerden sonra dizenin gerçekten de char imzalı olduğu ortaya çıktı. Şimdi soru şu: onu sunucuda okunabilir bir forma nasıl getirebilirim?