MYEX. Acemi Soruları - sayfa 15

 
prostotrader :

ve bu konuda ne yapmalıyım?

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

ve bu konuda ne yapmalıyım?

Ellerinle ne ticareti yapıyorsun?

 
prostotrader :

Ellerinle ne ticareti yapıyorsun?

Evet

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

Evet

Bu EA'yı bir ticaret tablosunda çizin (bkz. Dosyalar)

 //+------------------------------------------------------------------+
//|                                                    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 ());
  }
//+------------------------------------------------------------------+

Katma

Danışman güncellendi ( konumun fiyatını hemen gösterir)

 
prostotrader :

Bu EA'yı bir ticaret tablosunda çizin (bkz. Dosyalar)

Katma

Güncellenmiş danışman ( konumun fiyatını hemen gösterir)

muhtemelen beni anlamadın, ya da ben seni, MT5'teki ifadenin *** üzerindeki izleme ile aynı olmasını istiyorum.

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

muhtemelen beni anlamadın, ya da ben seni, MT5'teki ifadenin *** üzerindeki izleme ile aynı olmasını istiyorum.

Ve pozisyonun gerçek fiyatına ihtiyacınız olduğunu düşündüm, bir şeyin bir şeye ayarlanmasına değil ...

Katma

Ne MT5 ne de *** pozisyonun fiyatını doğru hesaplamıyor çünkü MT5 takasları hesaba katılıyor ve *** Ne saydıklarını hiç bilmiyorum.

 
prostotrader :

Ve pozisyonun gerçek fiyatına ihtiyacınız olduğunu düşündüm, bir şeyin bir şeye ayarlanmasına değil ...

Katma

Ne MT5 ne de *** pozisyonun fiyatını doğru hesaplamıyor çünkü MT5 takasları hesaba katılıyor ve *** Ne saydıklarını hiç bilmiyorum.

belki mt5 ve forts için bazı iyi/ücretsiz istatistik hizmetleri vardır?

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

belki mt5 ve forts için bazı iyi/ücretsiz istatistik hizmetleri vardır?

Neden benden bedavaları sevmiyorsun?

Anında gerçek karı hesaplar

 //+------------------------------------------------------------------+
//|                                                    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 :

Neden benden bedavaları sevmiyorsun?

pozisyonun fiyatından mı bahsediyorsun Forex'te ticaretimin istatistiklerini analiz etmek için ticaret geçmişinin otomatik olarak güncellendiği bir ticaret günlüğü gibi bir şeye ihtiyacım var, *** MT4 üzerinden çalışıyor ve her şeyi doğru hesaplıyor ( her durumda, MT4'teki durum sayılarla eşleşiyor ***) .Hesabı Forts'tan bağladım, sayılar farklı ... bu yüzden döndüm.Belki MT5'te bir şeyi hacklemem gerektiğini düşündüm.

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

pozisyonun fiyatından mı bahsediyorsun Forex'te ticaretimin istatistiklerini analiz etmek için ticaret geçmişinin otomatik olarak güncellendiği bir ticaret günlüğü gibi bir şeye ihtiyacım var, *** MT4 üzerinden çalışıyor ve her şeyi doğru hesaplıyor ( her durumda, MT4'teki durum sayılarla eşleşiyor ***) .Hesabı Forts'tan bağladım, sayılar farklı ... bu yüzden döndüm.Belki MT5'te bir şeyi hacklemem gerektiğini düşündüm.

"Hack" - mantıklı değil, sadece gerekli

İhtiyacınız olanı yapacak bir danışman yazın.

İş Tanımını buraya yazın ve iletişime geçin

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

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