FORTS 도와주세요 - 페이지 10

 
Mikalas :

그리고 당신은 우리의 "독자"입니다... 질문:

데이터가 준비된 경우 시계열 빌드는 무엇입니까( CopyTime(symbol,period,first_date+PeriodSeconds(period),1,times) )?

그들은 준비되지 않았습니다. 디스크에 있을 수 있습니다. (차트가 열려 있거나 다른 프로그램이 최근에 요청한 경우) 서버 기록과 동기화될 가능성이 매우 높습니다.

그러나 이것이 함수가 단순히 그것을 믿는다는 것을 의미하지는 않습니다. 디스크에서 데이터를 요청하고 메모리에 캐시를 구축해야 하며 그래야만 히스토리가 있고 해당 날짜부터 시작된다고 말할 수 있습니다.

그러나 나의 이 답변도, 개발자의 반복된 답변도, 작업 코드도, 문서도 도움이 되지 않을 것입니다. 기능이 생각한 대로 작동하지 않습니다. 여기에 결함이 있습니다.

 
antt :

문서를 선택적으로가 아니라 주의 깊게 읽으십시오. 디스크에 히스토리 데이터가 있다고 해서 터미널에 대해 "정확히 있음"을 의미하지는 않습니다. 이 경우(표시기에서 액세스할 때) 함수는 메모리의 시계열 캐시에서만 작동합니다. 저것들. 즉각적인 동기 메모리 액세스가 있으며 준비된 시계열이 없으면 SERIES_FIRSTDATE 날짜(배열의 첫 번째 요소)가 반환되지 않습니다. 그러나 요청은 물론 메모리에 시계열의 준비 로딩을 시작합니다.

SERIES_TERMINAL_FIRSTDATE 요청은 데이터베이스 초기화 및 서버와의 동기화와 관련됩니다. 어떤 경우에도 첫 번째 항소는 즉시 작동하지 않습니다.

필요한 이력을 얻을 수 있는 근본적인 가능성은 SERIES_SERVER_FIRSTDATE를 통해 확인됩니다. 저것들. 물론, 히스토리 요청의 X번 반복에 의존하는 것이 가능하지만, 터미널이 SERIES_SERVER_FIRSTDATE까지 히스토리의 존재를 확인하면 해당 시계열 데이터의 가용성은 시간 문제일 뿐입니다(m1 데이터베이스와 m1 데이터베이스의 동기화 서버 및 시계열 생성).

나는 이것을 이해했지만 위에서 설명한대로 할 수없는 이유를 알려주십시오.

이것은 어떤 식으로든 정보 처리 속도에 영향을 미치지 않습니다.

악기에 대한 정보가 있으면 처음 등장한 날짜를 입력하고 메모리에 저장합니다 - 8 바이트!

저장할 필요도 없고 SymbolSelect()를 수행할 때 메모리에 넣습니다.

SeriesInfoInteger 함수( SERIES_TERMINAL_FIRSTDATE )로 액세스하면 다음을 얻습니다.

A -1 - 데이터 없음

B. 0 - dpny를 사용할 수 있지만 준비되지 않음

나. 최초 정보의 일자

그러면 모든 것이 명확하고 투명해집니다.

-1 - 서버로 이동

0 - 시계열을 확인하고(또는) 빌드하기 위해 다음 반복을 기다리고 있습니다.

> 0 시계열 빌드

당신의 참고로 나는 당신이 거의 그렇게 했다는 것을 깨달았습니다. 그렇지 않은 것으로 나타났습니다.

분명히 한 프로그래머가 쓰기 시작했고 다른 누군가가 완료했습니다.

귀하의 구현은 FOREX에는 좋지만 FORTS에는 매우 불편합니다.

지수는 오랫동안 FORTS에 도착하지 않을 수 있으며 시계열은 payati에서 언로드됩니다.

그리고 서버를 호출하면서 데이터를 얻는 전체 과정을 다시 반복해야 합니다 !

 2015.03 . 27 20 : 24 : 56.568   (GAZR- 6.15 ,M1) OnCalculate : Не скопированы тийминги по символу - GAZR- 9.15
