mql5 - 마지막 거래 이후 일정 시간 후 수직선

 

안녕하세요!

여러분, 누가 MQL5에서 다음 아이디어를 구현하는 방법을 도와주거나 제안할 수 있습니까? (최근에 Metatrader를 직접 만났습니다. 아직 코드를 작성하고 있지 않습니다).

코드 알고리즘:
1) 마지막 거래의 마감 시간과 거래 결과가 결정됩니다.

2) 최종 거래 종료 다음날의 종합 결과가 결정됩니다.

3) 지표 설정에 따라 마지막 거래가 마감된 순간부터 미래의 일정 간격으로 수직선이 그려집니다.
설정:
- 마지막 거래의 결과가 음수이고 그날의 결과가 음수이면 미래로 24시간(일)의 거리에 수직선이 그려집니다.
- 마지막 거래의 결과가 음수이고 당일의 결과가 양수이면 미래로 2시간 거리에 수직선이 그려집니다.
- 마지막 거래의 결과가 양수이면 미래로 1시간 거리에 수직선이 그려집니다.

4) 라인은 신규 거래가 시작된 후 차트에 남아 있지만 위의 알고리즘에 따라 신규 거래가 종료된 후에는 이동합니다. 새로운 거래는 이미 마지막으로 마감된 거래가 되었습니다.

메모.
긍정적인 결과는 플러스입니다. 주문이 성공했는지 또는 포지션이 수동으로 마감되었는지는 중요하지 않습니다. 저것들. 플러스 균형.
음수 결과는 트랜잭션의 결과로 마이너스 또는 0입니다.

추신>

저에게 이 코드의 의미는 다음과 같습니다 - 거래 후에 휴식을 취하고 열을 내리지 않도록 하십시오. 나는 나의 자두가 실패한 거래를 빨리 되찾기 위해 계속 노력하고 있다는 것을 알아차렸다. 수동으로 대시를 넣고 설명된 규칙에 따라 이동할 수 있다는 것은 분명하지만 소프트웨어 옵션이 필요하기 때문입니다. 앞으로 추가 조건/필터를 표시기에 바인딩하고 싶습니다. 의사 결정 알고리즘을 복잡하게 만듭니다.

모두 미리 감사드리며 행운을 빕니다!

 

예로서.

 void moveVLine( string obj_name, datetime obj_time)
{
   int          tm       = PeriodSeconds ( PERIOD_D1 );
   datetime     next_day = obj_time + tm;
   MqlDateTime tm_str;
   
   TimeToStruct (next_day,tm_str);
   if (tm_str.day_of_week == 6 )
   {
      tm *= 3 ;
      next_day = obj_time + tm;
   }
   ObjectMove ( 0 ,obj_name, 0 ,next_day, 0 );
   
   return ;
}
 
Сергей Таболин :

예로서.

세르게이, 감사합니다!
나는 당신의 예를 시작할 때 결과를 다시 쓸 것입니다
 
Сергей Таболин :

예로서.

