[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 22
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте. Помогите чайнику разобраться: есть советник умеющий выставлять отложенные ордера по мин. и мах. предыдущей свечи. Открытие в направлении свечи.
Нужно:
- изменить направление открытия, т.е. отложенный buy поменять на - отложенный sell
- Вместо мин. и мах. предыдущей свечи сделать мин. и мах предыдущего дня
- Все остальное оставить как есть, т.е. удаление ордеров, параметры лота, stop-los, магический номер
Все мои действия приводят либо к ошибке 130 на тестере, либо не компилируется вообще. Спасибо за любой совет.
Ниже рабочий код, без моего вмешательства.
extern double Lot = 0.01;
extern int StopLoss = 0;
extern int TakeProfit = 0;
extern int Magic = 618;
int Up_bars = 0;
int Down_bars = 0;
double StopLoss_new = 0;
double TakeProfit_new = 0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
for( int cnt=0;cnt<OrdersTotal();cnt++)
{
if (OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES)>0)
{
if (
(OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)
&& OrderMagicNumber() == Magic
&& OrderSymbol() == Symbol()
&& OrderComment() != DoubleToStr(Bars,0)
)
{
Comment("okkk");
OrderDelete(OrderTicket());
}
}
}
StopLoss_new = StopLoss;
TakeProfit_new = TakeProfit;
if (Up_bars != Bars)
{
if (High[1]-Ask >= MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
{
if (StopLoss_new != 0) StopLoss_new = NormalizeDouble(High[1]-StopLoss*Point,Digits);
if (TakeProfit_new != 0) TakeProfit_new = NormalizeDouble(High[1]+TakeProfit*Point,Digits);
if (OrderSend(Symbol(),OP_BUYSTOP,Lot,NormalizeDouble(High[1],Digits),10,StopLoss_new,TakeProfit_new,DoubleToStr(Bars,0),Magic,0,Green) < 0)
{
Sleep(1000);
RefreshRates();
}
else
{
Up_bars = Bars;
}
}
}
StopLoss_new = StopLoss;
TakeProfit_new = TakeProfit;
if (Down_bars != Bars)
{
if (Bid-Low[1] >= MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
{
if (StopLoss_new != 0) StopLoss_new = NormalizeDouble(Low[1]+StopLoss*Point,Digits);
if (TakeProfit_new != 0) TakeProfit_new = NormalizeDouble(Low[1]-TakeProfit*Point,Digits);
if (OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Low[1],Digits),10,StopLoss_new,TakeProfit_new,DoubleToStr(Bars,0),Magic,0,Green) < 0)
{
Sleep(1000);
RefreshRates();
}
else
{
Down_bars = Bars;
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
Здравствуйте. Помогите чайнику разобраться:
капитан очевидность...и всетаки подскажите кто-нибудь
подсказываю - напишите словами то выражение. И поймёте, что неверно поставили.
PS.
Если это вам настолько очевидно где ошибку искать, то зачем спрашивать?
Если Ошибка 130. Пересмотри стоп и тейк.
помогите пожалуйста, ордер должен закрываться на расстроянии в 4 раза большем чем расстояние от high до orderopenprice
где я напортачил?
все ордера закрываются в 3 пунктах от открытия
Ты на калькуляторе пробывал посчитать результат твоей формулы? Если нет то посчитай, потомучто у меня получается хрень. Может из-за того что не все условия знаю.
Только одна ошибка - не знаю как устранить. Где - зарыта собака ?
'Symbol' - initialization expected C:\Program Files\MetaTrader Finam\experts\1.mq4 (8, 13)
'Символ - инициализация ожидала C:\Program Files\MetaTrader Finam\experts\1.mq4 (8, 13)
alex12, укажите что-нибудь конкретное, типа
Только одна ошибка - не знаю как устранить. Где - зарыта собака ?
'Symbol' - initialization expected C:\Program Files\MetaTrader Finam\experts\1.mq4 (8, 13)
'Символ - инициализация ожидала C:\Program Files\MetaTrader Finam\experts\1.mq4 (8, 13)
У вас:
А нужно:
А вообще-то можно два клик по сообщению об ошибке и курсор встанет на указанное (кстати) место, где произошла ошибка компиляции, т.е., сюда: (8, 13)После этого посыпятся другие ошибки... :)
Вышеприведённую строку переместите в начало ф-ции start()
это для начала - далее разбирайтесь с остальными ошибками...
Всем привет.
Ребят нужна помощь. Описываю ситуацию.
на данный момент цена 1.4100 (к примеру) мне нужно найти предидущий бар у которого open будет в пределах (плюс минус 10пт от 1.4100) от 1.4090 до 1.4110 - это подходит.
Но чтобы левый и правый от него open был меньше. например программа нашла бар с опеном 1.4105- он нам подходит.
Далее программа должна этот бар сравнить с левым от него баром и правым от него баром, и если они меньше, то сказать этот бар подходит.
Артем, тут прикол в том, что есть вот такая строка ниже:
Так что так, как ты предложил, не слишком логично - если я правильно понял то, что хочет alex12.