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

 

나는 아무것도 이해하지 못한다. 내 질문은 중재자에 의해 MKL5에서 MKL4로 전송되었습니다. 링크를 따라갔습니다. 예, 내 질문이 걸려있지만 마지막 답변은 2018년 2월 5일입니다. 나는 여기에 갔다 - 또한 MKL4와 삶이 한창입니다 ... 그렇다면 중재자는 왜 그것을 죽은 스레드에 던집니까? 신경 쓰지 마. 이제 본질적으로: 저는 여기에 "문제"를 던집니다.


Vladimir Karputov :

조건 1의 경우 식별자를 매직 넘버 +1, 조건 2의 경우 매직 넘버 +2 등으로 설정합니다. 따라서 나중에 이 포지션이 조건 1 또는 조건 2에 따라 열렸다는 것을 알 수 있습니다 ...

안녕하세요. BY 한 포지션에 대해서만 밝혀졌습니다. CELL에 대한 매직 세트가 어떤 이유로 작동하지 않습니다. 물론 마술사를 제외하고는 모든 것이 완전히 동일합니다. 내가 뭘 잘못했어?

 int total= OrdersTotal ();

       for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)

      {

         if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))

         {

         if ( TimeCurrent ()> OrderOpenTime ()+ 100 && OrderTicket () && OrderType ()== OP_BUY && ( MathAbs (WPR1)< 5 ))

         rez =   OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble ( MarketInfo ( OrderSymbol (), MODE_BID ), int ( MarketInfo ( OrderSymbol (), MODE_DIGITS ))),slippage,Yellow); 

        

         if ( TimeCurrent ()> OrderOpenTime ()+ 100 && OrderTicket () && OrderType ()== OP_BUY && OrderMagicNumber == 111 && MathAbs (WPR1)< 20 )

         rez =   OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble ( MarketInfo ( OrderSymbol (), MODE_BID ), int ( MarketInfo ( OrderSymbol (), MODE_DIGITS ))),slippage,Yellow);

      

         if ( TimeCurrent ()> OrderOpenTime ()+ 100 && OrderTicket () && OrderType ()== OP_SELL && OrderMagicNumber == 222 && MathAbs (WPR1)> 97.55 )

         rez =   OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble ( MarketInfo ( OrderSymbol (), MODE_ASK ), int ( MarketInfo ( OrderSymbol (), MODE_DIGITS ))),slippage,Yellow); 

           

         if ( TimeCurrent ()> OrderOpenTime ()+ 100 && OrderTicket () && OrderType ()== OP_SELL && MathAbs (WPR1)> 96 )

         rez =   OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble ( MarketInfo ( OrderSymbol (), MODE_ASK ), int ( MarketInfo ( OrderSymbol (), MODE_DIGITS ))),slippage,Yellow);               

         }

       continue ;  

      } 
 
novichok2018 :

나는 아무것도 이해하지 못한다. 내 질문은 중재자에 의해 MKL5에서 MKL4로 전송되었습니다. 링크를 따라갔습니다. 예, 내 질문이 걸려있지만 마지막 답변은 2018년 2월 5일입니다. 나는 여기에 갔다 - 또한 MKL4와 삶이 한창입니다 ... 그렇다면 중재자는 왜 그것을 죽은 스레드에 던집니까? 신경 쓰지 마. 이제 본질적으로: 저는 여기에 "문제"를 던집니다.


안녕하세요. BY 한 포지션에 대해서만 밝혀졌습니다. CELL에 대한 매직 세트가 어떤 이유로 작동하지 않습니다. 물론 마술사를 제외하고는 모든 것이 완전히 동일합니다. 내가 뭘 잘못했어?

1. 그는 mql4를 모릅니다.

2. 마법 222로 주문을 닫으려면 먼저 마법 222로 주문을 열어야 합니다. SELL 주문이 열리는 마법을 보세요.

3. OrderMagicNumber 뒤에 대괄호()가 있어야 합니다.

 if ( TimeCurrent ()> OrderOpenTime ()+ 100 && OrderTicket () && OrderType ()== OP_SELL && OrderMagicNumber == 222 && MathAbs (WPR1)> 97.55 )

4. 조건에서 강조 표시되는 이유는 무엇입니까?

 if ( TimeCurrent ()> OrderOpenTime ()+ 100 && OrderTicket () && OrderType ()== OP_BUY && ( MathAbs (WPR1)< 5 ))
 

사람들은 그러한 질문을 가지고 있습니다. 변수의 값을 1차원 배열에 넣는 방법은 무엇입니까?

도움말을 보내지 마십시오. 유사한 작업에 대한 예가 없습니다.


특정 조건에서 변경되는 변수가 있다고 가정해 보겠습니다.

이 변수의 마지막 3개 값을 배열에 기록해야 합니다. mql4에서는 어떻게 구현됩니까?


나는 int mas[3]를 씁니다.

매스[]=a; 변경되는 조건 후 루프 내부,

논리적으로 해야 하지만 nifiga는 작동하지 않습니다. 컴파일러가 ']'를 발행합니다. 표현식이 예상됩니다. 대괄호 안의 mas[]=a에 알 수 없는 표현식을 넣어야 합니다.

루프의 각 반복에서 변수 값으로 배열을 채우는 MQL4의 함수가 있습니까?


 
John Smith :

