Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2395
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
День добрый! Подскажите формулу расчета маржи XAUUSD для форекс.
То, что нашел рисует, но с небольшой погрешностью у горцев.
помогите считать эти таблицы с csv.
2017-03-06,-5.1,-0.68
вот так выдаёт ошибку WRONG PARAMETR DATATIME
struct prices
{
datetime opentime; // дата
double Bid; // цена бид
double Ask; // цена аск
};
prices arrs[];
void OnTick()
{
int h=FileOpen(name,FILE_READ|FILE_ANSI|FILE_COMMON);
if(h!=INVALID_HANDLE)
{
//--- прочитаем все данные из файла в массив
FileReadArray(file_handle,arrs);
//--- получим размер массива
int size=ArraySize(arrs);
//--- распечатаем данные из массива
for(int i=0;i<size;i++)
Print("Date = ",arrs[i].opentime," Bid = ",arrs[i].Bid," Ask = ",arrs[i].Ask );
Print("Total data = ",size);
//--- закрываем файл
FileClose(file_handle);
}
else
Print("File open failed, error ",GetLastError());
кто может подсказать где ошибка
Всем добрый день.
Столкнулся с проблемой работая с брокером, это огромные свопы. Вот и решил бороться с ними и не торговать, когда они огромные.
И так к коду: Я написал код, который определяет свопы и время изменения, было не сложно. Но я понимаю, что это время может меняться.
Хочу задать интервал времени, в которое он будет проверять изменения свопа. Время изменения свопа на Альпари 10:57, по времени сервера. Хочу перепроверять ежедневно изменения за один час пять минут и до и после времени предыдущего дня. Если изменится, то изменить в настройках автоматически.
Как правильно написать?
Гуглил не нашел и учебник читал.
помогите считать эти таблицы с csv.
2017-03-06,-5.1,-0.68
вот так выдаёт ошибку WRONG PARAMETR DATATIME
struct prices
{
datetime opentime; // дата
double Bid; // цена бид
double Ask; // цена аск
};
prices arrs[];
void OnTick()
{
int h=FileOpen(name,FILE_READ|FILE_ANSI|FILE_COMMON);
if(h!=INVALID_HANDLE)
{
//--- прочитаем все данные из файла в массив
FileReadArray(file_handle,arrs);
//--- получим размер массива
int size=ArraySize(arrs);
//--- распечатаем данные из массива
for(int i=0;i<size;i++)
Print("Date = ",arrs[i].opentime," Bid = ",arrs[i].Bid," Ask = ",arrs[i].Ask );
Print("Total data = ",size);
//--- закрываем файл
FileClose(file_handle);
}
else
Print("File open failed, error ",GetLastError());
кто может подсказать где ошибка
Конечно будет ошибка т.к. формат datetime не такой.
Конечно будет ошибка т.к. формат datetime не такой.
ну так тоже ошибка
2024.04.24 19:12:34.540 Core 1 2023.01.03 03:01:53 Date = 1970.01.01 00:00:00 Bid = 0.0 Ask = 0.0
2024.04.24 19:16:02.598 Core 1 2023.01.03 03:58:46 Date = 1970.01.01 00:00:00 Bid = 0.0 Ask = 0.0
struct prices
{
datetime opentime; // дата
double Bid; // цена бид
double Ask; // цена аск
};
prices arrs[];
void OnTick()
{
int h=FileOpen(name,FILE_READ|FILE_ANSI|FILE_COMMON);
if(h!=INVALID_HANDLE)
{
//--- прочитаем все данные из файла в массив
FileReadArray(file_handle,arrs);
//--- получим размер массива
int size=ArraySize(arrs);
//--- распечатаем данные из массива
for(int i=0;i<size;i++)
Print("Date = ",arrs[i].opentime," Bid = ",arrs[i].Bid," Ask = ",arrs[i].Ask );
Print("Total data = ",size);
//--- закрываем файл
FileClose(file_handle);
}
else
Print("File open failed, error ",GetLastError());
ну так тоже ошибка
2024.04.24 19:12:34.540 Core 1 2023.01.03 03:01:53 Date = 1970.01.01 00:00:00 Bid = 0.0 Ask = 0.0
2024.04.24 19:16:02.598 Core 1 2023.01.03 03:58:46 Date = 1970.01.01 00:00:00 Bid = 0.0 Ask = 0.0
struct prices
{
datetime opentime; // дата
double Bid; // цена бид
double Ask; // цена аск
};
prices arrs[];
void OnTick()
{
int h=FileOpen(name,FILE_READ|FILE_ANSI|FILE_COMMON);
if(h!=INVALID_HANDLE)
{
//--- прочитаем все данные из файла в массив
FileReadArray(file_handle,arrs);
//--- получим размер массива
int size=ArraySize(arrs);
//--- распечатаем данные из массива
for(int i=0;i<size;i++)
Print("Date = ",arrs[i].opentime," Bid = ",arrs[i].Bid," Ask = ",arrs[i].Ask );
Print("Total data = ",size);
//--- закрываем файл
FileClose(file_handle);
}
else
Print("File open failed, error ",GetLastError());
Смотрите разделители в csv файле.
TimeCurrent()
Это неудоно для оптимизации за 2 года и больше. В результате сортировка забита сетами с 1 сделкой в месяц, если не меньше
Добрый день!
Помогите, пожалуйста, разобраться с таким моментом - имеется написанный советник, ядром которого является открытие ордеров на пробой фрактала:
и возникает ситуация, которую я не могу решить: цена пробивает фрактал, немного откатывается назад за уровень открытия последнего ордера, снова пробивает уровень фрактала и происходит очередное открытие позиции... в итоге получаю на пробитии одного фрактала множество ордеров вместо одного (как изначально задумывалось)...
Заранее благодарю за советы по решению этой проблемы!
Добрый день!
Помогите, пожалуйста, разобраться с таким моментом - имеется написанный советник, ядром которого является открытие ордеров на пробой фрактала:
и возникает ситуация, которую я не могу решить: цена пробивает фрактал, немного откатывается назад за уровень открытия последнего ордера, снова пробивает уровень фрактала и происходит очередное открытие позиции... в итоге получаю на пробитии одного фрактала множество ордеров вместо одного (как изначально задумывалось)...
Заранее благодарю за советы по решению этой проблемы!
множество открытий это беда не робота, это беда можно сказать разработчиков, роботом то конечно можно нагородить
можно найти в поиске "мой" способ, он наверное самый правильный будет,