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

 
Reshetov :

아무것도. OrderSelect() 를 사용하여 조각을 반복하는 루프에서만.

OrderSelect( )를 사용하여 각 주문을 반복하여 모든 주문(로트)의 총량을 계산하는 방법을 알려주세요.
 
Elektronik :
OrderSelect( )를 사용하여 각 주문을 반복하여 모든 주문(로트)의 총량을 계산하는 방법을 알려주세요.
로트의 총 볼륨을 포함할 변수를 만들고 0으로 초기화합니다.
  1. 반복 주문
  2. OrderSelect() 후에 OrderLots() 값만큼 변수 값을 늘립니다 .

루프가 완료된 후 변수에는 열거된 모든 주문의 볼륨 합계가 포함됩니다.

 
Elektronik :
OrderSelect( )를 사용하여 각 주문을 반복하여 모든 주문(로트)의 총량을 계산하는 방법을 알려주세요.
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает сумму лотов открытых позиций                        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ( ""  - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - торговая операция          ( -1  - любая позиция)                  |
//|    mn - MagicNumber                ( -1  - любой магик)                    |
//+----------------------------------------------------------------------------+
double GetAmountLotFromOpenPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
   double l= 0 ;
   int     i, k= OrdersTotal ();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if ( OrderSymbol ()==sy || sy== "" ) {
         if ( OrderType ()==OP_BUY || OrderType ()==OP_SELL) {
           if (op< 0 || OrderType ()==op) {
             if (mn< 0 || OrderMagicNumber ()==mn) {
              l+= OrderLots ();
            }
          }
        }
      }
    }
  }
   return (l);
}
 


고마워 파코 :

그랬어요 :)

int start()
{
int i=0;
double lots=0;
int kollots=0;
int nets=0;
int netp=0;
for(i=0; i<OrdersTotal(); i++)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;kollots=kollots+1;if(OrderStopLoss()<=0) nets=nets+1; if(OrderTakeProfit()<=0) netp=netp+1;
if((OrderType()==OP_BUY)){lots=lots+OrderLots();}
if((OrderType()==OP_SELL)){lots=lots-OrderLots();}
}
Comment("Общий объем: "+ DoubleToStr(lots,2));
}

오른쪽?

 
Elektronik :



이런 식으로 하세요

 //+------------------------------------------------------------------+
//|                                                     lots_kol.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link       "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  GetAmountLotFromOpenPos(); 
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
double GetAmountLotFromOpenPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
   double l= 0 ;
   int     i, k= OrdersTotal ();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if ( OrderSymbol ()==sy || sy== "" ) {
         if ( OrderType ()==OP_BUY || OrderType ()==OP_SELL) {
           if (op< 0 || OrderType ()==op) {
             if (mn< 0 || OrderMagicNumber ()==mn) {
              l+= OrderLots ();
            }
          }
        }
      }
    }
  }
   Comment ( "Количество лотoв                " ,l);
   return (l);
}

так сделай

 

좋은 오후입니다. 신사 숙녀 여러분.

저는 초보자이고 질문이 있습니다. 로봇을 올바르게 최적화하는 방법 무엇입니까?..

나는 전략 테스터 를 실행하기 위해 어떤 버튼과 체크박스를 찔러야 하는지 알고 있습니다.

최적화에 소요되는 기간을 이해하는 방법이 궁금합니다. 고문이 "좋은"일을 얼마나 오래 이해합니까?

어떻게 계산할 수 있습니까? 조명 방법뿐만 아니라 작동 할 수 있습니다 ...

 
impus :

좋은 오후입니다. 신사 숙녀 여러분.

저는 초보자이고 질문이 있습니다. 로봇을 올바르게 최적화하는 방법 무엇입니까?..

전략 테스터를 실행하기 위해 어떤 버튼과 체크박스를 눌러야 하는지 알고 있습니다.

최적화에 소요되는 기간을 이해하는 방법이 궁금합니다. 고문이 "좋은"일을 얼마나 오래 이해합니까?

어떻게 계산할 수 있습니까? 조명 방법뿐만 아니라 작동 할 수 있습니다 ...

"앞으로 테스트" 또는 "OOS"에 대한 로컬 검색을 수행합니다. 그것은 여러 번 논의되었습니다.
 
impus :

좋은 오후입니다. 신사 숙녀 여러분.

저는 초보자이고 질문이 있습니다. 로봇을 올바르게 최적화하는 방법 무엇입니까?..

전략 테스터를 실행하기 위해 어떤 버튼과 체크박스를 눌러야 하는지 알고 있습니다.

최적화에 소요되는 기간을 이해하는 방법이 궁금합니다. 고문이 "좋은"일을 얼마나 오래 이해합니까?

어떻게 계산할 수 있습니까? 조명 방법뿐만 아니라 작동 할 수 있습니다 ...

Expert Advisor를 최적화하는 방법을 모르는 경우 최적화를 수행할 필요가 없지만 TS를 처리하고 최적화해야 할 매개변수를 찾으십시오.
 
Reshetov :
"순방향 테스트" 또는 "OOS"에 대한 로컬 검색을 수행합니다. 그것은 여러 번 논의되었습니다.
감사하다. 읽다
 
impus :

좋은 오후입니다. 신사 숙녀 여러분.

저는 초보자이고 질문이 있습니다. 로봇을 올바르게 최적화하는 방법 무엇입니까?..

전략 테스터를 실행하기 위해 어떤 버튼과 체크박스를 눌러야 하는지 알고 있습니다.

최적화에 소요되는 기간을 이해하는 방법이 궁금합니다. 고문이 "좋은"일을 얼마나 오래 이해합니까?

어떻게 계산할 수 있습니까? 조명 방법뿐만 아니라 작동 할 수 있습니다 ...

특히 " Robert Pardo "주식 거래자를 위한 거래 시스템의 개발, 테스트 및 최적화" 에서 내(페이지의 일곱 번째) 게시물에서 링크를 참조 하세요 .