Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1128
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброго Дня Всем!
Есть кнопка в терминале "Авто-торговля ", - закинул в окно советник - пошли "алерты" (во вкладке "эксперты") - нажал кнопку "Авто-торговля" (включил) - пошли "алерты"(замечательно) - нажал кнопку "Авто-торговля" (ВЫКЛЮЧИЛ торговлю) ВСЕ РАВНО идут "алерты".
Вопрос - это у ВСЕХ так?
Если Да, то есть возможность установить/прописать что-бы "алерты" шли только после нажатия этой кнопки?
Может вопрос без башенный но все равно буду благодарен за ответ!
Доброго Дня Всем!
Есть кнопка в терминале "Авто-торговля ", - закинул в окно советник - пошли "алерты" (во вкладке "эксперты") - нажал кнопку "Авто-торговля" (включил) - пошли "алерты"(замечательно) - нажал кнопку "Авто-торговля" (ВЫКЛЮЧИЛ торговлю) ВСЕ РАВНО идут "алерты".
Вопрос - это у ВСЕХ так?
Если Да, то есть возможность установить/прописать что-бы "алерты" шли только после нажатия этой кнопки?
Может вопрос без башенный но все равно буду благодарен за ответ!
Кнопка "Авто-торговля " разрешает, запрещает проведение торговых операций,
Если ее отключить, то советники и скрипты будут работать
Доброго Дня Всем!
Есть кнопка в терминале "Авто-торговля ", - закинул в окно советник - пошли "алерты" (во вкладке "эксперты") - нажал кнопку "Авто-торговля" (включил) - пошли "алерты"(замечательно) - нажал кнопку "Авто-торговля" (ВЫКЛЮЧИЛ торговлю) ВСЕ РАВНО идут "алерты".
Вопрос - это у ВСЕХ так?
Если Да, то есть возможность установить/прописать что-бы "алерты" шли только после нажатия этой кнопки?
Может вопрос без башенный но все равно буду благодарен за ответ!
Доброго Дня Всем!
Есть кнопка в терминале "Авто-торговля ", - закинул в окно советник - пошли "алерты" (во вкладке "эксперты") - нажал кнопку "Авто-торговля" (включил) - пошли "алерты"(замечательно) - нажал кнопку "Авто-торговля" (ВЫКЛЮЧИЛ торговлю) ВСЕ РАВНО идут "алерты".
Вопрос - это у ВСЕХ так?
Если Да, то есть возможность установить/прописать что-бы "алерты" шли только после нажатия этой кнопки?
Может вопрос без башенный но все равно буду благодарен за ответ!
Мужики, делаю ставку на EURUSD к примеру 0.10, тейк проф через 100 пунктов, закрылся прибыль 10.00. всё норм, теперь USDJPY прибыль через 100 пунктов 7.80.
Пытался вычислить стоимость одного пункта MarketInfo(Symbol(), MODE_POINT); получаю 0,001 где я тут туплю?
Короч пытаюсь вычислить какой мне минимальный лот надо ставить чтобы через 100 пунктов получил не 7.8 а именно 10.00.Мужики, делаю ставку на EURUSD к примеру 0.10, тейк проф через 100 пунктов, закрылся прибыль 10.00. всё норм, теперь USDJPY прибыль через 100 пунктов 7.80.
Пытался вычислить стоимость одного пункта MarketInfo(Symbol(), MODE_POINT); получаю 0,001 где я тут туплю?
Короч пытаюсь вычислить какой мне минимальный лот надо ставить чтобы через 100 пунктов получил не 7.8 а именно 10.00.MODE_TICKVALUE - цена в валюте депозита одного пункта (который через MODE_POINT) из расчёта на 1 лот
Появилась необходимость записать данные в hst файл, чтоб потом на основе этих данных построить автономный график.
Бьюсь второй день но ничего не получаеться.
Код:
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
ulong last_fpos=0; //
int HandleHistory=-1;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
string symbol=Symbol();
int per=Period()*9;
ResetLastError();
if(CreateHeader()==true)//если создали заголовок
{
HandleHistory=FileOpenHistory(symbol+(string)per+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
if(HandleHistory!=INVALID_HANDLE)
{
for(int i=199;i>0;i--)//заполняем данными
{
MqlRates r;
r.time=Time[i];//просто пытаюсь записать, это так для примера
r.open=Open[i];//просто пытаюсь записать, это так для примера
r.low=Low[i];
r.high=High[i];
r.close=Close[i];
r.tick_volume=(long)10;
r.spread=0;
r.real_volume=(long)10;
uint byteswritten=FileWriteStruct(HandleHistory,r);
Print("FileOpen OK ",byteswritten," ",Time[i]);
}
FileClose(HandleHistory);
// FileFlush(HandleHistory);
}
else Print("Операция FileOpen неудачна, ошибка ",GetLastError());
}
// long id=ChartOpen(symbol,per);
//Alert(id);
}
//+------------------------------------------------------------------+
bool CreateHeader()//создаем файл с историей hst(заголовок)
{
int file_version=401;
string c_copyright;
string c_symbol=Symbol();
int i_period=Period()*9;
int i_digits=Digits;
int i_unused[13];
//---
ResetLastError();
HandleHistory=FileOpenHistory(c_symbol+(string)i_period+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
if(HandleHistory<0)
{
Print("Error open ",c_symbol+(string)i_period,".hst file ",GetLastError());
return(false);
}
c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
ArrayInitialize(i_unused,0);
//--- write history file header
FileWriteInteger(HandleHistory,file_version,LONG_VALUE);
FileWriteString(HandleHistory,c_copyright,64);
FileWriteString(HandleHistory,c_symbol,12);
FileWriteInteger(HandleHistory,i_period,LONG_VALUE);
FileWriteInteger(HandleHistory,i_digits,LONG_VALUE);
FileWriteInteger(HandleHistory,0,LONG_VALUE);
FileWriteInteger(HandleHistory,0,LONG_VALUE);
FileWriteArray(HandleHistory,i_unused,0,13);
return(true);
}
В результате выполнения создаеться файл с историей, но автономный график не создается.
Вот инфо по графику
Почему то пишуться данные 2003 года!
В итоге при запуска графика получаю ошибку: HistoryBase: 196 errors in 'NZDCHF45'
Понимаю что- что то не так записала. Но как правильно записывать не знаю, мало информации. Кто знает - подскажите.
Возможность есть в случае, если советник (или скрипт) находится в Вашем распоряжении с точки зрения взять и поправить исходный код. Нужно обложить все алерты условием с проверкой, нажата ли кнопка. Если не нажата, алерты не вызывать.
Спасибо Vladimir - думаю или вашем методом воспользуюсь либо весь советник вставлю в это условие.
Спасибо Vitalie Postolache - изучу вашу рекомендацию. В mql5 пока не вникал.
Появилась необходимость записать данные в hst файл, чтоб потом на основе этих данных построить автономный график.
Бьюсь второй день но ничего не получаеться.
Код:
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
ulong last_fpos=0; //
int HandleHistory=-1;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
string symbol=Symbol();
int per=Period()*9;
ResetLastError();
if(CreateHeader()==true)//если создали заголовок
{
HandleHistory=FileOpenHistory(symbol+(string)per+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
if(HandleHistory!=INVALID_HANDLE)
{
for(int i=199;i>0;i--)//заполняем данными
{
MqlRates r;
r.time=Time[i];//просто пытаюсь записать, это так для примера
r.open=Open[i];//просто пытаюсь записать, это так для примера
r.low=Low[i];
r.high=High[i];
r.close=Close[i];
r.tick_volume=(long)10;
r.spread=0;
r.real_volume=(long)10;
uint byteswritten=FileWriteStruct(HandleHistory,r);
Print("FileOpen OK ",byteswritten," ",Time[i]);
}
FileClose(HandleHistory);
// FileFlush(HandleHistory);
}
else Print("Операция FileOpen неудачна, ошибка ",GetLastError());
}
// long id=ChartOpen(symbol,per);
//Alert(id);
}
//+------------------------------------------------------------------+
bool CreateHeader()//создаем файл с историей hst(заголовок)
{
int file_version=401;
string c_copyright;
string c_symbol=Symbol();
int i_period=Period()*9;
int i_digits=Digits;
int i_unused[13];
//---
ResetLastError();
HandleHistory=FileOpenHistory(c_symbol+(string)i_period+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
if(HandleHistory<0)
{
Print("Error open ",c_symbol+(string)i_period,".hst file ",GetLastError());
return(false);
}
c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
ArrayInitialize(i_unused,0);
//--- write history file header
FileWriteInteger(HandleHistory,file_version,LONG_VALUE);
FileWriteString(HandleHistory,c_copyright,64);
FileWriteString(HandleHistory,c_symbol,12);
FileWriteInteger(HandleHistory,i_period,LONG_VALUE);
FileWriteInteger(HandleHistory,i_digits,LONG_VALUE);
FileWriteInteger(HandleHistory,0,LONG_VALUE);
FileWriteInteger(HandleHistory,0,LONG_VALUE);
FileWriteArray(HandleHistory,i_unused,0,13);
return(true);
}
В результате выполнения создаеться файл с историей, но автономный график не создается.
Вот инфо по графику
Почему то пишуться данные 2003 года!
В итоге при запуска графика получаю ошибку: HistoryBase: 196 errors in 'NZDCHF45'
Понимаю что- что то не так записала. Но как правильно записывать не знаю, мало информации. Кто знает - подскажите.
возможно поможет, выдержка из какого-то очень-очень старого проекта (C, gcc) :
/* .hst file header
*/
struct HstHeader {
uint32_t version; // +0 4 LE : database version
char copyright[64]; // +4 64 : copyright data
char symbol[12]; // +68 12 : symbol (EURUSD..)
uint32_t period; // +80 4 LE : timeframe (sec. in period)
uint32_t digits; // +84 4 LE : decimals after .
datetime timesign; // +88 4 LE : creation time sign.
datetime last_sync; // +92 4 LE : last sync. timestamp
uint8_t unused[52]; // +96 52 : reserved for feauture use
// total 148 bytes, packed, aligned by 1
};
/* .hst bar array (file payload)
*/
// when HstHeader.version==400
struct HstRates400 {
datetime ctm; // +0 4 LE : start (creation) time
double open; // +4 8 LE : open price
double low; // +12 8 LE : lowest price
double high; // +20 8 LE : highst price
double close; // +28 8 LE : close price
double volume; // +36 8 LE : volume (nr of ticks)
// total 44 bytes,packed, aligned by 1
} __attribute__((packed));
// when HstHeader.version==401
struct HstRates401 {
datetime ctm; // +0 8 LE : bar start time (with ms?)
double open; // +8 8 LE : open price
double low; // +16 8 LE : lowest price
double high; // +24 8 LE : highst price
double close; // +32 8 LE : close price
uint64_t volume; // +40 8 LE : volume (nr of ticks)
uint32_t spread; // +48 4 LE : spread
long real_volume; // +52 8 LE : real volume
// total 60 bytes,packed,aligned by 1
} __attribute__((packed));