Написание экспертов и индикаторов - бесплатно!
#6946
Отправлено 15 December 2011 - 23:38
хочу пока настроить на покупку при пересечении двух линий Moving Average
Метаедитор ошибок не находит, на тестере советник не делает сделок...в чем ошибка?
extern double Lots = 0.1;
extern int SL=25;
extern int TP=15;
int start()
{
double Ma7_0, Ma7_1, Ma21_0, Ma21_1;
int ticket, total;
Ma7_0=iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,0);
Ma7_1=iMA(NULL,0,7,0,MODE_EMA,PRICE_CLOSE,1);
Ma21_0=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,0);
Ma21_1=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,1);
total=OrdersTotal();
if(total<1)
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if(Ma7_0>Ma21_0 && Ma7_1<Ma21_1 && Close[0]>Ma7_0)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Ask-SL,Ask+TP,"Lindecourt",16384,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
// check for short position (SELL) possibility
if(Ma7_0<Ma21_0 && Ma7_1>Ma21_1 && Close[0]<Ma7_0)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Bid+SL,Bid-TP,"Lindecourt",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
}
- Parkar это нравится
 
#6947
Отправлено 16 December 2011 - 10:38
Ребят) помогите дописать советника пожалуйста...
хочу пока настроить на покупку при пересечении двух линий Moving Average
Метаедитор ошибок не находит, на тестере советник не делает сделок...в чем ошибка?
...
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Ask-SL,Ask+TP,"Lindecourt",16384,0,Green);
...
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Bid+SL,Bid-TP,"Lindecourt",16384,0,Red);
...
Ошибки в задании параметров функции OrderSend().
Твое: Bid+SL
Надо : Bid+SL*Point
И так со всеми StopLoss и TakeProfit передаваемыми в OrderSend().
#6948
Отправлено 16 December 2011 - 12:14
Ошибки в задании параметров функции OrderSend().
Твое: Bid+SL
Надо : Bid+SL*Point
И так со всеми StopLoss и TakeProfit передаваемыми в OrderSend().
Ураа!!) получился первый советник, правда сливает))
Огромное спасибо Alen_T!!!
p.s. а почему без point не работает?)
Сообщение отредактировал Shuko: 16 December 2011 - 12:33
- ninaman это нравится
#6949
Отправлено 16 December 2011 - 14:25
Посмотри этот советник может подойдёт.Ну что никто не решаеться сделать советника.Очень неплохая стратегия
Прикрепленные файлы
- Parkar это нравится
#6950
Отправлено 16 December 2011 - 15:21
Посмотри этот советник может подойдёт.
Что то нетестируется пишет "AutoTimeSettings should be (false) at the test mode. Using ManualGMT_Offset" Что это? не знаю
#6951
Отправлено 16 December 2011 - 19:16
Что то нетестируется пишет "AutoTimeSettings should be (false) at the test mode. Using ManualGMT_Offset" Что это? не знаю
http://tradelikeapro...forex-blue-box/ здесь все про этого робота написано
#6952
Отправлено 17 December 2011 - 00:59
Уважаемые программисты
С первым советником справился, второй на много сложнее )
Советник основан на трех Moving Averages 5, 13, 50
Открытие позиции на пересечении двух МА 5 и 13 с 50; Закрытие при пересечении только 5 и 13
Вот код: открывает и закрывает только одну позицию ((
Помогите пожалуйста!!!
extern double Lots = 0.1;
int start()
{
double Ema5_0, Ema5_1, Ema13_0, Ema13_1, Ema50_0, Ema50_1;
int ticket, total;
// initial data checks
// data are put into internal variables
Ema5_0=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0);
Ema5_1=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1);
Ema13_0=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);
Ema13_1=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,1);
Ema50_0=iMA(NULL,0,50,0,MODE_EMA,PRICE_CLOSE,0);
Ema50_1=iMA(NULL,0,50,0,MODE_EMA,PRICE_CLOSE,1);
total=OrdersTotal();
if(total>0)
{
if(Ema5_0<Ema13_0 && Ema5_1>Ema13_1)
OrderClose(16384,1,Ask,3,Green);
if(Ema5_0>Ema13_0 && Ema5_1<Ema13_1)
OrderClose(16384,1,Ask,3,Red);
return(0);
}
if(total<1)
{
// no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
// Проверк на Покупку Buy
if(Ema5_0>Ema50_0 && Ema13_0>Ema50_0 && Ema5_1<Ema50_1 && Ema13_1<Ema50_1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,0,0,"MA_5_13_50",16384,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
// check for short position (SELL) possibility
if(Ema5_0<Ema50_0 && Ema13_0<Ema50_0 && Ema5_1>Ema50_1 && Ema13_1>Ema50_1)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,0,0,"MA_5_13_50",16384,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
}
Сообщение отредактировал Shuko: 17 December 2011 - 01:09
- Parkar это нравится
#6953
Отправлено 17 December 2011 - 13:23
А то уже 2 месяца жду своей очереди...
Или уважаемый Alen_T, можно заказать вам написание сова на платной основе? Если можно, то согласен (вы мне уже писали сова и я был очень доволен исполнением).
#6954
Отправлено 17 December 2011 - 22:10
Ураа!!) получился первый советник, правда сливает))
Огромное спасибо Alen_T!!!
p.s. а почему без point не работает?)
Потому что в SendOrder надо подставлять цены, а ты пытался сложить цену (double) и пункты (int).
Что такое Point - смотри help в MetaEditor - курсор на это слово->[F1].
#6955
Отправлено 18 December 2011 - 11:06
Сообщение отредактировал Shuko: 18 December 2011 - 11:07
- Parkar это нравится
#6956
Отправлено 19 December 2011 - 10:53
Прикрепленные файлы
#6957
Отправлено 19 December 2011 - 18:57
Сообщение отредактировал Yaroslavik: 19 December 2011 - 19:02
#6958
Отправлено 19 December 2011 - 19:37
Можно изменять бар, на котором анализируется пересечение МА....эти значения я заменю сама, а что делать с открытием, я имею ввиду - свечки?
параметр SignalBar = 1 (0,1,2 и тд)
Прикрепленные файлы
#6959
Отправлено 19 December 2011 - 19:42
Уважаемые программисты , можно сделать чтобы этот индикатор Dtzigzag показывал точки входа ни одним цветом, а разным. Например па продажу оставить таким же, но на покупку любым другим цветом.
А такой не подойдет? Это тоже DT зигзаг. И разноцветный...
Прикрепленные файлы
- Ira это нравится
#6960
Отправлено 19 December 2011 - 19:44
А очередь ещё функционирует? Движется?
А то уже 2 месяца жду своей очереди...
Или уважаемый Alen_T, можно заказать вам написание сова на платной основе? Если можно, то согласен (вы мне уже писали сова и я был очень доволен исполнением).
В личку...