인공 지표 버퍼 - 페이지 8

 
Alexey Viktorov :
정말 민주주의 정신에 ... 그것은 모두가하는 일입니다 ...
여기서 민주주의란 무엇인가? 무슨 얘기를 하는 건가요? 순전히 개인적인 관계와 그의 선의에 대한 지식. 나는 이미 말했다 : "민주주의는 잊어라, 그것은 존재하지 않는다"
 
Slawa :

반복합니다. 소스 코드 없이 ex5를 게시하는 것은 자체 광고입니다. 괴롭히는 사람. 진정한 의도를 커버합니다. 시장에 출시하기 전에 커뮤니티 구성원이 무료로 디버깅합니다.

"블라블라블라해서 소스를 올리고 싶지 않다"는 말은 기만적이거나 완전히 좋은 의도가 아니라는 핑계일 수 있습니다.

"얘들아, 그럼 내가 출처를 확실히 보여줄게"라는 약속은 대부분의 경우 이행되지 않습니다.

자, 당신의 입장은 분명합니다.

사람이 주제를 생성한다고 가정해 보겠습니다. 그 안에서 그는 어떤 아이디어에 대해 N 페이지에 대한 토론을 시작했으며 아마도 이 분기를 기반으로 코드를 만들어 시장에 내놓을 것이라고 말할 수도 있습니다. 주제에는 코드나 소스가 없으며 아이디어 자체에 대한 토론만 있습니다. 포럼 회원들은 대화를 유지하는 데 관심이 있으며 적극적으로 토론하고 있습니다.

사회자가 이 주제를 즉시 삭제할 것인가, 아니면 소중한 단어 "market"을 발음해야 합니까? 또는 어떻게?

내가 계속하는 이유. 나는 새로운 현실에서 넘어서는 것이 금지된 선을 보고 싶다.

 
Slawa :

반복합니다. 소스 코드 없이 ex5를 게시하는 것은 자체 광고입니다. 괴롭히는 사람. 진정한 의도를 커버합니다. 시장에 출시하기 전에 커뮤니티 구성원이 무료로 디버깅합니다.

"블라블라블라해서 소스를 올리고 싶지 않다"는 말은 기만적 이거나 완전히 좋은 의도가 아니라는 핑계일 수 있습니다.

"얘들아, 그럼 출처를 확실히 밝히겠다"는 약속은 대부분 지켜지지 않는다.

당신은 틀렸고 일관성이 없습니다

나는 또한 내 소스를 표시하지 않습니다. 그들은 내 것이기 때문입니다.

왜 터미널 소스를 공개하지 않습니까?

소스 코드가 없는 터미널의 작동을 논의하는 이유는 무엇입니까?

귀하의 터미널에 어떤 좋지 않은 의도 가 있습니까? 뒷문?

 
pako :

...

왜 터미널 소스를 공개하지 않습니까?

...

그렇지 않습니다. 최소한 선형 회귀 도구의 소스 코드가 게시되었습니다. 그리고 당신, pako는 소스 코드의 다음 분기에 있는 것을 ex5에 게시합니다.
 
Dmitry Fedoseev :
그리고 당신, pako는 소스 코드의 다음 분기에 있는 것을 ex5에 게시합니다.

그래서 무엇? 다음 지점으로 가서 소스를 가져오도록 합니까, 아니면 검색을 사용하기 위해 긴장했습니까?

문서에서 일반적으로 모든 것이 공개되어 있으며 누구든지 가서 가져 가야합니다.

 
Alexey Kozitsyn :

내가 계속하는 이유. 나는 새로운 현실에서 넘어서는 것이 금지된 선을 보고 싶다.

답변을 받지 못할 것입니다.

그리고 당신은 이미 그것을 알고 있기 때문에이 대답이 필요하지 않습니다.

왜 ex5를 업로드할 필요가 없다고 생각하지 않습니까? 나는 이미 통계를 발표했습니다. MQL5.com의 존재 초기부터(거의 7년입니까? 아니면 제가 착각하고 있습니까?) 전체 리소스에 대한 러시아어 및 영어 하위 섹션에는 ex5가 있는 약 100개의 주제가 있습니다. 게시되었습니다. 특히 웹에 관심이 많았습니다.

 
Slawa :

답변을 받지 못할 것입니다.

그리고 당신은 이미 그것을 알고 있기 때문에이 대답이 필요하지 않습니다.

