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

 
Tapochun :
나는 당신이 여기에 질문을 하고 있다고 생각하지 않습니다. 별도의 주제를 만들고 표시기 코드를 첨부하고 누군가가 도움이 되기를 바랍니다. 코드가 없으면... 누군가가 당신에게 말할 것 같지 않습니다.
지표는 사거나 팔지 않습니다.)
 
테크니컬 태스크를 작성하다 보니 알고리즘을 어떻게 설명해야 할지 이해가 안 되는 상황이 발생했습니다. 조언자 업무에서 부분적으로 자리를 닫을 수 있습니까?
 
Nikolay Lampickiy :
테크니컬 태스크를 작성하다 보니 알고리즘을 어떻게 설명해야 할지 이해가 안 되는 상황이 발생했습니다. 조언자 업무에서 부분적으로 자리를 닫을 수 있습니까?
이렇게 하려면 해당 위치의 로트보다 적은 로트를 청산하는 순서로 표시해야 합니다(MT4의 경우 MT5에서 더 작은 로트로 반대 위치를 열 수 있으므로 결과적으로 중첩됨). 잔여 로트가 있는 포지션은 시장에 남게 됩니다.
 
Nikolay Lampickiy :
테크니컬 태스크를 작성하다 보니 알고리즘을 어떻게 설명해야 할지 이해가 안 되는 상황이 발생했습니다. 조언자 업무에서 부분적으로 자리를 닫을 수 있습니까?
그게 뭐가 그렇게 어렵나요? 가격은 이익을 위해 일정 거리의 포인트를 통과하고, 포지션의 절반이 청산되고, 포지션이 균등하게 분배되지 않으면(예를 들어, 0.09), 대부분이 청산되고(0.05) 스탑이 손익분기점으로 이동한 다음 우리는 다른 거리를 지나고 남은 것의 절반(0.02)을 다시 닫고 멈춥니다. 전체 위치가 닫히거나 스톱이 녹아웃될 때까지 닫는 단계 플러스의 거리로 이동하는 식입니다. 단계는 거래 시스템에 따라 고정되거나 범위에서 매번 계산될 수 있습니다.
 
Vladimir Zubov :
그게 뭐가 그렇게 어렵나요? 가격은 이익을 위해 일정 거리의 포인트를 통과하고, 포지션의 절반이 청산되고, 포지션이 균등하게 분배되지 않으면(예를 들어, 0.09), 대부분이 청산되고(0.05) 스탑이 손익분기점으로 이동한 다음 우리는 다른 거리를 지나고 남은 것의 절반(0.02)을 다시 닫고 멈춥니다. 전체 위치가 닫히거나 스톱이 녹아웃될 때까지 닫는 단계 플러스의 거리로 이동하는 식입니다. 단계는 거래 시스템에 따라 고정되거나 범위에서 매번 계산될 수 있습니다.

내가 올바르게 이해하고 있습니까? MQL4 프로그래밍 언어에서는 10로트와 같이 시장가 주문량의 절반만 청산하고 가격이 원하는 수준에 도달하면 5로트를 청산하는 것을 공식화할 수 있습니다.

아니면 1/3의 가능성이 있습니까?

아니면 다른 주문을 하여 Expert Advisor에서 이 아이디어를 구현하는 것이 더 쉬울까요? 가격이 원하는 수준에 도달하면 시장 주문량의 일부가 청산되는 자리에 하나의 주문이 마감되고 다른 하나는 남아 있습니다. 무슨 말을 합니까?

 
Vitalie Postolache :
이렇게 하려면 해당 위치의 로트보다 적은 로트를 청산하는 순서로 표시해야 합니다(MT4의 경우 MT5에서 더 작은 로트로 반대 위치를 열 수 있으므로 결과적으로 중첩됨). 잔여 로트가 있는 포지션은 시장에 남게 됩니다.
반대 입장이 안맞네요... 답변 감사합니다
 
Nikolay Lampickiy :

내가 올바르게 이해하고 있습니까? MQL4 프로그래밍 언어에서는 10로트와 같이 시장가 주문량의 절반만 청산하고 가격이 원하는 수준에 도달하면 5로트를 청산하는 것을 공식화할 수 있습니다.

아니면 1/3의 가능성이 있습니까?

아니면 다른 주문을 하여 Expert Advisor에서 이 아이디어를 구현하는 것이 더 쉬울까요? 가격이 원하는 수준에 도달하면 시장 주문량의 일부가 청산되는 자리에 하나의 주문이 마감되고 다른 하나는 남아 있습니다. 무슨 말을 합니까?

