Другие сферы бизнеса

Хочу написать советника на форекс, использует 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); // Если тиков недостаточно
}
}.
Ольга Попова
Ольга Попова
3 323
Лучший ответ
.

Секунду назад???

Не имеет смысла. Это чистый 100-процентный Марков.
С таким же успехом можно писать советника для рулетки.

Если у Вас есть готовая торговая система уже формализованная на уровень написания программы, то обратитесь за помощью к профессиональным создателям советников на заказ. Это проще, чем программировать самому.

.
Витюха Георгиев например секунду