Отличный советник в бэктесте! - страница 115
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Файл перезаписывается каждый раз, когда вы его открываете. Одно из решений - открыть файл в функции init() и закрыть его в deinit()
поэтому я сделал вот что...
int init()
{
handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');//это единственное место в коде, где я использую FileOpen() Я отключил все остальные.
return(0);
}
int deinit()
{
FileClose(handle);
return(0);
}
и в коде, когда я хочу добавить что-то к нему, я сделал следующее...
FileWrite(handle, "SellPossibilityMid:", SellPossibilityMid);
FileWrite(handle, "BuyPossibilityMid:", BuyPossibilityMid);
и я получаю сообщение об ошибке "открыто слишком много файлов".
bool startfileopen = true;
int init()
{
if(startfileopen)
{
handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE, ';');
startfileopen = false;
}
похоже, это решило проблему.
но он все еще показывает только одну запись в файле, часть которой усечена...
SellPossibilityMid*SellPossibilityQuality:;0.00190286
BuyPossibilityMid*BuyPossibilityQuality:;0.00132571
UndefinedPossibilityMid*UndefinedPossibilityQuality:;0.00365143
UndefinedSucPossibilityQuality:;9
SellSucPossibilityQuality:;9
BuySucPossibilityQuality:;7
UndefinedPossibilityQuality:;18
SellPossibilityQuality:;9
BuyPossibilityQuality:;8
UndefinedSucPossibilityMid:;0.00074444
SellSucPossibilityMid:;0.00082222
BuySucPossibilityMid:;0.0008
UndefinedPossibilityMid:;0.00020286
SellPossibilityMid:;0.00021143
BuyPossibilityMid:;0.00016571
ng Short OrderTicket: ;24; Opened @: ;1.2685; Closed @: ;1.2677; Order Open Time: ;1160121599
Это может помочь
Здравствуйте, Aaragorn, вы проделали большую работу над CT, у меня есть один E.A., который, как я думаю, делает что-то похожее на то, что вы делаете, может быть, есть способ включить его в CT. Я думаю, что он собирает данные о тиках в файл csv.
с уважением,
mrtools
У меня есть друг-программист, который сказал мне забыть про init() deinit() и изменить, когда я вызываю его на
handle=FileOpen("cyberia_log.csv", FILE_CSV|FILE_WRITE|FILE_READ,';');
Я должен оставить это на некоторое время, я вернусь позже. Надеюсь, dudeworks сможет заставить его работать. Я просто пока не знаю, как работать с файлами.
Здравствуйте Aaragorn, отличная работа, которую вы делаете над CT, у меня есть один E.A., который я думаю делает что-то похожее на то, что вы делаете, может быть есть способ включить его в CT. Я думаю, что он собирает данные о тиках в файл csv.
regards,
mrtoolsХорошо, спасибо! Это интересно, видеть другой код, который работает, помогает, я должен уйти ненадолго, но я вернусь.
Ошибка недействительной ручки
Aaragorn, этому эксперту нужен внешний источник (я думаю), чтобы либо собрать данные, либо распространить их для торговли E.A., которого, к сожалению, у меня нет, и я понятия не имею, как его создать, поэтому эксперт не будет торговать, просто выдает сообщение об ошибке "invalid handle -1 in file read number", просто подумал, что код может помочь.
с уважением,
mrtools
Aaragorn, этому эксперту нужен внешний источник (я думаю), чтобы либо собрать данные, либо распространить их для торговли E.A., которого, к сожалению, у меня нет, и я понятия не имею, как его создать, поэтому эксперт не будет торговать просто выдает сообщение об ошибке "invalid handle -1 in file read number", просто подумал, что код может помочь.
с уважением
mrtoolsСпасибо, я ценю вашу поддержку.
насколько я могу судить, этот код сначала удаляет все предыдущие значения файла, затем открывает файл, чтобы добавить что-то, затем закрывает файл.
затем он открывает файл, чтобы прочитать то, что он написал.
Проблема заключается в том, что когда я хочу добавить что-то еще в файл, не удаляя и не перезаписывая то, что уже записано, другими словами, добавляя новые данные в конец файла...
Мне нужен пример того, как это сделать.
Может ли кто-нибудь научить меня, как правильно использовать функции хранения и вызова файлов?
Я просмотрел эту документацию...
Opens file for input and/or output. Returns a file handle for the opened file or -1 (if the function fails). To get the detailed error information, call GetLastError() function.
Notes: Files can only be opened in the terminal_directory\experts\files folder (terminal_directory\tester\files if for expert testing) or in its subfolders.
FILE_BIN and FILE_CSV modes cannot be used simultaneously.
If FILE_WRITE does not combine with FILE_READ, a zero-length file will be opened. If even the file containd some data, they will be deleted. If there is a need to add data to an existing file, it must be opened using combination of FILE_READ | FILE_WRITE.
If FILE_READ does not combine with FILE_WRITE, the file will be opened only if it already exists. If the file does not exist, it can be created using the FILE_WRITE mode.
No more than 32 files can be opened within an executable module simultaneously. Handles of files opened in the same module cannot be passed to other modules (libraries).
Parameters:
filename - Filename.
mode - Opening mode. It can be one or combination of values: FILE_BIN, FILE_CSV, FILE_READ, FILE_WRITE.
delimiter - Delimiter character for csv files. By default, the ';' symbol applies.
Sample:
int handle;
handle=FileOpen("my_data.csv",FILE_CSV|FILE_READ,';');
if(handle<1)
{
Print("File my_data.dat not found, the last error is ", GetLastError());
return(false);
}
Я просмотрел эту документацию, но она не достаточно подробна, чтобы научить, как ее использовать. Полагаю, если бы я уже знал, как ее использовать, эта ссылка имела бы смысл, но поскольку я еще не знаю, она не дает много информации.
http://www.metatrader.info/node/142
Aaragorn, этому эксперту нужен внешний источник (я думаю), чтобы либо собрать данные, либо распространить их для торговли E.A., которого, к сожалению, у меня нет и я понятия не имею, как его создать, поэтому эксперт не будет торговать, просто выдает сообщение об ошибке "invalid handle -1 in file read number", просто подумал, что код может помочь.
с уважением
mrtoolsСпасибо за этот фрагмент кода. Я посмотрел на него и вижу, что он создает и читает файлы. Я не вижу, чтобы он добавлял что-либо в конец уже созданного файла. Может быть, это так, и я просто не вижу, а может быть, он этого не делает, и смотреть не на что. Я хотел бы знать кусок кода, который, как мы знаем, добавляет данные в конец, чтобы я мог увидеть, как он это делает.
CT не работает
Я прочитал эту тему от начала до конца, пытаясь найти решение У меня есть версия Cyberia Trader1.85g jpy.mq4.
Cyberia Trader1.85g jpy.mq4 версия Я загрузил его и имею лицо, но у меня нет никаких ордеров вообще. Я использую пару USD/CHF на 30mins. Отсутствие ордеров делает очень трудным любое форвард тестирование. система работает уже 4 дня и все еще нет ордеров.
Помощь была бы очень кстати, спасибо.
спасибо
Бено