이런 짓을 했는데... - 페이지 14

 

정지가 금지된 것으로 판명되었고 어떻게든 침묵이 흘렀으므로 나는 그에게 메시지로 시작하겠습니다. Sergey, 이 글을 읽고 있다면 편지에 대한 답장을 받았는지 어떻게든 알려주십시오.


그 동안 다른 아이디어에 따라 레벨을 표시하는 스크립트를 만들었습니다. 이 레벨은 멋지게 보입니다. 불행히도, 좋은 통계를 수집하기에는 너무 무겁습니다. 그러나 거의 모든 레벨 시스템이 가격 차트에서 멋지게 보일 것이라는 의심이 들기 시작합니다. :)


또한 위에서 설명한 알고리즘에 따라 시간을 선택하고 테스터 어드바이저를 작성했습니다 . 막 끝냈기 때문에 실제로 테스트를 해보지는 않았고, 어드바이저도 좋아하지 않는다. 하지만 효과가 있는 것 같습니다. 여기에서 명확성을 위해 시작(), 첨부 파일의 전체 코드입니다.

 int start() {
   if (Start) {
    Start = false;
    HalfPoint = 0.5 * Point ;
    DLvl = 1000 * Point ;
    RecDLvl = 1.0 /DLvl;
    dStopLevel = StopLevel* Point ;
  }

// Блок сопровождения ордеров
   double Price;
   bool IsBuyStop = false;
   bool IsSellStop = false;
   for ( int ord= OrdersTotal ();ord>= 0 ;ord--) {
     if ( OrderSelect (ord,SELECT_BY_POS,MODE_TRADES)==false) continue ;
     switch (OrderType()) {
       case OP_BUY: 
         if ( TimeCurrent ()-OrderOpenTime() > LT) OrderClose(OrderTicket(),OrderLots(),Bid, 5 , Blue );
         break ;
       case OP_SELL: 
         if ( TimeCurrent ()-OrderOpenTime() > LT) OrderClose(OrderTicket(),OrderLots(),Ask, 5 , Yellow );
         break ;
       case OP_BUYSTOP: 
        IsBuyStop = true;
        Price = GetBuyStopLevel(dStopLevel);
         if (OrderOpenPrice()-Price > HalfPoint) OrderModify(OrderTicket(), NormalizeDouble (Price, Digits ), 0 , 0 , 0 , Blue );
         break ;
       case OP_SELLSTOP: 
        IsSellStop = true;
        Price = GetSellStopLevel(dStopLevel);
         if (Price-OrderOpenPrice() > HalfPoint) OrderModify(OrderTicket(), NormalizeDouble (Price, Digits ), 0 , 0 , 0 , Yellow );
         break ;
    }   //  switch(OrderType())
  }   //  for(int ord=OrdersTotal();ord>=0;ord--)
  
//  Блок установки орлеров  
   static int Mnt;
   static int PreMnt;
  Mnt = TimeMinute( TimeCurrent ());
   if (Mnt != PreMnt) {
    PreMnt = Mnt;
     if (!IsBuyStop) OrderSend ( Symbol (),OP_BUYSTOP,Lots(), NormalizeDouble (GetBuyStopLevel(dStopLevel), Digits ), 5 , 0 , 0 , NULL , 0 , 0 , Blue );
     if (!IsSellStop) OrderSend ( Symbol (),OP_SELLSTOP,Lots(), NormalizeDouble (GetSellStopLevel(dStopLevel), Digits ), 5 , 0 , 0 , NULL , 0 , 0 , Yellow );
  }
   return ( 0 );
}

Halt 없이는 더 이상 움직일 수 없습니다. 이것이 자신의 시험인지 아닌지 말해야 합니다.


PS Expert는 5자리 만 가능합니다.

파일:
 

Expert Advisor를 변경하여 레벨 근처의 반전에 초점을 맞추면 레벨에 대한 첫 번째 접근에서 정지 주문을 해서는 안 됩니다. 대략적으로 말하면 이전 전문가는 각 레벨에서 동일한 매수와 매도를 주어야 하며, 이것은 위에서 접근하여 상승할 때 한 번 더 매수하고 그 반대의 경우 한 번 더 매도합니다.

수준 00 및 정지 수준에 대한 배수의 기울기는 20pp(5자리)이며 거래당 스프레드가 약간 더 작습니다. 이것은 2004년 여름의 유로달러입니다.

레벨에 대한 저울의 의존성(즉, 50n(5자리) 단계의 Delta 매개변수에 의한 최적화)은 분 막대의 교차점에서 이전에 얻은 데이터와 매우 일치합니다.


사물의 논리에 따르면, 지금은 많은 것에 대해 이야기해야 할 때입니다. 신발에 대해, 선박에 대해, ~에 대한 밀랍 물개, 양배추와 왕 , 그리고 다른 맥락과 필터에 대해 . :)

 

시간/변동성에서 돌파 및 반등을 위한 중지 및 공백 전략을 도입하려고 합니다.

 

가능한 옵션의 수가 매우 많기 때문에 집단 연구가 의미가 있습니다. 코드를 변경해야 하는 것은 분명합니다. 즉, mql의 초기 기술 없이는 관리하기 어려울 것입니다. 가장 중요한 것은 결과와 결과를 얻는 방법이 공개되는 경우에만 혜택이 있다는 것입니다. 글쎄, 사람은 성배 를 쥐고있을 수 있지만 사람들은 부정적인 결과를 확실히 알아야합니다.