예제가 컴파일되지 않았습니다 :(
내가 알기로는 코드가 단편이고 일부 필수 구성 요소(#property 등)를 추가해야 합니까?
 

특정 시간에 수직선 만 그리는 유사한 지표를 찾았습니다. 이를 기준으로 삼아 미리 정해진 정적 시간 대신 필요한 알고리즘을 추가해 보겠습니다.
https://www.mql5.com/ru/code/18449

Vertical line
Vertical line
  • www.mql5.com
Индикатор рисует, а затем перемещает нарисованную вертикальную линию (OBJ_VLINE) на заданное время (часы и минуты). Входные параметры: Из параметра "Use only Hours and minutes" используются только часы и минуты.  Вертикальная линии рисуется для текущего дня. Если начинается новый день, то нарисованная линия переносится на этот новый день на...
 
무딘.
주어진 시간에 막대에 선을 그리는 소스 코드(위 코드)가 있습니다. 입력 매개변수에서 시간을 제거하고 트랜잭션 기록에서 시간 값을 가져오기만 하면 됩니다. 나는 무역 기능의 문서를 보면, 진실이 역사 그룹의 기능 중 어딘가에 있다고 의심합니다... 지금까지 나는 무화과를 봅니다 :(
누군가가 기록에서 마지막 거래에 대한 데이터를 얻는 방법을 제안할 수 있습니까( 포지션 마감 시간 및 거래에 대한 고정 결과)?
 
renatmt5 :
예제가 컴파일되지 않았습니다 :(
내가 알기로는 코드가 단편이고 일부 필수 구성 요소(#property 등)를 추가해야 합니까?

이것은 수직선 번역 기능 입니다. 특정 조건이 충족되면 메인 코드에서 호출해야 합니다. 또한 라인 자체가 이미 있어야 합니다.

 
Сергей Таболин :

이것은 수직선 번역 기능 입니다. 특정 조건이 충족되면 메인 코드에서 호출해야 합니다.

다시 한번 감사합니다!
 
renatmt5 :

안녕하세요!

여러분, 누가 MQL5에서 다음 아이디어를 구현하는 방법을 도와주거나 제안할 수 있습니까? (최근에 Metatrader를 직접 만났습니다. 아직 코드를 작성하고 있지 않습니다).

코드 알고리즘:
1) 마지막 거래의 마감 시간과 거래 결과가 결정됩니다.

2) 최종 거래 종료 다음날의 종합 결과가 결정됩니다.

3) 지표 설정에 따라 마지막 거래가 마감된 순간부터 미래의 일정 간격으로 수직선이 그려집니다.
설정:
- 마지막 거래의 결과가 음수이고 그날의 결과가 음수이면 미래로 24시간(일)의 거리에 수직선이 그려집니다.
- 마지막 거래의 결과가 음수이고 당일의 결과가 양수이면 미래로 2시간 거리에 수직선이 그려집니다.
- 마지막 거래의 결과가 양수이면 미래로 1시간 거리에 수직선이 그려집니다.

4) 라인은 신규 거래가 시작된 후 차트에 남아 있지만 위의 알고리즘에 따라 신규 거래가 종료된 후에는 이동합니다. 새로운 거래는 이미 마지막으로 마감된 거래가 되었습니다.

메모.
긍정적인 결과는 플러스입니다. 주문이 성공했는지 또는 포지션이 수동으로 마감되었는지는 중요하지 않습니다. 저것들. 플러스 균형.
음수 결과는 트랜잭션의 결과로 마이너스 또는 0입니다.

추신>

저에게 이 코드의 의미는 다음과 같습니다 - 거래 후에 휴식을 취하고 열을 내리지 않도록 하십시오. 나는 나의 자두가 실패한 거래를 빨리 되찾기 위해 계속 노력하고 있다는 것을 알아차렸다. 수동으로 대시를 넣고 설명된 규칙에 따라 이동할 수 있다는 것은 분명하지만 소프트웨어 옵션이 필요하기 때문입니다. 앞으로 추가 조건/필터를 표시기에 바인딩하고 싶습니다. 의사 결정 알고리즘을 복잡하게 만듭니다.

모두 미리 감사드리며 행운을 빕니다!

지시자, 그래서 지시자.

그런 의미입니다. 1분에 한 번 거래 내역을 폴링한다고 정의해 보겠습니다. 다음으로 두 개의 매개변수가 더 필요합니다.

  • 현재 기호(지표가 실행되는 기호)에 대해서만 최신 트랜잭션을 고려합니까 아니면 모두에 대해 고려합니까?
  • magfic 번호를 고려합니까(하나 또는 모두 고려)?


답이 필요합니다. 점심 시간까지 이 스레드에 다시 나타나도록 노력하겠습니다.

 
Vladimir Karputov :

지시자, 그래서 지시자.

그런 의미입니다. 1분에 한 번 거래 내역을 폴링한다고 정의해 보겠습니다. 다음으로 두 개의 매개변수가 더 필요합니다.

  • 현재 기호(지표가 실행되는 기호)에 대해서만 최신 트랜잭션을 고려합니까 아니면 모두에 대해 고려합니까?
  • magfic 번호를 고려합니까(하나 또는 모두 고려)?


답이 필요합니다. 점심 시간까지 이 스레드에 다시 나타나도록 노력하겠습니다.

블라디미르님, 시간을 내어 질문에 답변해 주셔서 감사합니다. 처음에는 최대한 간단하게 나는 미래에 공짜가 아니라 스스로 정제할 것으로 기대합니다. :)
- 현재 캐릭터만
- magfic number에 대해 - 무엇과 함께 먹는지 잘 모르겠습니다. 일종의 신분증? 솔직히 말해서 나에게 중요하지 않습니다. 마지막으로 마감된 거래에 대한 데이터만 필요합니다.

 

"마지막 거래"라는 용어를 명확히 하고 싶습니다.

현재 날짜 내의 마지막 거래를 찾아야 합니까? 아니면 지난 N일 동안?