오류, 버그, 질문 - 페이지 289

 
몇 가지 문제 - 다시 그리기는 고문의 작업에 영향을 미치지 않습니다.
등. 등.

다음은 어드바이저의 코드입니다( 표시줄 0의 평등을 결정하기 위해 많은 기능을 시도했습니다)

가장 간단한

 if (Sp3Buffer[ 20 ]!= 0 && Sp3Buffer[ 21 ]!= 0 && Sp3Buffer[ 22 ]!= 0 && Sp3Buffer[ 23 ]!= 0 && Sp3Buffer[ 24 ]!= 0 )

여기에 테스터 로그에서 인쇄를 통해 표시기 라인의 값이 있습니다.

[ 20 ]= 34.40035703438407 [ 21 ]= 35.93782852396674 [ 22 ]= 35.97127995180715 [ 23 ]= 30.49164953708304 [ 24 ]= 32.90441573888087

0은 없지만 표시기(명확한 0)와 값을 보면

제로 터키도

뭐?

 

차트에서 업데이트 명령을 실행한 후 이러한 말도 안되는 내용이 로그에 나타났습니다.

2011.02.03 02:24:51 HistoryBase '#IBM' 1개의 잘못된 막대가 제거되었습니다.
2011.02.03 02:24:50 HistoryBase '#IBM' 1개의 잘못된 막대가 제거됨
2011.02.03 02:24:49 HistoryBase '#IBM' 1개의 잘못된 막대가 제거됨
2011.02.03 02:24:48 HistoryBase '#IBM' 1개의 잘못된 막대가 제거됨
2011.02.03 02:24:47 HistoryBase '#IBM' 1개의 잘못된 막대가 제거되었습니다.
2011.02.03 02:24:46 HistoryBase '#IBM' 1개의 잘못된 막대가 제거되었습니다.

등. 매 초.

TF 센트리

 
alexluek :
몇 가지 문제 - 다시 그리기는 고문의 작업에 영향을 미치지 않습니다.
등. 등.

다음은 어드바이저의 코드입니다( 표시줄 0의 평등을 결정하기 위해 많은 기능을 시도했습니다)

가장 간단한

여기에 테스터 로그에서 인쇄를 통해 표시기 라인의 값이 있습니다.

0은 없지만 표시기(명확한 0)와 값을 보면

제로 터키도

뭐?

혹시 어레이를 뒤집는 것을 잊으셨습니까?
 
sergey1294 :
혹시 어레이를 뒤집는 것을 잊으셨습니까?
인덱싱의 역순은 칠면조와 Expert Advisor 모두에서 설정되지만 이유는 명확하지 않습니다. 감사해요
 

흥미롭게도 다른 컴퓨터의 동일한 Expert Advisor가 다른 위치의 차트에 템플릿을 추가한다는 것이 밝혀졌습니다.

MetaTrader 5\Profiles\Templates의 컴퓨터 1대

MetaTrader 5\MQL5\Files의 컴퓨터 2대

ChartApplyTemplate EA 에 문자열 추가(handle_Chart,"Sova15_30.tpl")

무슨 일이야, 누가 내가 그것을 알아낼 수 있도록 도와줄 수 있니?

 
마지막 위치 변경 시간을 얻는 방법을 알려주십시오.
 
beginner :

마지막 위치 변경 시간을 얻는 방법을 알려주시겠습니까?
https://www.mql5.com/en/articles/138 myposition.Time()을 찾으십시오.
Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 
beginner :

마지막 위치 변경 시간을 얻는 방법을 알려주시겠습니까?

어떤 거래가 마지막 거래인지 기호로 확인합니다.

OnTrade() 또는 기록에서 잡을 수 있습니다.

트롤 :
https://www.mql5.com/en/articles/138 myposition.Time()을 찾으십시오.

이것은 내가 모든 것을 올바르게 기억한다면 포지션 개시 시간을 반환합니다(즉, 내가 이해하는 한 포지션을 연 첫 거래 시간이 반환됩니다).

이 기사와 관련하여 myhistory mydeal (다른 것이 유용할 수도 있음)이 유용할 수 있습니다.

 
Interesting :

어떤 거래가 마지막 거래인지 기호로 확인합니다.

OnTrade() 또는 기록에서 잡을 수 있습니다.

이것은 내가 모든 것을 올바르게 기억한다면 포지션 개시 시간 을 반환합니다(즉, 내가 이해하는 한, 포지션을 연 첫 거래 시간이 반환될 것입니다).
예, 이것이 문제입니다. 즉, 원하는 악기에 대한 마지막 거래를 찾고 시간을 확보해야 하지만 더 간단한 방법으로 수행할 수 있습니까?
 
beginner :
예, 이것이 문제입니다. 즉, 원하는 악기에 대한 마지막 거래를 찾고 시간을 확보해야 하지만 더 간단한 방법으로 수행할 수 있습니까?

특정 위치(기호와 해당 ID가 알려져 있음)에 관심이 있습니까? 아니면 모든 위치에 대한 일반적인 경우입니까?

mydeal 을 사용하여 내역을 살펴보고 거래를 분석하면 다음과 같습니다.

1. 기간 동안의 총 거래 수를 가져와서 정렬하고 기호가 있는 거래만 선택하거나 포즈 형성에 참여한 거래를 선택합니다.

 if ( HistorySelect ( 0 , TimeCurrent ()))
ulong d_ticket; // deal ticket
{
// Получить общее количество сделок в истории
int tot_deals = HistoryDealsTotal ();

  for ( int j= 0 ; j<tot_deals; j++)
  {
  d_ticket = HistoryDealGetTicket (j);

    if (d_ticket> 0 )  
    {
    mydeal.Ticket(d_ticket)

      if (mydeal.Symbol()==SymbolTitle)
      {
      //формируем список сделок и анализируем его (если я правильно понял последняя сделка наша)
      }

    }   

  }

}

2. 기호가 아닌 특정 위치의 식별자로 거래를 선택하는 것이 좋습니다(이렇게 하면 더 쉽고 안정적입니다).

더 좋고 간단한 솔루션이 있다고 확신하지만.