입력 중지 - 이것은 코드에 대한 표준 삽입입니다. 그러나 제 생각에는 이것이 먼 "보험"정지가 아닌 경우 다른 피팅 방법 외에는 아무것도 제공하지 않을 것입니다.


브레이크 아웃 전략을 세우는 것은 매우 쉬울 것 같습니다 - 같은 방향의 주문이 있으면(단순히 보류 중인 것이 아니라) 발주를 금지하고 충분히 큰 스탑 레벨(레벨 간 거리에 비례)을 설정하면 충분합니다. . 그러나 그 단순하고 아름다운 계획에서 올바른 유일한 차단기를 만드는 데 성공하지 못했습니다. 이론상으로 레벨을 넘었다는 사실을 감지하고 그 이후에야 주문을 해야 합니다. 미묘한 점은 이 사실이 표준 방식으로 가장 가까운 레벨에 대해 감지되지 않는다는 것입니다. 결국 가장 가까운 레벨은 교차하는 바로 그 순간에 바운스됩니다. 평균이 정확히 레벨에 떨어지면 교차점이 세 틱까지 지속될 수 있습니다. 따라서 이전 게시물의 결과는 눈에 띄게 변경된 Expert Advisor에서 얻었으며 코드 기반 (및 주제에 대한 실제 관심 수준을 이해하는 방법 :))을 위해 제안했기 때문에 여기에 게시하지 않았습니다.


시간 필터는 가장 효율적인 것으로 간주되며 일반적으로 구현하기가 매우 쉽기 때문에 결과를 보는 것이 흥미로울 것입니다. 개인회생 가능합니다 :)


물론 휘발성 필터도 큰 관심을 끌지만 여기에는 구성을 위한 훨씬 더 많은 옵션이 있으며 이에 대한 특정 옵션과 결과가 필요합니다.

 
여기 에서 전문가를 찾을 수 있습니다.
 

LevelsTrade_1.mq4 Expert Advisor에서 부정확성이 발견되어 비대칭 매수 매도가 발생했습니다. 여기 이 함수에서 한 줄을 바꿔야 합니다.

 double GetSellStopLevel( double StopLvl) {
   int ILvl = (Bid+HalfPoint)*RecDLvl;
   double DownLvl = DLvl*ILvl;
//  if (DownLvl > Bid-StopLvl-HalfPoint) DownLvl -= DLvl ;
   if (Bid-StopLvl < DownLvl-HalfPoint) DownLvl -= DLvl ;
   return (DownLvl);
}

여기에 잘못된 행이 주석 처리되어 있습니다. 올바른 버전이 게시물에 첨부되어 있습니다.

파일:
 
Balbesik06 :



칸디다!

나는 당신을 보았고 당신에게로 향하고 있습니다.

질문이 주제에서 벗어났습니다.

지그재그로 돌아가시겠습니까?

나는 "PM"으로 당신에게 편지를 썼습니다. 답이 없었습니다.

고문(논쟁을 하든 말든)에 관해서는 (저 스스로) 7(+) - 1(-) 통계가 있지만 다른 저자의 고문입니다.

그리고 많은 질문.

이렇게 해보자. (PM에서) 확인하고 통계가 확인되면 당신의 계획에 따라 나를 위해 지그재그로 수정하십시오.

그리고 당신은 알고리즘을 배치할 권리가 있습니다(고문에 따라).

정리?

감사합니다.

 
Balbesik06 :

...

나는 "PM"으로 당신에게 편지를 썼습니다. 답이 없었습니다.

PM에 아무 것도 없었습니다. 다시 시도하세요. 극단적 인 경우 이메일로 할 수 있습니다. 프로필에 페이지 주소가 있습니다. 거기에서 내 이메일을 쉽게 찾을 수 있습니다.
 
Balbesik06 :

"... 극단적인 경우 이메일을 보낼 수 있습니다 ,,,"

예, probopap - 주제에서 벗어났습니다.

본질은 간단합니다. ONIX에서 귀하를 제외한 모든 것이 "빠르게" 시연되었습니다.

"DOES NOT HOLD" 따옴표가 있으면 어떤 서버에서도 요점을 볼 수 없습니다.

감사합니다.


추신 그리고 (어려운 것이 아니라면) 당신이 쓰는 것을 시도하십시오 - 안녕하세요.
 

흠, Onyx에서 PM을 확인했는데(거의 거의 보지 않습니다) 비어 있습니다. 그리고 메일 문제는 절대적으로 불가사의합니다.

Eugene, 이렇게 합시다. 이 포럼에서 개인 정보를 확인하세요. 어제부터 저로부터 메시지가 있을 것입니다. 답을 하거나 문제를 설명하거나 설명에 대한 링크를 제공하고 정확히 필요한 것을 작성하십시오.

내가 이해하는 한, 서로 다른 지그재그의 상판을 걸면 문제가 있습니다. 제 것은 이 문제가 없습니다. 내가 그 지그재그를 썼을 때(그리고 그것은 CZZ에 관한 것일 가능성이 가장 높음) 정점을 매달아놓는 문제는 거의 보편적이었다는 것을 기억합니다. 나는 그 원인을 이해하려고 노력했고, 내가 보기에는 이해한 것 같다. 하지만 그 이후로 다리 아래로 많은 물이 흐르고 있었고, 이제는 많은 지그재그도 더 이상 매달리지 않는다고 생각합니다.

어쨌든 정확히 무엇이 필요한지 명확하지 않습니까? ZUP 키트에 포함된 모든 지그재그를 다시 실행하려면?