Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Некоторые индикаторы - модифицированные
Привет,
a_ZZ и a_ZZInd - "High_Low v2 (ZigZag)" и другие (сейчас не помню, &))
aDin - "ang_PR (Din)-v2".
Что вы думаете?
Ваше здоровье.
MACD Cross
Привет всем,
У меня есть идея для советника, использующего MACD 13,32,48 и PSAR Step 0.005 Max.0.05 или 0.006 и 0.06 H1 TF.
Точка входа при пересечении MACD (закрытие бара) и выход PSAR или опционально трейлинг стоп.
С уважением,
MFX
Лучшая ежедневная стратегия...
Привет, ребята,
Я рад снова быть здесь, среди вас. Я отсутствовал несколько дней. В любом случае, я хотел бы спросить вас, какие лучшие дневные и 4-часовые стратегии вы нашли, использовали, может быть...
Спасибо
С УВАЖЕНИЕМ,
codersguru: не могли бы вы заменить EMA на тройное экспоненциальное скользящее среднее?
в советнике EMACROSS.
Это лучше, чем EMA.
спасибо.
Лучшая система для кросс пар
Привет
Я нашел очень хорошую систему, которая очень хорошо подходит для торговли кросс парами.
Она очень проста и основана на SMA и EMA, но очень эффективна. Если кто-то может разработать советника для этого, мы можем протестировать.
Будут использоваться 2 типа скользящих средних предыдущего бара
6 ema, 12 sma
Тренд вниз, если 6ema<12ma
и тренд вверх, если 6ema>12ma
сигнал на покупку или продажу
Продажа: если тренд вниз и продажа (бид) H
Или
Покупка: если тренд вверх и покупка(ask) L[Lowest(6,0)]
выход:
если тренд вниз, short, L[Lowest(6,0)].
если тренд вверх, лонг, H
разворот:
тренд вверх, шорт, L[Lowest(6,0)]
тренд вниз, лонг, H
------------------------------------------
Если какой-либо программист может сделать индикатор или советник для этой системы, мы все сможем увидеть ее потенциал.
Извините, но я не понял правила. Не могли бы вы рассказать подробнее или, возможно, использовать некоторые числовые значения для объяснения.
Спасибо,
Maji
Пробойный советник
Здравствуйте, эксперты,
Я хотел бы обратить ваше внимание на следующую тему, особенно на обсуждение fxengines. Вот ссылка: http://www.strategybuilderfx.com/forums/showthread.php?t=11530&page=4&pp
Самое главное, что он упомянул две системы в своем обсуждении, которые я копирую и вставляю здесь.
Пример 1: Сигнал входа - 60-минутный прорыв на 15 над максимумом последнего периода, лимитный выход на 30. Вероятность в отчете для GBP 60 MIN 15 триггера составляет 85.7%. Этот тест дал 84% и принес прибыль.
"Чистая производительность этого механизма составила 1298 пунктов при 84% успешности. Если бы все сделки были заключены на максимуме, то двигатель заработал бы 2521 пипсов. Однако в среднем 1,97 пункта на сделку было "отдано" от максимума до точки выхода. Максимальная просадка для этого механизма составила 454 пункта, при этом 3 убыточные сделки были заключены во время худшей полосы убытков, а 46 выигрышных - во время лучшей полосы выигрышей".
ПРИМЕР 2: Сигнал на вход - 60-минутный прорыв на 25 над максимумом последнего периода, предельный выход на 30. Вероятность в отчете для триггера GBP 60 MIN 25 составляет 95,2%. Этот тест дал 84% и принес прибыль.
"Чистая производительность этого механизма составила 941 пункт при 84% успешности. Если бы все сделки были заключены на максимуме, то двигатель заработал бы 1832 пункта. Однако в среднем 2,02 пункта на сделку было "отдано" от максимума до точки выхода. Максимальная просадка для этого механизма составила 452 пункта, при этом во время наихудшей полосы убытков было 3 убыточные сделки, а во время наилучшей полосы выигрышей - 25".
Кто-нибудь написал советника для бэктестинга и проверки этого утверждения? Я пытался, но не смог повторить их результаты или даже приблизиться к ним, но я не эксперт. Надеюсь, кто-то из здешних гуру сможет это сделать.
Спасибо,
Maji
Нужна помощь в кодировании советника
Здравствуйте, я скачал следующий советник, и он, кажется, работает довольно хорошо. Однако он не применяет Trailingstop, takeprofit и stoploss. не мог бы кто-нибудь исправить код. Любая помощь будет высоко оценена. большое спасибо
//+------------------------------------------------------------------+
//| SMC Autotrader Momentum.mq4 |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
extern double Lots = 1;
extern double InitialStop = 30;
extern double TrailingStop = 20;
extern bool TakeProfitMode = True;
extern int TakeProfit = 10;
extern bool StopLossMode = True;
extern int StopLoss = 25;
datetime BarTime;
//################################################## ###################
int init()
{
//----
//----
return(0);
}
//################################################## ###################
int start()
{
int cnt,total,ticket,MinDist,tmp;
double Spread;
//################################################## ##########################
if(Bars<100){
Print("баров меньше 100");
return(0);
}
//выход, если нет нового бара
if(BarTime == Time[0]) {return(0);}
//новый бар, обновляем бартайм
BarTime = Time[0];
//################################################## #######################################
//~~~~~~~~~~~~~~~~ Разные вещи по настройке~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
MinDist=MarketInfo(Symbol(),MODE_STOPLEVEL);
Spread=(Ask-Bid);
//################################################## #######################################
double SMAP1,SMAP2,MMAP1,MMAP2,LMAP1,LMAP2;
SMAP1=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,1);
SMAP2=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,2);
MMAP1=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1);
MMAP2=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,2);
LMAP1=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,1);
LMAP2=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,2);
//################################################## ######################################
//################## ЗАКРЫТИЕ ОРДЕРОВ ################################################## #
// Если ордера в силе, проверьте их закрытие по техническим параметрам LONG & SHORT
//ЗАКРЫТИЕ ДЛИННЫХ ЗАКАЗОВ
total=OrdersTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
{
if(SMAP2 > MMAP2 && SMAP1 < MMAP2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ; // закрываем позицию LONG
}}
// ЗАКРЫВАЕМ КОРОТКИЕ ПОЗИЦИИ:
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol()) // проверка наличия символа
{
if(SMAP2 MMAP2)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; // закрываем позицию SHORT
}}
} // for loop return
} // закрываем 1-ю позицию if
//################################################## ############################
//################## ORDER TRAILING STOP Adjustment #######################
// ТРЕЙЛИНГ СТОП: LONG
if(0==1) //Это используется для включения и выключения трейлинг-стопа
{
total=OrdersTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol()
&&
Bid-OrderOpenPrice()> (Point*TrailingStop)
&&
OrderStopLoss()<Bid-(Point*TrailingStop)
)
{OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),1,White);
return(0);}
}}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//ТРЕЙЛИНГ СТОП: ШОРТ
total=OrdersTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol()
&&
OrderOpenPrice()-Ask > (Point*TrailingStop)
&&
OrderStopLoss() > Ask+(Point*TrailingStop)
)
{OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(P oint*TrailingStop),OrderTakeProfit(),0,Yellow);
return(0);}
}}
} // торцевая скобка для включения/выключения выключателя
//################################################## ########################################
//~~~~~~~~~~~ END OF ORDER Процедуры закрытия и изменения стоплосса ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//################################################## ########################################
//~~~~~~~~~~~~START of NEW ORDERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//######################### НОВЫЕ ПОЗИЦИИ? ######################################
//Возможно добавить таймер для остановки нескольких входов в течение периода
// Проверьте доступную маржу
// ТОЛЬКО ОДИН ОРДЕР НА СИМВОЛ
// Обход ордеров для проверки того, что символ не появляется более одного раза
// Проверьте время, прошедшее с момента последнего входа, чтобы остановить несколько входов на одном и том же баре
if (0==1) // переключатель для включения/выключения проверки истории
{
total=HistoryTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY); //Необходимо, чтобы это был следующий день, а не как ниже
if(OrderSymbol()==Symbol()&& CurTime()- OrderCloseTime() < (Period() * 60 )
)
{
return(0);
}}}}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
total=OrdersTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol()) return(0);
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if(AccountFreeMargin()<(1000*Lots))
{Print("У нас нет денег. Свободная маржа = ", AccountFreeMargin());
return(0);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//################################################## #######################################
//ENTRY RULES: LONG
if(SMAP2 MMAP2)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0, "M axMin Long",16384,0,Orange); //Bid-(Point*(MinDist+2))
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Print("Открыт ордер BUY : ",OrderOpenPrice());
}
else Print("Ошибка при открытии ордера BUY : ",GetLastError());
return(0);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//ENTRY RULES: КРАТКИЕ //################################
if(SMAP2 > MMAP2 && SMAP1 < MMAP2)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0," MaxMin Short",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Print("Открыт ордер SELL : ",OrderOpenPrice());
}
else Print("Ошибка при открытии ордера SELL : ",GetLastError());
return(0);
}
//################################################## ##################################
//############ End of PROGRAM #########################
return(0);
}