MQL4 및 MQL5에서 Digits()를 무시하고 숫자(따옴표 제외)의 쉼표 뒤 소수 자릿수 가져오기 - 페이지 18

 
Dmitry Fedoseev :

분명히, 그러나 절망하지 마십시오. 모든 것이 잃어버린 것은 아닙니다. 나는 당신을 믿습니다.

글쎄, 왜 여기에 있습니까? 지나가세요.

 
fxsaber :

MQL을 넘어서지 않고.

 #import "msvcrt.dll"
   long memcpy( MqlTick &dst[], int &src[], uint cnt);
   long memcpy( int &dst[], MqlTick &src[], uint cnt);
#import

int TicksToIntArray_thexpert( MqlTick &Ticks[], int &Array[] )
{
   const int Size1 = ArraySize (Ticks);
   const int Size2 = ArrayResize (Array, Size1 * sizeof ( MqlTick ) / sizeof ( int ));

  memcpy(Array, Ticks, Size2 * sizeof ( int ));
  
   return Size2;
}

// Перевод массива int[] в массив тиков.
int IntArrayToTicks_thexpert( int &Array[], MqlTick &Ticks[] )
{
   const int Size1 = ArraySize (Array);
   const int Size2 = ArrayResize (Ticks, Size1 * sizeof ( int ) / sizeof ( MqlTick ));

  memcpy(Ticks, Array, Size2 * sizeof ( MqlTick ));
  
   return Size2;
}

Time [TicksToIntArray_fxsaber2(TicksIn,Array)] = 140528
Time [IntArrayToTicks_fxsaber2(Array,TicksOut)] = 159885
true
Time [TicksToIntArray_thexpert(TicksIn,Array2)] = 58099
Time [IntArrayToTicks_thexpert(Array2,TicksOut2)] = 65944
true
 
TheXpert :

지금까지 감사합니다

 https: //www.mql5.com/ru/forum/287618/page18#comment_9813963
TicksToIntArray_thexpert
Time [TicksToIntArray(TicksIn,Array)] = 80994
IntArrayToTicks_thexpert
Time [IntArrayToTicks(Array,TicksOut)] = 80410
true

https: //www.mql5.com/ru/forum/287618/page18#comment_9814108
TicksToIntArray_fxsaber4
Time [TicksToIntArray(TicksIn,Array)] = 102718
IntArrayToTicks_fxsaber4
Time [IntArrayToTicks(Array,TicksOut)] = 103835
true


DLL 변형은 최고의 MQL 변형보다 20% 더 빠르며, 아마도 더 이상 가속화할 수 없을 것입니다(단순한 변형이 아님).

파일:
 
나는 개인적으로 20%의 승리를 위해서라도 dll을 사용하지 않을 것입니다. 이것은 최소한 보안을 감소시키고 사용의 복잡성을 증가시키며 모호하게 보입니다. 다른 사람의 프로그램을 사용할 때 dll 호출을 완전히 비활성화하는 것이 좋습니다 ...
 

fxsaber :

DLL 변형은 최고의 MQL 변형보다 20% 더 빠르며, 아마도 더 이상 가속화할 수 없을 것입니다(단순한 변형이 아님).

따라서 이것은 본질적으로 저수준 시스템 함수에 대한 유일한 호출입니다. 예 를 들어 배열의 크기 를 128에서 10000으로 늘리면 코드 속도가 빨라질 수 있습니다.

일리야 말레프 :
나는 개인적으로 20%의 승리를 위해서라도 dll을 사용하지 않을 것입니다. 이것은 최소한 보안을 감소시키고 사용의 복잡성을 증가시키며 모호하게 보입니다. 다른 사람의 프로그램을 사용할 때 dll 호출을 완전히 비활성화하는 것이 좋습니다 ...

기본 구현과 비교하여 베어 메모리로 작업하는 것이 얼마나 효율적인지 확인할 수 있도록 예제를 더 게시했습니다. 그리고 나에게 네이티브 코드의 20% 지연은 매우 좋은 결과입니다.

예 - 보안 및 기타 모든 것이 적습니다. 그러나 자신을 위해 속도를 원한다면 할 수 있습니다)

 
TheXpert :

따라서 이것은 본질적으로 저수준 시스템 함수에 대한 유일한 호출입니다. 예를 들어 배열의 크기를 128에서 10000으로 늘리면 코드 속도가 빨라질 수 있습니다.

물론 다양한 크기를 시도했습니다. 어떤 이유로 그들은 결과에 영향을 미치지 않습니다.

 
fxsaber :

HistoryTicks 라이브러리가 필요합니다. 참여해 주셔서 감사합니다.

그건 그렇고, 주문 및 주문 내역과 동일한 MT4 작업에 대한거래 기능 을 변경하지 않고 MT4에서 MT5로 올빼미를 전송할 수 있는 라이브러리가 있습니까? 링크 있으면 던져주세요

 
Ilya Malev :

그건 그렇고, 주문 및 주문 내역과 동일한 MT4 작업에 대한 거래 기능 을 변경하지 않고 MT4에서 MT5로 올빼미를 전송할 수 있는 라이브러리가 있습니까? 링크 있으면 던져주세요

간행물 섹션의 프로필에는 모든 라이브러리가 있습니다.

 
fxsaber :

간행물 섹션의 프로필에는 모든 라이브러리가 있습니다.

이해합니다. 나는 그것이 얼마나 완벽하게 구현되었는지에 대한 내부자의 답변과 직접 보지 않도록 링크를 얻고 싶었습니다. 뭐, 상관없어요, 결국 제가 직접 쓰겠습니다. 나는 다른 사람들의 아이디어를 좋아하지만 다른 사람의 코드는 그다지 좋아하지 않습니다. :)

 
Ilya Malev :

이해합니다. 나는 그것이 얼마나 완벽하게 구현되었는지에 대한 내부자의 답변과 직접 보지 않도록 링크를 얻고 싶었습니다. 뭐, 상관없어요, 결국 제가 직접 쓰겠습니다. 나는 다른 사람들의 아이디어를 좋아하지만 다른 사람의 코드는 그다지 좋아하지 않습니다. :)

https://www.mql5.com/ru/code/16006


완전한 아이덴티티. 글을 쓰기 시작했을 때, 나는 내가 건너야 할 함정의 수를 의심조차 하지 않았다. 새로운 것은 더 이상 걸리지 않을 것입니다.

MT4Orders
MT4Orders
  • www.mql5.com
Данная библиотека позволяет работать с ордерами в MQL5 (MT5-hedge) точно так же, как в MQL4. Т.е. ордерная языковая система (ОЯС) становится идентичной MQL4. При этом сохраняется возможность параллельно использовать MQL5-ордерную систему. В частности, стандартная MQL5-библиотека будет продолжать полноценно работать. Выбор между ордерными...