Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
извлечение значений бида и аск в t_1
Здравствуйте,
Я новичок в программировании и не знаю, как получить значение для предыдущего тика: предыдущие значения ask и bid.
Спасибо за помощь.
История запросов и предложений - witchazel
Здравствуйте, я работаю над советником .... .... я бы сделал если ask[-1] =iCustom но я не могу найти это здесь так как Ask и Bid не имеют истории.
У меня такой же вопрос, я хотел бы получить ask[-1] и bid[-1]и не знаю, как это сделать.
Если у вас есть решение, пожалуйста, опубликуйте его.
Большое спасибо.
Привет, FireDave, Спасибо за теплый прием. Рад видеть вас здесь тоже. Вы здесь модератор?
DayTrSuccess,
это должно помочь вам начать:
// Заполните ваш массив
MyArray[][3];
ArrayInitialize(MyArray,0);
for (int cnt=OrdersTotal()-1;cnt>=0;cnt--)
{ OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{ MyArray[cnt][0]=OrderTicket();
if (OrderType()==OP_BUY)
{ MyArray[cnt][1]=1; // Покупка
MyArray[cnt][2]=OrderOpenPrice();
}
else
{ MyArray[cnt][1]=2; // Продажа
MyArray[cnt][2]=OrderOpenPrice();
}
}
}
// Поиск в массиве для OrderTicket
int MyArrayIndex=ArrayBsearch(MyArray,OrderTicket(),WHOLE_ARRAY,0,MODE_ASCEND);
if (MyArray[MyArrayIndex][0]==OrderTicket())
{ // Ваш код здесь
}
Привет, FireDave, Спасибо за теплый прием. Рад видеть вас здесь тоже. Вы здесь модератор?
Нет, просто еще один святоша, ищущий святыни.
Спасибо Яннис
DayTrSuccess,
это поможет вам начать:
.......................
}Спасибо. Я буду использовать это.
Витчазел,
Я не понимаю, что вы имеете в виду, говоря "даст ли он мне закрытие последнего изменения?". Open/High/Low/Close относится к ценовым барам. Так что да, Close[1] даст вам закрытие предыдущего бара на таймфрейме, на котором сейчас находится ваш график. Вы можете использовать iClose(NULL,0,Shift) (iOpen/iHigh/iLow), чтобы получить эти значения на таймфрейме, отличном от того, на котором вы находитесь. "0" означает "текущий" таймфрейм, а "shift" - бары назад. Замените "0" на нужный вам таймфрейм (1,5,15,30,60,240....) и shift на количество баров назад, вы можете даже заменить "NULL" на "GBPUSD", если ваш текущий график EURUSD, но вам нужно обратиться к предыдущему закрытию GBP.
iClose(NULL,1,1) даст закрытие вашей текущей пары, на 1 мин графике, на 1 бар назад.
Я бы подумал о том, чтобы потратить некоторое время на чтение тем, посвященных кодированию MT4, я думаю, что CodesGuru имеет отличную тему для начинающих кодеров, а также файл помощи Metaeditor и бесплатные эксперты и индикаторы, размещенные повсюду.
Яннис