초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 638

 
Vitaly Muzichenko :

누가 이 라인을 건너왔는지 알고 있는지 알려주십시오.

29301441.1475681547.0.0.01,EURUSD,1.1207.0.0000.0.0000.1475690944.1.1213.0.00.00.0.60

이와 같이:

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

고맙습니다!

두 번째 줄은 부호 있는 char 배열 이상입니다. 즉, 전체 "문자열"은 단순히 바이트 단위로 인쇄된 이진 구조일 수 있으며 아마도 먼저 암호화되었으므로 0이 없습니다.
 

안녕하세요.

나는 프로그래머가 아니지만 조언자들로부터 신호에 대한 이메일 알림이 나에게 보내졌는지 확인하고 싶습니다. 작업은 간단하고 잘 되는 것 같지만 신호에 대한 조건이 발생하면 무한한 수의 문자가 전송됩니다.

각 신호에 하나의 편지만 보내도록 도와주세요.

다음은 일반 이동 평균 에 대한 내 코드의 예입니다. 추가하거나 수정해야 할 사항은 무엇입니까?

 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 :

안녕하세요.

저는 프로그래머는 아니지만 조언자가 신호에 대한 이메일 알림을 보내도록 하고 싶습니다. 작업은 간단하고 잘 되는 것 같지만 신호에 대한 조건이 발생하면 무한한 수의 문자가 전송됩니다.

각 신호에 하나의 편지만 보내도록 도와주세요.

다음은 일반 이동 평균 에 대한 내 코드의 예입니다. 추가하거나 수정해야 할 사항은 무엇입니까?


datetime mailTime을 추가하고 편지를 다시 보내지 않도록 미리 보낸 시간을 기억하십시오.

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

추신. Expert Advisors에서 start()에서 OnTick()으로 전환할 시간입니다.

pps EA가 다시 시작될 경우를 대비하여 터미널의 전역 변수에도 mailTime을 저장해야 합니다.

 
Maxim Kuznetsov :

datetime mailTime을 추가하고 문자를 다시 보내지 않도록 미리 보낸 시간을 기억하십시오.

추신. Expert Advisors에서 start()에서 OnTick()으로 전환할 시간입니다.

pps EA가 다시 시작될 경우를 대비하여 터미널의 전역 변수에도 mailTime을 저장해야 합니다.

도움이되지 않았습니다. 그래서 그는 끝없이 편지를 보낸다.

 
ev85 :

안녕하세요.

저는 프로그래머가 아니지만 조언자가 신호에 대한 이메일 알림을 보내도록 하고 싶습니다. 작업은 간단하고 잘 되는 것 같지만 신호에 대한 조건이 발생하면 무한한 수의 문자가 전송됩니다.

각 신호에 하나의 편지만 보내도록 도와주세요.

다음은 일반 이동 평균 에 대한 내 코드의 예입니다. 추가하거나 수정해야 할 사항은 무엇입니까?



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- :
올해는 이메일이 전혀 발송되지 않습니다((
 
ev85 :
올해는 이메일이 전혀 발송되지 않습니다((
그래서 ma는 무엇과 같습니까? 이것은 혹시 제로 바의 눈금이 아닙니까?
 
-Aleks- :
그래서 ma는 무엇과 같습니까? 이것은 혹시 제로 바의 눈금이 아닙니까?

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

 
ev85 :

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

그러면 모든 것이 명확해집니다. 0 표시줄의 눈금은 지속적으로 다시 계산되므로 신호는 모든 눈금과 함께 표시됩니다.

다음과 같이 시도하십시오.

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

  }


일반적으로 비교는 일반적으로

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

ma>열기[0];


 
Maxim Kuznetsov :
두 번째 줄은 부호 있는 char 배열 이상입니다. 즉, 전체 "문자열"은 단순히 바이트 단위로 인쇄된 이진 구조일 수 있으며 아마도 먼저 암호화되었으므로 0이 없습니다.
예, 몇 가지 작업 후에 문자열이 실제로 서명된 char인 것으로 나타났습니다. 이제 문제는 서버에서 읽을 수 있는 형식으로 가져오는 방법입니다.
사유: