포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 340

 
사악한 라이브:


코드가 자동으로 색칠되는 편집 패널에 SRC 버튼이 있습니다 ;)

코드와 관련하여 if (OrderSymbol() == Symbol()...)이 사용되면 if (OrderSymbol()!= Symbol()) 계속됩니다. 더 이상 필요하지 않거나 둘 중 하나입니다.

for (int k = 0; k < OrdersTotal(); k++)는 다음으로 대체되어야 합니다.

(int k = OrdersTotal()-1; k >=0 ; k--)에 대해 더 안정적임



그렇게 썼다


 if (NumberOfPositionsSell( Symbol ())== 1 &&  NumberOfPositionsBay_otl( Symbol ())== 1   &&GetOrderLotsOtlBay( Symbol ())==start_Lot* 2   &&GetOrderLotsSell( Symbol ())==start_Lot)
{
 
     for ( int kk = OrdersTotal ()- 1 ; kk >= 0 ; kk--) 
      {
      
       if ( OrderSelect (kk,SELECT_BY_POS)== true ) // Если есть следующий
{ // Анализ ордеров:
      
       if (OrderSymbol() == Symbol () && OrderType() == OP_BUYSTOP ) {
      

      tp_buy_otl= NormalizeDouble (b+(((( 2 * Point )+spred+(b+ Point +spred-GetOrderPriceSell( Symbol ()))/ Point )/ 2 )* Point ), Digits );
      sl_buy_otl= NormalizeDouble (GetOrderPriceSell( Symbol ()), Digits );
      OrderModify(OrderTicket(), NormalizeDouble (b+ Point +spred, Digits ),sl_buy_otl,tp_buy_otl, 0 );
     
       Alert ( "tp_buy_otl = " ,DoubleToStr(tp_buy_otl, Digits )+ "\n" + "sl_buy_otl =  " ,DoubleToStr(sl_buy_otl, Digits )+ "\n" + " цена открытия бай стоп = " ,  DoubleToStr(b+ Point +spred, Digits )+ "\n" + "OrderSymbol() =  " ,OrderSymbol()+ "\n" + "OrderType() = " ,OrderType());
     
      
     }
      
      
       if (OrderSymbol() == Symbol () && OrderType() == OP_SELL ) {
      
      sl_sell_otl= NormalizeDouble (b+spred+ Point , Digits );
      OrderModify(OrderTicket(),OrderOpenPrice(), sl_sell_otl,OrderTakeProfit(), 0 );
       
      }
      }
      }
      
} 

а в алерте почемуто OrderSymbol()==GBPUSD посмотрите на скин
да и открытый селл он модифицировал а отложенный нет


보류 중인 gbpusd를 제거하고 고문을 제거하자마자 유로화에 대한 주문이 즉시 수정되었습니다.


 
max020780 :

보류 중인 gbpusd를 제거하고 고문을 제거하자마자 유로화에 대한 주문이 즉시 수정되었습니다.

Magicka 주문을 필터링하는 데 사용합니다. 그리고 재수정 중지에 대한 검사가 없습니다(수정 오류 1 유발).
 

안녕 모두. 사람들은 5 년 동안 의 고문 테스트 를 성공적으로 인정할 수 있는지 여부를 나에게 말합니다. 또는 그럼에도 불구하고 수익성이 작고 손실이 큽니다. 의견을 듣고 싶은데 테스터 데이터가 실제 계정(알파리 터미널에서 테스트)과 많이 다른가요? 얻은 결과는 다음과 같습니다.

기간 합집합 도착 드로우다운 경우의 수
2012.06.01-30.05.2013 1490.63 1.7 37.08% (389.71)
213
2011.06.01-30.05.2012
1242.23 1.48 25.82% (448.34) 231
01.06.2010-30.05.2011 1677.66 1.62 53.26% (880.57)
213
01.06.2009-30.05.2010 1664.33 1.68 32.16% (560.68) 208
01.06.2008-30.05.2009 1817.72 1.48 43.73% (472.15) 233
 
alexey1979621 :

안녕 모두. 사람들은 5 년 동안의 고문 테스트를 성공적으로 인정할 수 있는지 여부를 나에게 말합니다. 또는 그럼에도 불구하고 수익성이 작고 손실이 큽니다. 의견을 듣고 싶은데 테스터 데이터가 실제 계정(알파리 터미널에서 테스트)과 많이 다른가요? 얻은 결과는 다음과 같습니다.

기간 합집합 도착 드로우다운 경우의 수
2012.06.01-30.05.2013 1490.63 1.7 37.08% (389.71)
213
2011.06.01-30.05.2012
1242.23 1.48 25.82% (448.34) 231
01.06.2010-30.05.2011 1677.66 1.62 53.26% (880.57)
213
01.06.2009-30.05.2010 1664.33 1.68 32.16% (560.68) 208
01.06.2008-30.05.2009 1817.72 1.48 43.73% (472.15) 233

매우 큰 손실과 수익성이 충분하지 않습니다 ... 그리고 당신에게 손실은 얼마입니까?

그리고 다음과 같을 수 있습니다.

복근 인출: 2.40 USD
최대: 9.08 USD

상대: 0.78%

최대 내 수단: 97.81% )))

 
evillive :

매우 큰 손실과 수익성이 충분하지 않습니다 ... 그리고 당신에게 손실은 얼마입니까?

그리고 다음과 같을 수 있습니다.

복근 인출: 2.40 USD
최대: 9.08 USD

상대: 0.78%

최대 내 수단: 97.81% )))

상대적인 하락이 표시됩니다. 절대적 손실은 백분율 및 금전적 측면에서 거의 동일한 수준입니다. 테스터 데이터가 실제 계정 과 많이 다른가요? 그래서 고문을 실제에 적용하거나(데모에서는 3주 동안 작동하지만 나쁘지 않은 것 같습니다) 개선할 새로운 아이디어가 나올 때까지 선반에 두려면 어떻게 해야 합니까?
 
데모가 최소 반년 동안 작동하도록 하십시오. 테스터는 단점을 수단으로 표시하지 않지만 실시간으로 볼 수 있습니다. 내가 보여준 것은 적자에 앉아 쉬지 않고 일하는 것입니다. 이전 계정 의 수명 은 2-3개월이고, 이 계정은 8월부터 살아 있었습니다. 얼마나 오래 지속되는지 볼 것입니다)))
 
경험이 있다면 어떤 매개 변수를 기반으로해야합니까? 수익성 및 손실의 최소값은 무엇입니까? 나는 항상 지난 5년 동안 EA를 운영합니다. 수익성이 1.5 미만이고 5년 동안의 손실이 50% 이상인 경우 EA는 더 나은 시기까지 선반에 보관됩니다.
 
Forexman77 :

나는 고문에서 내 자신의 지표를 사용합니다. 테스트 중에 시각적으로 성장하고 조건에 따라 구매를 열어야하지만 이것은 일어나지 않습니다.

로그에 다음과 같은 오류가 있습니다(두 가지 유형이 있습니다. 저는 한 번에 하나씩 제공합니다).

TestGenerator: 일치하지 않는 데이터 오류(2013.12.11 21:00에서 볼륨 제한 372 초과)

TestGenerator: 일치하지 않는 데이터 오류(2013.09.12 19:45에서 낮은 값 1.33097은 최소 시간 프레임에서 도달하지 않음, 낮은 가격 1.33105 불일치)

사용자 지정 표시기 작업에 몇 가지 기능이 있습니까? 저는 이 Expert Advisor를 두 달 동안 만지작거리며 백 버너에 올려 놓았습니다.

테스트 중인 기호에 대한 전체 기록을 다운로드합니다. 이것은 오류를 제공하는 고문이 아니라 "비뚤어진" 이력입니다.
 
Forexman77 :

주기적으로 한 어드바이저에서 오류 129,138이 발생합니다. 문제는 터미널을 다시 시작한 후에만 해결됩니다.

Market Info 기능을 추가하여 입찰가를 업데이트하고 묻고 확인하고 싶습니다.

어떻게 든 인위적으로 오류 129,138을 일으킬 수 있습니까?

오류 129 - 잘못된 가격

오류 138 - 새 가격(재인용)

거래 요청을 보내기 전에 RefreshRates()를 사용하여 거래 환경을 업데이트하여 최신 가격을 얻거나 MarketInfo()에서 즉시 가져옵니다.

그거 잊지마:

Expert Advisors 및 스크립트는 기록 데이터의 자체 사본으로 작동합니다. 현재 기호에 대한 데이터 복사본은 Expert Advisor 또는 스크립트를 처음 실행하는 동안 생성됩니다.

Expert Advisor가 시작될 때마다 처음 생성된 복사본이 업데이트됩니다. Expert Advisor 또는 스크립트가 실행되는 동안 하나 이상의 새 틱이 올 수 있으므로 데이터가 오래될 수 있습니다.

 
artmedia70 :

오류 129 - 잘못된 가격

오류 138 - 새 가격(재인용)

거래 요청을 보내기 전에 RefreshRates()를 사용하여 거래 환경을 업데이트하여 최신 가격을 얻거나 즉시 MarketInfo()에서 가져옵니다.

그거 잊지마:

Expert Advisors 및 스크립트는 기록 데이터의 자체 사본으로 작동합니다. 현재 기호에 대한 데이터 복사본은 Expert Advisor 또는 스크립트를 처음 실행하는 동안 생성됩니다.

Expert Advisor가 시작될 때마다 처음 생성된 복사본이 업데이트됩니다. Expert Advisor 또는 스크립트가 실행되는 동안 하나 이상의 새 틱이 올 수 있으므로 데이터가 오래될 수 있습니다.


정말 감사합니다!

이제 문제가 무엇인지 명확해졌습니다.

구입에 사용:

 if   (iClose( Symbol (), Period (), 0 ) <= MA_6_t) 
          {                                          
          Opn_B= true ;                    
          }

내가 아는 한, 구매는 요청에 의해 진행되고 iClose(Symbol(),Period(),0)는 입찰에서 가격을 가져옵니다. 결과적으로 오류가 발생할 가능성이 있습니다.

이제 다음 조합을 사용합니다.

 double pa=MarketInfo( Symbol (),MODE_ASK);
if   (pa <= MA_6_t) 
          {                                          
          Opn_B= true ;                    
          }
그러나 어드바이저가 핍이 아니기 때문에 가격이 오랫동안 매수 영역에 있었고 매 틱마다 업데이트되기 때문에 즉시 문제가 발생합니다.

거래가 열리지 않는 이유는 무엇입니까? 고문이 오류로 멈추고 더 이상의 가격 변화가 보이지 않는 것으로 나타났습니까?

여기에서 Expert Advisor 템플릿을 가져왔습니다. https://c.mql5.com/mql4/book/mq4/experts/tradingexpert.mq4

이 EA의 오류 처리 기능에 129 및 138 오류에 대한 검사를 추가할 가치가 있다고 생각하십니까?

그렇다면 어떻게 해야 할까요?