В програмировании несоображаю вообще,но есть огромное желание.Так вот в чем вопроос,начал потихоньку позновать азы,пытаюсь стелепать простенького эксперта на основе простенького пользовательского индикатора.КАКУЮ ФУНКЦИЮ НУЖНО ПРОПИСАТЬ ЧТО Б ОТКРЫВАЛ ОРДЕР КОГДА ЦЕНА НАХОДИТЬСЯ ОТНОСИТЕЛЬНО ИНДИКАТОРА(выше или ниже доупустим точки какую рисует индюк) ?Зарание благодарен
- Нужна помощь в написании кода в эксперте
- Добавление индикатора на график
- [ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
Ну что мне никто не скажет каким образом это написать в if
double ma_a_1=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,1); double ma_b_1=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,1); double ma_a_2=iMA(NULL,0,12,0,MODE_EMA,PRICE_CLOSE,2); double ma_b_2=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,2); if(ma_a_1<ma_b_1&&ma_a_2>ma_b_2)//тут условие пересечения ma_a ma_b cнизу вверх { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",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());
Вот например кусок кода из MA Sample (ты его найдешь в папке experts, там ещё есть MACD Sample вот их и изучай), по пересечению двух мувингов.
Если ma_a пересекает ma_b снизу вверх, то открывается позиция на покупку.
Мне нужно не пересичение,а есть индюк простенький пользовательский,который рисует точки(PLdot,он кстати гдето есть в базе),так вот мне надо задать что б когда цена открытия бара выше этой точки,открывал ордер на покупку,а когда цена ниже открывал ордер на продажу.Я все понимаю что с стандартными индюками все просто,а вот как пользоваться пользовательскими вот в ечм вопроос.
poiskspider писал (а) >>
Мне нужно не пересичение,а есть индюк простенький пользовательский,который рисует точки(PLdot,он кстати гдето есть в базе),так вот мне надо задать что б когда цена открытия бара выше этой точки,открывал ордер на покупку,а когда цена ниже открывал ордер на продажу.Я все понимаю что с стандартными индюками все просто,а вот как пользоваться пользовательскими вот в ечм вопроос.
Мне нужно не пересичение,а есть индюк простенький пользовательский,который рисует точки(PLdot,он кстати гдето есть в базе),так вот мне надо задать что б когда цена открытия бара выше этой точки,открывал ордер на покупку,а когда цена ниже открывал ордер на продажу.Я все понимаю что с стандартными индюками все просто,а вот как пользоваться пользовательскими вот в ечм вопроос.
Надо было сразу указывать какой индикатор хочешь использовать
Используй функцию iCustom().
В твоем случае это будет выглядеть примерно так:
double pldot_0=iCustom(NULL,0,"PLdot",0,0);//берем значение с 0го бара if(Close[0]>p_dot_0) { .............//открываем ордер на покупку } else if(Close[0]<p_dot_0) { .......//открываем ордер на продажу }
Ух ты как благодарен,сейчас буду пробывать
Пишет что переменная
'p_dot_0' - variable not defined
Если можно поподробней разживать
У меня появился еще один вопрос--компилирую значит эксперта,а он пишет что или лишняя или надо еще скобку -},возможно ли както проверить где и как их ставитьб эти- }
ВОТ ДЛЯ НАГЛЯДНОСТИ КУСОК КОДА В ЕЧМ ОШИБСЯ ПОДСКАЖИТЕ ПОЖАЛУЙСТА
int start()
{double pldot_0=iCustom(NULL,0,"PLdot",0,0);//берем значение с 0го бара
if(Close[0]>pldot_0)
{
//открываем ордер на покупку
return(0);
}
else if(Close[0]<pldot_0)---------------------'\end_of_program' - ending bracket '}' expected
{
//открываем ордер на продажу
return(0);
}
return(0);
}
{----------------------------------В ЭТОМ МЕСТЕ ВЫДАЕТ ПРЕДУПРЕЖДЕНИЕ '{' - expression on global scope not allowed
if(OrderType()<=OP_SELL &&
OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
if(Close[0]<pldot_0)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
return(0);
}
{
if(Close[0]>pldot_0)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
return(0);
}
посчитайте количество левых и правых скобок
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь