[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);
}

так сделай

[Supprimé]  

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

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

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

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

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

 
impus :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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