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

 

안녕하세요! 코드의 질문입니다. 이 이벤트는 모든 새로운 슬레이브 바에 나타납니다. TF - 코드의 버그입니까?

 //+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---
   ResetLastError ();   
   datetime Arr[];
   if ( CopyTime ( NULL , PERIOD_M5 , 10 , 1 ,Arr)<= 0 ) 
   {
       int error= GetLastError ();
       Print ( "Ошибка 4401 возникает на новом баре раб.ТФ, который должен быть ниже М5 в данном случае " ,error);
       Print ( "Почему запрошенная история не найдена ведь я обращаюсь всего лишь к 10-му бару старшего ТФ М5" );
       return ( 0 );
      }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
 
novichok2018 :

Igor Kim은 또한 위치 존재 플래그를 반환하는 bool ExistPositions() 함수를 가지고 있는데, 이는 제 특정 조건에 적응하기가 다소 어렵습니다. 그러나 내 생각에 그것은 역사에서도 시험되지 않을 것입니다.

실생활에서 코드를 테스트한 사람이 없으면 과학적인 찌르기로 시도해 볼 것입니다. 고맙습니다.

다시 내 지식이 충분하지 않습니다! iOpen(NULL,0,0)에서 단순히 NULL을 EURUSD로 바꾸면 선언되지 않은 식별자가 생성되고 '숫자'에서 '문자열'로의 암시적 변환 오류가 발생합니다. OrderSend 에서 Symbol()을 대체할 때도 마찬가지입니다. (Symbol(),OP_BUY,LOT,Ask,slippage,0,TP,"",magic,0,Blue); 어떻게 고치는 지?

 
novichok2018 :

다시 내 지식이 충분하지 않습니다! iOpen(NULL,0,0)에서 단순히 NULL을 EURUSD로 바꾸면 선언되지 않은 식별자가 생성되고 '숫자'에서 '문자열'로의 암시적 변환 오류가 발생합니다. OrderSend(Symbol(),OP_BUY,LOT,Ask,slippage,0,TP,"",magic,0,Blue)에서 Symbol()을 대체할 때도 마찬가지입니다. 어떻게 고치는 지?

따옴표 넣는 것을 잊으셨나요?

 
novichok2018 :

네, 어쩐지 그렇게 상상했지만, 유로화 포지션의 오픈은 반드시 파운드화 조건에 따라 발생해야 하고 유로화 코드에는 반영되지 않기 때문에 히스토리에 대한 드로다운을 확인할 수는 없지만, 역사는 유로에 표시됩니다. 따라서 결정의 정확성에 대한 불확실성.

그런 다음 MQL5를 배우고 다중 통화 옵션을 테스트해야 합니다.

 
Alexey Viktorov :

그런 다음 MQL5를 배우고 다중 통화 옵션을 테스트해야 합니다.

오 안돼, 고마워! 나는 MKL4나 MKL5를 철저히 공부해야 한다는 과제를 스스로 정하지 않는다. 내 목표는 열린 포지션의 95%에서 플러스로 작동하는 가장 단순한 전문가 고문을 FOR MYSELF로 작성하고, 손실을 보고 포지션을 닫기로 결정하기 전에 전체 잔액을 소진하지 않도록 하는 마이너스를 작성하는 것입니다. 이 로봇 중 일부는 데모에서 작동하지만 새로운 아이디어가 나올 때마다 바로 테스트하고 싶습니다. 그리고 저는 코드가 단순할수록 더 좋다는 생각을 가지고 있기 때문에 언어의 세계에 빠져들고 싶지 않습니다. 어쨌든 일단은! 언어에 대한 철저한 연구는 맞춤 전문가 인 IMHO를 작성 하여 돈을 벌기위한 목적으로 만 정당화됩니다.

따옴표 주셔서 감사합니다. 아직 시도하지 않았습니다. 나중에.

 
novichok2018 :

....... 내 목표는 열린 위치의 95%에서 플러스로 작동하는 가장 단순한 전문가 고문을 작성하는 것입니다. 손실. .....

당신은 전 세계 트레이더의 95%의 꿈을 설명했습니다. 그러나 동시에 언어의 철자와 구문 에도 신경쓰고 싶지 않습니다. 부러워하는 자신감, 나는 그것을 원한다. 물론 IMHO.

 
novichok2018 :

오 안돼, 고마워! 나는 MKL4나 MKL5를 철저히 공부해야 한다는 과제를 스스로 정하지 않는다. 내 목표는 열린 포지션의 95%에서 플러스로 작동하는 가장 단순한 전문가 고문을 FOR MYSELF로 작성하고, 손실을 보고 포지션을 닫기로 결정하기 전에 전체 잔액을 소진하지 않도록 하는 마이너스를 작성하는 것입니다. 이 로봇 중 일부는 데모에서 작동하지만 새로운 아이디어가 나올 때마다 바로 테스트하고 싶습니다. 그리고 저는 코드가 단순할수록 더 좋다는 생각을 가지고 있기 때문에 언어의 세계에 빠져들고 싶지 않습니다. 어쨌든 일단은! 언어에 대한 철저한 연구는 맞춤 전문가 인 IMHO를 작성 하여 돈을 벌기위한 목적으로 만 정당화됩니다.

따옴표 주셔서 감사합니다. 아직 시도하지 않았습니다. 나중에.

MQL5는 MQL4보다 복잡하지 않습니다. 그리고 어떤 경우에는 훨씬 더 쉽고 빠르게 작동합니다. OOP는 초보자를 위한 공포 이야기일 뿐입니다. 당신이 말하는 간단한 Expert Advisor를 작성하기 위해 OOP를 전혀 이해할 필요가 없습니다.

글쓰기가 얼마나 힘든지 말해줘

 // MQL4

OrderSend ( _Symbol , OP_BUY, lot, price, Slip, sl, tp, "" , Magic);
 // MQL5

#include <Trade\\Trade.mqh>
CTrade trade;

trade.Buy(lot);
 
Sergey Voytsekhovsky :

당신은 전 세계 트레이더의 95%의 꿈을 설명했습니다. 그러나 동시에 언어의 철자와 구문 에도 신경쓰고 싶지 않습니다. 부러워하는 자신감, 나는 그것을 원한다. 물론 IMHO.

"맞춤법"이 무엇을 의미하는지 이해하지 못했지만 이것은 중요하지 않습니다. 왜냐하면. 내 로봇은 여전히 작동하며 내가 설명한 대로 정확하게 작동합니다.

 
Alexey Viktorov :

MQL5는 MQL4보다 복잡하지 않습니다. 그리고 어떤 경우에는 훨씬 더 쉽고 빠르게 작동합니다. OOP는 초보자를 위한 공포 이야기일 뿐입니다. 당신이 말하는 간단한 Expert Advisor를 작성하기 위해 OOP를 전혀 이해할 필요가 없습니다.

글쓰기가 얼마나 힘든지 말해줘

공포! 너가 나를 죽였다. 나는 두 번째 옵션을 순전히 기계적으로 작성하는 것이 더 어렵지는 않지만 아무 것도 이해하지 못했습니다.)).

 

안녕하세요, MT4는 언제까지 존재할까요? 1~2년?

질문에 대해 죄송합니다. 주제에서 약간 벗어났습니다(하지만 나에게는 매우 중요합니다).