Програма за търговия MetaStock (Metastock)
Машина на времето Metastock
„Изправен съм пред неразбираема ситуация. В 18.10 моят Metastock дава низходяща дивергенция на стохастичния осцилатор. Изчислението се извършва по формулата:
Trough(1,C,3)>Trough(2,C,3) И ValueWhen(1,Trough(1,C,3),Stoch(21,3))
Освен това, за експеримента, добавих фиктивни търговски резултати за 3 дни един по един. Данните са получени чрез добавяне на 4-5 копейки. Тоест данните за последните 5 дни са приели формата
15.10.1999 г. 3,8300 3,8500 3,6000 3,6600 61195 5700 3,6500 57409 20/10/1999 г. 3,6500 3,7700 3,6200 3,7000 57409 21/10/1999 9 3.7000 3.8200 3.6700 3.7500 57409
Добавените данни са с удебелен шрифт. Исках грубо да оценя промените в индикаторите, ако цените се движат по линията на тренда. За моя изненада, мечата дивергенция на стохастичния осцилатор, която беше на 18.10, изчезна след добавяне на данни на 21.10. Бях убеден, че ПОСЛЕДВАЩИТЕ ДАННИ НЕ ВЛИЯЯТ НА ПРЕДИШНОТО ИЗЧИСЛЕНИЕ. Бъдещето не може да промени миналото. В този случай обаче след въвеждане на 3 реда резултатът се е променил в миналото. На 18 октомври мечата дивергенция на стохастичния осцилатор изчезна. И в графиката, и в коментарите. Тествах се, но получих пълна възпроизводимост. Въпрос: - Защо "бъдещите" данни променят "миналите" резултати от изчисленията? "
Единствената опция, която виждам, е използването на функцията Trough(). Във вашата система търсите двойно последното „дъно“ с тази функция. Особеността на тази функция е, че тя определя "дъното" с помощта на функцията зигзаг. Но зигзагообразната функция има динамично променящ се последен етап. С други думи, последният крак на зигзага променя посоката, когатонови данни, включително и за предходни дни. Оттук и влиянието на следващите данни върху предишните. Между другото, някои други функции на Metastock също се изчисляват с помощта на функцията Zigzag - Peak(), Peakbars() и Troughbars().
Подобен капан може да очаква, когато използвате функцията Lastvalue () - този индикатор "надниква" в бъдещето. Между другото, "надникването" в бъдещето може да се случи и по погрешка - познат търговец случайно създаде "много печеливша система", като забрави да добави знак минус в конструкцията Ref(close,-1). В резултат на това системата „видя“ утрешната цена на затваряне и, разбира се, може да спечели от нея... :). За щастие открихме тази грешка доста бързо.
Мистериозен Winros.exe
„Инсталирах Metastock 6.51, но при стартиране получавам съобщението „Диспечерът на данни на DBC (Winros.exe) не може да бъде намерен. Трябва да работи, преди да могат да се събират данни." В резултат на това Metastock не стартира. Какво е winross.exe и къде мога да го намеря - не го намерих на диска?
Работата е там, че Metastock, започвайки от версия 6.51, се инсталира едновременно в две конфигурации - Metastock professional и Metastock end of day mode. Първата опция е проектирана да работи с онлайн данни, получени от доставчици на данни (доставчици на данни - като Reuters, Signal, Telescan и др.). Именно за тази работа е необходим файлът winros.exe и той се предоставя от една от тези компании след абониране за техните услуги. Цената на такъв абонамент дори не е много малка, така че ако не работите с многозначни суми и не извършвате операции в рамките на един ден, тогава втората опция е предназначена за вас - режимът Metastock в края на деня. Използвайте тази опция, за да стартирате програмата - и няма да има проблеми.
Грешки в програмата за изтегляне „ВDownloader при въвеждане на данни в колоните Volume и OpenInterest, ако дължината на числото надвишава три знака, тогава се появява съобщение за грешка „Невалидна стойност“. При копиране в колони през клипборда тази грешка изчезва. Какъв е проблема?"
В Downloader има цяла група подобни грешки. Те, в допълнение към описаните по-горе, включват "Невалидна дата", след която програмата често виси. Всичко е свързано със стандарта за представяне на формати на данни. Ако постоянно работите с Metastock, тогава е най-добре да промените настройките на Windows от български стандарт на английски (САЩ). За да направите това, отидете на контролния панел, отворете папката "език и стандарти" и направете съответните промени в раздела "регионални стандарти". Между другото, има още една причина да се направят такива промени в стандартите. По някаква неизвестна за мен причина, ако се зададе български стандарт за представяне на данни, в някои случаи самият Metastock започва да брои с малки грешки. Това обикновено не се забелязва, тъй като грешката е много малка, но грешките могат да се натрупат, например при използване на функцията Sum() върху достатъчно дълги серии от данни и да станат значителни.