서비스. 이미 작업 중이신가요? - 페이지 14

 
Maxim Dmitrievsky :

많은 플랫폼에 이 옵션이 있습니다. 하나의 정보 피드를 사용하고 다른 브로커와 거래하는 경우가 자주 발생합니다.

여기에서 차익 거래를 할 수 없습니다.

예를 들어, 다른 공급업체는 시장 깊이, 기타 필요한 정보 기호(지수, 선물) 및 기타 상품을 보유하고 있습니다.

예, Ninja Trader 8로 볼륨을 얻는 방법을 배우고 있습니다. 나는 파일을 통해 빠르고 잘못했습니다. 서비스로 노력하겠습니다.

 
fxsaber :

DLL 없이 터미널의 "GUI 확장"은 불가능합니다.

메모리 매핑을 통한 통신은 동시에 양방향입니다.

 
fxsaber :

제휴 마케터의 꿈도 비슷한 API라는 것을 알고 있습니다. 여기에서는 여러 터미널을 병렬로 실행 해야만 문제가 해결됩니다.

귀하는 마스터 터미널을 가지고 그 안에 있는 서비스를 통해 다른 열려 있는 터미널에서 데이터를 수집합니다. 가지고 있는 마스터 터미널의 합계

EURUSD_알파리.

EURUSD_Dukascopy

EURUSD_LMAX

----


그리고 Master-Terminal이 브레이크 DC에 있으면 MQL의 범위를 벗어나지 않는 기본 Expert Advisor가 작성됩니다. 서비스는 모든 더러운 작업을 수행합니다.

어떻게? 간단히 말해서 plz.

 
Реter Konow :

각 EA가 액세스할 수 있는 터미널의 사용자 프로세스입니다. 시장 환경과 관련된 끝없는 계산을 서비스의 별도 스레드로 실행하고 적시에 프로세스에서 현재 결과를 가져올 수 있습니다.

링 버퍼.

Windows와 달리 MT5 서비스가 터미널 내에서 로컬이라는 점은 유감입니다.

 
Alexey Volchanskiy :

예, Ninja Trader 8로 볼륨을 얻는 방법을 배우고 있습니다. 나는 파일을 통해 빠르고 잘못했습니다. 서비스로 노력하겠습니다.

NT는 죽은 프로젝트 입니다, IMHO

 
Maxim Dmitrievsky :

NT는 죽은 프로젝트, IMHO

살아 있고 발전하는 모든 사람들보다 더 살아있다.

 
Alexey Volchanskiy :

리소스를 통해 즉석에서 데이터를 전송하는 예가 있습니까?

검색을 찾아야 합니다.

알렉세이 볼찬스키 :

어떻게? 간단히 말해서 plz.

FILE_COMMON 또는 DLL.

 
Maxim Dmitrievsky :

NT는 죽은 프로젝트, IMHO

내가 이것을 말할 때 나는 더 씁니다. 왜냐하면 첫째로 ..., 둘째로 ... 등등. 그리고 이것은 진공 속의 또 다른 방귀입니다)

4.5 또는 4.6과 같은 상당히 최근 버전의 완전한 C#, .NET이 여전히 있습니다. VS2017에서 직접 프로그램을 작성하고 디버깅할 수 있습니다. 또한 .NET 라이브러리의 모든 기능을 제공합니다. 그리고 가장 중요한 것은 선물 거래량에 대한 액세스입니다. 그러나 모든 것이 글로벌 변동보다 수십 분 뒤처지는 모스크바 거래소는 아닙니다. 그건 그렇고 마켓이 있는데 공부는 안해봤지만 아직 이르다.

 
fxsaber :

FILE_COMMON 또는 DLL.

아, 서비스 면에서 뭔가 새로운 것이 발명된 줄 알았다.

 
Alexey Volchanskiy :

4.5 또는 4.6과 같은 상당히 최근 버전의 완전한 C#, .NET이 여전히 있습니다. VS2017에서 직접 프로그램을 작성하고 디버깅할 수 있습니다.

우리도 여기서 태어난 것이 아니다!

여기 MT5 배송에서 모멘텀 표시기를 10분 이내에 다시 작성했습니다... 글쎄, 어떻게 다시 작성했는지... VS2017에 복사-붙여넣기 )))

MQL5 소스 코드:

 #import "tst_momentum.dll"
#import
..... текст оригинала индикатора Momentum.mql5

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
  {
   int StartCalcPosition;
   double pr[];
   ArrayCopy (pr,price);
   momentum::oncalculate(ExtMomentumPeriod,rates_total,prev_calculated,begin,pr,StartCalcPosition,ExtMomentumBuffer);
   if (begin> 0 ) PlotIndexSetInteger ( 0 , PLOT_DRAW_BEGIN ,StartCalcPosition+(ExtMomentumPeriod- 1 ));
   return (rates_total);
  }

C# 소스

 namespace tst_momentum
{
     public class momentum
    {
         public static void oncalculate( int ExtMomentumPeriod,
                                 int rates_total,
                                 int prev_calculated,
                                 int begin,
                                 double [] price,
                                 ref int StartCalcPosition,
                                 ref double [] OUTArray)
        {
            StartCalcPosition = (ExtMomentumPeriod - 1 ) + begin;
             if (rates_total < StartCalcPosition) return ;
             int pos = prev_calculated - 1 ;
             if (pos < StartCalcPosition) pos = begin + ExtMomentumPeriod;
             for ( int i = pos; i < rates_total;  i++)
            {
                OUTArray[i] = price[i] * 100 / price[i - ExtMomentumPeriod];
            }
        }
    }
}

메모리 할당은 MQL5에서 처리하고 계산은 C#에서 처리합니다.

추신: 가격[] 가격을 복사하지 않고 C#으로 전송하는 방법을 아직 모릅니다. 옵션이 있습니까?