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

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

그래서 당신은하지 않습니다

변수 t는 변경되고 ahtung이 됩니다.

시리즈가 종료되기 전에 기억해야 합니다.

color ProfitColor;
datetime t;


// START //
//t=TimeCurrent();//разместить в блоке сигнала на закрытие серии ордеров

   if (LastProfitCL(- 1 )< 0 ) ProfitColor=Red;
   if (LastProfitCL(- 1 )> 0 ) ProfitColor=LimeGreen;
   if (LastProfitCL(- 1 )== 0 )ProfitColor=DarkGray;
   ObjectCreate ( "Last Profit" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSet ( "Last Profit" , OBJPROP_CORNER , 1 );
   ObjectSet ( "Last Profit" , OBJPROP_XDISTANCE , 5 );
   ObjectSet ( "Last Profit" , OBJPROP_YDISTANCE , 15 );
   ObjectSetText ( "Last Profit" , StringConcatenate ( "Last Profit: " , DoubleToStr (LastProfitCL(- 1 ), 2 )), 10 , "Arial" ,ProfitColor);
// END START //

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

        {

          if ( OrderCloseTime()> =t)LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
       }

       }
   return (LastProfit);
   }

 
Renat Akhtyamov :

그래서 당신은하지 않습니다

변수 t는 변경되고 ahtung이 됩니다.

시리즈가 종료되기 전에 기억해야 합니다.

당신은 시도?

닫기 전, 닫기 신호를 받는 순간을 기억합니다.

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

현재 이익 , 전체 이야기.

그 남편에게 칠면조는 모든 날짜, 시간으로 설정할 수 있습니다.

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

Profit은 각각의 새로운 것을 기억하지만 알려지지 않은 것을 고려합니다. 화면에서 숫자 3은 190이 아니라 4여야 합니다.

 
Vitaly Muzichenko :

당신은 시도?

닫기 전, 닫기 신호를 받는 순간을 기억합니다.

그냥 코드를 읽어
 

너무 190

if ( OrderCloseTime ()>=t)LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
 
Natashe4ka :

Profit은 각각의 새로운 것을 기억하지만 알려지지 않은 것을 고려합니다. 화면에서 숫자 3은 190이 아니라 4여야 합니다.

다음은 코드입니다. 잘 작동하지만 아마도 시리즈가 올바르게 종료되었기 때문일 수 있습니다.

파일:
info.mq4  9 kb
 
Natashe4ka :

너무 190

if ( OrderCloseTime ()>=t)LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();


주문 마감 명령은 어디에 있습니까?

거기에 변수 t를 썼습니까?

t= TimeCurrent (); //разместить в блоке сигнала на закрытие серии ордеров
 
Renat Akhtyamov :

주문 마감 명령은 어디에 있습니까?

거기에 변수 t를 썼습니까?

t=TimeCurrent();//시그널 블록에 배치하여 일련의 주문을 마감합니다.

물론 거기에 다 있습니다.

if (t<= OrderCloseTime ()) {
       t= OrderCloseTime ();
if ( OrderCloseTime ()>=t)LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();
 
Natashe4ka :

물론 거기에 다 있습니다.

if (t<= OrderCloseTime ()) {
       t= OrderCloseTime ();
if ( OrderCloseTime ()>=t)LastProfit+= OrderProfit ()+ OrderCommission ()+ OrderSwap ();


아니요, 우리는 이 줄을 제거합니다. 이미 이익 계산이 있으며 그렇게 작동하지 않습니다.

코드에서 닫는 명령은 어디에 있습니까 - 거기에는 있지만 그러한 행은 없습니다

위에서 읽기