Другие сферы бизнеса
Хочу написать советника на форекс, использует mql5, помогите как сделать
мне нужно сравнить цену сейчас и секунду назад, ума не хватило такую простую вещь сделать.
Есть пример готового кода на mql4. Надеюсь поможет.
////+------------------------------------------------------------------+
//| 12.mq4 |
//| * |
//| * |
//+------------------------------------------------------------------+
#property copyright "*"
#property link "*"
extern int TK_TimeShiftSec=20; // Сколько сек тому назад
double TK_Bid[]; // Массив для бид
datetime TK_Time[]; // Массив для времени
int TK_Size=0; // Фактически размер массивов
int TK_Chank=1024; // Размер отрезщка на который выполняется увеличение масивов
int TC_Count=0; // Количество используемых элементов массива
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start(){
double LastPrice;
datetime LastTime;
if(!TK_Main(LastPrice,LastTime))return; // Пока недостаточно тиков
// Здесь используем LastPrice
Comment((TimeCurrent()-LastTime) +" с. тому назад цена была "+LastPrice);
return(0);
}
//+------------------------------------------------------------------+
bool TK_Main(double & aLastPrice,datetime & aLastTime){
datetime TimeNow=TimeCurrent();
if(TC_Count>=TK_Size){ // Массивы полностью заполнены
TK_Size+=TK_Chank; // Новый размер
ArrayResize(TK_Bid,TK_Size); // Увеличиваем до нового размера
ArrayResize(TK_Time,TK_Size);
}
TK_Bid[TC_Count]=Bid; // Новая цена
TK_Time[TC_Count]=TimeNow; // Время новой цены
TC_Count++; // Количество используемых элементов массива
if(TimeNow-TK_Time[0]>=TK_TimeShiftSec){ // Набрано достаточное количество тиков
for(int i=1;i<TC_Count;i++){ // Поверка на необходимость удаления старых данных
if(TimeNow-TK_Time[i]1){ // не предпоследний элемент
i--; // чтобы оставить один элемент на краю границы или дальше
ArrayCopy(TK_Bid,TK_Bid,0,i,TC_Count); // Удалере старых данных
ArrayCopy(TK_Time,TK_Time,0,i,TC_Count);
TC_Count-=i; // Уменьшение счетчика
}
break;
}
}
aLastPrice=TK_Bid[0]; // Возвращаемое значение цены
aLastTime=TK_Time[0]; // Возвращаемое значение времени
return(true); // Если набрано дост аочное количество тиков
}
else{
return(false); // Если тиков недостаточно
}
}.
////+------------------------------------------------------------------+
//| 12.mq4 |
//| * |
//| * |
//+------------------------------------------------------------------+
#property copyright "*"
#property link "*"
extern int TK_TimeShiftSec=20; // Сколько сек тому назад
double TK_Bid[]; // Массив для бид
datetime TK_Time[]; // Массив для времени
int TK_Size=0; // Фактически размер массивов
int TK_Chank=1024; // Размер отрезщка на который выполняется увеличение масивов
int TC_Count=0; // Количество используемых элементов массива
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start(){
double LastPrice;
datetime LastTime;
if(!TK_Main(LastPrice,LastTime))return; // Пока недостаточно тиков
// Здесь используем LastPrice
Comment((TimeCurrent()-LastTime) +" с. тому назад цена была "+LastPrice);
return(0);
}
//+------------------------------------------------------------------+
bool TK_Main(double & aLastPrice,datetime & aLastTime){
datetime TimeNow=TimeCurrent();
if(TC_Count>=TK_Size){ // Массивы полностью заполнены
TK_Size+=TK_Chank; // Новый размер
ArrayResize(TK_Bid,TK_Size); // Увеличиваем до нового размера
ArrayResize(TK_Time,TK_Size);
}
TK_Bid[TC_Count]=Bid; // Новая цена
TK_Time[TC_Count]=TimeNow; // Время новой цены
TC_Count++; // Количество используемых элементов массива
if(TimeNow-TK_Time[0]>=TK_TimeShiftSec){ // Набрано достаточное количество тиков
for(int i=1;i<TC_Count;i++){ // Поверка на необходимость удаления старых данных
if(TimeNow-TK_Time[i]1){ // не предпоследний элемент
i--; // чтобы оставить один элемент на краю границы или дальше
ArrayCopy(TK_Bid,TK_Bid,0,i,TC_Count); // Удалере старых данных
ArrayCopy(TK_Time,TK_Time,0,i,TC_Count);
TC_Count-=i; // Уменьшение счетчика
}
break;
}
}
aLastPrice=TK_Bid[0]; // Возвращаемое значение цены
aLastTime=TK_Time[0]; // Возвращаемое значение времени
return(true); // Если набрано дост аочное количество тиков
}
else{
return(false); // Если тиков недостаточно
}
}.
.
Секунду назад???
Не имеет смысла. Это чистый 100-процентный Марков.
С таким же успехом можно писать советника для рулетки.
Если у Вас есть готовая торговая система уже формализованная на уровень написания программы, то обратитесь за помощью к профессиональным создателям советников на заказ. Это проще, чем программировать самому.
.
Секунду назад???
Не имеет смысла. Это чистый 100-процентный Марков.
С таким же успехом можно писать советника для рулетки.
Если у Вас есть готовая торговая система уже формализованная на уровень написания программы, то обратитесь за помощью к профессиональным создателям советников на заказ. Это проще, чем программировать самому.
.
Витюха Георгиев
например секунду
Похожие вопросы
- какой советник лучше всего использовать для форекс? какой советник лучше всего использовать для форекс?
- Реально ли заработать на Форекс используя программу-советник? В частности, интересует советник ilan1.6Dynamic
- Где купить проверенных советников для форекс?
- Форекс! Кто пользуется советниками? Какой лучше использовать и стоит ли?
- Подскажите где можно скачать достойный советник для Форекс?
- Подскажите хороший программу "советник"для форекса
- Какой советник для форекс самый лучший?
- подскажите хороший советник для форекс
- Посоветуйте прибыльный торговый советник на форекс, за ранее благодарен!
- советник на форексе auto-profit это реально ???