2015.03 . 27 20 : 25 : 34.092   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 25 : 34.100   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 25 : 34.326   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 25 : 34.326   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 34 : 40.098   (SILV- 6.15 ,H1) OnCalculate : Не получены бары по символу - SILV- 9.15
2015.03 . 27 20 : 34 : 40.126   (SILV- 6.15 ,H1) OnCalculate : Не получены бары по символу - SILV- 9.15
2015.03 . 27 20 : 37 : 21.475   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 37 : 21.491   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 37 : 41.563   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 40 : 41.051   (SILV- 6.15 ,H1) OnCalculate : Не получены бары по символу - SILV- 9.15
2015.03 . 27 20 : 40 : 56.579   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 40 : 56.595   (RTS- 9.15 ,H1)   OnCalculate : Не получены бары по символу - RTS- 12.15
2015.03 . 27 20 : 40 : 58.886   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 40 : 58.896   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
2015.03 . 27 20 : 40 : 59.436   (SILV- 6.15 ,H1) OnCalculate : Не получены бары по символу - SILV- 9.15
2015.03 . 27 20 : 41 : 00.892   (VTBR- 6.15 ,H1) OnCalculate : Не получены бары по символу - VTBR- 9.15
 
Mikalas :

귀하의 구현은 FOREX에는 좋지만 FORTS에는 매우 불편합니다.

지수는 오랫동안 FORTS에 오지 않을 수 있으며 시계열은 payati에서 언로드됩니다.

그리고 서버를 호출하면서 데이터를 얻는 전체 과정을 다시 반복해야 합니다 !

미칼라스, 나는 여전히 당신을 믿습니다. 당신은 분명히 여기에서 말한 모든 것을 읽을 것입니다.

FORTS 도와주세요

다중 통화 표시기 는 그렇게 간단하지 않습니다.

먼저 도구의 가용성을 확인하십시오.

 bool CorrectSymbol( string symbol )
{
         ResetLastError ();
         if ( SymbolInfoDouble ( symbol, SYMBOL_BID ) > DBL_EPSILON ) return ( true );

         // символ не выбран в "Обзоре рынка" (нет в списке доступных)
         if ( GetLastError () == 4302 )
        {
                 if ( SymbolSelect ( symbol, true ) && SymbolInfoInteger ( symbol, SYMBOL_SELECT ) ) return ( true );
        }

         return ( false );
}

그런 다음 기록이 정상적으로 로드되도록 사용된 모든 도구의 차트를 엽니다(보이지 않는 차트 개체로 충분함) .

그런 다음에만 CheckLoadHistory를 사용하여 기록을 로드하십시오.

그러나 이것으로도 충분하지 않을 수 있습니다.


 

그건 그렇고, 나는 다중 통화 분석 및 건물 지표와 함께 이러한 상황을 좋아하지 않습니다. 구현 방법.

결국, 이것은 탬버린과 함께 춤을 추는 것입니다. 무언가를 계산하기 시작하기 전에 많은 검사를 수행해야합니다 ... 다른 플랫폼에서는 이것을 본 적이 없습니다. 사용자의 관점에서 모든 것이 더 간단합니다.

MT4에서 프로그래밍을 배운 많은 사람들조차도 MT5에서 프로그래밍의 복잡성을 두려워한다는 것은 비밀이 아닙니다.

내가 개발자라면 삶을 더 쉽게 만들려고 노력할 것입니다. 이 모든 탬버린 춤을 다음과 같은 하나의 명령으로 결합하십시오.

가트데이터(RTS,1000)

터미널은 이 문제를 해결하고, 확인하고, 필요한 경우 차트를 열고 , 기록, 업데이트 등을 다운로드합니다.

그리고 실행 후에 작업할 최신 데이터가 있습니다.

Z.Y. 모토가 주부들을 위한 단말기였던걸로 기억하는데...

 
komposter :

미칼라스, 나는 여전히 당신을 믿습니다. 당신은 분명히 여기에서 말한 모든 것을 읽을 것입니다.


퇴비!

( 더 이상 아무것도 - 불쾌하지 않습니다! )

탐 시리즈에 대한 정보를 얻는 모델에서 잘못된 점은 무엇입니까?

너 때문이 아니라니까!?

저는 개발자들에게 "통과"하려고 노력하여 그들이 우리 모두를 위해 더 쉽게 만들 수 있도록 하고 있습니다.

"인생"이지만 항상 당신과 같은 가장 똑똑한 사람들이 있습니다!

그러므로 그대로 될 것입니다!

 
Prival-2 :

그건 그렇고, 나는 다중 통화 분석 및 건물 지표와 함께 이러한 상황을 좋아하지 않습니다. 구현 방법.

결국, 이것은 탬버린과 함께 춤을 추는 것입니다. 무언가를 계산하기 시작하기 전에 많은 검사를 수행해야합니다 ... 다른 플랫폼에서는 이것을 본 적이 없습니다. 사용자의 관점에서 모든 것이 더 간단합니다.

MT4에서 프로그래밍을 배운 많은 사람들조차도 MT5에서 프로그래밍의 복잡성을 두려워한다는 것은 비밀이 아닙니다.

내가 개발자라면 삶을 더 쉽게 만들려고 노력할 것입니다. 이 모든 탬버린 춤을 다음과 같은 하나의 명령으로 결합하십시오.

