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

 
Vadim Podoprigora :

안녕하세요!

조언자 작성을 도와주세요.

고문의 본질: 1 로트에 대해 4개의 주문을 엽니다.

2 판매용: usdchf; 유로화;

2 구매: gbpusd; usdjpy;

총 이익 5포인트에 도달하면 모든 거래를 종료합니다. 그리고 다시 시작합니다.

총 4권?

이익이 없다면? 단어에서 전혀.

 
Vadim Podoprigora :

안녕하세요!

조언자 작성을 도와주세요.

고문의 본질: 1 로트에 대해 4개의 주문을 엽니다.

2 판매용: usdchf; 유로화;

2 구매: gbpusd; usdjpy;

총 이익 5포인트에 도달하면 모든 거래를 종료합니다. 그리고 다시 시작합니다.

다른 스레드에서 질문을 복제할 필요가 없습니다.

프리랜서 에 문의하십시오.

 
Andrey Sokolov :

인사말.

현재 차트에서 새 캔들 이 열렸을 때 액션이 수행되도록 조건을 작성하는 방법을 알려주십시오.

https://www.mql5.com/en/articles/159
Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 

안녕하세요! 배열을 도와주세요!

MACD 표시기 로 어레이를 채워야 합니다 . 내가 알기로는 막대 인덱스, MODE_MAIN 값, MODE_SIGNAL 값 , 즉 배열이 3차원 유형( a [] [] [])이어야 하는 데이터가 있습니다. 가능하다면 예시.

 

Sergey, 이 코드를 직접 사용해 본 적이 있습니까?

기사는 일반적으로 좋지만 사용하려면

datetime lastbar_time= SeriesInfoInteger ( Symbol (), Period (), SERIES_LASTBAR_DATE );

매우 위험한. 이것이 작동하려면 어린 양의 추천에 따라 이야기를 주기적으로 "트위칭"해야 합니다. 위치가 지정되지 않았습니다.

일반적으로 많은 고민 끝에 CopyRates() 함수를 사용하는 것이 더 낫다는 결론에 이르렀습니다.

가능한 오류에 대한 메시지는 각자가 마음대로 추가합니다.

bool newBar()
{
static datetime timeLastBar;
   MqlRates mqlRates[];
   int s = 0 ;
     do
     {
      s++;
     }
     while ( CopyRates ( _Symbol , PERIOD_CURRENT , 0 , 1 , mqlRates) < 0 && s < 7 );
   bool ret = timeLastBar != mqlRates[ 0 ].time;
   if (ret)
    timeLastBar = mqlRates[ 0 ].time;
   return (ret);
} /*******************************************************************/
 
Alexey Viktorov :

Sergey, 이 코드를 직접 사용해 본 적이 있습니까?

기사는 일반적으로 좋지만 사용하려면

datetime lastbar_time= SeriesInfoInteger ( Symbol (), Period (), SERIES_LASTBAR_DATE );

매우 위험한. 이것이 작동하려면 어린 양의 추천에 따라 이야기를 주기적으로 "트위칭"해야 합니다. 위치가 지정되지 않았습니다.

Alexey, 언제 이것을 사용할 때 오류가 발생했습니까? 적어도 한 번이었습니까?

나 자신이이 방법을 사용하고 아직 문제가 발생하지 않았다는 것입니다. 그러나 더 많은 것이 올 수 있습니까?

나는 설명을 원합니다 - 그렇게 말하는 것을 피하기 위해 ... :)

그리고 드러머가 어디에서 그런 말을 했습니까?

 
Artyom Trishkin :

Alexey, 언제 이것을 사용할 때 오류가 발생했습니까? 적어도 한 번이었습니까?

나 자신이이 방법을 사용하고 아직 문제가 발생하지 않았다는 것입니다. 하지만 앞으로 더 있을 수 있을까요?

나는 설명을 원합니다 - 그렇게 말하는 것을 피하기 위해 ... :)

드러머가 어디서 그런 말을 했습니까?

https://www.mql5.com/ru/forum/89213

총 8페이지의 스커미시가 있습니다. 그리고 어린 양뿐만 아니라 슬라브는 말합니다.

슬라바 :

함수의 부적절한 동작은 어디에서 볼 수 있습니까? 설명서 를 주의 깊게 읽었습니까?

기록 데이터의 상태에 대한 정보를 반환합니다. 정보를 업데이트하지 않고 데이터 페이징을 시작하지 않습니다. 현재 상태 그대로를 반환합니다.

 
Artyom Trishkin :

Alexey, 언제 이것을 사용할 때 오류가 발생했습니까? 적어도 한 번이었습니까?

나 자신이이 방법을 사용하고 아직 문제가 발생하지 않았다는 것입니다. 그러나 더 많은 것이 올 수 있습니까?

나는 설명을 원합니다 - 그렇게 말하는 것을 피하기 위해 ... :)

그리고 드러머가 어디에서 그런 말을 했습니까?

그리고 경련에 대해

블라디미르 카르푸토프 :
한 터미널(M15 기간에는 Expert Advisors가 있음)에서는 하나의 기호에서 작동하지 않았습니다. 문제는 다른 사람의 시간대를 사용할 때 항상 기록을 "비틀어야" 한다는 것입니다. CopyTime()을 통해 하는 것이 좋다고 생각합니다.
인과 관계에 대한 고양이.
 
Artyom Trishkin :

Alexey, 언제 이것을 사용할 때 오류가 발생했습니까? 적어도 한 번이었습니까?

내가 기억하는 한, TF가 현재 것보다 크면 예상대로 반환되지 않을 수 있습니다.
 
안녕하세요! MT5에 대해 질문이 있습니다.

예를 들어, MT5 터미널에는 어드바이저(MACD 샘플 및 이동 평균)가 있으므로 이러한 EA 코드의 표시기 핸들에 특정 TF를 삽입하면(예: "_Period" 대신 PERIOD_H4), 열 때 테스트할 때 더 높은 TF의 가격, 오류 표시기 로딩 : 표시기 'MACD'를 로드할 수 없음 [4805] 및 결과: OnInit 실패로 인해 테스터가 중지되었습니다. 의견은 무엇입니까? 내가 뭔가 잘못하고 있는 건 아닐까? 언제든지 공개 가격으로 테스트할 수 있도록 EA를 코딩할 수 있습니까?

표시기를 사용자 정의 표시기로 삽입하려고 시도했지만 오류는 동일합니다.

귀하의 응답에 미리 감사드립니다.

int OnInit ( 무효 )
{
//--- 헤지 모드가 활성화된 경우 포지션을 제어하기 위해 거래 클래스를 준비합니다.
ExtHedging=(( ENUM_ACCOUNT_MARGIN_MODE ) AccountInfoInteger ( ACCOUNT_MARGIN_MODE )== ACCOUNT_MARGIN_MODE_RETAIL_HEDGING );
ExtTrade.SetExpertMagicNumber(MA_MAGIC);
ExtTrade.SetMarginMode();
//--- 이동 평균 표시기
ExtHandle= iMA ( _Symbol , PERIOD_H4 ,MovingPeriod ,MovingShift , MODE_SMA , PRICE_CLOSE );
if (ExtHandle== INVALID_HANDLE )
{
printf ( "MA 표시기 생성 오류" );
반환 ( INIT_FAILED );
}
//--- 좋아요
반환 ( INIT_SUCCESSED );
}