Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ema_cross_2
Уважаемый codersguru,
Спасибо за ваш советник и вашу концепцию контртренда,
Даже в первый раз, я и мой друг скептически отнеслись к этому контртрендовому методу, но после изучения и форвард-тестирования вашего советника, мы были удивлены результатами.
Мы все еще продолжаем тестировать EMA_CROSS_2 на таймфрейме H1, но мы обнаружили кое-что интересное в паре EUR/USD 03 апреля 2006, после пересечения вниз, этот советник открывает позицию на продажу вместо позиции на покупку.... это нормальное действие? (см. вложение)
Спасибо...
dedywind
7
Привет, Флокс,
Я написал 10 советников для конкурса, но их оказалось слишком много для тестирования.
Поэтому я отберу 3 из них на конкурс, а 7 представлю здесь Они приносят прибыль в форвард-тестах.
Надеюсь, вам понравится!
Кодеры,
Я вернусь и прочитаю всю тему, но я не могу вспомнить, было ли это затронуто.
Когда вы закрываете платформу, будь то InterbanFX, MT4, и т.д., я заметил, что если я не в позиции, и у меня установлен последний советник MA, он будет автоматически исполнять сделку.
Как сделать так, чтобы это не происходило каждый раз, когда мы снова открываем программу.
спасибо
Новичку нужна помощь с советником MA cross EA...
амарнат,
Вот мой отчет (прилагается)!
А это версия, которую я использовал (прилагается)!
Я думаю, что мы не можем ретранслировать только на бэктесте. Но в моем тесте я использовал дату от 2005/01/01 до сегодняшнего дня!
Кто-нибудь тестировал MoneyMaker?Здравствуйте, CodersGuru,
Я немного модифицировал ваш оригинальный советник EMA_Cross, чтобы он работал с пересечением 5 EMA и 10 LWMA с фильтром RSI и Stochastic. Хотя этот советник правильно открывает ордера LONG и SHORT и закрывает их, он не позволяет мне одновременно закрывать позицию и тут же открывать новую позицию в противоположном направлении (например: истинная техника торговли "свинг"). Таким образом, я теряю большое количество потенциальных свинговых сделок.
Кроме того, иногда условия пересечения EMA1 > WMA1 и EMA2 < WMA2 могут не вызвать покупку, если две скользящие средние за последний период имели одинаковое значение или находились в пределах 1-2 пунктов друг от друга. Таким образом, я хотел бы добавить код для поиска такого условия (что часто случается), чтобы вызвать вход.
Я не кодер, поэтому я надеялся, что вы поможете мне понять, как это сделать.
Я включил свой код в строку ниже, а также файл MQ4 в качестве вложения. Любая помощь будет очень, очень признательна!
//+----------------------------------------------------------------------------------------+
//| 5/10 MA Cross w RSI and Stoch Filter | |
//| Ian Boersma - Copyright 2006 |
//| |
//+----------------------------------------------------------------------------------------+
#property copyright "Ian Boersma"
//---- входные параметры
extern double TakeProfit=100;
extern double Lots=1;
extern double TrailingStop=35;
extern int ShortEma = 5;
extern int LongWma = 10;
extern int RSIPer = 14;
extern int StochK = 10;
extern int StochD = 3;
extern int StochSlow = 3;
//+------------------------------------------------------------------+
//| функция инициализации эксперта |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| функция деинициализации эксперта | |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Функция запуска эксперта +
//| Здесь мы инициализируем внутренние переменные для использования в программе + |
//+------------------------------------------------------------------+
int start()
{
//----
// Объявления LotCalc
int cnt, ticket, total;
//Объявления переменных ММА и фильтров
double RSI;
double Stoch;
double EMA1,EMA2,WMA1,WMA2;
if(Bars<100)
{
Print("баров меньше 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit меньше 10");
return(0); // проверяем TakeProfit
}
//Определение переменных ЕМА и фильтра
EMA1 = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);
WMA1 = iMA(NULL,0,LongWma,0,MODE_LWMA,PRICE_CLOSE,0);
EMA2 = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,1);
WMA2 = iMA(NULL,0,LongWma,0,MODE_LWMA,PRICE_CLOSE,1);
RSI = iRSI(NULL,0,RSIPer,PRICE_CLOSE,0);
Stoch = iStochastic(NULL,0,StochK,StochD,StochSlow,MODE_SMA,0,MODE_MAIN,0);
int isCrossed = 0;
if (EMA1 > WMA1 && EMA2 = 50 && Stoch < 80)
{ isCrossed = 1;
}
if (EMA1 = WMA2 && RSI 20)
{isCrossed = 2;
}
//Проверяем торговый терминал на предмет его пустоты
total = OrdersTotal();
if(total < 1) //Если торговый терминал пуст...
{
if(isCrossed == 1) //Если крест указывает на LONG swing...
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,2,0,Ask+TakeProfit*Point, "My EA",12345,0,Yellow);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("Открыт ордер BUY : ",OrderOpenPrice());
}
else Print("Ошибка при открытии ордера BUY : ",GetLastError());
return(0);
}
if(isCrossed == 2) //если крест указывает на SHORT swing...
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,2,0,Bid-TakeProfit*Point, "My EA",12345,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print(" Открытордер SELL: ",OrderOpenPrice());
}
else Print("Ошибка при открытии ордера SELL : ",GetLastError());
return(0);
}
return(0);
}
//Функция выхода из позиции...
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
OrderPrint();
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY) // длинная позиция открыта
{
// Проверяем, есть ли у нас условие пересечения SHORT...
if(isCrossed == 2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // закрываем позицию
return(0); // выход
}
// Проверяем наш трейлинг-стоп, чтобы узнать, нужно ли его корректировать
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // переходим в короткую позицию
{
// Проверяем, есть ли у нас условие пересечения LONG...
if(isCrossed == 1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // закрываем позицию
return(0); // выход
}
// Проверяем наш трейлинг-стоп на необходимость корректировки
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+
Привет CodersGuru,
Я немного модифицировал ваш оригинальный советник EMA_Cross, чтобы он работал с пересечением 5 EMA и 10 LWMA с фильтром RSI и Stochastic. Хотя этот советник правильно открывает ордера LONG и SHORT и закрывает их, он не позволяет мне одновременно закрывать позицию и затем сразу же открывать новую позицию в противоположном направлении (например: истинная техника торговли "свинг"). Таким образом, я теряю большое количество потенциальных свинговых сделок.
Кроме того, иногда условия пересечения EMA1 > WMA1 и EMA2 < WMA2 могут не вызвать покупку, если две скользящие средние за последний период имели одинаковое значение или находились в пределах 1-2 пунктов друг от друга. Таким образом, я хотел бы добавить код для поиска такого условия (что часто случается), чтобы вызвать вход.
Я не кодер, поэтому я надеялся, что вы поможете мне понять, как это сделать. ....
Я проверю это!
Я проверю это!
Спасибо за помощь...
- Ян
Я проверю это!
CodersGuru,
Я приложил более новую версию моего советника, так как заметил проблему с определением условия 'isCrossed' (я пытался добавить фильтры RSI и Stoch к оригинальному условию isCrossed, а не добавлять их как классификатор только для входа в позицию.
Надеюсь, это имеет больше смысла...
- Ян
Спасибо за помощь... - Ян
Я думаю, что пункт 1 работает (когда закрывается покупка, открывается продажа, а когда закрывается продажа, открывается покупка) Посмотрите на прикрепленный тест.
Я думаю, что пункт 1 работает (когда закрывается покупка, открывается продажа и когда закрывается продажа, открывается покупка) Посмотрите на прикрепленный тест.
Круто. Это определенно похоже на систему типа "стоп и реверс", которую я ищу (хотя чистая прибыль выглядит не очень обнадеживающе...:)).
Я использовал эту систему вручную в течение недели или около того и получил некоторые очень обнадеживающие результаты, так что будет интересно получить полные цифры бэктестинга, чтобы увидеть, есть ли у меня что-то или мне просто повезло...
- Ян
это 2-я неделя lolhttp://9q9q.com/March/1144348631.zip
Простите! Но что это такое?