초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 141

 
시장과 보류 중인 주문 에서 MT4 거래를 시작하고 닫는 방법을 가르칠 수 있습니까?
 

안녕하세요 프로그래머 여러분!!
나는 양초에 대한 눈금 카운터를 만들고 있는데 뭔가 잘못되었을 것입니다!!! 나는 가격이 오를 때만 틱을 세는 일을 하고 싶다. 그는 오를 때와 내릴 때를 센다(즉, 모든 틱이지만 성장하는 틱만 필요함).

 double CountTickBUY()
{

double old_price;
double delta_cur; 
double price = 0 ;
double old_open_price = 0 ;

for ( int i = OrdersTotal () - 1 ; i >= 0 ; i--)
   {
         if ( OrderSymbol () == _Symbol && OrderMagicNumber () == Magic && OrderType () == OP_BUY )
           {
           old_price = iClose ( NULL , 0 , i);
           price = iOpen ( NULL , 0 , i);

           delta_cur = old_price > price;
           if (delta_cur > 0 ) 
             {
             count_plusbuy++;
             }
           }
   }
   return (count_plusbuy);
}
 
sviter-pro :

안녕하세요 프로그래머 여러분!!
나는 양초에 대한 눈금 카운터를 만들고 있는데 뭔가 잘못되었을 것입니다!!! 나는 가격이 오를 때만 틱을 세는 일을 하고 싶다. 그는 오를 때와 내릴 때를 센다(즉, 모든 틱이지만 성장하는 틱만 필요함).

 int CountTickBUY()
{
   static double     old_price     = Bid ;
   static datetime   time_bar      = Time [ 0 ];
   static int        count_plusbuy = 0 ;
   
   if ( time_bar != Time [ 0 ] )
   {
      count_plusbuy = 0 ;
      time_bar      = Time [ 0 ];
   }
   
   if ( Bid - old_price > 0 )
      count_plusbuy++;
   old_price = Bid ;

   return (count_plusbuy);
}
 
Konstantin Nikitin :

정말 감사합니다!

 

Konstantin Nikitin : Считает тики на кождой свече хорошо, но по 2 раза! Тоесть если отсчет пошел от 1.00000 и дошел до  1.00100 он 100 пунктов щитает, потом когда спустилась цена до  1.00080 он ждет и не считает, но когда цена опять начинает расти от  1.00080 то опять начинает считать пункты, а надо что бы ждал до  1.00100 и от нее считал дальше!!!

 int CountTickBUY()
{
   static double     old_price     = Bid ;
   static datetime   time_bar      = Time [ 0 ];
   static int        count_plusbuy = 0 ;
   
   if ( time_bar != Time [ 0 ] )
   {
      count_plusbuy = 0 ;
      time_bar      = Time [ 0 ];
   }
   
   if ( Bid - old_price > 0 )
      count_plusbuy++;
   old_price = Bid ;

   return (count_plusbuy);
}



 

두 번째 형식이 호출될 때 " IsTradeAllowed " 함수가 정확히 무엇을 확인하는지 설명하십시오.

첫 번째 양식은 자동 거래가 활성화되어 있고 거래 흐름이 자유로운지 확인하는 것으로 알고 있습니다. 두 번째 형태의 부름은 어떻습니까? 두 번째 양식이 호출될 때 어떤 종류의 검사가 발생합니까?

 
Asa saas :

두 번째 형식이 호출될 때 " IsTradeAllowed " 함수가 정확히 무엇을 확인하는지 설명하십시오.

첫 번째 양식은 자동 거래가 활성화되어 있고 거래 흐름이 자유로운지 확인하는 것으로 알고 있습니다. 두 번째 형태의 부름은 어떻습니까? 두 번째 양식이 호출될 때 어떤 종류의 검사가 발생합니까?

호출의 두 번째 형식은 지정된 시간에 지정된 기호에 대한 거래 기회에 대한 정보를 반환합니다.


거래 흐름이 자유롭습니까? IsTradeContextBusy입니다.

 
Alekseu Fedotov :

호출의 두 번째 형식은 지정된 시간에 지정된 기호에 대한 거래 기회에 대한 정보를 반환합니다.


거래 흐름이 자유롭습니까? IsTradeContextBusy입니다.

첫 번째 양식 "IsTradeAllowed"도 거래 흐름이 자유로운지 확인하는 것 같습니까?

나는 주문을 거래하기 전에 시장이 열려 있는지 알아보기 위해 "IsTradeAllowed" 함수의 두 번째 형식을 사용합니다.

그러나 "IsTradeContextBusy"와 같은 무료 스트림의 가용성을 확인하는 기능을 별도로 사용해야 하는지 또는 두 번째 형식 "IsTradeAllowed"가 이미 그러한 확인을 수행하는지 여부를 잘 모르겠습니다.

 
Asa saas :

첫 번째 양식 "IsTradeAllowed"도 거래 흐름이 자유로운지 확인하는 것 같습니까?

나는 주문을 거래하기 전에 시장이 열려 있는지 알아보기 위해 "IsTradeAllowed" 함수의 두 번째 형식을 사용합니다.

그러나 "IsTradeContextBusy"와 같은 무료 스트림의 가용성을 확인하는 기능을 별도로 사용해야 하는지 또는 두 번째 형식 "IsTradeAllowed"가 이미 그러한 확인을 수행하는지 여부를 잘 모르겠습니다.

1. 아니오

2. 아니요, 고문의 도움으로 거래 할 수 없습니다. 손을 사용할 수 있습니다.

3. 거래 흐름을 확인하려면 다른 함수를 사용해야 합니다( IsTradeContextBusy() ).

 
Asa saas :

첫 번째 양식 "IsTradeAllowed"도 거래 흐름이 자유로운지 확인하는 것 같습니까?

예, 확인합니다. 적어도 문서에는 그렇게 나와 있습니다. 왜 이렇게 되었는지는 모르겠지만 사실은 남아 있습니다.

Возвращаемое значение

Возвращает true , если эксперту разрешено торговать и поток для выполнения торговых операций свободен , иначе возвращает false .

나는 주문을 거래하기 전에 시장이 열려 있는지 알아보기 위해 "IsTradeAllowed" 함수의 두 번째 형식을 사용합니다.

그러나 "IsTradeContextBusy"와 같은 무료 스트림의 가용성을 확인하는 기능을 별도로 사용해야 하는지 또는 두 번째 형식 "IsTradeAllowed"가 이미 그러한 확인을 수행하는지 여부를 잘 모르겠습니다.

그리고 여기 두 번째 형식에서는 명확하지 않습니다. 결국 그녀는 미래 또는 과거의 시간에 대한 책임이 있습니다.