조언자 쓰는 법 배우기... - 페이지 6

 
ALex2008 >> :

스레드를주의 깊게 읽으십시오!

나는 옵션에 대해 거기에 씁니다.

입구를 뚫고! BROKER가 다시 인용하더라도 ...


'오류 코드 138 및 실제 계정'

 

이 옵션에 대해 말하고 OrderModify를 참조하는 경우

YuraZ писал(а) >>

허용

신호 수신 -

틱에서 볼륨 곱하기 5

뚫지 않았다! 나왔다

신호 후 두 번째 틱에서 우리는 더 들어가서 망치질합니다!

..그때 나는 아직 진드기로 자라지 않았습니다)) 1차 진드기, 2차 진드기를 어떻게 고려합니까?

수면(2000); // 오류 발생 후 대기 시간은 2초입니다.

새 진드기를 기다리는 데 얼마나 걸립니까?

 
Talex >> :
이렇게 시도하십시오.

이제 내 작업은 OpenSend 직후 OrderModify를 통해 중지를 설정하고 이 중지가 있는지 확인하는 것입니다.

작동하지 않으면 더 이상 추적하지 않고, 그렇지 않으면 무엇이 잘못되었는지 계속해서 설치 ... 설치 ... 및 설치 ...)

 RefreshRates ( ) ;   
           double SLS = Ask + Stop * Point ;   //стоп на продажу
           Modify = OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , SLS , OrderTakeProfit ( ) , 0 , Red ) ;
              if ( Modify = = false )
                  {
                      Print ( "Ошибка при попытке установить стоп для SEL, код ошибки =" + GetLastError ( ) ) ;
                      for ( int j = 0 ; ; j + + ) //пытаемся пока ДЦ не умрет)
                             {
                                SLS = SLS + j * Point ;   //увеличиваем стоп на 1 пп 
                                RefreshRates ( ) ;
                                Modify = OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , SLS , OrderTakeProfit ( ) , 0 , Red ) ;
                                   if ( Modify = = true )
                                       break ;
                                   else   
                                       Print ( "Ошибка при попытке установить стоп для SEL, код ошибки =" + GetLastError ( ) ) ;        
                              }
                  }
 
수정이 성공한 후 더 이상 수정을 시도하지 않고 추가 오류가 발생하지 않도록 OrderModify 의 상태를 확인하는 방법을 알려주십시오.
 
bool ModifyS = OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , SLS , OrderTakeProfit ( ) , 0 , Red ) ;
if ( ModifyS = = true ) continue ;

이것으로 대체:

ModifyS = OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , SLS , OrderTakeProfit ( ) , 0 , Red ) ;
if ( ModifyS = = true ) break ;

여기:

1. 왜 변수의 유형을 다시 정의해야 합니까? - 이 오류는 컴파일 중에 팝업되어야 합니다.

2. 계속 대신 새 반복으로 전환(즉, 새 수정 시도로), break를 사용하여 루프에서 종료합니다(또한 무한, 좋지 않음).

 
Xupypr >> :

1. 왜 변수의 유형을 다시 정의해야 합니까? - 이 오류는 컴파일 중에 팝업되어야 합니다.

결정된)

2. 계속 - 새 반복(즉, 새로운 수정 시도)으로 전환하는 대신 break - 루프에서 종료를 사용합니다.

고맙습니다!

..그리고 좋지 않은 무한 ..

반드시 정지를 설정해야 하기 때문에 무한..

그리고 몇 번 시도를 하고 어떤 이유에서든 거절이 된다면 그 동안 가격이 포지션에 비해 많이 떨어지겠죠.. 그럼 어떻게 해야 할까요?

 

로그 오류:

오픈 #1 매도 0.01 EURUSD 확인
수정 #1 매도 0.01 EURUSD 확인
SEL에 대한 중지를 설정하려고 할 때 오류가 발생했습니다. 오류 코드 = 0
손절매 #1
오픈 #2 매도 0.01 EURUSD 확인
수정 #2 매도 0.01 EURUSD 확인
SEL에 대한 중지를 설정하려고 할 때 오류가 발생했습니다. 오류 코드 = 0
손절매 #2
오픈 #3 매도 0.01 EURUSD 확인
수정 #3 매도 0.01 EURUSD 확인
SEL에 대한 중지를 설정하려고 할 때 오류가 발생했습니다. 오류 코드 = 0

SELL에 로그인

 RefreshRates ( ) ;
      if ( ( OrdersTotal ( ) = = 0 ) & & ( Bid = = Enter ) )  //бъем до упора эту цену
         { 
            if ( IsTradeContextBusy ( ) = = false )
               {
                  OrderSend ( Symbol ( ) , OP_SELL , Lot , Enter , Slippage , 0 , ldTake , lsComm , MAGIC , 0 , clOpenSell ) ;
                  if ( OrdersTotal ( ) > 0 )
                     {
                        ModifySL ( ) ;                   //ставим стоп
                        SLBU = OrderOpenPrice ( ) - BU ;               //цена БУ
                     }   
                  else Print ( "Ошибка при попытке установить ордер на SELL, " , OrderOpenPrice ( ) , " код ошибки =" + GetLastError ( ) ) ;             
               }
         }




