MYEX.뉴비 질문 - 페이지 15

 
prostotrader :

어떻게 해야 합니까?

 
Вадим Мотеюнас :

어떻게 해야 합니까?

당신은 당신의 손으로 무엇을 거래합니까?

 
prostotrader :

당신은 당신의 손으로 무엇을 거래합니까?

 
Вадим Мотеюнас :

이 EA를 거래 차트에 스케치하십시오(파일 참조)

 //+------------------------------------------------------------------+
//|                                                    Pos_price.mq5 |
//|                                      Copyright 2018 prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018 prostotrader"
#property link        "https://www.mql5.com"
#property version    "1.00"
//---
double pos_price;
//+------------------------------------------------------------------+
//| Expert Get position price function                               |
//+------------------------------------------------------------------+
double GetPositionPrice( const string aSymbol)
  {
   double price_in= 0 ;
   double volume_in= 0 ;
   if ( PositionSelect (aSymbol))
     {
       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 )
                    {
                     double price= HistoryDealGetDouble (deal_ticket, DEAL_PRICE );
                     double volume= HistoryDealGetDouble (deal_ticket, DEAL_VOLUME );
                     price_in+=price*volume;
                     volume_in+=volume;
                    }
                 }
              }
             if (volume_in> 0 )
              {
               int digits= int ( SymbolInfoInteger (aSymbol, SYMBOL_DIGITS ));
               return ( NormalizeDouble (price_in/volume_in, digits));
              }
           }
         else
           {
             Print ( __FUNCTION__ , ": Невозможно получить историю позиции по символу " ,aSymbol);
           }
        }
       else
        {
         Print ( __FUNCTION__ , ": Невозможно определить идентификатор позиции по символу " ,aSymbol);
        }
     }
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   pos_price=GetPositionPrice( Symbol ());
   ObjectCreate ( ChartID (), "Pos_price_1" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetInteger ( ChartID (), "Pos_price_1" , OBJPROP_XDISTANCE , 5 );
   ObjectSetInteger ( ChartID (), "Pos_price_1" , OBJPROP_YDISTANCE , 15 );
//---
   ObjectSetInteger ( ChartID (), "Pos_price_1" , OBJPROP_COLOR , clrWhite );
   ObjectSetString ( ChartID (), "Pos_price_1" , OBJPROP_TEXT , "Цена позиции: " + DoubleToString (pos_price));
   ChartRedraw ( ChartID ());
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   ObjectDelete ( ChartID (), "Pos_price_1_1" );
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   pos_price=GetPositionPrice( Symbol ());
   ObjectSetString ( ChartID (), "Pos_price_1" , OBJPROP_TEXT , "Цена позиции: " + DoubleToString (pos_price));
   ChartRedraw ( ChartID ());
  }
//+------------------------------------------------------------------+

추가됨

어드바이저 업데이트( 포지션 가격 즉시 표시)

 
prostotrader :

이 EA를 거래 차트에 스케치하십시오(파일 참조)

추가됨

업데이트된 어드바이저( 포지션의 가격을 즉시 표시)

당신은 아마도 나를 이해하지 못했을 것입니다.

 
Вадим Мотеюнас :

당신은 아마도 나를 이해하지 못했을 것입니다.

그리고 나는 당신이 어떤 것에 대한 조정이 아니라 그 위치 의 진정한 가격 이 필요하다고 생각했습니다 ...

추가됨

MT5 청산이 고려되기 때문에 MT5와 *** 모두 포지션 가격을 올바르게 계산 하지 않습니다. *** 나는 그것들이 무엇을 계산하는지 전혀 모릅니다.

 
prostotrader :

그리고 나는 당신이 어떤 것에 대한 조정이 아니라 그 위치 의 진정한 가격 이 필요하다고 생각했습니다 ...

추가됨

MT5 청산이 고려되기 때문에 MT5와 *** 모두 포지션 가격을 올바르게 계산 하지 않습니다. *** 나는 그것들이 무엇을 계산하는지 전혀 모릅니다.

아니면 MT5 및 Forts에 대한 좋은/무료 통계 서비스가 있습니까?

 
Вадим Мотеюнас :

mt5와 요새에 대한 좋은/무료 통계 서비스가 있습니까?

왜 나에게서 공짜를 좋아하지 않습니까?

실질 이익을 즉시 계산

 //+------------------------------------------------------------------+