왜 ex5를 업로드할 필요가 없다고 생각하지 않습니까? 나는 이미 통계를 발표했습니다. MQL5.com의 존재 초기부터(거의 7년입니까? 아니면 제가 착각하고 있습니까?) 전체 리소스에 대한 러시아어 및 영어 하위 섹션에는 ex5가 있는 약 100개의 주제가 있습니다. 게시되었습니다. 특히 웹에 관심이 많았습니다.

알았다면 이런 질문을 하지 않았을 것이다. 제재를 받고 싶지 않습니다. 감사합니다. 반복합니다. 예에 대해 이미 이해했습니다. 질문은 다릅니다. 제품 생성을 언급하는 것은 절대 불가능합니다. 이것이 잠재적인 광고, 티저로 간주됩니까? 지점의 제거와 금지?
 
Alexey Kozitsyn :
지점의 제거와 금지?

젠장. 민주주의에서 전체주의로.

확인. 나는 나 자신에 대해서만 대답합니다. "하지만 누가 알겠습니까?"

 
금지령은 " 커뮤니티와 공유할 의사가 없음 "이라는 글과 함께 하루를 받았다. 모더레이터와의 다툼은 못봤으니 누가 보셨다면 견적 부탁드립니다. ex5를 삭제하지 말라고 정중하게 요청했습니다(필요한 이유 설명 포함) - 예.

내 첫 번째 MT5 표시기에 관해서는 ex5가 블로그에 게시했습니다(LAN에서 허용 한 리소스의 관리자 (및 중재자)). 직접적인 링크를 주지 않기 때문에 나는 다시 한 번 자기 홍보 및 기타, 말도 안되는 것으로 비난받을 수 있습니다. 이는 사람에 대한 현대적인 아이디어에 너무 잘 맞습니다 ... 아마도 너무 감정적이지만 이미 여기에서 말했듯이, (매우 예기치 않게) 나타난 개그 반사는 소스 코드를 레이아웃하는 동안 허용하지 않았습니다(내가 "의도하지 않았다"는 증거로 인용할 수 있음). 이것은 강압에 대한 인식의 현재 개인적인 감정이며 비밀을 만들려는 시도가 아닙니다. 의견을 주신 모든 분들께 감사드립니다.

지표는 인공 지표 버퍼 를 보여주기 위해 필요했습니다. 일반 차트에 틱 데이터(이력 + 실시간)를 표시합니다. 스크린샷에서도 알 수 있듯이(역동성이라는 개념을 이해하기 위해 게시한 것입니다) 차트의 각 픽셀에 값이 있고 막대당 한 번만 있는 것이 아닙니다. 개인적으로 나는 그러한 지표를 본 적이 없으므로 (틀릴 수 있음) 이것은 완전히 새로운 종류의 지표라고 말했습니다 (표준 지표 버퍼가 없다고해서 그렇게되지는 않습니다). 내가 틀렸다면, 나에게 보여주세요. 고마울거야.

표시기가 막대와 분명히 일치하지 않는 눈금의 수평 섹션을 표시하는 경우 이것은 CopyTicks BUG (터미널을 다시 시작하여 수정됨)입니다. 근거가 되지 않기 위해 고문의 형태로 증거를 제시합니다

 #define TRUE true
#define THOUSAND 1000

void OnInit ( void )
{
   ChartSetInteger ( 0 , CHART_EVENT_MOUSE_MOVE , TRUE );

   return ;
}

void OnDeinit ( const int Reason )
{
   Comment ( "" );

   return ;
}

// Возвращает значение времени, которое показывает CTRL+D
bool   MyChartXYToTimePrice( const long Chart_ID, const int X, const int Y, int &SubWindow, datetime &time, double &Price )
{
   const bool Res = ChartXYToTimePrice (Chart_ID, X, Y, SubWindow, time, Price);

   if (Res)
  {
     const int period = PeriodSeconds ( ChartPeriod (Chart_ID));
     const bool NextBar = (time % period > period >> 1 );

    time /= period;

     if (NextBar)
      time++;

    time *= period;
  }

   return (Res);
}

