вопрос от новичка по минусовым сделкам при открытых ордерах

 

Добрый день!

В альпари на МТ5 сгенерировал эксперта по сигналам RSI. Запустил и возникла проблема: 

автоматический эксперт на демо счете открывает ордера. И при открытых ордерах в истории возникают иногда минусовые сделки, а при этом стоп лосс либо не установлен, либо до него еще очень далеко. что это может быть? На счете 10000 usd, плечо 1:1. размер лота 0.01

 
artur50000:

Добрый день!

В альпари на МТ5 сгенерировал эксперта по сигналам RSI. Запустил и возникла проблема: 

автоматический эксперт на демо счете открывает ордера. И при открытых ордерах в истории возникают иногда минусовые сделки, а при этом стоп лосс либо не установлен, либо до него еще очень далеко. что это может быть? На счете 10000 usd, плечо 1:1. размер лота 0.01


Торговые сигналы RSI.

Посмотрите на эти сигналы, а также на веса сигналов в своём коде. Также статья для ознакомления: 

Мастер MQL5: Новая версия

Мастер MQL5: Новая версияВ терминал MetaTrader 5 продолжают вноситься улучшения, добавляется новый функционал. В очередном (439) билде MetaTrader 5 обновился и Мастер MQL5, который позволяет создавать советники с еще более гибкими торговыми правилами. В этой статье мы покажем новые возможности Мастера MQL5 и расскажем об изменениях в архитектуре экспертов, получаемых при его использовании. Предпосылки С самого начала Мастер MQL5 задумывался как инструмент для удобного создания программ на MQL5. Уже в первой версия Мастера MQL5 была возможность быстро создать готовый к использованию эксперт как совокупность простых модулей в виде исходного кода на языке MQL5. Для этого даже не требовалось знания языка MQL5, достаточно было прочитать статью ' Собери свой торговый советник в Мастере MQL5 '. Всего в составе сгенерированного Мастером эксперта содержится три модуля: модуль торговых сигналов; модуль сопровождения позиций; модуль управления капиталами и рисками. Каждый модуль эксперта основан на собственном...

Статьи | 2011.04.27 18:07 | MetaQuotes Software Corp. | Трейдинг | MetaTrader 5


Когда ознакомитесь и если останутся вопросы:

  • укажите типе Вашего торгового счёта (неттинг или хенж)
  • укажите символ, таймфрейм и период дат, на которых тестируете
  • предоставьте сгенерированный мастером MQL5 код советника

 

я думаю, что дело вовсе не в сигналах. когда ставил эксперта на основе MACD, то было все тоже самое. Хочу еще раз подчеркнуть, что минусовая запись в истории возникает при

ОТКРЫТОМ ордере. Сам ордер закрывается по тэйк профиту по итогу.

данные счета:

Тип аккаунта:demo.ecn.mt5
Торговый сервер:AlpariEurasia-MT5-Demo

Торговая платформа:MetaTrader 5
Кредитное плечо:1:1Изменить
торгую на пятиминутном фрейме EURUSD, GBPUSD после шести вечера по москве.


Вот код эксперта по RSI:

#include <Expert\Trailing\TrailingNone.mqh>

//--- available money management

#include <Expert\Money\MoneyFixedLot.mqh>

//+------------------------------------------------------------------+

//| Inputs                                                           |

//+------------------------------------------------------------------+

//--- inputs for expert

input string             Expert_Title         ="art6";      // Document name

ulong                    Expert_MagicNumber   =32023;       // 

bool                     Expert_EveryTick     =false;       // 

//--- inputs for main signal

input int                Signal_ThresholdOpen =10;          // Signal threshold value to open [0...100]

input int                Signal_ThresholdClose=10;          // Signal threshold value to close [0...100]

input double             Signal_PriceLevel    =0.0;         // Price level to execute a deal

input double             Signal_StopLevel     =50.0;        // Stop Loss level (in points)

input double             Signal_TakeLevel     =0.50;        // Take Profit level (in points)

input int                Signal_Expiration    =4;           // Expiration of pending orders (in bars)

input int                Signal_RSI_PeriodRSI =8;           // Relative Strength Index(8,...) Period of calculation

input ENUM_APPLIED_PRICE Signal_RSI_Applied   =PRICE_CLOSE; // Relative Strength Index(8,...) Prices series

input double             Signal_RSI_Weight    =1.0;         // Relative Strength Index(8,...) Weight [0...1.0]

//--- inputs for money

input double             Money_FixLot_Percent =10.0;        // Percent

input double             Money_FixLot_Lots    =0.1;         // Fixed volume

//+------------------------------------------------------------------+

