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

 
Aleksey Vyazmikin :

코드 시작 부분에서 막대에 대한 일정량의 데이터를 복사한 다음 이 데이터로 작업하는 개념에서 벗어나지 말 것을 제안합니다. 아니면 예외를 제안하는 것입니까?

그리고 내가 프로그래머라는 아이디어는 어디서 얻었나요?

나는 추측할 필요가 없다고 생각합니다. 무엇이 더 빠를지, 때로는 답이 명확하지 않을 수 있습니다. 경험만이 그러한 질문에 답할 수 있습니다.

그럼 여기 에 오신 것을 환영합니다.

 
Vitaly Muzichenko :

이미 기록에 있는 티켓이 있는 개체를 삭제해야 하지만 아직 시장에 있는 개체는 건드리지 마십시오.

간단히 말해서, 이미 닫힌 Position 의 Ticket이 필요하지만 PositionSelect()를 통해 얻을 수는 없습니다.

 
Vitaly Muzichenko :

이미 기록에 있는 티켓이 있는 개체를 삭제해야 하지만 아직 시장에 있는 개체는 건드리지 마십시오.

복제하다:

그리고 작업이 "인계"된 경우?

위치가 더 이상 시장에 없는 티켓이 있는 개체를 삭제합니다... 또는 아직 기록에 없는 티켓이 있는 개체를 삭제하지 않고 나머지는 삭제합니다... 기본적으로 동일한 것입니다.

 
Ivan Ivanov :

간단히 말해서, 이미 닫힌 Position 의 Ticket이 필요하지만 PositionSelect()를 통해 얻을 수는 없습니다.

다음은 주어진 히스토리 기간 동안 마감된 모든 포지션의 Tiketi를 반환하는 스크립트입니다.

 void OnStart ()
{ ulong DealTicket; // for Function : replace void with ulong
   ulong PositionTicket;
   if ( HistorySelect ( TimeCurrent ()- 30 * 24 * 60 * 60 , TimeCurrent ()) ) // Select History = 30 days
  { if ( HistoryDealsTotal ()> 0 )
    { int DealIndex= HistoryDealsTotal ()- 1 ;
       while ( DealIndex>= 0 )
      { DealTicket= HistoryDealGetTicket (DealIndex); // select Deal 
         if ( HistoryDealGetInteger (DealTicket, DEAL_ENTRY )== DEAL_ENTRY_OUT ) // Deal close Position
        { PositionTicket= HistoryDealGetInteger (DealTicket, DEAL_POSITION_ID );
           Print ( "\n DealTicket = " + IntegerToString (DealTicket));
           Print ( "PositionClosedByDeal = " + IntegerToString (PositionTicket));
           // if ( some condition ) // for Function : Your selection
           // return (PositionTicket); // for Function : Enable return
        }
        DealIndex--;
      }
       // Print("Warning = Nothing selected from History"); // for Function : remove //
    }
     else Print ( "Warning = Empty History (select longer History)" );
  }
   else Print ( "Error = " + IntegerToString ( GetLastError ())+ " = Not loaded History" );
   // return (-1); // for Function : Enable return
}

코드는 함수로 변환하는 방법을 보여줍니다(영문)

 
Ivan Ivanov :

다음은 주어진 히스토리 기간 동안 마감된 모든 포지션의 Tiketi를 반환하는 스크립트입니다.

코드는 함수로 변환하는 방법을 보여줍니다(영문)

가장 흥미로운 점은 이것이 이미 즉시 언급되었다는 것입니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

초보자의 질문 MQL5 MT5 MetaTrader 5

Artyom Trishkin , 2017.07.24 23:33

마감된 거래(OUT)를 검색해 보셨습니까? 영장이 있었습니다 - 당신은 그것을 볼 수 있습니다.

그러나 Vitaly는 쓰여진 것의 의미를 이해하지 못하는 것 같았습니다. 그리고 그는 묻지도 않았다.
 
Artyom Trishkin :

가장 흥미로운 점은 이것이 이미 즉시 언급되었다는 것입니다.

그러나 Vitaly는 쓰여진 것의 의미를 이해하지 못하는 것 같았습니다. 그리고 그는 묻지도 않았다.

Artyom 고마워 나중으로 미루기로 했어 잠잘때 물어봤어)


이반 이바노프 :

다음은 주어진 히스토리 기간 동안 마감된 모든 포지션의 Tiketi를 반환하는 스크립트입니다.

코드는 함수로 변환하는 방법을 보여줍니다(영문)

코드 덕분에 도움이 되었습니다.


문제 해결됨!

 
Artyom Trishkin :

가장 흥미로운 점은 이것이 이미 즉시 언급되었다는 것입니다.

그러나 Vitaly는 쓰여진 것의 의미를 이해하지 못하는 것 같았습니다. 그리고 그는 묻지도 않았다.

중재자:

사람은 코드(구현 아이디어)가 필요합니다. 그리고 거기에서 이길 수 없었지만 그들은 그를 프리랜서로 보냈습니다.

 
Ivan Ivanov :

중재자:

사람은 코드(구현 아이디어)가 필요합니다. 그리고 거기에서 이길 수 없었지만 그들은 그를 프리랜서로 보냈습니다.

진행자 이름이 있나요?
나는 비탈리를 안다. 그가 올바른 방향을 제시하는 것으로 충분합니다. 코드는 게으르고 어리석은 사람들을 위한 것입니다. 그리고 Vitaly는 프리랜서로 보내지지 않았습니다. 그리고 프로그래머가 아닌 사람.
구현 아이디어는 생각, 알고리즘입니다.
그리고 구현은 코드이며 항상 올바른 것은 아닙니다.

 
Artyom Trishkin :
진행자 이름이 있나요?
나는 비탈리를 안다. 그가 올바른 방향을 제시하는 것으로 충분합니다. 코드는 게으르고 어리석은 사람들을 위한 것입니다. 그리고 그들은 Vitaly를 프리랜서로 보내지 않았습니다. 그리고 프로그래머가 아닌 사람.
구현 아이디어는 생각, 알고리즘입니다.
그리고 구현은 코드이며 항상 올바른 것은 아닙니다.

프로그래머가 아닌 사람에게 이름이 있습니까?

네, 저는 교육을 받은 프로그래머는 아니지만 매일 이 기술을 마스터하기 위해 노력하고 있습니다. 쉽지 않은 기술입니다.

 
Aleksey Vyazmikin :

프로그래머가 아닌 사람에게 이름이 있습니까?

네, 저는 교육을 받은 프로그래머는 아니지만 매일 이 기술을 마스터하기 위해 노력하고 있습니다. 쉽지 않은 기술입니다.

아, 그렇구나... 아직도 프로그래밍을 배우고 싶은 마음이 있니? 그런 다음 제공되는 내용을 이해하려고 노력하고 자신을 시험관으로 노출하지 마십시오. 불쾌하지 않습니다. CopyRates() 에 대한 모든 반대와 질문을 처리한 방법입니다.

저도 프로그래머가 아닙니다. 내가 공부할 때 그런 전문 분야는 전혀 없었고 그들은 Felix 추가 기계에 의존했습니다.