사람들은 이러한 질문을 가지고 있습니다. 변수의 값을 1차원 배열에 넣는 방법은 무엇입니까?

도움말을 보내지 마십시오. 유사한 작업에 대한 예가 없습니다.


특정 조건에서 변경되는 변수가 있다고 가정해 보겠습니다.

이 변수의 마지막 3개 값을 배열에 기록해야 합니다. mql4에서는 어떻게 구현됩니까?


나는 int mas[3]를 씁니다.

매스[]=a; 변경되는 조건 후 루프 내부,

논리적으로 해야 하지만 nifiga는 작동하지 않습니다. 컴파일러가 ']'를 발행합니다. 표현식이 예상됩니다. 대괄호 안의 mas[]=a에 알 수 없는 표현식을 넣어야 합니다.

루프의 각 반복에서 변수 값으로 배열을 채우는 MQL4의 함수가 있습니까?


배열의 어떤 셀에 변수 'a'의 값을 다음과 같이 배치한다고 생각하십니까? mas[]=a; ?

나는 당신을 도움으로 보낼 것입니다. 처음부터 읽으십시오 :)

 
John Smith :

사람들은 그러한 질문을 가지고 있습니다. 변수의 값을 1차원 배열에 넣는 방법은 무엇입니까?

도움말을 보내지 마십시오. 유사한 작업에 대한 예가 없습니다 .


특정 조건에서 변경되는 변수가 있다고 가정해 보겠습니다.

이 변수의 마지막 3개 값을 배열에 기록해야 합니다. mql4에서는 어떻게 구현됩니까?


나는 int mas[3]를 씁니다.

매스[]=a; 변경되는 조건 후 루프 내부,

논리적으로 해야 하지만 nifiga는 작동하지 않습니다. 컴파일러가 ']'를 발행합니다. 표현식이 예상됩니다. 대괄호 안의 mas[]=a에 알 수 없는 표현식을 넣어야 합니다.

루프의 각 반복에서 변수 값으로 배열을 채우는 MQL4의 함수가 있습니까?


아마도 코드의 예뿐만 아니라 다른 문자도 읽어야 할 것입니다.

다음은 문서의 인용문입니다.

배열 작업을 위한 함수 그룹

최대 4차원 배열이 허용됩니다. 각 차원은 0에서 dimension_size-1 까지 인덱싱됩니다 . 50개 요소의 1차원 배열의 특별한 경우 첫 번째 요소에 액세스하는 것은 array[0], 마지막 요소인 array[49]처럼 보입니다 .

 
Alexey Viktorov :

1. 그는 mql4를 모릅니다.

2. 마법 222로 주문을 닫으려면 먼저 마법 222로 주문을 열어야 합니다. SELL 주문이 열리는 마법을 보세요.

3. OrderMagicNumber 뒤에 대괄호()가 있어야 합니다.

4. 조건에서 강조 표시되는 이유는 무엇입니까?

답변 해주셔서 감사합니다. 먼저 마술사와 함께 열어야한다는 것은 분명합니다. 그리고 주문 티켓을 제거하고 댓글로 논리를 확인했습니다. 첫 번째 오픈 포지션을 청산하기 위한 조건에 따라 포지션 이 청산되는 것으로 밝혀졌다. 즉, 폐쇄 조건이 1인 BUY 또는 CELL을 처음 개설한 다음 유사한 두 번째 포지션이 열렸지만 폐쇄 조건이 2인 경우 이 폐쇄 조건은 무시되고 두 번째 포지션은 다른 마법에도 불구하고 도 조건 1에 따라 닫힙니다.

주문을 마감한 후 break를 적용했지만 솔루션은 절반으로 밝혀졌습니다 . 동일한 유형의 위치가 열린 경우에만 해당됩니다. 예를 들어, CELL이 먼저 열리고 아직 닫히지 않은 상태에서 BUY가 열리고 닫히면 CELL은 다른 CELL이 열리고 닫힐 때까지(자체 조건에 따라) 닫는 조건을 더 이상 볼 수 없습니다. 그리고 BAI가 갑자기 열리고 닫히면 다시 닫히는 조건을 놓치게 됩니다. 그리고 어떻게 될 것인가?

 
좋은 오후에요 여러분. 친애하는 프로그래머 여러분, 각 Alert3 .Lv1;2;3에 대해 사운드 파일을 지정하는 기능이 있는 표시기에 한 줄을 삽입하여 사용자가 지정한 다른 사운드가 트리거되도록 도와주세요. 나 자신은 코드와 프로그래밍을 이해하지 못합니다.
파일:
 
좋은 오후 프로그래머와 MQL 전문가! 뉴스에서 자동 거래를 중단할 고문이 필요합니다. 누군가 알고 있을 수도 있습니다. 네트워크에서 찾은 것이 더 이상 작동하지 않거나 서툴게 작동합니다. 아니면 누군가가 urdala 표시기를 기반으로 쓸 수 있습니까?
 
안녕 얘들아. [Trade context is busy] 오류를 제거하는 방법을 알려주세요.
 
Rustam Bikbulatov :
안녕 얘들아. [Trade context is busy] 오류를 제거하는 방법을 알려주세요.
 if (! IsTradeContextBusy ())   //торговый поток свободен
  {
 // здесь оформляем запрос
 // на торговую операцию

  }