//| Global expert object                                             |

//+------------------------------------------------------------------+

CExpert ExtExpert;

//+------------------------------------------------------------------+

//| Initialization function of the expert                            |

//+------------------------------------------------------------------+

int OnInit()

  {

//--- Initializing expert

   if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))

     {

      //--- failed

      printf(__FUNCTION__+": error initializing expert");

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

//--- Creating signal

   CExpertSignal *signal=new CExpertSignal;

   if(signal==NULL)

     {

      //--- failed

      printf(__FUNCTION__+": error creating signal");

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

//---

   ExtExpert.InitSignal(signal);

   signal.ThresholdOpen(Signal_ThresholdOpen);

   signal.ThresholdClose(Signal_ThresholdClose);

   signal.PriceLevel(Signal_PriceLevel);

   signal.StopLevel(Signal_StopLevel);

   signal.TakeLevel(Signal_TakeLevel);

   signal.Expiration(Signal_Expiration);

//--- Creating filter CSignalRSI

   CSignalRSI *filter0=new CSignalRSI;

   if(filter0==NULL)

     {

      //--- failed

      printf(__FUNCTION__+": error creating filter0");

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

   signal.AddFilter(filter0);

//--- Set filter parameters

   filter0.PeriodRSI(Signal_RSI_PeriodRSI);

   filter0.Applied(Signal_RSI_Applied);

   filter0.Weight(Signal_RSI_Weight);

//--- Creation of trailing object

   CTrailingNone *trailing=new CTrailingNone;

   if(trailing==NULL)

     {

      //--- failed

      printf(__FUNCTION__+": error creating trailing");

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

//--- Add trailing to expert (will be deleted automatically))

   if(!ExtExpert.InitTrailing(trailing))

     {

      //--- failed

      printf(__FUNCTION__+": error initializing trailing");

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

//--- Set trailing parameters

//--- Creation of money object

   CMoneyFixedLot *money=new CMoneyFixedLot;

   if(money==NULL)

     {

      //--- failed

      printf(__FUNCTION__+": error creating money");

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

//--- Add money to expert (will be deleted automatically))

   if(!ExtExpert.InitMoney(money))

     {

      //--- failed

      printf(__FUNCTION__+": error initializing money");

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

//--- Set money parameters

   money.Percent(Money_FixLot_Percent);

   money.Lots(Money_FixLot_Lots);

//--- Check all trading objects parameters

   if(!ExtExpert.ValidationSettings())

     {

      //--- failed

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

//--- Tuning of all necessary indicators

   if(!ExtExpert.InitIndicators())

     {

      //--- failed

      printf(__FUNCTION__+": error initializing indicators");

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

//--- ok

   return(INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

//| Deinitialization function of the expert                          |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

  {

   ExtExpert.Deinit();

  }

//+------------------------------------------------------------------+

//| "Tick" event handler function                                    |

//+------------------------------------------------------------------+

void OnTick()

  {

   ExtExpert.OnTick();

  }

//+------------------------------------------------------------------+

//| "Trade" event handler function                                   |

//+------------------------------------------------------------------+

void OnTrade()

  {

   ExtExpert.OnTrade();

  }

//+------------------------------------------------------------------+

//| "Timer" event handler function                                   |

//+------------------------------------------------------------------+

void OnTimer()

  {

   ExtExpert.OnTimer();

  }

//+------------------------------------------------------------------+


 
artur50000:

Добрый день!

В альпари на МТ5 сгенерировал эксперта по сигналам RSI. Запустил и возникла проблема: 

автоматический эксперт на демо счете открывает ордера. И при открытых ордерах в истории возникают иногда минусовые сделки, а при этом стоп лосс либо не установлен, либо до него еще очень далеко. что это может быть? На счете 10000 usd, плечо 1:1. размер лота 0.01

В момент открытия любой сделки происходит скачок на спред в область убытка. Открывая Buy по курсу Ask, сразу получаем текущий курс, по которому сделка может быть закрыта, равным Bid, который хуже Ask на спред. Вы говорите о таких минусах? Как они связаны с установкой стоплосса, депозитом, плечом и лотом?
 

нет, я имею ввиду минусовые сделки во вкладке "история", не минус на ордере во вкладке "торговля".  Повторюсь, эти странные минусовые сделки появляются во вкладке "история" при открытом ордере. 

 
artur50000:

нет, я имею ввиду минусовые сделки во вкладке "история", не минус на ордере во вкладке "торговля".  Повторюсь, эти странные минусовые сделки появляются во вкладке "история" при открытом ордере. 

Очень странно. Не встречал такого никогда. Наверное, стоит спросить техподдержку ДЦ.