У меня вот какая проблема
я начал тестить на RIZ9 експертов видимо созданых под форекс
вобщем тесты идут всё срабатывает по условиям но вот результаты каждой сделки приходят с ошибками
например
buy 1.0 141132 s/l 141345 прибыль 93,54
buy 1.0 141972 tp 142033 прибыль 5,38
sell 1.0 141983 s/l 142000 прибыль -39,86
А в чем ошибка то ?
Трал наверное работает, -если я правильно понял вопрос...
213 это пункты, а 93.54 сумма прибыли, стоимость одного пункта для разных инструментов разная
в прибыли
141345-141132=213 а никак не 93,54
а если тэйк профит скальперский то вместо прибыли совсем показываются убытки
При закрытии сделки размер=(спред+комиссия) превышает величину текущей прибыли и позиция закрывается в минусе.
Щелкните пр. мышкой по окошечку терминала (где сделки отображаются) и поставьте галочку в опцию КОМИССИЯ - сами увидите.
Кроме того, в онлайне (в отличие от тестера) вас ждет ещё один оч. неприятный сюрприз, т.к. подобные инструменты (RIZ9 и др.) открываются/закрываются не по той цене, что вы видите на графике, а по худшей цене, по цене так. наз. тикера (RIZ9#I).
Откройте в ОБЗОРЕ РЫНКА тикер вашего инструмента, - отследите закрытие визуально и "всё поймёте..." !
При закрытии сделки размер=(спред+комиссия) превышает величину текущей прибыли и позиция закрывается в минусе.
Щелкните пр. мышкой по окошечку терминала (где сделки отображаются) и поставьте галочку в опцию КОМИССИЯ - сами увидите.
Кроме того, в онлайне (в отличие от тестера) вас ждет ещё один оч. неприятный сюрприз, т.к. подобные инструменты (RIZ9 и др.) открываются/закрываются не по той цене, что вы видите на графике, а по худшей цене, по цене так. наз. тикера (RIZ9#I).
Откройте в ОБЗОРЕ РЫНКА тикер вашего инструмента, - отследите закрытие визуально и "всё поймёте..." !
да я предпологал про комиссию но вот насчёт тикера (RIZ9#I). не совсем я понял
RIZ9 bid 132385 ask 132385
RIZ9#I bid 132285 ask 132295
по какой цене я в данный момент куплю и продам?
А вообще я пока просто хочу протестировать несколько экспертов с условиями близкими к ФОРТС т.е
как мне протестировать тот же RIZ9 без комиссии ДЦ ? Это вообще осуществимо?
Сразу запомните, что по таким фьючам спред тикера в тестере не учитывается и поэтому (только по одной этой причине) результат в реале/онлайне будет на 30-45 проц. хуже, чем в тестере. В тестере учитывается только комиссия, - но не спред тикера.
//---------------------------------------------------------
Сейчас рынок стоит и цены в ОБЗОРЕ не совсем корректные. В онлайне, скорее всего, будет так:
RIZ9 - bid 132385 ask 132385
RIZ9#I bid 132275 ask 132495
Иначе говоря, - На графике RIZ9 будет видна цена 132385, а
- позиция селл откроется по цене 132275;
- позиция бай откроется по цене -132495 ;
Тоже самое и при закрытии позиции. На графике будет одна цена, а закроется любая позиция (примерно) на 100 пипсов хуже...
Да еще и просказывание в худшую сторону тож подгадит изрядно, особенно при пипсовке
//----------------------------
Как протестить без комиссии, я не знаю...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
У меня вот какая проблема
я начал тестить на RIZ9 експертов видимо созданых под форекс
вобщем тесты идут всё срабатывает по условиям но вот результаты каждой сделки приходят с ошибками
например
buy 1.0 141132 s/l 141345 прибыль 93,54
buy 1.0 141972 tp 142033 прибыль 5,38
sell 1.0 141983 s/l 142000 прибыль -39,86
вот эксперт подскажите пжлста может что то нужно изменить.
//----
extern int MagicNumber = 3345; // уникальный идентификатор эксперта.
extern double Lot = 1.0;
// расстояние до СтопЛосса в пунктах (0 - отключить СЛ)
extern int StopLoss = 50;
// расстояние до ТейкПрофита в пунктах (0 - отключить ТП)
extern int TakeProfit = 250;
/*
period - Период усреднения МА. Должен быть больше 0
method - Метод усреднения МА. Может быть от 0 до 3:
MODE_SMA 0 Простое скользящее среднее
MODE_EMA 1 Экспоненциальное скользящее среднее
MODE_SMMA 2 Сглаженное скользящее среднее
MODE_LWMA 3 Линейно-взвешенное скользящее среднее
price - Используемая цена. Может быть от 0 до 6:
PRICE_CLOSE 0 Цена закрытия
PRICE_OPEN 1 Цена открытия
PRICE_HIGH 2 Максимальная цена
PRICE_LOW 3 Минимальная цена
PRICE_MEDIAN 4 Средняя цена, (high+low)/2
PRICE_TYPICAL 5 Типичная цена, (high+low+close)/3
PRICE_WEIGHTED 6 Взвешенная цена закрытия, (high+low+close+close)/4
*/
extern int fastMA_period = 9;
extern int fastMA_method = 0;
extern int fastMA_price = 0;
extern int slowMA_period = 18;
extern int slowMA_method = 0;
extern int slowMA_price = 0;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
double fastMA_1 = iMA(NULL, 0, fastMA_period, 0, fastMA_method,
fastMA_price, 1);
double slowMA_1 = iMA(NULL, 0, slowMA_period, 0, slowMA_method,
slowMA_price, 1);
double fastMA_2 = iMA(NULL, 0, fastMA_period, 0, fastMA_method,
fastMA_price, 2);
double slowMA_2 = iMA(NULL, 0, slowMA_period, 0, slowMA_method,
slowMA_price, 2);
int _OrdersTotal = OrdersTotal();
bool ExpertOrder = false;
for(int z = _OrdersTotal - 1; z >= 0; z --)
{
if(!OrderSelect(z, SELECT_BY_POS, MODE_TRADES))
continue;
if(OrderMagicNumber() != MagicNumber || OrderSymbol() != Symbol())
continue;
ExpertOrder = true;
if(OrderType() == OP_BUY)
{
if(NormalizeDouble(slowMA_1 - fastMA_1, Digits ) > 0.0)
{
if(NormalizeDouble(fastMA_2 - slowMA_2, Digits ) >= 0.0)
{
if(!OrderClose(OrderTicket(), OrderLots(), Bid, 0, Blue))
Alert("Ошибка при закрытии BUY-позиции!!!");
}
}
continue;
}
if(OrderType() == OP_SELL)
{
if(NormalizeDouble(fastMA_1 - slowMA_1, Digits) > 0.0)
{
if(NormalizeDouble(slowMA_2 - fastMA_2, Digits ) >= 0.0)
{
if(!OrderClose(OrderTicket(), OrderLots(), Ask, 0, Red))
Alert("Ошибка при закрытии SELL-позиции!!!");
}
}
continue;
}
}
if(ExpertOrder)
return;
double sl, tp;
if(NormalizeDouble(fastMA_1 - slowMA_1, Digits) > 0.0)
{
if(NormalizeDouble(slowMA_2 - fastMA_2, Digits) >= 0.0)
{
if(StopLoss > 0)
sl = NormalizeDouble(Bid - StopLoss*Point, Digits);
else
sl = 0.0;
if(TakeProfit > 0)
tp = NormalizeDouble(Bid + TakeProfit*Point, Digits);
else
tp = 0.0;
if(OrderSend(Symbol(), OP_BUY, Lot, Ask, 0, sl, tp,
"MA Expert", MagicNumber ) < 0)
Alert("Ошибка при открытии BUY-позиции!!!");
}
}
if(NormalizeDouble(slowMA_1 - fastMA_1, Digits) > 0.0)
{
if(NormalizeDouble(fastMA_2 - slowMA_2, Digits) >= 0.0)
{
if(StopLoss > 0 )
sl = NormalizeDouble(Ask + StopLoss*Point, Digits);
else
sl = 0.0;
if(TakeProfit > 0)
tp = NormalizeDouble(Ask - TakeProfit*Point, Digits);
else
tp = 0.0;
if(OrderSend(Symbol(), OP_SELL, Lot, Bid, 0, sl, tp,
"MA Expert", MagicNumber) < 0)
Alert("Ошибка при открытии SELL-позиции!!!");
}
}
return(0);
}
//+------------------------------------------------------------------+