가트데이터(RTS,1000)

터미널은 이 문제를 해결하고, 확인하고, 필요한 경우 차트를 열고 , 기록, 업데이트 등을 다운로드합니다.

그리고 실행 후에 작업할 최신 데이터가 있습니다.

Z.Y. 모토가 주부들을 위한 단말기였던걸로 기억하는데...

여기요!

일반적이고 단순한 접근 방식은 효율적인 프로그램을 작성하는 것을 불가능하게 만듭니다. 모든 검사가 있는 GiveData 기능 하나를 만드는 것은 불가능합니다. 이 기능은 사용자에게 불필요한 경우의 95%에서 브레이크가 됩니다.
인디케이터의 경우 해당 차트의 데이터로 최대한 빠르게 동작합니다. 그는 이것을 위해 창조되었고 이것을 위해 투옥되었습니다. "모든 상황에 대비"하면 간단한 MA는 복잡한 괴물처럼 느려집니다.

저는 개발자를 옹호하는 것이 아닙니다. 절대 아닙니다. 저도 별로 좋아하지 않습니다.
하지만 건설적으로 노력하고 있으며 터미널의 모든 내부를 알지 못한다는 것을 깨달았습니다.

어떤 면에서 Mikalas는 옳습니다. 그는 눈을 감고(읽지 않음) 계속해서 "불편해요!"라고 외치며 토론이 대중적이고 개발자들에게 눈에 띄게 됩니다. 그리고 그들은 무언가를하고 있습니다 (몇 가지 실수는 이미 그의 팁에서 수정되었습니다).
그래서 헛되이 투덜거렸지, 아마)

 
Mikalas :

퇴비!

(더 이상 - 공격 금지!)

탐 시리즈에 대한 정보를 얻는 모델에서 잘못된 점은 무엇입니까?

너 때문이 아니라니까!?

저는 개발자들에게 "통과"하려고 노력하여 그들이 우리 모두를 위해 더 쉽게 만들 수 있도록 하고 있습니다.

"인생"이지만 항상 당신과 같은 가장 똑똑한 사람들이 있습니다!

그러므로 그대로 될 것입니다!

나는 이미 이해했다.

작업은 단순히 발표되었습니다. 지표를 작성하는 것 입니다. 그러나 언어를 개선할 필요가 있는 것으로 나타났습니다.

그러한 질문의 공식화에서 나는 조언을 가지고 등반하지 않을 것입니다)

 
komposter :

나는 이미 이해했다.

작업은 단순히 발표되었습니다. 지표를 작성하는 것 입니다. 그러나 언어를 개선할 필요가 있는 것으로 나타났습니다.

그러한 질문의 공식화에서 나는 조언을 가지고 등반하지 않을 것입니다)

안드레이!

여기에 게시하는 데 더 많은 시간을 할애했습니다.

이 시간 동안 "나의" 비방을 기반으로 지표를 작성할 수 있습니다(ForTS용).

그리고 그들은 내가 말하는 "목발"을 보았습니다!

 
Mikalas :

안드레이!

여기에 게시하는 데 더 많은 시간을 할애했습니다.

이 시간 동안 "나의"비방을 기반으로 지표를 작성할 수 있습니다(ForTS의 경우)

그리고 그들은 내가 말하는 "목발"을 보았습니다!

내가 쓴 이유는 내가 무슨 말을 하는지 알고 있기 때문입니다.

목표가 지표를 얻는 것이지 언어를 수정하지 않는 것이라면 지표도 이미 받았을 것입니다.

 
komposter :

내가 쓴 이유는 내가 무슨 말을 하는지 알고 있기 때문입니다.

목표가 지표를 얻는 것이지 언어를 수정하지 않는 것이라면 지표도 이미 받았을 것입니다.

지표를 작성 했지만 사용이 불가능합니다.

무엇을 하든지 문제는 어디에나 있습니다!

OrderSendAsync()가 있습니다. ORDER_ID가 있지만 추적 메커니즘이 없습니다.

전역 변수가 있습니다. 터미널이 닫히면 0으로 재설정됩니다...

명령 실행에 "이해할 수 없는" 지연이 있습니다.

사기혐의 고발....

등...

문제와 버그가 존재하기 때문에 질문을 올립니다.

( 나는 그들을 만들지 않습니다! )

나는 사탕 포장지가 아닌 실제 돈으로 EXCHANGE를 거래합니다!

따라서 나와 거래하는 모든 사람에게 거래 기능이

완벽했다.

MT5 아키텍처는 SUPER입니다. 정말 마음에 들지만 모든 것이 제대로 작동해야 하고

데이터에 대한 액세스는 빠르고 쉬워야 합니다.

그리고... 제발 끝내자.