Советники: Puria method

 

Puria method:

Торговая система по методу Пуриа.

Puria method

Автор: Vladimir Karputov

 
Automated-Trading:

Puria method:

Автор: Vladimir Karputov

Здравствуйте Владимир. Извините что здесь задаю вопрос, при переустановке Виндовс, не могу открыть МТ-5, т.к. при смене нетингово счета на хедж не сохранил пароль. Подскажите плиз, что мне делать? Логин известен.

Спасибо.

 
Shara1:

Здравствуйте Владимир. Извините что здесь задаю вопрос, при переустановке Виндовс, не могу открыть МТ-5, т.к. при смене нетингово счета на хедж не сохранил пароль. Подскажите плиз, что мне делать? Логин известен.

Спасибо.

Ничего не сделать. Это жестоко, но это хорошая прививка на будущее: пароли и логины нужно хранить.
 
Vladimir Karputov:
Ничего не сделать. Это жестоко, но это хорошая прививка на будущее: пароли и логины нужно хранить.

Выходит, качать по новой и регаться?

А если у меня уже нет демки в Адмиралмаркетсе?

Спасибо.

 
Здравствуйте Владимир, 

- "MinProfitStep (Minimum profit step, in pips)" 
- "MinProfitPercent (Coefficient lot taking at "Minimum profit step")" 

Я считаю, что эти функции работают неэффективно или работают неправильно. 
Я подозреваю, что эта функция написана для типа учетной записи Netting, а код советника не предназначен для учетных записей "Hedge." 

Можете ли вы проверить, правильно ли работает эта функция на счетах типа «хедж» ? 

Спасибо

 
Edviao:
Здравствуйте Владимир, 

- "MinProfitStep (Minimum profit step, in pips)" 
- "MinProfitPercent (Coefficient lot taking at "Minimum profit step")" 

Я считаю, что эти функции работают неэффективно или работают неправильно. 
Я подозреваю, что эта функция написана для типа учетной записи Netting, а код советника не предназначен для учетных записей "Hedge." 

Можете ли вы проверить, правильно ли работает эта функция на счетах типа «хедж» ? 

Спасибо

ИЗ описания советника:

 В рынке держит не более одной позиции - поэтому может быть рекомендован как для неттинг- так и для хэдж-счетов.

- то есть он должен работать на обоих счетах. Хотя для неттинга могут быт свои нюансы - и я бы не рекомендовал его для неттинга.

 
Здравствуйте Владимир,
Имеет ли смысл добавить в этот советник следующую функцию?

Спасибо.

"TrailingFrequency  = 10;  (Trailing, in seconds (< "10" -> only on a new bar)"
 
Edviao:
Здравствуйте Владимир,
Имеет ли смысл добавить в этот советник следующую функцию?

Спасибо.

"TrailingFrequency  = 10;  (Trailing, in seconds (< "10" -> only on a new bar)"

Не думаю, что это хороша идея.

 
Vladimir Karputov:

Не думаю, что это хороша идея.

Спасибо, что поделились своим мнением.

Уважаемый Владимир,

Я сделал некоторые улучшения кода для функций «MinProfitStep» и «MinProfitPercent».
Я думаю, что с новыми кодами EA сможет получить более эффективные результаты от этих функций. Буду рад, если вы поделитесь своим мнением, предложением или советом по поводу обновления.

else
   if (ExtMinProfitStep > 0) 
   {
      int d=0;
      for(int i=PositionsTotal()-1; i>=0; --i){
         if(m_position.SelectByIndex(i)){ // selects the position by index for further access to its properties
            if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic) {
               if(m_position.PositionType() != POSITION_TYPE_BUY && m_position.PositionType() != POSITION_TYPE_SELL)
                  continue;
               
               int      ActSide = m_position.PositionType() == POSITION_TYPE_SELL ? -1: +1;
               ulong    ActTicket = m_position.Ticket();
               double   ActLot = m_position.Volume();
               double   LastOpenPrice = NormalizeDouble(m_position.PriceOpen(), _Digits);
                  
               if (!HistorySelectByPosition(m_position.Identifier()))
                  continue;
               
               if (HistoryDealsTotal() > 1){
                  ulong ActDealTicket = HistoryDealGetTicket(HistoryDealsTotal() - 1);
                  LastOpenPrice = NormalizeDouble(HistoryDealGetDouble(ActDealTicket, DEAL_PRICE), _Digits);
               }
               
               if (ActSide * (NormalizeDouble(m_position.PriceCurrent(), _Digits) - (LastOpenPrice + ActSide * ExtMinProfitStep)) >= 0){
                  double lot_check=LotCheck(ActLot*InpMinProfitPercent);
                  
                  if(lot_check>0.0)
                     m_trade.PositionClosePartial(ActTicket,lot_check);
               }
            }
         }
      }
   }
}
 

Зачем это?

   if(ExtMinProfitStep > 0)
     {
      int d=0;
      for(int i=PositionsTotal()-1; i>=0; --i)
        {
         if(m_position.SelectByIndex(i))  // selects the position by index for further access to its properties
           {
            if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
              {
               int      ActSide        = (m_position.PositionType()==POSITION_TYPE_SELL)?-1:1;
               ulong    ActTicket      = m_position.Ticket();
               double   ActLot         = m_position.Volume();
               double   LastOpenPrice  = NormalizeDouble(m_position.PriceOpen(),m_symbol.Digits());
               if(!HistorySelectByPosition(m_position.Identifier()))
                  continue;
               if(HistoryDealsTotal() > 1)
                 {
                  ulong ActDealTicket=HistoryDealGetTicket(HistoryDealsTotal()-1);
                  LastOpenPrice=NormalizeDouble(HistoryDealGetDouble(ActDealTicket, DEAL_PRICE),m_symbol.Digits());
                 }
               if(ActSide*(NormalizeDouble(m_position.PriceCurrent(),m_symbol.Digits())-(LastOpenPrice+ActSide*ExtMinProfitStep))>= 0)
                 {
                  double lot_check=LotCheck(ActLot*InpMinProfitPercent);
                  if(lot_check>0.0)
                     m_trade.PositionClosePartial(ActTicket,lot_check);
                 }
              }
           }
        }
     }

почему бы не использовать для позиции её метод 

PriceOpen

Получает цену открытия позиции


?

Документация по MQL5: Стандартная библиотека / Торговые классы / CPositionInfo / PriceOpen
Документация по MQL5: Стандартная библиотека / Торговые классы / CPositionInfo / PriceOpen
  • www.mql5.com
PriceOpen - CPositionInfo - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Здравствуйте, Владимир, извините за поздний ответ. 

Это нужно для того, чтобы узнать последнюю частичную цену закрытия.