초보자의 질문 MQL4 MT4 MetaTrader 4 - 페이지 89

 
Alexey Kozitsyn :
그렇게 해서는 안 됩니다. 리소스 오버런이 클 것입니다. 그리고 순환하지 않고 반응의 속도에 적합하지 않은 것은 무엇입니까?
고맙습니다. 공식 mql4 튜토리얼에서 이것은 예제로 제공되었기 때문에 관심이 있습니다. 나는 그것이 어떻게든 평소보다 더 잘 작동할 수도 있다고 생각했다.
 
LRA :
틱은 서버에서 새 데이터가 도착하는 것입니다. 그리고 도착 후 즉시 처리되어야 합니다. 5ms의 지연이 있는 루프에서 이 작업을 수행하면 대부분의 틱이 이 지연을 실행하는 동안 정확히 올 것입니다. 따라서 처리가 0 ... 5ms 지연됩니다.
예, 여기에는 논리가 있습니다. 나는 start() 함수 자체도 주기에 시간을 소비하고, 아마도 그것의 반복이 몇 초 또는 그 이상을 훔친다고 생각했습니다. 순수한 주기 . 아마도 이것들은 내부 메커니즘에 대한 오해에서 비롯된 나의 환상일 뿐이지만, 이 방법이 mql4 교과서에 제공된 것은 헛된 것이 아닙니다.
 
smart_man :
고맙습니다. 공식 mql4 튜토리얼에서 이것은 예제로 제공되었기 때문에 관심이 있습니다. 나는 그것이 어떻게든 평소보다 더 잘 작동할 수도 있다고 생각했다.
예, 하지만 튜토리얼이 다소 구식입니다. 물론 없는 것보다는 낫지만, 문서를 병렬로 살펴보고 그 안에 start()와 같은 기능이 있는지 확인하는 것은 불필요하지 않을 것입니다. 이제 Expert Advisors에 대해 OnTick() 처리기를 사용하는 것이 좋습니다.
 

안녕하세요!

 
안녕하세요! USD/RUB 통화 쌍 중 가장 편리한 브로커를 알려주세요. 최소 스프레드 및 최소 스왑 등 다른 사람은 커미션이..?
 
kanybek06 :
안녕하세요! USD/RUB 통화 쌍 중 가장 편리한 브로커를 알려주세요. 최소 스프레드 및 최소 스왑 등 커미션 있는 다른 사람..?

이제 막 시작하기 때문에 누구와도 정말 좋아할 것입니다. 인터넷 검색으로 물어보고 비교해보세요. 그들과 채팅하고 질문하십시오. 당신은 대답할 것입니다.

여기에서는 프로그래밍 및 Metatrader 거래 플랫폼에 대한 질문에 대해 논의합니다.

 

동시에 마감해야 하는 경우 반대 주문을 마감하는 가장 좋은 방법은 무엇입니까?

1) 각각 개별적으로(수동으로 또는 TP/SL에 의해)

또는

2) OrderCloseBy를 사용하여 쌍으로(수동으로만)?

교과서에 쓰여진 것처럼 OrderCloseBy로 스프레드 저장이 하나 있습니까? 그들은 그러한 DC 폐쇄를 금지하고 이 스프레드를 되돌려 줍니까? 기술적으로 어떻게 확인합니까?

고맙습니다.

 
배열 작업을 위한 클래스 템플릿이 있습니다.
 #property strict
#include <ObjectVariables.mqh>
#include <Arrays\varQSort.mqh>
#include <Arrays\objQSort.mqh>

template < typename T1>
class ArrayList
{
   private :
      T1 array[];
      QuickSorts<T1> *qs;
       int size;
       int index;

   public :
       //прочие функции
       void QuickSort(); //отсортировать массив
       //прочие функции
};
//+------------------------------------------------------------------+
//| Сортировка массива
template < typename T1>
void ArrayList::QuickSort()
{
   int idx = index; //сохранение положения индекса
   if (IsPointer(array[ 0 ])) // true - массив содержит указатели класса
      qs /*ошибка 2*/ = new ObjQSort<T1>();
   else
      qs /*ошибка 2*/ = new VarQSort<T1>();
   qs.Sort(array, 0 , index);
   index = idx;
}

이 클래스 템플릿은 배열이 복잡한 데이터 유형 을 저장할 수 있다는 사실을 감안할 때 정렬을 구현해야 합니다. 예를 들어:
ArrayList<PP*> *dde; // PP - класс

간단한 유형과 복잡한 유형에 대해 다른 함수를 작성할 수 있지만 컴파일러는 함수가 데이터 유형으로 엄격하게 구분된다는 것을 이해하지 못하고 계속 맹세합니다.
'<' - ArrayList.mqh를 사용하는 잘못된 작업

그런 다음 인터페이스를 포함하기로 결정했습니다.

 #property strict
template < typename T1>
interface QuickSorts
{
   void Sort(T1 &array[], int beg, int end);
};
#property strict
#include <Arrays\QuickSorts.mqh>
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
template < typename T1>
class VarQSort : public /*ошибка 1*/ QuickSorts
{
private :

public :
   void Sort(T1 &array[], int beg, int end);
   VarQSort(){}
   ~VarQSort(){}
};
template < typename T1>
void VarQSort::Sort(T1 &array[], int beg, int end)
{
   //алгоритм функции
}
 #property strict
#include <Arrays\QuickSorts.mqh>
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
template < typename T1>
class ObjQSort : public /*ошибка 1*/ QuickSorts
{
private :

public :
   void Sort(T1 &array[], int beg, int end){}
   ObjQSort(){}
   ~ObjQSort(){}
};

디자인의 모든 부분이 컴파일됩니다. 그러나 선언하려고 하면:
ArrayList<PP*> *dde; // PP - класс
그런 다음 파일을 컴파일할 때 다음과 같은 오류가 발생합니다.

'QuickSorts' - 템플릿 불일치 varQSort.mqh /*오류 1*/
'=' - 유형 불일치 ArrayList.mqh /*오류 2*/


이 유형 불일치를 제거하기 위해 코드에서 수정해야 하는 것은 무엇입니까? 왜 그런 일이 일어났는지 전혀 이해가 되지 않습니다.

추신
'<' - varQSort.mqh를 사용하는 잘못된 작업
이 디자인에서 나를 괴롭힌다. 그리고 그것이 바로 내가 없애고 싶었던 것입니다. 그러나 이 오류는 나에게 분명하지만 그 두 가지는 그렇지 않습니다.
 
виталик :
안녕하세요 여러분, 칠면조에서 찢어진 PivotsDaily v2.mq4, 한 시간 또는 30분으로 변환하여 변경 사항을 더 명확하게 만드는 방법을 알아내는 코드를 도와주세요. 미리 감사합니다

하나의 스레드에 게시되었습니다. 충분한. 다른 사람들은 결실을 맺을 필요가 없습니다.
 
안녕하세요! 조언자가 1.5년 전에 썼습니다 . 효과가 있었고 모든 것이 괜찮았습니다. 그동안 사용하지 않았고, 지금은 일정이 설정되어 있지 않습니다. 원인이 무엇인지 누가 압니까? 일부 MT4 업데이트 때문일까요?