string GetTicks( const datetime time, const int Amount = 10 )
{
   MqlTick Ticks[];

   const int AmountTicks = CopyTicks ( _Symbol , Ticks, COPY_TICKS_INFO , ( ulong )time * THOUSAND, Amount);

   string Str = "Request's time = " + ( string )time + ", result:" ;

   for ( int i = 0 ; i < AmountTicks; i++)
    Str += "\n" + ( string )Ticks[i].time + " bid = " + ( string )Ticks[i].bid + " ask = " + ( string )Ticks[i].ask;

   const int period = PeriodSeconds ( _Period );

   if ((AmountTicks > 0 ) && (Ticks[ 0 ].time / period !=  time / period))
    Str += "\nWARNING!!!" ;

   return (Str);
}

void OnChartEvent ( const int id, const long & lparam, const double & dparam, const string & sparam )
{
   if (id == CHARTEVENT_MOUSE_MOVE )
  {
     datetime time;
     double price;
     int SubWindow;

     if (MyChartXYToTimePrice( 0 , ( int )lparam, ( int )dparam, SubWindow, time, price))
       Comment (GetTicks(time));
  }

   return ;
}

그리고 스크린


표시기를 통해 이러한 수평 섹션의 크기가 각 틱마다 어떻게 증가하는지 명확하게 볼 수 있습니다. 물론 시작하면 역학을 볼 수 있습니다. 따라서 표시기는 터미널 아키텍처의 내부 틱 캐시에 어떤 일이 발생하는지 시각화합니다.

또한 애니메이션 이미지로 판단하면


표시기 "선도" - 터미널의 차트에 현재로 표시될 가격(1초 이상)을 표시합니다. 하지만 사실 이것은 MarketWatch의 차트 자체의 시차입니다(지표가 차트를 느리게 한다는 가설이 사라졌습니다-확인했습니다). 따라서 차트에서 볼 수 있는 "현재" 가격/막대에 초점을 맞추는 것을 강력히 권장하지 않습니다. MT4에도 그러한 질병이 있습니다. 어떤 이유에서인지 상위 5위 안에 들었습니다.

실제

comp :

누가 FORTS와 ESN을 가지고 있는지, 어떤 버그가 있는지 보고하십시오(많은 버그가 있다고 확신합니다).

이제 주제 - 인공 지표 버퍼 MT4/5. 나는 언제든지 (단순한 막대가 아니라) 이중 값을 쓸 수 있는 버퍼를 갖고 싶었습니다. 그리고 이러한 버퍼가 그에 따라 렌더링되도록 합니다. 그는 구조적으로 그러한 버퍼를 만드는 것이 더 나은 방법을 물었습니다. 저것들. 어떤 종류의 클래스가 필요한지, 어떤 인터페이스가 가장 편리해 보이는지. 그리고 물론 그러한 버퍼에 대한 수요가 있습니까?


토론(및 지표)은 원래 사용자가 아닌 프로그래머와만 수행할 계획이었습니다. 이 게시물 이후에 다시 금지 될 것이라는 점을 배제하지 않습니다. t. "나는 당신의 PR 주제를 금지할 것입니다." 불행히도, 나는 그것을 왜 그렇게 인식하는지 스스로 설명할 수 없습니다.
 
comp :
토론(및 지표)은 원래 사용자가 아닌 프로그래머와만 수행할 계획이었습니다. 이 게시물 이후에 다시 금지 될 것이라는 점을 배제하지 않습니다. t. "나는 당신의 PR 주제를 금지할 것입니다." 불행히도, 나는 그것을 왜 그렇게 인식하는지 스스로 설명할 수 없습니다.

감사합니다, 주제가 정말 재미있습니다. 실험은 흥미롭다. 특히 그래픽이 느려집니다. 예상치 못한. 사실, 내 티크는 항상 열려 있고 더 많이 봅니다.

하지만, 아마도. MT에는 예를 들어 Ask 라인이 델타를 따라 다시 그려지는 알고리즘이 있습니다. 그건 그렇고, 틱은 거래가 아닐 수 있지만 Bid-Ask의 변경은 촛불을 완료 할 필요가 없습니다.

버퍼에 관해서는, 나는 단어에서 문제를 이해하지 못했습니다. 일반 다이나모 어레이에서 - 원하는 것과 원하는 만큼, 밀어 넣습니다. 시간은 어디입니까?

:)를 기반으로 여가 시간에 개체의 Bid-Ask와 틱 값 사이의 지연을 살펴봐야 합니다. 추가 포인트는 아프지 않습니다.

추신: 주제를 벗어났지만 왜 양초가 주식 차트에서와 같이 마지막 거래의 가격이 아니라 입찰가에 따라 움직이는지 이해가 되지 않습니다.