//|                                                    Pos_price.mq5 |
//|                                      Copyright 2018 prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018 prostotrader"
#property link        "https://www.mql5.com"
#property version    "1.00"
//---
double pos_price, profit;
ENUM_POSITION_TYPE pos_type;
//+------------------------------------------------------------------+
//| Expert Get position price function                               |
//+------------------------------------------------------------------+
double GetPositionPrice( const string aSymbol)
  {
   double price_in= 0 ;
   double volume_in= 0 ;
   if ( PositionSelect (aSymbol))
     {
       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 )
                    {
                     double price= HistoryDealGetDouble (deal_ticket, DEAL_PRICE );
                     double volume= HistoryDealGetDouble (deal_ticket, DEAL_VOLUME );
                     price_in+=price*volume;
                     volume_in+=volume;
                    }
                 }
              }
             if (volume_in> 0 )
              {
               int digits= int ( SymbolInfoInteger (aSymbol, SYMBOL_DIGITS ));
               return ( NormalizeDouble (price_in/volume_in, digits));
              }
           }
         else
           {
             Print ( __FUNCTION__ , ": Невозможно получить историю позиции по символу " ,aSymbol);
           }
        }
       else
        {
         Print ( __FUNCTION__ , ": Невозможно определить идентификатор позиции по символу " ,aSymbol);
        }
     }
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   ObjectCreate ( ChartID (), "Pos_price_1" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectCreate ( ChartID (), "Pos_price_2" , OBJ_LABEL , 0 , 0 , 0 );
   ObjectSetInteger ( ChartID (), "Pos_price_1" , OBJPROP_XDISTANCE , 5 );
   ObjectSetInteger ( ChartID (), "Pos_price_2" , OBJPROP_XDISTANCE , 5 );
   ObjectSetInteger ( ChartID (), "Pos_price_1" , OBJPROP_YDISTANCE , 15 );
   ObjectSetInteger ( ChartID (), "Pos_price_2" , OBJPROP_YDISTANCE , 30 );
//---
   ObjectSetInteger ( ChartID (), "Pos_price_1" , OBJPROP_COLOR , clrWhite );
   ObjectSetInteger ( ChartID (), "Pos_price_2" , OBJPROP_COLOR , clrWhite );
   if ( PositionSelect ( Symbol ()))
   {
     pos_type = ENUM_POSITION_TYPE ( PositionGetInteger ( POSITION_TYPE ));
     pos_price=GetPositionPrice( Symbol ());
     switch (pos_type)
     {
       case POSITION_TYPE_SELL :
         profit = pos_price - SymbolInfoDouble ( Symbol (), SYMBOL_LAST );
       break ;
       case POSITION_TYPE_BUY :
       profit = SymbolInfoDouble ( Symbol (), SYMBOL_LAST ) - pos_price;
       break ;
     }
     ObjectSetString ( ChartID (), "Pos_price_1" , OBJPROP_TEXT , "Цена позиции: " + DoubleToString (pos_price));
     ObjectSetString ( ChartID (), "Pos_price_2" , OBJPROP_TEXT , "Текущий профит: " + DoubleToString (profit));
   }
   else
   {
     ObjectSetString ( ChartID (), "Pos_price_1" , OBJPROP_TEXT , "Цена позиции: 0" );
     ObjectSetString ( ChartID (), "Pos_price_2" , OBJPROP_TEXT , "Текущий профит: 0" );
   }  
   ChartRedraw ( ChartID ());
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   ObjectDelete ( ChartID (), "Pos_price_1" );
   ObjectDelete ( ChartID (), "Pos_price_2" );
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if ( PositionSelect ( Symbol ()))
   {
     pos_type = ENUM_POSITION_TYPE ( PositionGetInteger ( POSITION_TYPE ));
     pos_price=GetPositionPrice( Symbol ());
     switch (pos_type)
     {
       case POSITION_TYPE_SELL :
         profit = pos_price - SymbolInfoDouble ( Symbol (), SYMBOL_LAST );
       break ;
       case POSITION_TYPE_BUY :
       profit = SymbolInfoDouble ( Symbol (), SYMBOL_LAST ) - pos_price;
       break ;
     }
     ObjectSetString ( ChartID (), "Pos_price_1" , OBJPROP_TEXT , "Цена позиции: " + DoubleToString (pos_price));
     ObjectSetString ( ChartID (), "Pos_price_2" , OBJPROP_TEXT , "Текущий профит: " + DoubleToString (profit));
   }
   else
   {
     ObjectSetString ( ChartID (), "Pos_price_1" , OBJPROP_TEXT , "Цена позиции: 0" );
     ObjectSetString ( ChartID (), "Pos_price_2" , OBJPROP_TEXT , "Текущий профит: 0" );
   }
   ChartRedraw ( ChartID ());
  }
//+------------------------------------------------------------------+
 
prostotrader :

왜 나에게서 공짜를 좋아하지 않습니까?

포지션 가격을 말씀하시는 건가요? Forex에서 내 거래 통계를 분석하려면 거래 내역이 자동으로 업데이트되는 거래 로그 같은 것이 필요합니다 *** MT4를 통해 작동하고 모든 것을 올바르게 계산합니다( 어쨌든 MT4의 상태는 숫자와 일치합니다 ***) .Forts에서 계정을 연결했는데 숫자가 다릅니다 ... 그래서 돌았습니다. 나는 아마도 MT5에서 뭔가 해킹해야한다고 생각했습니다

Пользовательский интерфейс - Начало работы - MetaTrader 5
Пользовательский интерфейс - Начало работы - MetaTrader 5
  • www.metatrader5.com
Интерфейс платформы предоставляет доступ ко всем инструментам, необходимым для торговли на финансовых рынках. Он включает в себя различные меню, панели инструментов и служебные окна. Главное меню В главном меню собраны практически все команды и функции, которые можно выполнять в торговой платформе. Оно позволяет работать с графиками...
 
Вадим Мотеюнас :

포지션 가격을 말씀하시는 건가요? Forex에서 내 거래 통계를 분석하려면 거래 내역이 자동으로 업데이트되는 거래 로그 같은 것이 필요합니다 *** MT4를 통해 작동하고 모든 것을 올바르게 계산합니다( 어쨌든 MT4의 상태는 숫자와 일치합니다 ***) .Forts에서 계정을 연결했는데 숫자가 다릅니다 ... 그래서 돌았습니다. 나는 아마도 MT5에서 뭔가 해킹해야한다고 생각했습니다

"해킹" - 의미가 없고 필요할 뿐입니다.

당신이 필요로하는 것을 할 조언자를 작성하십시오.

참조 약관을 작성하고 여기에 문의하십시오.

https://www.mql5.com/en/job

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • www.mql5.com
1. мы задаём период(например неделя вперёд или сутки), которые сразу же разрисовываются полосками временных периодов по нашему желанию от м5 и до W1(с стандартным выбором цветов, толщин линий, пунктиров и т.п.) как в любом индикаторе. Добавление этих полос по выбору- можем хоть 2 , хоть все добавить. И присвоить им цвет, тип , толщину и т.п. А...