Автор |
Сообщение |
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
000 писал(а): |
По моему проще написать код для 2 фреймов. |
А как это может выглядеть? ты имеешь ввиду через Компрессию и разкомпрессию? То как мы еще давно решали? Так? Или что-то другое? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Да. Имею ввиду "через Компрессию и разкомпрессию". |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
000 писал(а): |
Да. Имею ввиду "через Компрессию и разкомпрессию". |
Учитывая гемороидильно-интегрированные исходные индикаторы с перевыподвыпертами, совсем не проще! Наоборот! Мы это уже проходили!
Ладно! Тут уж фиг с ним! Мне сейчас важно получить хоть какой-то рабочий вариант, пусть и вовсе не оптимальный. Если получу, то может поможешь тогда сделать его более эффективным, а я уж поделюсь наработками. Если будет еще чем делиться, конечно же?! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
000 писал(а): |
Код типа такого
Код: |
Filter = 1;
ind = LastValue(1); // вместо 1твой индикатор
AS_WRITE_PARAM("MyFile", Name(), "ind", ind);
AddColumn(ind, "ind");
|
суешь в АА. В настройках ставишь дневки, автоповтор исполнения и нужную переодичность. Потом топчешь Explore.
В результате АА на дневках будет с заданной переодичностью обновлять параметр записанный в файл MyFile.ini
Дальше
Делаешь индикатор типа
Код: |
qqq = AS_READ_PARAM("MyFile", Name(), "ind");
Plot(C, "", colorBlack, styleCandle);
PlotShapes(IIf(BarIndex() == BarCount-1, shapeCircle, shapeNone), IIf(qqq == 1, colorRed, colorGreen), 0, L);
|
Смотришь и балдеешь. |
Привет!
Как можно записать данные в нужный мне файл по указанному мною маршруту (например по домашней сети на другой комп)
AS_WRITE_FILE("С://myfile.txt", "СТРОКА");
Например, нужно записать значения RSI(12), Stoch(3,5), SYmbol, Tiime в файл, вынесенный из каталога Ами. 1. Вариант всего 1-й строкой в несколько данных
2. вариант строки пишутся подряд. В каждой строке по несколько данных (как к примеру передают дата, symbol,OHLC+Volume) ...
А вообще твои функции
AS_WRITE_FILE("С://myfile.txt", "СТРОКА");
AS_WRITE_PARAM("ИМЯ_ini_ФАЙЛА", "ИМЯ БЛОКА", "ИМЯ ПАРАМЕТРА", параметр)
мAS_WRITE_STRING("ИМЯ_ini_ФАЙЛА", "ИМЯ БЛОКА", "ИМЯ СТРОКИ", "СТРОКА")
как-то взаимоувязываются в записи данных? Или это вообще независимые функции? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А самому попробовать никак?
Я попробовал и у меня прокатил такой способ
AS_WRITE_FILE("С:/myfile.txt", "СТРОКА");
Как по сети я не знаю и пробовать лень.
Записать нужные значения можно как то так.
String = Name() + ";" + Now(0) + "; RSI(12)=" + NumToStr(RSI(12));
AS_WRITE_FILE("C:/myfile.txt", String);
Про подряд или одной строкой я вообще не понял.
На счет функций.
Функция AS_WRITE_FILE тупо дописывает новую строку в текстовый файл.
Функции AS_WRITE_PARAM и AS_WRITE_STRING как пишут тебя вообще не должно волновать. Они работают только в паре с аналогичными читающими функциями.
Это используется только если тебе надо запомнить число или строку так, чтобы после закрытия Ами эта информация не пропала.
Записал стоку или число - вспомнил строку или число. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
000 писал(а): |
А самому попробовать никак? |
Олег! Как раз и попробовал. Но видимо знаний в программировании не хватило. Я не из ленивого десятка. Сначала пробую, а только после этого спрашиваю. А если спрашиваю. значит чего-то не понимаю. Но спрашиваю всегда после своих попыток изучить!
Другое дело, что работаю по 18 часов в сутки без выходных и отпусков. Поэтому не удивляйся, что иногда туплю на простых вещах!
Сорри, если что не так?!
... Большое тебе Спасибо!
Кстати. Нет никакой разницы, по сети писать или просто по имени файла на определенный диск. Тут важен сам механизм. ... Спасибо! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
Олег! Еще раз тебе огроменное спасибо! Ты реально помогаешь!
Когда нет знаний и опыта + еще по времени выкраиваю реально кусочки, не представляю себе как бы я продвинулся?!
Искренне Желаю тебе Удачи, Здоровья и Успеха во всех Ключевых Вопросах Жизни! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
000 писал(а): |
А самому попробовать никак?
Я попробовал и у меня прокатил такой способ
AS_WRITE_FILE("С:/myfile.txt", "СТРОКА");
Как по сети я не знаю и пробовать лень.
Записать нужные значения можно как то так.
String = Name() + ";" + Now(0) + "; RSI(12)=" + NumToStr(RSI(12));
AS_WRITE_FILE("C:/myfile.txt", String);
Про подряд или одной строкой я вообще не понял.
На счет функций.
Функция AS_WRITE_FILE тупо дописывает новую строку в текстовый файл.
Функции и AS_WRITE_STRING как пишут тебя вообще не должно волновать. Они работают только в паре с аналогичными читающими функциями.
Это используется только если тебе надо запомнить число или строку так, чтобы после закрытия Ами эта информация не пропала.
Записал стоку или число - вспомнил строку или число. |
Не могу понять как организовать запись-чтение в файл, расположенный по указанному мной маршруту, но в формате, в котором записывает AS_WRITE_PARAM.
ВОт подходящий вариант формата записи - чтения:
Код: |
WriteSignal = IIf(Signal_Up, 1,IIf(Signal_Dn, -1,0));
Signal = LastValue(WriteSignal);
AS_WRITE_PARAM("MyFileSignal", Name(), "Signal ", Signal );
AddColumn(Signal , "Signal ");
// Чтение
Signal = AS_READ_PARAM("MyFileSignal", Name(), "Signal");
|
В итоге, данные пишутся в файл следующим образом:
Код: |
[JPY]
Signal=0
[GBPCAD]
Signal=0
[AUD]
Signal=0
[AUDCAD]
Signal=0
[AUDCHF]
Signal=0
[AUDJPY]
Signal=0
[CAD]
Signal=0
[CADCHF]
Signal=0
[CADJPY]
Signal=0
[CHF]
Signal=0
[CHFJPY]
Signal=0
[EUR]
Signal=0
[EURAUD]
Signal=0
[EURCAD]
Signal=0
[EURCHF]
Signal=0
[EURGBP]
Signal=0
[EURJPY]
Signal=0
[GBP]
Signal=0
[GBPCHF]
Signal=0
[GBPJPY]
Signal=0
[NZD]
Signal=0
[NZDJPY]
Signal=0 |
Но этот вариант записывает файл только в корневой каталог Амиброкера.
Меня бы это и устроило. Но мне нужно организовать запись чтение и эти данные должны записываться/читаться в файл/ из файла другим компьютером (по моей сети).
Когда же пытаюсь записать в файл по принципу:
Код: |
WriteSignal = IIf(Signal_Up, 1,IIf(Signal_Dn, -1,0));
Signal = LastValue(WriteSignal);
String = Name() + ";" + Now(0) + "; Signal =" + NumToStr(Signal);
AS_WRITE_FILE("D:/myfile.txt", String);
AddColumn(Signal , "Signal "); |
ТО через АА получается запись типа:
Код: |
NZDJPY;25.08.2014 16:57:27; Signal = 1.000
NZDJPY;25.08.2014 16:57:57; Signal = 1.000
NZDJPY;25.08.2014 16:58:14; Signal = 1.000
NZDJPY;25.08.2014 16:58:16; Signal = 1.000
AUD;25.08.2014 16:58:22; Signal = 1.000
NZDJPY;25.08.2014 16:58:31; Signal = 1.000
NZDJPY;25.08.2014 16:58:47; Signal = 1.000
NZDJPY;25.08.2014 16:58:49; Signal = 0.000
AUD;25.08.2014 16:58:50; Signal = 1.000
AUDCAD;25.08.2014 16:58:51; Signal = 1.000
AUDCHF;25.08.2014 16:58:52; Signal = 1.000
AUDJPY;25.08.2014 16:58:54; Signal = 1.000
CAD;25.08.2014 16:58:54; Signal = -1.000
CADCHF;25.08.2014 16:58:55; Signal = 1.000
CADJPY;25.08.2014 16:58:58; Signal = 1.000
CHF;25.08.2014 16:58:58; Signal = 0.000
NZDJPY;25.08.2014 16:59:04; Signal = 0.000
CHFJPY;25.08.2014 16:59:05; Signal = 0.000
EUR;25.08.2014 16:59:05; Signal = 0.000
EURAUD;25.08.2014 16:59:07; Signal = -1.000
EURCAD;25.08.2014 16:59:08; Signal = -1.000
EURCHF;25.08.2014 16:59:09; Signal = 1.000
EURGBP;25.08.2014 16:59:10; Signal = 0.000
EURJPY;25.08.2014 16:59:12; Signal = 0.000
GBP;25.08.2014 16:59:12; Signal = 1.000
GBPCAD;25.08.2014 16:59:13; Signal = -1.000
GBPCHF;25.08.2014 16:59:14; Signal = 0.000
GBPJPY;25.08.2014 16:59:15; Signal = 0.000
JPY;25.08.2014 16:59:15; Signal = 0.000
NZD;25.08.2014 16:59:16; Signal = 0.000
NZDJPY;25.08.2014 16:59:16; Signal = 1.000 |
А надо, так как в первом случае через АА:
Код: |
[JPY]
Signal=0
[GBPCAD]
Signal=0
[AUD]
Signal=0
[AUDCAD]
Signal=0
[AUDCHF]
Signal=0
[AUDJPY]
Signal=0
[CAD]
Signal=0
[CADCHF]
Signal=0
[CADJPY]
Signal=0
[CHF]
Signal=0
[CHFJPY]
Signal=0
[EUR]
Signal=0
[EURAUD]
Signal=0
[EURCAD]
Signal=0
[EURCHF]
Signal=0
[EURGBP]
Signal=0
[EURJPY]
Signal=0
[GBP]
Signal=0
[GBPCHF]
Signal=0
[GBPJPY]
Signal=0
[NZD]
Signal=0
[NZDJPY]
Signal=0 |
Не знаю! долбаюсь, и что-то пока ничего не получается. Понимаю, что дело в форматах записи. ... В общем, лишний раз понимаю, что знания программирования у меня слабые!
И нужны обновляемые данные (перезаписываемые поверх предыдущих), а не подряд даже с указанием времени и даты. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Код: |
WriteSignal = IIf(Signal_Up, 1,IIf(Signal_Dn, -1,0));
Sig = LastValue(WriteSignal);
AS_WRITE_FILE("D:/myfile.txt", "[" + Name() + "]");
AS_WRITE_FILE("D:/myfile.txt", "Signal=" + NumToStr(SigSig, format = 1.0, False)); |
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
000 писал(а): |
Код: |
WriteSignal = IIf(Signal_Up, 1,IIf(Signal_Dn, -1,0));
Sig = LastValue(WriteSignal);
AS_WRITE_FILE("D:/myfile.txt", "[" + Name() + "]");
AS_WRITE_FILE("D:/myfile.txt", "Signal=" + NumToStr(SigSig, format = 1.0, False)); |
|
Олег, Спасибо Большое за помощь.
Да! Она пишет файл в этом формате, но лишние данные тоже вписывает туда же. Вот смотри
Код: |
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[AUD]
Signal=0
[AUDCAD]
Signal=-1
[AUDCHF]
Signal=-1
[AUDJPY]
Signal=-1
[CAD]
Signal=0
[CADCHF]
Signal=-1
[CADJPY]
Signal=-1
[CHF]
Signal=0
[CHFJPY]
Signal=-1
[EUR]
Signal=0
[EURAUD]
Signal=0
[EURCAD]
Signal=0
[EURCHF]
Signal=0
[EURGBP]
Signal=-1
[EURJPY]
Signal=0
[GBP]
Signal=0
[GBPCAD]
Signal=0
[GBPCHF]
Signal=0
[GBPJPY]
Signal=-1
[JPY]
Signal=0
[NZD]
Signal=0
[NZDJPY]
Signal=-1
[NZDJPY]
Signal=0
|
NZDJPY - несколько раз профигачило.
.....
Притом чуть погодя оно вообще мне вон чего поназаписывало
Код: |
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[AUD]
Signal=0
[AUDCAD]
Signal=-1
[AUDCHF]
Signal=-1
[AUDJPY]
Signal=-1
[CAD]
Signal=0
[CADCHF]
Signal=-1
[CADJPY]
Signal=-1
[CHF]
Signal=0
[CHFJPY]
Signal=-1
[EUR]
Signal=0
[EURAUD]
Signal=0
[EURCAD]
Signal=0
[EURCHF]
Signal=0
[EURGBP]
Signal=-1
[EURJPY]
Signal=0
[GBP]
Signal=0
[GBPCAD]
Signal=0
[GBPCHF]
Signal=0
[GBPJPY]
Signal=-1
[JPY]
Signal=0
[NZD]
Signal=0
[NZDJPY]
Signal=-1
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[AUD]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZDJPY]
Signal=0
[NZD]
Signal=0
[JPY]
Signal=0
[GBPJPY]
Signal=0
[GBPCHF]
Signal=0
[GBPCAD]
Signal=-1
[GBP]
Signal=0
[GBP]
Signal=0
[EURJPY]
Signal=0
[EURGBP]
Signal=0
[EURCHF]
Signal=0
[EURCAD]
Signal=0
[EURAUD]
Signal=0
[EUR]
Signal=0
[CHFJPY]
Signal=0
[CHF]
Signal=0
[CADJPY]
Signal=1
[AUD]
Signal=0
[AUDCAD]
Signal=-1
[AUDCHF]
Signal=-1
[AUDJPY]
Signal=-1
[CAD]
Signal=0
[CADCHF]
Signal=-1
[CADJPY]
Signal=-1
[CHF]
Signal=0
[CHFJPY]
Signal=-1
[EUR]
Signal=0
[EURAUD]
Signal=0
[EURCAD]
Signal=0
[EURCHF]
Signal=0
[EURGBP]
Signal=-1
[EURJPY]
Signal=0
[GBP]
Signal=1
[CADJPY]
Signal=1
[GBPCAD]
Signal=0
[GBPCHF]
Signal=0
[GBPJPY]
Signal=0
[JPY]
Signal=0
[NZD]
Signal=0
[NZDJPY]
Signal=-1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
[CADJPY]
Signal=1
|
Т.е.перед записью получается не обнуляется файл плюс ко всему?
... И как организовать из него чтение другим компьютером? По идее бы так!?
Код: |
Sgnl = AS_READ_PARAM("D:/myfile.txt", Name(), "Sgnl");
Plot(SGnl,"1",32,1); |
Но как я понимаю, путь к файлу она не воспринимает? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Тогда сделай по другому. Найди скрипт или программу которая будет брать файл и периодически копировать его туда, куда тебе надо. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
000 писал(а): |
Тогда сделай по другому. Найди скрипт или программу которая будет брать файл и периодически копировать его туда, куда тебе надо. |
Спасибо! Да! Думаю ты прав! Как вариант вполне прокатит.
К сведению, решил оставить ссылку на один из лучших копировщиков (синхронизаторов), который удалось разыскать через обсуждения и отзывы на форумах. Может пригодится?
http://allwaysync.com/ru/
Спасибо! |
|
|
Посмотреть профиль Отправить личное сообщение |
|
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
Не могу понять из-за чего выбивает эту ошибку. АА может час-два-три считать нормально, а потом вот такая бодяга. А бывает и через 20 минут.
Вот весь текст ошибки.
Код: |
AmiBroker version 5.30.4.5108
( cooltool.dll 5.30.4, mfc42.dll 6.6.8065, msvcrt.dll 7.0.3790 )
Microsoft Windows XP version 5.2 (Build 3790)
Service Pack 2.0
Common Controls: 6.0
Unhandled exception
Type: CSysException
Code: eedfade
Description:
Address: 7D4E21B6
IIf(SignalH1TS1_Up, 1, IIf(SignalH1TS1_Dn, -1, IIf(DirectH1TS1_Up, 2,IIf(DirectH1TS1_Dn, -2,0))));
Signal1H = LastValue(WriteSignal1H);
AS_WRITE_PARAM("MyFileSignalTS11H", Name(), "Signal1H ", Signal1H )
------------------------------------------------------------------^
Error 47.
Exception occurred during AFL formula execution at address: 7D4E21B6, code: EEDFADE
Detailed exception information:
Broker.exe caused an in module kernel32.dll at 0023:7D4E21B6
Call Stack:
0023:7D4E21B6 kernel32.dll
0023:02AE6881 AS_File.dll
0023:02AE63F9 AS_File.dll
0023:02B0E38C AS_File.dll
0023:0046F71A Broker.exe
CPU Registers:
EAX=002DF0B4 EBX=02B32078 ECX=00000000 EDX=02AE6881 ESI=002DF138
EDI=02B3208C EBP=00000001 ESP=00000009 EIP=00000000 FLG=00000202
CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B
AFL Parser status:
Processing stage: EXCEPTION
Formula ID: 0 ()
Action 4 (EXPLORATION)
Additional information:
Number of stock loaded: 23
Currently selected stock: EURCHF
Number of quotes (current stock): 49194
Workspace:
Data source = MSTK, Data local mode = 1, NumBars = 500000
Preferences:
Data source = (local), Data local mode = 1, NumBars = 1000
Command history:
2828 - Shows Analyser - a tool to test systems & explore market--Auto-Analyser
Cache manager stats:
Number of list elements: 12
Number of map elements: 12
Hash table size: 5987
Memory status:
MemoryLoad: 62 %
TotalPhys: 975632K AvailPhys: 370436K
TotalPageFile: 2371108K AvailPageFile: 1589140K
TotalVirtual: 4194176K AvailVirtual: 3879872K
Last Windows message:
HWnd: 0xcc104ea
Msg: 0x0110
wParam: 0x19cf054a
lParam: 0x00000000
|
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Походу AS_File.dll виноват. Сделай без него. Чисто средствами AFL. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
X-Story
Зарегистрирован: 29.01.2008
Сообщения: 158
|
000 писал(а): |
Походу AS_File.dll виноват. Сделай без него. Чисто средствами AFL. |
А как? Ты же делал запись в файл именно из-за того, что AFL не позволял этого!? А совмещать ТФ через компрессию/декомпрессию - это реальная засада! ...AFL же не позволяет писать в файл.
Олежка! А подправить твою DLL не реально? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|