[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 486

 
abolk :

전역 변수 global_trailing_SP 를 읽는 방법을 보여줍니다.


현재 메인 포지션에 대한 후행은 ATR에 의해 다음과 같이 계산됩니다.

 void Trailing_Stop_by_ATR_SP( int Timeframe, int Period_ATR_SP, double Multiply_SP, int digits_symbol, int Magic)
{  
   double High_1     = NormalizeDouble (iHigh( Symbol (),Timeframe, 1 ), Digits );
   double Low_1      = NormalizeDouble (iLow( Symbol (),Timeframe, 1 ), Digits );
   double atr        = iATR ( Symbol (),Timeframe,Period_ATR_SP, 1 );
   double new_trail  = Low_1 + NormalizeDouble (((Multiply_SP*atr)*digits_symbol)* Point , Digits );
    
   for ( int count = OrdersTotal ()- 1 ; count >= 0 ; count--)
      {   OrderSelect (count,SELECT_BY_POS,MODE_TRADES);
      
         if (OrderType() == OP_SELL && OrderMagicNumber() == Magic)
            {   double Op_Price = NormalizeDouble (OrderOpenPrice(), Digits );
               double Stp_Loss = NormalizeDouble (OrderStopLoss(), Digits );
               
               if (new_trail < Stp_Loss && new_trail > High_1)
                  {  
                     OrderModify(OrderTicket(),Op_Price,new_trail, 0 , 0 , White );
                  }
            }
      }
}
그러나 기본 위치가 오류 없이 추적되므로 문제가 없습니다. 문제는 동일한 값을 다른 위치에 할당하는 것입니다.
 
FOReignEXchange :

그래서 나는 이해하지 못했다. 메인 오더 수정 시 보류 중인 오더가 존재합니까?

존재한다면 주 주문의 수정과 보류 중인 주문의 수정이 한 블록에서 발생합니다. 주 주문이 수정된 경우 의도한 경우 보류 중인 주문도 수정되어야 합니다.

또 한 가지는 계획했던 일이 잘 풀리지 않는다는 것입니다. 따라서 조건에 오류가 있습니다. 위에서 보여드린 것처럼 메인 오더를 수정하는 조건과 동일하게 해보세요. 제가 보기에는 논리상의 오류인 것 같습니다. 놀랍지 않습니다. 당신에게 뭔가가 어렵습니다. 하기가 더 쉽습니다.


더 쉬워야 할 수도 있습니다. 이것은 경험이 없기 때문입니다.))

현재로서는 별도의 기능에서 후행하는 주요 위치에 대해 그렇습니다. 그런 다음 보류 중인 주문 이나 다른 마법이 있는 다른 위치가 있는 경우 해당 값은 주 주문의 중지로 확인됩니다. 그리고 그들이 다르면 주요 값이 사용됩니다.

 
FOReignEXchange :

놀랍지 않습니다. 당신에게 뭔가가 어렵습니다. 하기가 더 쉽습니다.

더 쉽게 만들었습니다. 문제가 사라진 것 같습니다. 모든 위치에 대한 결합된 후행. 그리고 미결주문 수정은 별도의 기능으로 하겠습니다. 감사해요.)))
 
tol64 :
더 쉽게 만들었습니다. 문제가 사라진 것 같습니다. 감사해요.)))


지연 수정된 chtoli? :)

손글씨를 바꿔야 합니다. 필기가 명확할수록 허용되는 실수가 줄어듭니다. 가능한 한 적은 수의 변수와 모든 종류의 불필요한 것들을 하나의 힙에 넣지 마십시오. 블록이 명확하게 보이도록 항상 새 줄 에 중괄호를 작성하십시오.

 
FOReignEXchange :

지연 수정된 chtoli?


예, 위의 함수에서 ATR이 뒤따르는 것은 마술에 의한 검사를 제외하고 지연을 추가했습니다.

 if (OrderType() == OP_SELL || OrderType() == OP_SELLSTOP) 
 
FOReignEXchange :


손글씨를 바꿔야 합니다. 필기가 명확할수록 허용되는 실수가 줄어듭니다. 가능한 한 적은 수의 변수와 모든 종류의 불필요한 것들을 하나의 힙에 넣지 마십시오. 블록이 명확하게 보이도록 항상 새 줄에 중괄호를 작성하십시오.

조언 해주셔서 감사합니다. 그 중 최고는 내 뉴런에 새겨져 있습니다.)))
 
tol64 :


예, 위의 함수에서 ATR이 뒤따르는 것은 마술에 의한 검사를 제외하고 지연을 추가했습니다.


네. 맞아요, 저는 그냥 매직에 대해 이야기하고 싶었습니다. 여기 당신이 볼 수 있습니다. 추가 변수는 쓸모가 없습니다. 또 봐요.
 
FOReignEXchange :

네. 맞아요, 저는 그냥 매직에 대해 이야기하고 싶었습니다. 여기 당신이 볼 수 있습니다. 추가 변수는 쓸모가 없습니다. 또 봐요.


현명한 생각 - "추가 변수는 쓸모가 없다"
그리고 magick은 "쓸모없다" - 왜 magick에 대한 영장을 확인합니까?
글쎄, 다른 고문의 주문을 수정해도 괜찮습니다.
일반적으로 마술사를 클래스에서 제외하기 위해 개발자가 헛되이 도입했습니다. 시간만 낭비했습니다. 그리고 우리의 두뇌는 모든 종류의 마술사로 가득 찼습니다.

ps 예, 그리고 댄서, 방해가되는 것은 무엇입니까? 자르는 것이 좋습니다.

 
abolk :


현명한 생각 - "추가 변수는 쓸모없다"
그리고 magick은 "쓸모없다" - 왜 magick에 대한 영장을 확인합니까?
글쎄, 다른 고문의 주문을 수정해도 괜찮습니다.
일반적으로 마술사를 클래스에서 제외


)))) 아니요, 마술사를 떠나는 것이 좋습니다. 그리고 보류 중인 주문 만 남겨둡니다.

더 정확하게는 필요한 마법을 남겨두세요. 그리고 여러 개의 Expert Advisors가 서로 다른 차트에서 사용되는 경우 수표에 기호도 포함해야 합니다. 그러나 나는 아직 그것에 도달하지 못했습니다. ))

 

나는 마법을 전혀 사용하지 않습니다. 여러 직책이 있지만. 티켓을 사용합니다. OrderSelect를 통해 확인하는 것이 훨씬 쉽습니다. 그리고 OrderSend 기능이 더 명확해집니다. 글쎄, 모든 사람은 자신의 필적의 주인입니다. 개인적으로 마술사 없이는 문제가 된 적이 없습니다.

티켓은 아무데도 가지 않습니다. 그는 편안합니다.