수정 판매





 void ModifySL ( ) 
   {
      if ( OrderSelect ( 0 , SELECT_BY_POS ) = = true ) // Если есть открытый ордер
         {       
            if ( OrderType ( ) = = OP_BUY )
               {
                  RefreshRates ( ) ;
                  OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , Bid - StopL * Point , OrderTakeProfit ( ) , 0 , Red ) ;
                  if ( OrderStopLoss ( ) = = 0 ) Print ( "Ошибка при попытке установить стоп для BUY, " , OrderStopLoss ( ) , " код ошибки =" + GetLastError ( ) ) ;

               }
                               
            else
                  RefreshRates ( ) ;   
                  OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , Ask + StopL * Point , OrderTakeProfit ( ) , 0 , Red ) ;
                  if ( OrderStopLoss ( ) = = 0 ) Print ( "Ошибка при попытке установить стоп для SEL, " , OrderStopLoss ( ) , " код ошибки =" + GetLastError ( ) ) ;
               }
         } 
   }
 
ALex2008 >> :

이 옵션에 대해 말하고 OrderModify를 참조하는 경우

..그때 나는 아직 진드기로 자라지 않았습니다)) 1차 진드기, 2차 진드기를 어떻게 고려합니까?

수면(2000); // 오류 발생 후 대기 시간은 2초입니다.

새 진드기를 기다리는 데 얼마나 걸립니까?


매 틱마다

~라고 불리는

시작()

{

}

---

오랫동안 START 기능에 있으면

하나 이상의 틱을 놓칠 수 있습니다.

예를 들어 START 기능을 입력하고 10분 동안 앉아 있으면 진드기가 올 것이지만 잡지는 않는 것이 논리적입니다.

밤에 틱이 충분히 오래 지속되지 않을 수 있지만

---

오랫동안 START에 있으면 진드기를 잡는 데 나쁜 영향을 미치기 때문에(당신에게 중요한 경우)

루프와 지연이 최소화된 린 프로그램 작성

---

 
YuraZ >> :

... 장기간 START 기능에 있는 경우

하나 이상의 틱을 놓칠 수 있습니다.

예를 들어 START 기능을 입력하고 10분 동안 앉아 있으면 진드기가 올 것이지만 잡지는 않는 것이 논리적입니다.

밤에 틱이 충분히 오래 지속되지 않을 수 있지만

---

오랫동안 START에 있으면 진드기를 잡는 데 나쁜 영향을 미치기 때문에(당신에게 중요한 경우)

루프와 지연이 최소화된 린 프로그램 작성

---

수정하거나 주문하기 전에 RefreshRates() 함수를 사용하면 Start() 외부의 상태가 업데이트됩니다. 진드기?

내가 올바르게 이해하고 있습니까?

 

다음은 비판포즈의 개봉과 수정의 최종본이다.

이 옵션의 "+"와 "-"?

판매 개시

 RefreshRates ( ) ;
      if ( ( OrdersTotal ( ) = = 0 ) & & ( Bid = = Enter ) )  //бъем до упора эту цену
         { 
            if ( IsTradeContextBusy ( ) = = false )
               {
                  OrderSend ( Symbol ( ) , OP_SELL , Lot , Enter , Slippage , 0 , ldTake , lsComm , MAGIC , 0 , clOpenSell ) ;
                  if ( OrdersTotal ( ) > 0 )
                     {
                        ModifySL ( ) ;                   //ставим стоп
                        SLBU = OrderOpenPrice ( ) - BU ;               //цена БУ
                     }   
                  else Print ( "Ошибка при попытке установить ордер на SELL, " , OrderOpenPrice ( ) , " код ошибки =" + GetLastError ( ) ) ;             
               }
         }




수정 중지





 void ModifySL ( )
   {
      if ( OrderSelect ( 0 , SELECT_BY_POS ) = = true ) // Если есть открытый ордер
         {       
            if ( OrderType ( ) = = OP_BUY )
               {
                  RefreshRates ( ) ;
                  bool Modify = OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , Bid - StopL * Point , OrderTakeProfit ( ) , 0 , Red ) ;
                  if ( Modify = = false ) Print ( "Ошибка при попытке установить стоп для BUY, " , OrderStopLoss ( ) , " код ошибки =" + GetLastError ( ) ) ;

               }
            else
               {
                  RefreshRates ( ) ;   
                  Modify = OrderModify ( OrderTicket ( ) , OrderOpenPrice ( ) , Ask + StopL * Point , OrderTakeProfit ( ) , 0 , Red ) ;
                  if ( Modify = = false ) Print ( "Ошибка при попытке установить стоп для SEL, " , OrderStopLoss ( ) , " код ошибки =" + GetLastError ( ) ) ;
               }
         }     
   }