Добрый день!
В альпари на МТ5 сгенерировал эксперта по сигналам RSI. Запустил и возникла проблема:
автоматический эксперт на демо счете открывает ордера. И при открытых ордерах в истории возникают иногда минусовые сделки, а при этом стоп лосс либо не установлен, либо до него еще очень далеко. что это может быть? На счете 10000 usd, плечо 1:1. размер лота 0.01
Посмотрите на эти сигналы, а также на веса сигналов в своём коде. Также статья для ознакомления:
Статьи | 2011.04.27 18:07 | MetaQuotes Software Corp. | Трейдинг | MetaTrader 5
Когда ознакомитесь и если останутся вопросы:
- укажите типе Вашего торгового счёта (неттинг или хенж)
- укажите символ, таймфрейм и период дат, на которых тестируете
- предоставьте сгенерированный мастером MQL5 код советника
я думаю, что дело вовсе не в сигналах. когда ставил эксперта на основе MACD, то было все тоже самое. Хочу еще раз подчеркнуть, что минусовая запись в истории возникает при
ОТКРЫТОМ ордере. Сам ордер закрывается по тэйк профиту по итогу.
данные счета:
Тип аккаунта: | demo.ecn.mt5 |
---|---|
Торговый сервер: | AlpariEurasia-MT5-Demo |
Торговая платформа: | MetaTrader 5 |
Кредитное плечо: | 1:1Изменить |
Вот код эксперта по 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();
}
//+------------------------------------------------------------------+
Добрый день!
В альпари на МТ5 сгенерировал эксперта по сигналам RSI. Запустил и возникла проблема:
автоматический эксперт на демо счете открывает ордера. И при открытых ордерах в истории возникают иногда минусовые сделки, а при этом стоп лосс либо не установлен, либо до него еще очень далеко. что это может быть? На счете 10000 usd, плечо 1:1. размер лота 0.01
нет, я имею ввиду минусовые сделки во вкладке "история", не минус на ордере во вкладке "торговля". Повторюсь, эти странные минусовые сделки появляются во вкладке "история" при открытом ордере.
нет, я имею ввиду минусовые сделки во вкладке "история", не минус на ордере во вкладке "торговля". Повторюсь, эти странные минусовые сделки появляются во вкладке "история" при открытом ордере.
Очень странно. Не встречал такого никогда. Наверное, стоит спросить техподдержку ДЦ.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
В альпари на МТ5 сгенерировал эксперта по сигналам RSI. Запустил и возникла проблема:
автоматический эксперт на демо счете открывает ордера. И при открытых ордерах в истории возникают иногда минусовые сделки, а при этом стоп лосс либо не установлен, либо до него еще очень далеко. что это может быть? На счете 10000 usd, плечо 1:1. размер лота 0.01