[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 102
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Уважаемые профи, подскажите пожалуйста такой вопрос:
У меня есть ранее записанный в текстовый файл строковой одномерный массив
EURUSD 1654.31
GBPUSD -1654.61
USDCAD 110.98
USDJPY 1180.17
И допустим суммарная прибыль по USDCAD изменилась и мне надо 3-ю строку заменить на "USDCAD 115.64"
Я эти данные считываю как одномерный строковой массив, но у меня не получается заменить в текстовом файле только этот элемент (может кто функцию напишет?)
или лучше не париться и перезаписывать весь массив?
Просто у меня данные поступают от советников, стоящих на разных парах - у каждой пары своя строка - лучше бы конечно только 1 элемент менять наверное.
Всем привет!!! Помогите разобратся с примером из ХЭЛПА
//--------------------------------------------------------------------
// usualexpert.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
#property copyright "Copyright © Book, 2007"
#property link "http://AutoGraf.dp.ua"
//--------------------------------------------------------------- 2 --
#include <stdlib.mqh>
#include <stderror.mqh>
#include <WinUser32.mqh>
//--------------------------------------------------------------- 3 --
#include <Variables.mqh> // Описание переменных
#include <Check.mqh> // Проверка легальности использов. программ
#include <Terminal.mqh> // Учёт ордеров
#include <Events.mqh> // Функция слежения за событиями, обновлен.
#include <Inform.mqh> // Информационная функция
#include <Trade.mqh> // Торговая функция
#include <Open_Ord.mqh> // Открытие одного ордера заданного типа
#include <Close_All.mqh> // Закрытие всех ордеров заданного типа
#include <Tral_Stop.mqh> // Модификация StopLoss всех ордеров типа
#include <Lot.mqh> // Вычисление количества лотов
#include <Criterion.mqh> // Торговые критерии
#include <Errors.mqh> // Функция обработки ошибок.
//--------------------------------------------------------------- 4 --
int init() // Спец. функция init
{
Level_old=MarketInfo(Symbol(),MODE_STOPLEVEL );//Миним. дистаниция
Terminal(); // Функция учёта ордеров
return; // Выход из init()
}
//--------------------------------------------------------------- 5 --
int start() // Спец. функция start
{
if(Check()==false) // Если условия использования..
return; // ..не выполняются, то выход
PlaySound("tick.wav"); // На каждом тике
Terminal(); // Функция учёта ордеров
Events(); // Информация о событиях
Trade(Criterion()); // Торговая функция
Inform(0); // Для перекрашивания объектов
return; // Выход из start()
}
//--------------------------------------------------------------- 6 --
int deinit() // Спец. функция deinit()
{
Inform(-1); // Для удаления объектов
return; // Выход из deinit()
}
//--------------------------------------------------------------- 7 --
2) Только в месте хранения?или и в оформлении кода?
Вопросы в следующем, 1) В чем разница между включаемыми файлами (#include<...> и #include "..."), 3) И чем импортируемымые функции (#import) отличаются от директивы #include?
Пример из ХЭЛПА usualexpert.mq4 илюстрирует состав советника, построеного на включаемых файлах находящихся судя по скобкам <> в файле своей директории #include.
Вопросы: Вкл\файл #include <Variables.mqh> // Описание переменных, при создании по примеру:
//--------------------------------------------------------------------
// Variables.mqh
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
// Описание глобальных переменных
extern double Lots =0.0; // Количество лотов
extern int Percent =0; // Процент выделенных средств
extern int StopLoss =100; // StopLoss для новых ордеров (пунктов)
extern int TakeProfit =40; // TakeProfit для новых ордеров (пунктов)
extern int TralingStop=100; // TralingStop для рыночных ордеров (пунк)
//--------------------------------------------------------------- 2 --
int
Level_new, // Новое значение минимальной дистанции
Level_old, // Предыдущее значение минимальной дистанции
Mas_Tip[6]; // Массив типов ордеров
// [] тип орд: 0=B,1=S,2=BL,3=SL,4=BS,5=SS
//--------------------------------------------------------------- 3 --
double
Lots_New, // Количество лотов для новых ордеров
Mas_Ord_New[31][9], // Массив ордеров текущий ..
Mas_Ord_Old[31][9]; // .. и старый
// 1й индекс = порядковый номер ордера
// [][0] не определяе тся
// [][1] курс откр. ордера (абс.знач.курса)
// [][2] StopLoss ордера (абс.знач.курса)
// [][3] TakeProfit ордера (абс.знач.курса)
// [][4] номер ордера
// [][5] колич. лотов орд. (абс.знач.курса)
// [][6] тип орд. 0=B,1=S,2=BL,3=SL,4=BS,5=SS
// [][7] магическое число ордера
// [][8] 0/1 факт наличия комментария
//--------------------------------------------------------------- 4 --
При компиляции выдает ошибку -- '\end_of_program' - no function defined что она значит и не нужно-ли в конце к этому примеру чего-то добавить
И так-ли включаемые файлы должны выглядеть или к ним надо добавлять в шапку:
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property library
//+------------------------------------------------------------------+
//| return error description |
//+------------------------------------------------------------------+
например в составе ( usualexpert.mq4 // Предназначен для использования в качестве примера в учебнике MQL4. ) есть #include <Check.mqh> // Проверка легальности использов. программ Он без этой шапки выдает ошибку (Start function not found and cannot be run). А с ней все гуд!?
Или-же, вкл.файлы содержат лишь описание пользовательских функций, распологающиеся в библиотеке функций по адресу (libraries) И надо ли в ползоват. функц. использовать спец.функцю start. Если она есть в файле эксперта?
Всем привет!!! Помогите разобратся с примером из ХЭЛПА
//--------------------------------------------------------------------
// usualexpert.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
#property copyright "Copyright © Book, 2007"
#property link "http://AutoGraf.dp.ua"
//--------------------------------------------------------------- 2 --
#include <stdlib.mqh>
#include <stderror.mqh>
#include <WinUser32.mqh>
//--------------------------------------------------------------- 3 --
#include <Variables.mqh> // Описание переменных
#include <Check.mqh> // Проверка легальности использов. программ
#include <Terminal.mqh> // Учёт ордеров
#include <Events.mqh> // Функция слежения за событиями, обновлен.
#include <Inform.mqh> // Информационная функция
#include <Trade.mqh> // Торговая функция
#include <Open_Ord.mqh> // Открытие одного ордера заданного типа
#include <Close_All.mqh> // Закрытие всех ордеров заданного типа
#include <Tral_Stop.mqh> // Модификация StopLoss всех ордеров типа
#include <Lot.mqh> // Вычисление количества лотов
#include <Criterion.mqh> // Торговые критерии
#include <Errors.mqh> // Функция обработки ошибок.
//--------------------------------------------------------------- 4 --
int init() // Спец. функция init
{
Level_old=MarketInfo(Symbol(),MODE_STOPLEVEL );//Миним. дистаниция
Terminal(); // Функция учёта ордеров
return; // Выход из init()
}
//--------------------------------------------------------------- 5 --
int start() // Спец. функция start
{
if(Check()==false) // Если условия использования..
return; // ..не выполняются, то выход
PlaySound("tick.wav"); // На каждом тике
Terminal(); // Функция учёта ордеров
Events(); // Информация о событиях
Trade(Criterion()); // Торговая функция
Inform(0); // Для перекрашивания объектов
return; // Выход из start()
}
//--------------------------------------------------------------- 6 --
int deinit() // Спец. функция deinit()
{
Inform(-1); // Для удаления объектов
return; // Выход из deinit()
}
//--------------------------------------------------------------- 7 --
2) Только в месте хранения?или и в оформлении кода?
Вопросы в следующем, 1) В чем разница между включаемыми файлами (#include<...> и #include "..."), 3) И чем импортируемымые функции (#import) отличаются от директивы #include?
Пример из ХЭЛПА usualexpert.mq4 илюстрирует состав советника, построеного на включаемых файлах находящихся судя по скобкам <> в файле своей директории #include.
Вопросы: Вкл\файл #include <Variables.mqh> // Описание переменных, при создании по примеру:
//--------------------------------------------------------------------
// Variables.mqh
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
// Описание глобальных переменных
extern double Lots =0.0; // Количество лотов
extern int Percent =0; // Процент выделенных средств
extern int StopLoss =100; // StopLoss для новых ордеров (пунктов)
extern int TakeProfit =40; // TakeProfit для новых ордеров (пунктов)
extern int TralingStop=100; // TralingStop для рыночных ордеров (пунк)
//--------------------------------------------------------------- 2 --
int
Level_new, // Новое значение минимальной дистанции
Level_old, // Предыдущее значение минимальной дистанции
Mas_Tip[6]; // Массив типов ордеров
// [] тип орд: 0=B,1=S,2=BL,3=SL,4=BS,5=SS
//--------------------------------------------------------------- 3 --
double
Lots_New, // Количество лотов для новых ордеров
Mas_Ord_New[31][9], // Массив ордеров текущий ..
Mas_Ord_Old[31][9]; // .. и старый
// 1й индекс = порядковый номер ордера
// [][0] не определяе тся
// [][1] курс откр. ордера (абс.знач.курса)
// [][2] StopLoss ордера (абс.знач.курса)
// [][3] TakeProfit ордера (абс.знач.курса)
// [][4] номер ордера
// [][5] колич. лотов орд. (абс.знач.курса)
// [][6] тип орд. 0=B,1=S,2=BL,3=SL,4=BS,5=SS
// [][7] магическое число ордера
// [][8] 0/1 факт наличия комментария
//--------------------------------------------------------------- 4 --
При компиляции выдает ошибку -- '\end_of_program' - no function defined что она значит и не нужно-ли в конце к этому примеру чего-то добавить
И так-ли включаемые файлы должны выглядеть или к ним надо добавлять в шапку:
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property library
//+------------------------------------------------------------------+
//| return error description |
//+------------------------------------------------------------------+
например в составе ( usualexpert.mq4 // Предназначен для использования в качестве примера в учебнике MQL4. ) есть #include <Check.mqh> // Проверка легальности использов. программ Он без этой шапки выдает ошибку (Start function not found and cannot be run). А с ней все гуд!?
Или-же, вкл.файлы содержат лишь описание пользовательских функций, распологающиеся в библиотеке функций по адресу (libraries) И надо ли в ползоват. функц. использовать спец.функцю start. Если она есть в файле эксперта?
.......
Более правильный путь вычисления моды такой: строится эмпирическая функция распределения (не путать с распределением частот), после чего она интерполируется от кусочно-линейной к гладкой, и в завершение ищется точка максимума производной. Такой алгоритм свободен от перечисленных выше недостатков и работает весьма эффективно даже с малыми объемами выборки. По крайней мере, мне приходилось решать на MQL как раз задачу нахождения мод на выборках всего в 50-100 элементов при сравнимом количестве интервалов, и все было ОК. Недостаток один - на интерполяциях как правило сильно падает скорость расчетов, если, конечно, хотим сглаживать качественно.
Добрый день! Подскажите что значит Comment(""), что в таком случае будет выводить функция?
окошко с текстом, указанном в кавычках
Я имел ввиду случай, когда в скобках стоят только кавычки : Comment("")
Я имел ввиду случай, когда в скобках стоят только кавычки : Comment("")