MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1354

 
Aleksey Verbin :

안녕하세요, 한 가지 문제가 있습니다.

러시아 문자 대신 상형 문자가 있습니다.   지역 설정을 변경해 보았지만 소용이 없었습니다. 작업 방법을 알고 있습니까?

어디에?
 

모두 좋은 저녁!

나는 고문에 상황이 있습니다. 고문은 상품에 대한 거래가 있는지 여부를 결정하지 않습니다.

특정 도구로 결정해야 하기 때문에 해결 방법을 모르겠습니다. 더욱 정확하게! 그런 기능을 찾을 수 없습니다

이것을 쓰려고했습니다 :

if(OrderSymbol() != "EURUSD")

{

......

}

 
михаил мосинзов :

모두 좋은 저녁!

나는 고문에 상황이 있습니다. 고문은 상품에 대한 거래가 있는지 여부를 결정하지 않습니다.

특정 도구로 결정해야 하기 때문에 해결 방법을 모르겠습니다. 더욱 정확하게! 그런 기능을 찾을 수 없습니다

이것을 쓰려고했습니다 :

if(OrderSymbol() != "EURUSD")

{

......

}

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 06.03.2008                                                     |
//|  Описание : Возвращает флаг существования позиций                          |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    ot - время открытия             ( 0   - любое время открытия)           |
//+----------------------------------------------------------------------------+
bool ExistPositions( string sy= "" , int op=- 1 , int mn=- 1 , datetime ot= 0 ) {
   int i, k= OrdersTotal ();
 
   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if (OrderSymbol()==sy || sy== "" ) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (op< 0 || OrderType()==op) {
             if (mn< 0 || OrderMagicNumber()==mn) {
               if (ot<=OrderOpenTime()) return (True);
            }
          }
        }
      }
    }
  }
   return (False);
}
 
михаил мосинзов :

모두 좋은 저녁!

나는 고문에 상황이 있습니다. 고문은 상품에 대한 거래가 있는지 여부를 결정하지 않습니다.

특정 도구로 결정해야 하기 때문에 해결 방법을 모르겠습니다. 더욱 정확하게! 그런 기능을 찾을 수 없습니다

이것을 쓰려고했습니다 :

if(OrderSymbol() != "EURUSD")

{

......

}

일치하는 마술과 기호에 대해 루프의 각 주문을 확인하십시오.

... Expert Advisor, MQL4 또는 MQL5 중 어떤 언어로 작성하셨습니까?

 
기능이 얼마나 리소스 집약적인지
 Sleep () 

서비스에서 한 시간에 한 번 실행하고 싶습니까? 이것이 올바른 해결책입니까 아니면 다른 것이 더 낫습니까?

 

터미널이 모든 틱을 고려하지 않는 이유는 무엇입니까?

 datetime st = 0 ;
int tics = 0 ;

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

ArraySetAsSeries (time, true );
   ArraySetAsSeries (tick_volume, true );
   
   if (prev_calculated == 0 ) st = time[ 0 ];
   
   else if (time[ 0 ] != st)
     {
      tics++;
       Alert ( "T - " ,tics, " TV - " ,tick_volume[ 0 ]);
     };


방금 큰 계산 캔버스를 작성했으며 얼마나 많은 틱이 계산/건너뛰는지 아는 것이 중요합니다.

* 전략이 스캘핑이기 때문에 이것은 중요합니다.

 
BillionerClub :
기능이 얼마나 리소스 집약적인지

서비스에서 한 시간에 한 번 실행하고 싶습니까? 이것이 올바른 해결책입니까 아니면 다른 것이 더 낫습니까?

이 방법이 더 좋습니다

 if (TimeMinute(time[i])== 0 )
 

좋은 오후에요 여러분! 위 어딘가에서 실생활에서 고문과 거래하기 위해 모든 것이 진드기로 실행되도록 새 막대 모양에 대한 확인을 제거해야하는지 이미 물었습니다. 나는 실제로 모든 것이 진드기로 제어되어야 한다고 들었습니다. 이와 관련하여 다음과 같은 질문이 있습니다. 실생활에서 모든 것이 틱으로 실행된다면 이제 주문이 이런 식으로 열립니다.

 void OnTick ()
{
//--- АО БАЙ--

   /*УСЛОВИЕ 1*/
   if (flag_screen1==en_vbIkl_screen1 &&flag_screen2==en_vbIkl_screen2)
   { // НАЧАЛО УСЛОВИЕ 1
   if (ao_buy!= EMPTY_VALUE && count_orders_market_buy == 0 )
   {
     if ( OrderSend ( Symbol (),OP_BUY,lot,Ask,slippages,Bid-sl,Bid+tp ,comment_ao_market_buy)) Print ( "Buy Open" ); // ОТКРЫВАЕМ БАЙ ОРДЕР
   }
   } // КОНЕЦ УСЛОВИЕ1


}

뭔가 잘못되면 내 고문이 매 틱마다 서버를 망치고 내 계정은 자동 거래에서 연결이 끊어집니다. 왜냐하면 나는 그것을 영원히 이해하는 방법을 모르기 때문입니다. 어떤 검사를 수행해야 하며 오류 또는 기타 좋지 않은 이벤트가 발생하는 경우 내 고문이 서버를 헐뜯지 않고 그러한 일에 대해 차단되지 않도록 하려면 어떻게 해야 합니까? 이 검사의 본질과 작동 원리를 말로 작성하고 주석과 함께 제공된 코드는 폐기하십시오. P/S 부탁드립니다   지식이 풍부한 사람들을 지나치지 말고 형제애 도움 - 성배를 마쳐야합니다 ;-) O_o)))))))))

 
DanilaMactep :

좋은 오후에요 여러분! 위 어딘가에서 실생활에서 고문과 거래하기 위해 모든 것이 진드기로 실행되도록 새 막대 모양에 대한 확인을 제거해야하는지 이미 물었습니다. 나는 실제로 모든 것이 진드기로 제어되어야 한다고 들었습니다. 이와 관련하여 다음과 같은 질문이 있습니다. 실생활에서 모든 것이 틱으로 실행된다면 이제 주문이 이런 식으로 열립니다.

뭔가 잘못되면 내 고문이 매 틱마다 서버를 망치고 내 계정은 자동 거래에서 연결이 끊어집니다. 왜냐하면 나는 그것을 영원히 이해하는 방법을 모르기 때문입니다. 어떤 검사를 수행해야 하며 오류 또는 기타 좋지 않은 이벤트가 발생하는 경우 내 고문이 서버를 헐뜯지 않고 그러한 일에 대해 차단되지 않도록 하려면 어떻게 해야 합니까? 이 검사의 본질과 작동 원리를 말로 작성하고 주석과 함께 제공된 코드는 폐기하십시오. P/S 부탁드립니다   지식이 풍부한 사람들을 지나치지 말고 형제애 도움 - 성배를 마쳐야합니다 ;-) O_o)))))))))

먼저, 조건이 충족될 때 얼마나 많은 주문을 열어야 하는지 결정합니다.

어떻게 계산되나요

count_orders_market_buy 
 
DanilaMactep :

위의 어딘가에서 실생활에서 고문과 거래하기 위해 새 막대 모양에 대한 확인을 제거하여 모든 것이 진드기로 실행되도록 할 필요가 있는지 이미 물었습니다.

아니요, 필요하지 않습니다. 데모에서 했던 것처럼 사용하세요. Expert Advisor가 거래 주문 을 올바르게 보내고 서버 오류 코드에 올바르게 응답하는지 확인하십시오.