Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1056
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Выручайте пожалуйста, не могу найти ответа на простой вопрос.
int TimeSeconds(,,,,,) Возвращает количество секунд, прошедших с начала минуты указанного времени.
Если я вставлю в функцию время открытия бара
TimeSeconds(iTime(NULL,PERIOD_M5,0))
то как мне определить что до закрытия бара осталось 10 секунд?
Ну так из количества секунд в периоде вычти прошедшее время...
Потому, что читать документацию надо до конца. А там есть пример
А в документации, думаю, эти скобки лишние "array[]", из самого слова понятно что это массив. :)
Ну так из количества секунд в периоде вычти прошедшее время...
Спасибо большое, уже пять лет кружусь в mql4, а что есть такая функция не знал, ещё раз спасибо большое ))
Увы , не помогло, на пятом эта проверка не работает...(((
еще непонятно что делает переменная которую я обозвал huin
Спасибо большое, уже пять лет кружусь в mql4, а что есть такая функция не знал, ещё раз спасибо большое ))
Увы , не помогло, на пятом эта проверка не работает...(((
Ну так надо было уточнить... Принцип остаётся тем-же
Можно ещё через CopyTime()...
Нет... Немного не так.
ГУРУ ПОДСКАЖИТЕ!!!! Почему не открывается ордер Sell????
//+------------------------------------------------------------------+
//| ProjectName |
//| Copyright 2012, CompanyName |
//| http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
input double L=0.01;
input int TakeProfit = 150;
input int StopLoss = 150;
input int Magic = 0;
//+------------------------------------------------------------------+
int b=0;
int s=0;
//+------------------------------------------------------------------+
int OnInit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//+------------------------------------------------------------------+
//| Открываем ордер Buy |
//+------------------------------------------------------------------+
if(b==0)
{
b=My_Fun_b();
}
//+------------------------------------------------------------------+
//| Открываем ордер Sell |
//+------------------------------------------------------------------+
if(s==0)
{
double priceb=My_Fun_p();
Comment("Цена ордера Buy",priceb);
if(priceb==Bid) /*НЕ ВЫПОЛНЯЕТСЯ, ПОЧЕМУ*/
{
s=My_Fun_s(priceb);/*НЕ ВЫПОЛНЯЕТСЯ, ПОЧЕМУ*/
}
}
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Пользовательская Функция открытия первого ордера (buy) |
//+------------------------------------------------------------------+
int My_Fun_b()
{
b=OrderSend(_Symbol,0,0.01,Ask,0,0,0,"",414,0,clrBlue);
return(b);
}
//+------------------------------------------------------------------+
//| Пользовательская функция определенияцены первого ордера (buy) |
//+------------------------------------------------------------------+
double My_Fun_p()
{
double pb=0;
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)
if(OrderMagicNumber()==414)
{
pb=OrderOpenPrice();
}
return(pb);
}
//+------------------------------------------------------------------+
//| Пользовательская Функция открытия первого ордера (sell) |
//+------------------------------------------------------------------+
int My_Fun_s(double priceb)
{
s=OrderSend(_Symbol,1,0.01,priceb,0,0,0,"",0,0,clrRed);
return(b);
}
//+------------------------------------------------------------------+
Ну так надо было уточнить... Принцип остаётся тем-же
Можно ещё через CopyTime()...
Нет... Немного не так.
Спасибо, получилось , работает. Правильный вариант :
(TimeCurrent() - (datetime) SeriesInfoInteger (NULL , PERIOD_M5 , SERIES_LASTBAR_DATE))>290
Ещё раз спасибо, теперь горы кода можно убрать и пользоваться этой строчкой!!! ))
Спасибо, получилось , работает. Правильный вариант :
(TimeCurrent() - (datetime) SeriesInfoInteger (NULL , PERIOD_M5 , SERIES_LASTBAR_DATE))>290
Ещё раз спасибо, теперь горы кода можно убрать и пользоваться этой строчкой!!! ))
Видимо было не важно, прошедшее время от открытия бара или время до завершения бара. Этот вариант будет давать именно прошедшее время от начала бара, а не до завершения его.
А что за число 290? Зачем проверка на больше 290???
Видимо было не важно, прошедшее время от открытия бара или время до завершения бара. Этот вариант будет давать именно прошедшее время от начала бара, а не до завершения его.
А что за число 290? Зачем проверка на больше 290???
Ошибки (2) при компиляции: Magic - undeclared identifier
Помогите исправить
bool CheckExists(int Type)
{
bool Result = True;
for(int i = 0; i < OrdersTotal(); i++)
if(OrderSelect(i, SELECT_BY_POS))
if(OrderType() == Type && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
if(OrderOpenTime() >= Time[0])
Result = False;
for(i = 0; i < OrdersHistoryTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if(OrderType() == Type && OrderOpenTime() >= Time[0]
&& OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
Result = False;
}
return(Result);
}