어느 쪽이든 가능합니다. OrderClose를 사용하면 표시된 볼륨을 닫을 수 있습니다. https://docs.mql4.com/ru/trading/orderclose

물론 이익 수준이 다른 여러 주문을 열 수도 있습니다. 연결이 끊긴 경우 이익 수준이 서버에 저장되고 가격이 이를 초과하면 실행되기 때문에 훨씬 더 안정적입니다.

OrderClose - Документация на MQL4
  • docs.mql4.com
OrderClose - Документация на MQL4
 
Vladimir Zubov :

어느 쪽이든 가능합니다. OrderClose를 사용하면 표시된 볼륨을 닫을 수 있습니다. https://docs.mql4.com/ru/trading/orderclose

물론 이익 수준이 다른 여러 주문을 열 수도 있습니다. 연결이 끊긴 경우 이익 수준이 서버에 저장되고 가격이 이를 초과하면 실행되기 때문에 훨씬 더 안정적입니다.

답변 해주셔서 감사합니다..)))
 

모두에게 좋은 하루! 문제가 생겼습니다. 전문가 또는 경험 많은 MT5 사용자의 의견을 듣고 싶습니다. 나는 인디케이터가 이벤트를 생성하는 데 도움을 받아 인디케이터와 CEventBase 클래스를 작성 했습니다. 조만간 이러한 이벤트를 처리하는 Expert Advisors를 시작할 때 실시간으로 시작할 때 오류가 나타납니다: 4001, 4102, 4104. "부서지기 시작"하면 이 작업을 멈추지 않습니다) 생성 기능의 코드를 첨부합니다. 실제로 이 모든 문제의 원인은 이에 대한 귀하의 의견을 듣고 싶습니다...

좋은 하루 되세요!


 bool CEventBase::Generate( long _chart_id, int _id_ind, SEventData &_data,
                           const bool _is_custom= true )
  {
   bool is_generated = true ;
   // если индекс id события в массиве не верен
   if (_id_ind < 0 || _id_ind >= aEvents.Total())
    {
     Print ( "Не верно задан индекс ID события" );
     return ( false );
    }
   // заполняем поля 
   CEvent *event = aEvents.At(_id_ind);
   this ._id = ( ushort )( CHARTEVENT_CUSTOM +event.id);
   this ._data = _data;
   this ._data.sparam = event.name; // сохраняем имя события
   
   if (_is_custom)
     {
       ResetLastError ();
      is_generated = EventChartCustom (_chart_id, event.id, this ._data.lparam,
                                       this ._data.dparam, this ._data.sparam);
       if (!is_generated && _LastError != 4104 )
         {
           Print ( "is_generated = " , is_generated);
           PrintFormat ( "%s Error while generating a custom event: %d" , __FUNCTION__ , _LastError );
           Print ( ChartSymbol (_chart_id), " " ,PeriodToString( ChartPeriod (_chart_id)), "Ошибка! _chart_id =" , _chart_id, " event.id = " , event.id, " data.dparam = " , this ._data.dparam, " data.sparam = " , this ._data.sparam);
          
         }
     }
   return is_generated;
  }


 
dariamap :

모두에게 좋은 하루! 문제가 생겼습니다. 전문가 또는 경험 많은 MT5 사용자의 의견을 듣고 싶습니다. 나는 인디케이터가 이벤트를 생성하는 데 도움을 받아 인디케이터와 CEventBase 클래스를 작성 했습니다. 조만간 이러한 이벤트를 처리하는 Expert Advisors를 시작할 때 실시간으로 시작할 때 오류가 나타납니다: 4001, 4102, 4104. "부서지기 시작"하면 이 작업을 멈추지 않습니다) 생성 기능의 코드를 첨부합니다. 실제로 이 모든 문제의 원인은 이에 대한 귀하의 의견을 듣고 싶습니다...

좋은 하루 되세요!

당신이 제시한 방법은 전이적임이 분명합니다. 오류는 그 안에 없을 가능성이 큽니다. 제시된 데이터에서 무슨 일이 일어나고 있는지 명확하지 않습니다. 몇 가지 옵션이 있을 수 있습니다.

  • 차트 식별자가 잘못 지정되었습니다(오류 4101로 표시됨).
  • 너무 자주 요청합니다.
  • 다른 매개변수(예: 이벤트 ID)가 잘못되었습니다.

작성한 코드의 수준으로 판단하면 오류는 어디에서나 발생할 수 있다고 말할 수 있습니다.
사유: