마감된 주문 "HELP"에 대한 이익 계산 - 페이지 2

 
Renat Akhtyamov :

아니요, 나는 당신이 이미 쓴 것에 대해 말하는 것이 아닙니다.
말로 말하기 - 관심 있는 마감 주문에 대한 이익 계산
- 하루
- 수익성이 없는
- 마지막 주문
아니면 어떻게?
시리즈 설명

"현재" 일련의 마지막 마감 주문

 
Natashe4ka :

"현재" 일련의 마지막 마감 주문

즉, 내가 올바르게 이해했다면 마지막으로 마감된 일련의 주문에 대한 정보가 필요합니까?

이 접근 방식을 구현하려면 먼저 각 성공적인 마감 시 주문 티켓 배열을 채운 다음 필요한 형식으로 마감된 주문에 대한 정보를 가져와야 합니다.

스스로 할 수 있습니까?

 

노력하다


Comment ( LastProfitCL(- 1 , 0 ) );

//+----------------------------------------------------------------------------+
//|    Возвращает суммарный профит в валюте депозита серии закрытых ордеров    |
//+----------------------------------------------------------------------------+
double LastProfitCL( int op=- 1 , datetime t= 0 ){ //"op" позиция (-1 любая позиция)
double LastProfit= 0 ;
   for ( int i= OrdersHistoryTotal ()- 1 ;i>= 0 ;i--) {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) {
     if ((op< 0 || OrderType ()==op) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==magic){
     if (t<= OrderCloseTime ()) {
       t= OrderCloseTime ();
       LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
  }}}} 

 return (LastProfit);
}
 
Vitaly Muzichenko :

노력하다


Comment ( LastProfitCL(- 1 , 0 ) );

//+----------------------------------------------------------------------------+
//|    Возвращает суммарный профит в валюте депозита серии закрытых ордеров    |
//+----------------------------------------------------------------------------+
double LastProfitCL( int op=- 1 , datetime t= 0 ){ //"op" позиция (-1 любая позиция)
double LastProfit= 0 ;
   for ( int i= OrdersHistoryTotal ()- 1 ;i>= 0 ;i--) {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) {
     if ((op< 0 || OrderType ()==op) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic){
     if (t<= OrderCloseTime ()) {
       t= OrderCloseTime ();
       LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
     }
    }
   }
  }
return (LastProfit);
}

동시에 닫히지 않는다면?

조금

그리고 마감 시 주문을 제출할 때 t를 기억하면 정상입니다.

하지만 이 라인

t= OrderCloseTime ();

필요없다

전체 시리즈의 총 합계를 가져옵니다.

하지만 부인은 첫 번째 게시물에서 이해했듯이 더 자세한 정보를 원합니다.

 
Renat Akhtyamov :
동시에 닫히지 않는다면?
함수가 닫히면 모든 것이 작동합니다.
 
Renat Akhtyamov :

즉, 내가 올바르게 이해했다면 마지막으로 마감된 일련의 주문에 대한 정보가 필요합니까?

이 접근 방식을 구현하려면 먼저 성공적인 마감 시 주문 티켓 배열을 만든 다음 마감된 주문에 대한 정보를 가져와야 합니다.

스스로 할 수 있습니까?

차라리 예를 들어

저것들.

if (cnt> 0 ) Ticket= OrderTicket ()- 1 ;

그리고 더 비교?

 
Natashe4ka :

차라리 예를 들어

저것들.

if (cnt> 0 ) Ticket= OrderTicket ()- 1 ;

그리고 더 비교?

괜찮아요

이제 명확히 해야 합니다. 시리즈의 마감된 주문에 대한 정보는 어떻게 표시되어야 합니까?

이체는 금액을 당기거나 나눌 것입니까?

 

지표가 있다

아이프로핏

오늘, 주, 월, 연도에 대한 정보, 현재 이익 을 표시합니다.

 
Natashe4ka :

차라리 예를 들어

다음은 옵션입니다.

int ClosePosition( int type=- 1 , int mg=- 1 ) {
GlobalVariableSet (GetGlobalVariableName( "LastProfit" ), TimeCurrent ()); // запомним время закрытия
// здесь код закрытия всех и сразу, нужен цикл, чтоб не выходил с функции до полного закрытия всех
}

그 이후에는 다른 모든

//+----------------------------------------------------------------------------+
//|    Возвращает суммарный профит в валюте депозита серии закрытых позиций    |
//+----------------------------------------------------------------------------+
double LastProfitCL( int op=- 1 , datetime t= 0 ){ //"op" позиция (-1 любая позиция)
double LastProfit= 0 ;
   for ( int i= OrdersHistoryTotal ()- 1 ;i>= 0 ;i--) {
   if ( OrderSelect (i, SELECT_BY_POS , MODE_HISTORY )) {
     if ((op< 0 || OrderType ()==op) && OrderSymbol ()== Symbol () && OrderMagicNumber ()==Magic){
     if (t<= OrderCloseTime ()) {
       t= OrderCloseTime ();
       LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
  }}}}
return (LastProfit);
}

//===============================================================================================
//----------------------- Создает и возвращает имя глобальной переменной -----------------------+
//===============================================================================================
string GetGlobalVariableName( string name= "" , string symb= "0" ) {
if (symb== "0" ) { symb= Symbol ();}
   if (! MQLInfoInteger ( MQL_TESTER )) {
   return (prefix+symb+ "_" +( string ) AccountInfoInteger ( ACCOUNT_LOGIN )+ "_" + MQLInfoString ( MQL_PROGRAM_NAME )+ "_" +name);
  } else {
   return (prefix+symb+ "_" +( string ) AccountInfoInteger ( ACCOUNT_LOGIN )+ "_" + MQLInfoString ( MQL_PROGRAM_NAME )+ "_tester" + "_" +name);
}}


글쎄, 우리는 터미널을 다시 시작해도 얻을 것이다

void OnTick ()
{
   Comment ( LastProfitCL(- 1 , ( datetime ) GlobalVariableGet (GetGlobalVariableName( "LastProfit" ))) );
}
 
Alekseu Fedotov :

지표가 있다

아이프로핏

오늘, 주, 월, 연도에 대한 정보, 현재 이익 을 표시합니다.

안맞아요 10년동안 정보가없어요