MYEX.뉴비 질문 - 페이지 14

 
Sergey Savinkin :
2일 동안 REAL에서 거래를 시도하십시오. 수동으로 1 계약을 하더라도 많은 질문이 저절로 사라집니다.
데모에 위의 모든 매력이 없을까요?
 
Renat Akhtyamov :
데모에 위의 모든 매력이 없을까요?

데모에 대한 정리가 없습니다. 보증이 항상 옳은 것은 아닙니다. 유리가 맞다는 사실이 아닙니다. 또한 응용 프로그램의 실제 실행 속도를 평가할 수 있습니다. 1 계약으로 많은 돈을 잃지 않을 것입니다. ))))

 
Sergey Savinkin :

데모에 대한 정리가 없습니다. 보증이 항상 옳은 것은 아닙니다. 유리가 맞다는 사실이 아닙니다. 또한 응용 프로그램의 실제 실행 속도를 평가할 수 있습니다. 1 계약으로 많은 돈을 잃지 않을 것입니다. ))))

내가 청소를 의미?

음, 데모에 없기 때문에 아직 테스트하는 방법을 이해하지 못합니다.

 
Renat Akhtyamov :

내가 청소를 의미?

음, 데모에 없기 때문에 아직 테스트하는 방법을 이해하지 못합니다.

(실례합니다) 시험을 위해 무엇을 지우나요? 모든 것이 실시간으로 간주됩니다. 지우는 것은 모든 것이 정상임을 확인하는 것뿐입니다.
 
Yuriy Asaulenko :
(실례합니다) 시험을 위해 무엇을 지우나요? 모든 것이 실시간으로 간주됩니다. 지우는 것은 모든 것이 정상임을 확인하는 것뿐입니다.

죄송합니다 ;)

가능한 한 실제에 가까운 거래 조건에서 전략을 테스트하고 싶습니다.

요점은 실생활에 "선물"이 없었다는 것입니다.

 
Renat Akhtyamov :

죄송합니다 ;)

가능한 한 실제에 가까운 거래 조건에서 전략을 테스트하고 싶습니다.

요점은 실생활에 "선물"이 없었다는 것입니다.

항상 진짜 선물이 있습니다.

 
Alexey Kozitsyn :

항상 진짜 선물이 있습니다.

예상치 못한 손실을 의미합니까?
 
Renat Akhtyamov :
예상치 못한 손실을 의미합니까?

가장 자주 - 예, 손실입니다. 하지만 항상 그런 것은 아닙니다. 개인적으로 중개인의 수수료가 어떻게 계산되는지 항상 명확하지는 않습니다. 특정 거래 스타일의 경우 거래 빈도에 따라 수수료가 부과될 수 있습니다. 유리를 보지 않고 + 다량으로 입장하면 과연 손해가 있을지도 모릅니다. 일반적으로 테스터/데모에서 실제로 전환할 때 항상 기능이 있습니다. 그리고 항상 선물이 있을 것입니다.

 
모두에게 인사드립니다. Fort에서 MT5를 통해 거래하고 계정에 모니터링 ***을 추가했으며 ***가 거래 결과를 올바르게 계산하지 않는다는 사실에 직면했습니다. 특히 포지션이 청산을 통해 이전되는 경우, 즉. 수익/금전 손실을 올바르게 계산하지 않거나 명세서의 일부 거래가 모니터링되지 않을 수 있습니다. 아무나 만날 수 있나요?
 
Вадим Мотеюнас :
모두에게 인사드립니다. Fort에서 MT5를 통해 거래하고 계정에 모니터링 ***을 추가했으며 ***가 거래 결과를 올바르게 계산하지 않는다는 사실에 직면했습니다. 특히 포지션이 청산을 통해 이전되는 경우, 즉. 수익/금전 손실을 올바르게 계산하지 않거나 명세서의 일부 거래가 모니터링되지 않을 수 있습니다. 아무나 만날 수 있나요?
 //+------------------------------------------------------------------+
//| Expert Get position price function                               |
//+------------------------------------------------------------------+
double GetPositionPrice( const string aSymbol )
{
   double price_in = 0 ;
   double volume_in = 0 ;
   double price_out = 0 ;
   double volume_out = 0 ;
   double price = 0 ;
   double volume = 0 ;
//---  
   ulong pos_id = ulong ( PositionGetInteger ( POSITION_IDENTIFIER ) );
    
   if ( pos_id > 0 )
  {
       if ( HistorySelectByPosition ( pos_id ) )
      {
         int deals = HistoryDealsTotal ();
      
         for ( int i = 0 ; i < deals; i++ )
        {
           ulong deal_ticket = HistoryDealGetTicket ( i );
           ulong order_ticket = ulong ( HistoryDealGetInteger ( deal_ticket, DEAL_ORDER ) );
        
           if ( order_ticket > 0 )
          {
             ENUM_DEAL_ENTRY deal_entry = ENUM_DEAL_ENTRY ( HistoryDealGetInteger ( deal_ticket, DEAL_ENTRY ) );
              
             if ( deal_entry == DEAL_ENTRY_IN )
            {
              price = HistoryDealGetDouble ( deal_ticket, DEAL_PRICE );
              volume = HistoryDealGetDouble ( deal_ticket, DEAL_VOLUME );
                                
              price_in += price * volume;
              volume_in += volume;  
            }
             else
             if ( deal_entry == DEAL_ENTRY_OUT )
            {
              price = HistoryDealGetDouble ( deal_ticket, DEAL_PRICE );
              volume = HistoryDealGetDouble ( deal_ticket, DEAL_VOLUME );
                                
              price_out += price * volume;
              volume_out += volume;  
            }
          }
        }
//---  
        price = price_in - price_out;
        volume = volume_in - volume_out;
//---
         if ( volume > 0 )
        {       
           return ( NormalizeDouble ( price / volume, _Digits ) );
        }
      }
       else
      {
         Print ( "GetPositionPrice: Невозможно получить историю позиции по символу " , aSymbol );
      }
    }
     else
    {
       Print ( "GetPositionPrice: Невозможно определить идентификатор позиции по символу " , aSymbol );
    }
   return ( 0 );
}