array ( 'description' => 'New high', 'direction' => '+', 'de^description' => 'Neues Hoch', 'it^description' => 'Nuovo massimo', 'fr^description' => 'Nouveau haut: (variation du prix). Était de (prix) le (date).', 'ru^description' => 'Новое повышение', 'es^description' => 'Nuevo alto', 'quality_filter' => 'Days, i.e. 52 week high = 365', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'NLP', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Tage, z.B. 52 Wochen Hoch = 365', ), 'NLP' => array ( 'description' => 'New low', 'direction' => '-', 'de^description' => 'Neues Tief', 'it^description' => 'Nuovo minimo', 'fr^description' => 'Nouveau bas: (variation du prix). Était de (prix) le (date).', 'ru^description' => 'Новое понижение', 'es^description' => 'Nuevo bajo', 'quality_filter' => 'Days, i.e. 52 week low = 365', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'NHP', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Tage, z.B. 52 Wochen Tief = 365', ), 'NHA' => array ( 'description' => 'New high ask', 'direction' => '+', 'de^description' => 'Neues Hoch Ask', 'it^description' => 'Nuovo massimo ask', 'fr^description' => 'Nouveau haut du prix demandé: (variation du prix)', 'ru^description' => 'Новый высокий запрос', 'es^description' => 'Nuevo alto de oferta (ask)', 'quality_filter' => 'Shares, minimum ask size', 'quality_format_php' => '%s shares', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n shares', 'keywords' => '.bid.and.ask.', 'flip' => 'NLB', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Aktien, zu minimalem Brief-Kurs', ), 'NLB' => array ( 'description' => 'New low bid', 'direction' => '-', 'de^description' => 'Neues Tief Bid', 'it^description' => 'Nuovo minimo bid', 'fr^description' => 'Nouveau bas du prix d\'offre: (variation du prix)', 'ru^description' => 'Новое низкое предложение', 'es^description' => 'Nuevo bajo de demanda (bid)', 'quality_filter' => 'Shares, minimum bid size', 'quality_format_php' => '%s shares', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n shares', 'keywords' => '.bid.and.ask.', 'flip' => 'NHA', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Aktien, zu minimalem Geld-Kurs', ), 'NHPF' => array ( 'description' => 'New high (filtered)', 'direction' => '+', 'de^description' => 'Neues Hoch (gefiltert)', 'it^description' => 'Nuovo massimo (filtrato)', 'fr^description' => 'Nouveau haut. Confirmé avec volumes', 'ru^description' => 'Новое повышение (фильтрованное)', 'es^description' => 'Nuevo alto (filtrado)', 'quality_filter' => 'Days, i.e. 52 week high = 365', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'NLPF', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Tage, z.B. 52 Wochen Hoch = 365', ), 'NLPF' => array ( 'description' => 'New low (filtered)', 'direction' => '-', 'de^description' => 'Neues Tief (gefiltert)', 'it^description' => 'Nuovo minimo (filtrato)', 'fr^description' => 'Nouveau bas. Confirmé avec volumes', 'ru^description' => 'Новое понижение (фильтрованное)', 'es^description' => 'Nuevo bajo (filtrado)', 'quality_filter' => 'Days, i.e. 52 week low = 365', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'NHPF', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Tage, z.B. 52 Wochen Tief = 365', ), 'NHAF' => array ( 'description' => 'New high ask (filtered)', 'direction' => '+', 'de^description' => 'Neues Hoch Ask (gefiltert)', 'it^description' => 'Nuovo massimo ask (filtrato)', 'fr^description' => 'Nouveau haut du prix demandé. Confirmé', 'ru^description' => 'Новый высокий запрос(фильтрованный)', 'es^description' => 'Nuevo alto de oferta (ask) (filtrado)', 'quality_filter' => 'Shares, minimum ask size', 'quality_format_php' => '%s shares', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n shares', 'keywords' => '.bid.and.ask.', 'flip' => 'NLBF', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Aktien, zu minimalem Brief-Kurs', ), 'NLBF' => array ( 'description' => 'New low bid (filtered)', 'direction' => '-', 'de^description' => 'Neues Tief Bid (gefiltert)', 'it^description' => 'Nuovo mimino bid (filtrato)', 'fr^description' => 'Nouveau bas du prix d\'offre. Confirmé', 'ru^description' => 'Новое низкое предложение(фильтрованное)', 'es^description' => 'Nuevo bajo de demanda (bid) (filtrado)', 'quality_filter' => 'Shares, minimum bid size', 'quality_format_php' => '%s shares', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n shares', 'keywords' => '.bid.and.ask.', 'flip' => 'NHAF', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Aktien, zu minimalem Geld-Kurs', ), 'NHBF' => array ( 'de^description' => 'Neues Hoch Bid (gefiltert)', 'it^description' => 'Nuovo massimo bid (filtrato)', 'fr^description' => 'Nouveau haut du prix d.offre. Confirmé', 'ru^description' => 'Новое высокое редложение(фильтрованное)', 'direction' => '+', 'description' => 'New high bid (filtered)', 'es^description' => 'Nuevo alto de demanda (bid) (filtrado)', 'quality_filter' => 'Shares, minimum bid size', 'quality_format_php' => '%s shares', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n shares', 'keywords' => '.bid.and.ask.', 'flip' => 'NLAF', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Aktien, zu minimalem Geld-Kurs', ), 'NLAF' => array ( 'de^description' => 'Neues Tief Ask (gefiltert)', 'it^description' => 'Nuovo mimino ask (filtrato)', 'fr^description' => 'Nouveau bas du prix demandé. Confirmé', 'ru^description' => 'Новый низкий запрос (фильтрованный)', 'es^description' => 'Nuevo bajo de oferta (ask) (filtrado)', 'direction' => '-', 'description' => 'New low ask (filtered)', 'quality_filter' => 'Shares, minimum ask size', 'quality_format_php' => '%s shares', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n shares', 'keywords' => '.bid.and.ask.', 'flip' => 'NHBF', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Aktien, zu minimalem Brief-Kurs', ), 'HPRE' => array ( 'description' => 'Pre-market highs', 'de^description' => 'Vorbörsliche Hochs', 'direction' => '+', 'quality_filter' => 'Days', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print. premkt premarket', 'de^keywords' => '.geld.und.brief. .ticks.', 'flip' => 'LPRE', ), 'LPRE' => array ( 'description' => 'Pre-market lows', 'de^description' => 'Vorbörsliche Tiefs', 'direction' => '-', 'quality_filter' => 'Days', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print. premkt premarket', 'de^keywords' => '.geld.und.brief. .ticks.', 'flip' => 'HPRE', ), 'HPOST' => array ( 'description' => 'Post-market highs', 'de^description' => 'Nachbörsliche Hochs', 'direction' => '+', 'quality_filter' => 'Days', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print.', 'de^keywords' => '.geld.und.brief. .ticks.', 'flip' => 'LPOST', ), 'LPOST' => array ( 'description' => 'Post-market lows', 'de^description' => 'Nachbörsliche Tiefs', 'direction' => '-', 'quality_filter' => 'Days', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print.', 'de^keywords' => '.geld.und.brief. .ticks.', 'flip' => 'HPOST', ), 'PFL75C' => array ( 'description' => '75% pullback from lows (Close)', 'direction' => '+', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PFH75C', 'de^description' => '75% Pullback vom Tief (Schlußkurs)', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFL25C' => array ( 'description' => '25% pullback from lows (Close)', 'direction' => '+', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PFH25C', 'de^description' => '25% Pullback vom Tief (Schlußkurs)', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFH75C' => array ( 'description' => '75% pullback from highs (Close)', 'direction' => '-', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PFL75C', 'de^description' => '75% Pullback vom Hoch (Schlußkurs)', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFH25C' => array ( 'description' => '25% pullback from highs (Close)', 'direction' => '-', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PFL25C', 'de^description' => '25% Pullback vom Hoch (Schlußkurs)', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFL75O' => array ( 'description' => '75% pullback from lows (Open)', 'direction' => '+', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PFH75O', 'de^description' => '75% Pullback vom Tief (Eröffnungskurs)', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFL25O' => array ( 'description' => '25% pullback from lows (Open)', 'direction' => '+', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PFH25O', 'de^description' => '25% Pullback vom Tief (Eröffnungskurs)', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFH75O' => array ( 'description' => '75% pullback from highs (Open)', 'direction' => '-', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PFL75O', 'de^description' => '75% Pullback vom Hoch (Eröffnungskurs)', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFH25O' => array ( 'description' => '25% pullback from highs (Open)', 'direction' => '-', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PFL25O', 'de^description' => '25% Pullback vom Hoch (Eröffnungskurs)', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFL75' => array ( 'description' => '75% pullback from lows', 'direction' => '+', 'de^description' => '75% Pullback vom Tief ', 'it^description' => '75% ritracciamento dai minimi', 'fr^description' => '75% retracement des bas', 'ru^description' => '75% отступление от падения', 'es^description' => '75% retroceso desde los bajos', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fibonacci. .highs.and.lows. .single.print.', 'flip' => 'PFH75', 'de^keywords' => '.fibonacci. .hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFL25' => array ( 'description' => '25% pullback from lows', 'direction' => '+', 'de^description' => '25% Pullback vom Tief ', 'it^description' => '25% ritracciamento dai minimi', 'fr^description' => '25% retracement des bas', 'ru^description' => '25% отступление от падения', 'es^description' => '25% retroceso desde los bajos', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fibonacci. .highs.and.lows. .single.print.', 'flip' => 'PFH25', 'de^keywords' => '.fibonacci. .hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFH75' => array ( 'description' => '75% pullback from highs', 'direction' => '-', 'de^description' => '75% Pullback vom Hoch ', 'it^description' => '75% ritracciamento dai massimi', 'fr^description' => '75% retracement des hauts', 'ru^description' => '75% отступление от подьёма', 'es^description' => '75% retroceso desde los altos', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fibonacci. .highs.and.lows. .single.print.', 'flip' => 'PFL75', 'de^keywords' => '.fibonacci. .hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'PFH25' => array ( 'description' => '25% pullback from highs', 'direction' => '-', 'de^description' => '25% Pullback vom Hoch ', 'it^description' => '25% ritracciamento dai massimi', 'fr^description' => '25% retracement des hauts', 'ru^description' => '25% отступление от подьёма', 'es^description' => '25% retroceso desde los altos', 'quality_filter' => 'Dollars, initial move size', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fibonacci. .highs.and.lows. .single.print.', 'flip' => 'PFL25', 'de^keywords' => '.fibonacci. .hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Dollars, erste Schwankungsbreite', ), 'CMU' => array ( 'description' => 'Check mark', 'direction' => '+', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'CMD', 'de^description' => 'Hakenformation', 'de^keywords' => '.hochs.und.tiefs. .ticks.', ), 'CMD' => array ( 'description' => 'Inverted check mark', 'direction' => '-', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'CMU', 'de^description' => 'Umgekehrte Hakenformation', 'de^keywords' => '.hochs.und.tiefs. .ticks.', ), 'PUD' => array ( 'description' => '% up for the day', 'direction' => '+', 'quality_filter' => 'Minimum % up', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PDD', 'de^description' => '% Kursanstieg für den Tag', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Minimale % Bewegung nach oben', ), 'PDD' => array ( 'description' => '% down for the day', 'direction' => '-', 'quality_filter' => 'Minimum % down', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'PUD', 'de^description' => '% Kursverlust für den Tag', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Minimale % Bewegung nach unten', ), 'BBU' => array ( 'description' => 'Standard deviation breakout', 'direction' => '+', 'quality_filter' => 'Standard deviations', 'quality_format_php' => '%s std dev', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n std dev', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'BBD', 'de^description' => 'Ausbruch der Standardabweichung nach oben', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Standard Abweichungen', ), 'BBD' => array ( 'description' => 'Standard deviation breakdown', 'direction' => '-', 'quality_filter' => 'Standard deviations', 'quality_format_php' => '%s std dev', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n std dev', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'BBU', 'de^description' => 'Ausbruch der Standardabweichung nach unten', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Standard Abweichungen', ), 'CDHR' => array ( 'description' => 'Crossed daily highs resistance', 'direction' => '+', 'quality_filter' => 'Days, i.e. 52 week high = 365', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'CDLS', 'de^description' => 'Kurs steigt über Vortageshoch-Widerstand', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Tage, z.B. 52 Wochen Hoch = 365', ), 'CDLS' => array ( 'description' => 'Crossed daily lows support', 'direction' => '-', 'quality_filter' => 'Days, i.e. 52 week low = 365', 'quality_format_php' => '%s days', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n days', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => 'CDHR', 'de^description' => 'Kurs fällt unter Vortagestief- Unterstützung', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^quality_filter' => 'Tage, z.B. 52 Wochen Tief = 365', ), 'LBS' => array ( 'description' => 'Large bid size', 'direction' => '+', 'de^description' => 'Großes Volumen auf Bid-Seite', 'it^description' => 'Alto volume in bid', 'fr^description' => 'Grand volume en prix d\'offre', 'ru^description' => 'Предложение большой величины', 'es^description' => 'Gran demanda (bid)', 'quality_filter' => 'Shares, minimum bid size', 'quality_format_php' => '%s shares', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n shares', 'keywords' => '.bid.and.ask.', 'flip' => 'LAS', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Aktien, zu minimalem Geld-Kurs', ), 'LAS' => array ( 'description' => 'Large ask size', 'direction' => '-', 'de^description' => 'Großes Volumen auf Ask-Seite', 'it^description' => 'Alto volume in ask', 'fr^description' => 'Grand volume en prix demandé', 'ru^description' => 'Запрос большой величины', 'es^description' => 'Gran oferta (ask)', 'quality_filter' => 'Shares, minimum ask size', 'quality_format_php' => '%s shares', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n shares', 'keywords' => '.bid.and.ask.', 'flip' => 'LBS', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Aktien, zu minimalem Brief-Kurs', ), 'MC' => array ( 'description' => 'Market crossed', 'de^description' => 'Gekreuzter Markt', 'it^description' => 'Mercato crossed', 'fr^description' => 'Prix d\'offre et demande croisé', 'es^description' => 'Mercado cruzado (crossed)', 'ru^description' => 'Арбитражный рынок', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.bid.and.ask.', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Dollars', ), 'MCU' => array ( 'description' => 'Market crossed up', 'direction' => '+', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.bid.and.ask. .listed.', 'flip' => 'MCD', 'de^description' => 'Markt kreuzt nach oben', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Dollars', ), 'MCD' => array ( 'description' => 'Market crossed down', 'direction' => '-', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.bid.and.ask. .listed.', 'flip' => 'MCU', 'de^description' => 'Markt kreuzt nach unten', 'de^keywords' => '.geld.und.brief.', 'de^quality_filter' => 'Dollars', ), 'ML' => array ( 'description' => 'Market locked', 'de^description' => 'Gesperrter Markt', 'it^description' => 'Mercato locked', 'fr^description' => 'Egalité entre prix d\'offre et demandé', 'es^description' => 'Mercado trabado (locked)', 'ru^description' => 'Замкнутый рынок', 'keywords' => '.bid.and.ask.', 'de^keywords' => '.geld.und.brief.', ), 'LSP' => array ( 'description' => 'Large spread', 'keywords' => '.bid.and.ask.', 'de^description' => 'Großer Spread', 'de^keywords' => '.geld.und.brief.', ), 'TRA' => array ( 'description' => 'Trading above', 'direction' => '+', 'quality_filter' => 'Recent count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.bid.and.ask. .single.print.', 'flip' => 'TRB', 'de^description' => 'Handelt darüber', 'de^keywords' => '.geld.und.brief. .ticks.', 'de^quality_filter' => 'Kürzliche Anzahl', ), 'TRB' => array ( 'description' => 'Trading below', 'direction' => '-', 'quality_filter' => 'Recent count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.bid.and.ask. .single.print.', 'flip' => 'TRA', 'de^description' => 'Handelt darunter', 'de^keywords' => '.geld.und.brief. .ticks.', 'de^quality_filter' => 'Kürzliche Anzahl', ), 'TRAS' => array ( 'description' => 'Trading above specialist', 'direction' => '+', 'quality_filter' => 'Recent count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.bid.and.ask. .single.print. .listed.', 'flip' => 'TRBS', 'de^description' => 'Handelt über dem Spezialisten', 'de^keywords' => '.geld.und.brief. .ticks. ', 'de^quality_filter' => 'Kürzliche Anzahl', ), 'TRBS' => array ( 'description' => 'Trading below specialist', 'direction' => '-', 'quality_filter' => 'Recent count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.bid.and.ask. .single.print. .listed.', 'flip' => 'TRAS', 'de^description' => 'Handelt unter dem Spezialisten', 'de^keywords' => '.geld.und.brief. .ticks.', 'de^quality_filter' => 'Kürzliche Anzahl', ), 'SD' => array ( 'description' => 'Offer stepping down', 'de^description' => 'Offerkurs (Briefkurs) Abstieg', 'direction' => '-', 'keywords' => '.bid.and.ask. obsolete ask', ), 'NYSEBI' => array ( 'description' => 'NYSE buy imbalance', 'de^description' => 'NYSE Kaufs-Ungleichgewicht', 'direction' => '+', 'quality_filter' => '% of daily volume', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.listed.', 'flip' => 'NYSESI', ), 'NYSESI' => array ( 'description' => 'NYSE sell imbalance', 'de^description' => 'NYSE Verkaufs-Ungleichgewicht', 'direction' => '-', 'quality_filter' => '% of daily volume', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.listed.', 'flip' => 'NYSEBI', ), 'CAO' => array ( 'description' => 'Crossed above open', 'direction' => '+', 'de^description' => 'Kurs steigt über Eröffnungskurs', 'it^description' => 'Superata al rialzo l\'apertura', 'fr^description' => 'Traversé au-dessus prix d\'ouverture', 'ru^description' => 'Пересечение выше цены открытия', 'es^description' => '(+) Cruce sobre precio de apertura', 'quality_filter' => 'Seconds, minimum since last crossing', 'quality_format_php' => '%s seconds', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n seconds', 'keywords' => '.single.print.', 'flip' => 'CBO', 'de^keywords' => '.ticks.', 'de^quality_filter' => 'Sekunden, mindestens seit der letzten Kreuzung', ), 'CBO' => array ( 'description' => 'Crossed below open', 'direction' => '-', 'de^description' => 'Kurs fällt unter Eröffnungskurs', 'it^description' => 'Superata al ribasso l\'apertura', 'fr^description' => 'Traversé au-dessous prix de clôture', 'ru^description' => 'Пересечение ниже цены открытия', 'es^description' => '(-) Cruce por debajo precio de apertura', 'quality_filter' => 'Seconds, minimum since last crossing', 'quality_format_php' => '%s seconds', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n seconds', 'keywords' => '.single.print.', 'flip' => 'CAO', 'de^keywords' => '.ticks.', 'de^quality_filter' => 'Sekunden, mindestens seit der letzten Kreuzung', ), 'CAC' => array ( 'description' => 'Crossed above close', 'direction' => '+', 'de^description' => 'Kurs steigt über Schlußkurs', 'it^description' => 'Superata al rialzo la chiusura', 'fr^description' => 'Traversé au-dessus prix de clôture', 'ru^description' => 'Пересечение выше цены закрытия', 'es^description' => '(+) Cruce sobre precio de cierre', 'quality_filter' => 'Seconds, minimum since last crossing', 'quality_format_php' => '%s seconds', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n seconds', 'keywords' => '.single.print.', 'flip' => 'CBC', 'de^keywords' => '.ticks.', 'de^quality_filter' => 'Sekunden, mindestens seit der letzten Kreuzung', ), 'CBC' => array ( 'description' => 'Crossed below close', 'direction' => '-', 'de^description' => 'Kurs fällt unter Schlußkurs', 'it^description' => 'Superata al ribasso la chiusura', 'fr^description' => 'Traversé au-dessous prix de clôture', 'ru^description' => 'Пересечение ниже цены закрытия', 'es^description' => '(-) Cruce por debajo precio de cierre', 'quality_filter' => 'Seconds, minimum since last crossing', 'quality_format_php' => '%s seconds', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n seconds', 'keywords' => '.single.print.', 'flip' => 'CAC', 'de^keywords' => '.ticks.', 'de^quality_filter' => 'Sekunden, mindestens seit der letzten Kreuzung', ), 'CAOC' => array ( 'de^description' => 'Kurs steigt über Eröffnungskurs (bestätigt)', 'it^description' => 'Superata al rialzo l\'apertura (confermato)', 'fr^description' => 'Traversé au-dessus prix d\'ouverture. Confirmé', 'ru^description' => 'Пересечение выше цены открытия (подтверждён)', 'es^description' => '(+) Cruce sobre precio de apertura (confirmado)', 'description' => 'Crossed above open (confirmed)', 'direction' => '+', 'keywords' => '.volume.confirmed.', 'flip' => 'CBOC', 'de^keywords' => '.bestägtes.volumen.', ), 'CBOC' => array ( 'de^description' => 'Kurs fällt unter Eröffnungskurs (bestätigt)', 'it^description' => 'Superata al ribasso l\'apertura (confermato)', 'fr^description' => 'Traversé au-dessous prix d\'ouverture. Confirmé', 'ru^description' => 'Пересечение ниже цены открытия (подтверждён)', 'es^description' => '(-) Cruce por debajo precio de apertura (confirmado)', 'description' => 'Crossed below open (confirmed)', 'direction' => '-', 'keywords' => '.volume.confirmed.', 'flip' => 'CAOC', 'de^keywords' => '.bestägtes.volumen.', ), 'CACC' => array ( 'de^description' => 'Kurs steigt über Schlußkurs (bestätigt)', 'it^description' => 'Superata al rialzo la chiusura (confermato)', 'fr^description' => 'Traversé au-dessus prix de clôture. Confirmé', 'ru^description' => 'Пересечение выше цены закрытия (подтверждён)', 'es^description' => '(+) Cruce sobre precio de cierre (confirmado)', 'description' => 'Crossed above close (confirmed)', 'direction' => '+', 'keywords' => '.volume.confirmed.', 'flip' => 'CBCC', 'de^keywords' => '.bestägtes.volumen.', ), 'CBCC' => array ( 'de^description' => 'Kurs fällt unter Schlußkurs (bestätigt)', 'it^description' => 'Superata al ribasso la chiusura (confermato)', 'fr^description' => 'Traversé au-dessous prix de clôture. Confirmé', 'ru^description' => 'Пересечение ниже цены закрытия (подтверждён)', 'es^description' => '(-) Cruce por debajo precio de cierre (confirmado)', 'description' => 'Crossed below close (confirmed)', 'direction' => '-', 'keywords' => '.volume.confirmed.', 'flip' => 'CACC', 'de^keywords' => '.bestägtes.volumen.', ), 'SBOO' => array ( 'description' => 'Sector breakout (from open)', 'direction' => '+', 'quality_filter' => 'Minimum % up', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'keywords' => 'correlation', 'flip' => 'SBDO', 'de^description' => 'Sektor Ausbruch nach oben (vom Eröffnungskurs)', 'de^keywords' => 'correlation', 'de^quality_filter' => 'Minimale % Bewegung nach oben', ), 'SBDO' => array ( 'description' => 'Sector breakdown (from open)', 'direction' => '-', 'quality_filter' => 'Minimum % down', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'keywords' => 'correlation', 'flip' => 'SBOO', 'de^description' => 'Sektor Ausbruch nach unten (vom Eröffnungskurs)', 'de^keywords' => 'correlation', 'de^quality_filter' => 'Minimale % Bewegung nach unten', ), 'SBOC' => array ( 'description' => 'Sector breakout (from close)', 'direction' => '+', 'quality_filter' => 'Minimum % up', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'keywords' => 'correlation', 'flip' => 'SBDC', 'de^description' => 'Sektor Ausbruch nach oben (vom Schlußkurs)', 'de^keywords' => 'correlation', 'de^quality_filter' => 'Minimale % Bewegung nach oben', ), 'SBDC' => array ( 'description' => 'Sector breakdown (from close)', 'direction' => '-', 'quality_filter' => 'Minimum % down', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'keywords' => 'correlation', 'flip' => 'SBOC', 'de^description' => 'Sektor Ausbruch nach unten (vom Schlußkurs)', 'de^keywords' => 'correlation', 'de^quality_filter' => 'Minimale % Bewegung nach unten', ), 'FDP' => array ( 'description' => 'Positive market divergence', 'direction' => '+', 'quality_filter' => 'Minimum % up', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'keywords' => 'correlation QQQQ', 'flip' => 'FDN', 'de^description' => 'Positive Markt Divergenz', 'de^keywords' => 'correlation QQQQ', 'de^quality_filter' => 'Minimale % Bewegung nach oben', ), 'FDN' => array ( 'description' => 'Negative market divergence', 'direction' => '-', 'quality_filter' => 'Minimum % down', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'keywords' => 'correlation QQQQ', 'flip' => 'FDP', 'de^description' => 'Negative Markt Divergenz', 'de^keywords' => 'correlation QQQQ', 'de^quality_filter' => 'Minimale % Bewegung nach unten', ), 'C' => array ( 'description' => 'Consolidation', 'de^description' => 'Konsolidierung', 'it^description' => 'Consolidamento', 'fr^description' => 'Consolidation horizontale', 'ru^description' => 'Увеличение номинальной стоимости акций', 'es^description' => 'Consolidación', 'quality_filter' => '2.0 - 10.0, 10 is the highest quality', 'keywords' => '.price.vs.time. .volume.confirmed.', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'de^keywords' => '.kurs.gegen.zeit. .bestägtes.volumen.', 'de^quality_filter' => '2.0 - 10.0, 10 ist die beste Qualität', ), 'HRV' => array ( 'description' => 'High relative volume', 'de^description' => 'Hohes relatives Volumen', 'it^description' => 'Volumi relativamente alti', 'fr^description' => 'Forts volumes instantanés', 'ru^description' => 'Относительно высокий обьём', 'es^description' => 'Alto volumen relativo', 'quality_filter' => 'Ratio', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n', 'keywords' => '.volume.confirmed.', 'de^keywords' => '.bestägtes.volumen.', 'de^quality_filter' => 'Verhältnis', ), 'VS1' => array ( 'description' => '1 minute volume spike', 'quality_filter' => 'Ratio', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n', 'keywords' => '.fixed.time.frame.', 'de^description' => '1-minütiger Volumen-Spike', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^quality_filter' => 'Verhältnis', ), 'SV' => array ( 'description' => 'Strong volume', 'es^description' => 'Fuerte volumen', 'quality_filter' => 'Ratio', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'de^description' => 'Starkes Volumen', 'de^quality_filter' => 'Verhältnis', ), 'UNOP' => array ( 'description' => 'Unusual number of prints', 'quality_filter' => 'Ratio', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => 'volume', 'de^description' => 'Ungewöhnliche Anzahl an Ticks', 'de^keywords' => 'volume', 'de^quality_filter' => 'Verhältnis', ), //'VFVS' => //array ( // 'description' => 'NASDAQ VF velocity spike', // 'quality_filter' => 'Ratio', // 'quality_format_php' => '%s', // 'quality_format_php_decimals' => 2, // 'quality_format' => '%.2n', // 'keywords' => 'velocity forces' //), 'STAS' => array ( 'description' => 'StockTwits activity spike', 'quality_filter' => 'Ratio', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n', 'keywords' => 'social media twitter tweets' ), 'HALT' => array ( 'description' => 'Halt', 'keywords' => '' ), 'RESUME' => array ( 'description' => 'Resume', 'keywords' => '' ), 'RUN' => array ( 'description' => 'Running up now', 'direction' => '+', 'quality_filter' => '$', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.price.vs.time. .single.print.', 'flip' => 'RDN', 'de^description' => 'Läuft jetzt nach oben', 'de^keywords' => '.kurs.gegen.zeit. .ticks.', 'de^quality_filter' => 'Dollars', ), 'RDN' => array ( 'description' => 'Running down now', 'direction' => '-', 'quality_filter' => '$', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.price.vs.time. .single.print.', 'flip' => 'RUN', 'de^description' => 'Läuft jetzt nach unten', 'de^keywords' => '.kurs.gegen.zeit. .ticks.', 'de^quality_filter' => 'Dollars', ), 'RU' => array ( 'description' => 'Running up', 'direction' => '+', 'de^description' => 'Schneller Kursanstieg', 'it^description' => 'Salendo', 'fr^description' => 'Forte montée (potentiellement sur acheté)', 'ru^description' => 'Быстрое движение вверх', 'es^description' => 'Subiendo rápido', 'quality_filter' => '1.0=most, 10.0=fewest', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'keywords' => '.price.vs.time. .nbbo.confirmed.', 'flip' => 'RD', 'de^keywords' => '.kurs.gegen.zeit.', 'de^quality_filter' => '1.0 zeigt die meisten Signale, 10.0 zeigt nur die sich am schnellsten bewegenden Aktien', ), 'RD' => array ( 'description' => 'Running down', 'direction' => '-', 'de^description' => 'Schneller Kursverfall', 'it^description' => 'Scendendo', 'fr^description' => 'Forte descente (potentiellement sur vendu)', 'ru^description' => 'Быстрое движение вниз', 'es^description' => 'Bajando rápido', 'quality_filter' => '1.0=most, 10.0=fewest', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'keywords' => '.price.vs.time. .nbbo.confirmed.', 'flip' => 'RU', 'de^keywords' => '.kurs.gegen.zeit.', 'de^quality_filter' => '1.0 zeigt die meisten Signale, 10.0 zeigt nur die sich am schnellsten bewegenden Aktien', ), 'RUI' => array ( 'description' => 'Running up (intermediate)', 'direction' => '+', 'quality_filter' => 'Ratio', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'keywords' => '.price.vs.time.', 'flip' => 'RDI', 'de^description' => 'Schneller Kursanstieg (zwischenzeitlich)', 'de^keywords' => '.kurs.gegen.zeit.', 'de^quality_filter' => 'Verhältnis', ), 'RDI' => array ( 'description' => 'Running down (intermediate)', 'direction' => '-', 'quality_filter' => 'Ratio', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'keywords' => '.price.vs.time.', 'flip' => 'RUI', 'de^description' => 'Schneller Kursverfall (zwischenzeitlich)', 'de^keywords' => '.kurs.gegen.zeit.', 'de^quality_filter' => 'Verhältnis', ), 'RUC' => array ( 'description' => 'Running up (confirmed)', 'direction' => '+', 'de^description' => 'Läuft nach oben (bestätigt)', 'it^description' => 'Salendo (confermato)', 'fr^description' => 'Montée. Confirmé', 'ru^description' => 'Быстрое движение вверх (подтверждённое)', 'es^description' => 'Subiendo rápido (confirmado)', 'quality_filter' => '1.0=most, 10.0=fewest', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'keywords' => '.price.vs.time. .volume.confirmed.', 'flip' => 'RDC', 'de^keywords' => '.kurs.gegen.zeit. .bestägtes.volumen.', 'de^quality_filter' => '1.0 zeigt die meisten Signale, 10.0 zeigt nur die sich am schnellsten bewegenden Aktien', ), 'RDC' => array ( 'description' => 'Running down (confirmed)', 'direction' => '-', 'de^description' => 'Läuft nach unten (bestätigt)', 'it^description' => 'Scendendo (confermato)', 'fr^description' => 'Descente. Confirmé', 'ru^description' => 'Быстрое движение вниз (подтверждённое)', 'es^description' => 'Bajando rápido (confirmado)', 'quality_filter' => '1.0=most, 10.0=fewest', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'keywords' => '.price.vs.time. .volume.confirmed.', 'flip' => 'RUC', 'de^keywords' => '.kurs.gegen.zeit. .bestägtes.volumen.', 'de^quality_filter' => '1.0 zeigt die meisten Signale, 10.0 zeigt nur die sich am schnellsten bewegenden Aktien', ), 'CA200' => array ( 'description' => 'Crossed above 200 day moving average', 'direction' => '+', 'de^description' => 'Kurs steigt über 200 Tage gleitenden Durchschnitt ', 'it^description' => 'Superata al rialzo la media a 200 giorni', 'fr^description' => 'Traversé au-dessus MMS 200 jours', 'ru^description' => 'Пересечение выше 200-дневного скользящего среднего значения', 'es^description' => 'Cruce sobre promedio móvil de 200 días', 'keywords' => '.moving.average. .volume.confirmed.', 'flip' => 'CB200', 'de^keywords' => '.gleitende.durchschnitte. .bestägtes.volumen.', ), 'CB200' => array ( 'description' => 'Crossed below 200 day moving average', 'direction' => '-', 'de^description' => 'Kurs fällt unter 200 Tage gleitenden Durchschnitt', 'it^description' => 'Superata al ribasso la media a 200 giorni', 'fr^description' => 'Traversé au-dessous MMS 200 jours', 'ru^description' => 'Пересечение ниже 200-дневного скользящего среднего значения', 'es^description' => 'Cruce debajo promedio móvil de 200 días', 'keywords' => '.moving.average. .volume.confirmed.', 'flip' => 'CA200', 'de^keywords' => '.gleitende.durchschnitte. .bestägtes.volumen.', ), 'CA50' => array ( 'description' => 'Crossed above 50 day moving average', 'direction' => '+', 'de^description' => 'Kurs steigt über 50 Tage gleitenden Durchschnitt ', 'it^description' => 'Superata al rialzo la media a 50 giorni', 'fr^description' => 'Traversé au-dessus MMS 50 jours', 'ru^description' => 'Пересечение выше 50-дневного скользящего среднего значения', 'es^description' => 'Cruce sobre promedio móvil de 50 días', 'keywords' => '.moving.average. .volume.confirmed.', 'flip' => 'CB50', 'de^keywords' => '.gleitende.durchschnitte. .bestägtes.volumen.', ), 'CB50' => array ( 'description' => 'Crossed below 50 day moving average', 'direction' => '-', 'de^description' => 'Kurs fällt unter 50 Tage gleitenden Durchschnitt ', 'it^description' => 'Superata al ribasso la media a 50 giorni', 'fr^description' => 'Traversé au-dessous MMS 50 jours', 'ru^description' => 'Пересечение ниже 50-дневного скользящего среднего значения', 'es^description' => 'Cruce por debajo promedio móvil de 50 días', 'keywords' => '.moving.average. .volume.confirmed.', 'flip' => 'CA50', 'de^keywords' => '.gleitende.durchschnitte. .bestägtes.volumen.', ), 'CA20' => array ( 'description' => 'Crossed above 20 day moving average', 'direction' => '+', 'de^description' => 'Kurs steigt über 20 Tage gleitenden Durchschnitt ', 'it^description' => 'Superata al rialzo la media a 20 giorni', 'fr^description' => 'Traversé au-dessus MMS 20 jours', 'ru^description' => 'Пересечение выше 20-дневного скользящего среднего значения', 'es^description' => 'Cruce sobre promedio móvil de 20 días', 'keywords' => '.moving.average. .volume.confirmed. month', 'flip' => 'CB20', 'de^keywords' => '.gleitende.durchschnitte. .bestägtes.volumen.', ), 'CB20' => array ( 'description' => 'Crossed below 20 day moving average', 'direction' => '-', 'de^description' => 'Kurs fällt unter 20 Tage gleitenden Durchschnitt ', 'it^description' => 'Superata al ribasso la media a 20 giorni', 'fr^description' => 'Traversé au-dessous MMS 20 jours', 'ru^description' => 'Пересечение ниже 20-дневного скользящего среднего значения', 'es^description' => 'Cruce por debajo promedio móvil de 20 días', 'keywords' => '.moving.average. .volume.confirmed. month', 'flip' => 'CA20', 'de^keywords' => '.gleitende.durchschnitte. .bestägtes.volumen.', ), 'CAVC' => array ( 'description' => 'Crossed above VWAP', 'direction' => '+', 'de^description' => 'Kurs steigt über VWAP', 'it^description' => 'Superata al rialzo la VWAP', 'fr^description' => 'Traversé au-dessus VWAP (prix moyen pondéré par les volumes, PMPV)', 'ru^description' => 'Пересечение выше Обьёма Средне Взвешенной Цены (ОСВЦ)', 'es^description' => 'Cruce por arriba de VWAP', 'keywords' => '.volume.confirmed.', 'flip' => 'CBVC', 'de^keywords' => '.bestägtes.volumen.', ), 'CBVC' => array ( 'description' => 'Crossed below VWAP', 'direction' => '-', 'de^description' => 'Kurs fällt unter VWAP', 'it^description' => 'Superata al ribasso la VWAP', 'fr^description' => 'Traversé au-dessous VWAP (prix moyen pondéré par les volumes, PMPV)', 'ru^description' => 'Пересечение ниже Обьёма Средне Взвешенной Цены (ОСВЦ)', 'es^description' => 'Cruce por debajo de VWAP', 'keywords' => '.volume.confirmed.', 'flip' => 'CAVC', 'de^keywords' => '.bestägtes.volumen.', ), 'VDU' => array ( 'description' => 'Positive VWAP Divergence', 'direction' => '+', 'quality_filter' => 'Minimum % up', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'flip' => 'VDD', 'de^description' => 'Positive VWAP Divergenz', 'de^quality_filter' => 'Minimale % Bewegung nach oben', ), 'VDD' => array ( 'description' => 'Negative VWAP Divergence', 'direction' => '-', 'quality_filter' => 'Minimum % down', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n%%', 'flip' => 'VDU', 'de^description' => 'Negative VWAP Divergenz', 'de^quality_filter' => 'Minimale % Bewegung nach unten', ), 'GDR' => array ( 'description' => 'Gap down reversal', 'direction' => '+', 'de^description' => 'Gap down Umkehr', 'it^description' => 'Inversione con gap down', 'fr^description' => '‘Gap down’ inversion', 'ru^description' => 'Обращение нижнего разрыва', 'es^description' => 'Reversión de Gap down', 'quality_filter' => 'Total retracement in dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.single.print.', 'flip' => 'GUR', 'de^keywords' => '.ticks.', 'de^quality_filter' => 'Totales Retracement in Dollars', ), 'GUR' => array ( 'description' => 'Gap up reversal', 'direction' => '-', 'de^description' => 'Gap up Umkehr', 'it^description' => 'Inversione con gap up', 'fr^description' => '‘Gap up’ inversion', 'ru^description' => 'Обращение верхнего разрыва', 'es^description' => 'Reversión de Gap up', 'quality_filter' => 'Total retracement in dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.single.print.', 'flip' => 'GDR', 'de^keywords' => '.ticks.', 'de^quality_filter' => 'Totales Retracement in Dollars', ), 'FGUR' => array ( 'description' => 'False gap up retracement', 'direction' => '+', 'de^description' => 'Angetäuschtes Gap up Retracement', 'it^description' => 'Falso ritracciamento con gap up', 'fr^description' => '‘Gap up’ faux retracement', 'ru^description' => 'ожное восстановление разрыва вверх', 'es^description' => 'Falso retroceso de gap up', 'quality_filter' => 'Percentage of gap filled, 0 - 100', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.single.print.', 'flip' => 'FGDR', 'de^keywords' => '.ticks.', 'de^quality_filter' => 'Prozent des gefüllten Gaps, 0-100', ), 'FGDR' => array ( 'description' => 'False gap down retracement', 'direction' => '-', 'de^description' => 'Angetäuschtes Gap down Retracement', 'it^description' => 'Falso ritracciamento con gap down', 'fr^description' => '‘Gap down’ faux retracement', 'ru^description' => 'ожное восстановление разрыва вниз', 'es^description' => 'Falso retroceso de gap down', 'quality_filter' => 'Percentage of gap filled, 0 - 100', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.single.print.', 'flip' => 'FGUR', 'de^keywords' => '.ticks.', 'de^quality_filter' => 'Prozent des gefüllten Gaps, 0-100', ), 'CHBOC' => array ( 'description' => 'Channel breakout (confirmed)', 'direction' => '+', 'de^description' => 'Trendkanal Ausbruch nach oben (bestätigt)', 'it^description' => 'Rottura del canale rialzista (confermato)', 'fr^description' => 'Sortie par en haut du canal. Confirmé', 'ru^description' => 'Прорыв канала (подтверждённый)', 'es^description' => 'Rompimiento de canal arriba (confirmado)', 'quality_filter' => 'Same as running up confirmed.', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'keywords' => '.volume.confirmed.', 'flip' => 'CHBDC', 'de^keywords' => '.bestägtes.volumen.', 'de^quality_filter' => 'Gleich wie bestätigter schneller Kursanstieg', ), 'CHBDC' => array ( 'description' => 'Channel breakdown (confirmed)', 'direction' => '-', 'de^description' => 'Trendkanal Ausbruch nach unten (bestätigt)', 'it^description' => 'Rientro nel canale ribassista (confermato)', 'fr^description' => 'Sortie par en bas du canal. Confirmé', 'ru^description' => 'Нарушение канала (подтверждённый)', 'es^description' => 'Rompimiento de canal abajo (confirmado)', 'quality_filter' => 'Same as running down confirmed.', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'keywords' => '.volume.confirmed.', 'flip' => 'CHBOC', 'de^keywords' => '.bestägtes.volumen.', 'de^quality_filter' => 'Gleich wie bestätigter schneller Kursverfall', ), 'CHBO' => array ( 'description' => 'Channel breakout', 'direction' => '+', 'de^description' => 'Trendkanal Ausbruch nach oben', 'it^description' => 'Rottura di canale rialzista', 'fr^description' => 'Sortie par en haut du canal', 'ru^description' => 'Появление канала', 'es^description' => 'Rompimiento de canal arriba', 'quality_filter' => '2.0 - 10.0, based on the channel', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'flip' => 'CHBD', 'de^quality_filter' => '2.0 - 10.0, basierend auf dem Kanal', ), 'CHBD' => array ( 'description' => 'Channel breakdown', 'direction' => '-', 'de^description' => 'Trendkanal Ausbruch nach unten', 'it^description' => 'Rottura di canale ribassista', 'fr^description' => 'Sortie par en bas du canal', 'ru^description' => 'Нарушение канала', 'es^description' => 'Rompimiento de canal abajo', 'quality_filter' => '2.0 - 10.0, based on the channel', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 4, 'quality_format' => '%.4f', 'flip' => 'CHBO', 'de^quality_filter' => '2.0 - 10.0, basierend auf dem Kanal', ), 'CBO5' => array ( 'description' => '5 minute consolidation breakout', 'direction' => '+', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'CBD5', 'de^description' => '5 Minuten Konsolidierungs-Ausbruch nach oben', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', 'de^quality_filter' => 'Dollars', ), 'CBD5' => array ( 'description' => '5 minute consolidation breakdown', 'direction' => '-', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'CBO5', 'de^description' => '5 Minuten Konsolidierungs-Ausbruch nach unten', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', 'de^quality_filter' => 'Dollars', ), 'CBO10' => array ( 'description' => '10 minute consolidation breakout', 'direction' => '+', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'CBD10', 'de^description' => '10 Minuten Konsolidierungs-Ausbruch nach oben', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', 'de^quality_filter' => 'Dollars', ), 'CBD10' => array ( 'description' => '10 minute consolidation breakdown', 'direction' => '-', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'CBO10', 'de^description' => '10 Minuten Konsolidierungs-Ausbruch nach unten', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', 'de^quality_filter' => 'Dollars', ), 'CBO15' => array ( 'description' => '15 minute consolidation breakout', 'direction' => '+', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'CBD15', 'de^description' => '15 Minuten Konsolidierungs-Ausbruch nach oben', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', 'de^quality_filter' => 'Dollars', ), 'CBD15' => array ( 'description' => '15 minute consolidation breakdown', 'direction' => '-', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'CBO15', 'de^description' => '15 Minuten Konsolidierungs-Ausbruch nach unten', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', 'de^quality_filter' => 'Dollars', ), 'CBO30' => array ( 'description' => '30 minute consolidation breakout', 'direction' => '+', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'CBD30', 'de^description' => '30 Minuten Konsolidierungs-Ausbruch nach oben', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', 'de^quality_filter' => 'Dollars', ), 'CBD30' => array ( 'description' => '30 minute consolidation breakdown', 'direction' => '-', 'quality_filter' => 'Dollars', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'CBO30', 'de^description' => '30 Minuten Konsolidierungs-Ausbruch nach unten', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', 'de^quality_filter' => 'Dollars', ), 'CARC' => array ( 'description' => 'Crossed above resistance (confirmed)', 'direction' => '+', 'de^description' => 'Kurs steigt über Widerstand (bestätigt)', 'it^description' => 'Saliti al di sopra della resistenza (confermato)', 'fr^description' => 'Traversé au-dessus de résistance. Confirmé', 'ru^description' => 'Пересечение выше сопротивления (подтверждён)', 'es^description' => 'Cruce arriba de resistencia (confirmado)', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.support.and.resistance. .volume.confirmed.', 'flip' => 'CBSC', 'de^keywords' => '.unterstützung.und.widerstand. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'CBSC' => array ( 'description' => 'Crossed below support (confirmed)', 'direction' => '-', 'de^description' => 'Kurs fällt unter Unterstützung (bestätigt)', 'it^description' => 'Scesi al di sotto del supporto (confermato)', 'fr^description' => 'Traversé au-dessous de support. Confirmé', 'ru^description' => 'Пересечение ниже поддержки (подтверждён)', 'es^description' => 'Cruce debajo de soporte (confirmado)', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.support.and.resistance. .volume.confirmed.', 'flip' => 'CARC', 'de^keywords' => '.unterstützung.und.widerstand. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'CAR' => array ( 'description' => 'Crossed above resistance', 'direction' => '+', 'de^description' => 'Kurs steigt über Widerstand', 'it^description' => 'Saliti al di sopra della resistenza', 'fr^description' => 'Traversé au-dessus de résistance', 'ru^description' => 'Пересечение выше сопротивления', 'es^description' => 'Cruce arriba de resistencia', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.nbbo.confirmed. .support.and.resistance.', 'flip' => 'CBS', 'de^keywords' => '.unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'CBS' => array ( 'description' => 'Crossed below support', 'direction' => '-', 'de^description' => 'Kurs fällt unter Unterstützung', 'it^description' => 'Scesi al di sotto del supporto', 'fr^description' => 'Traversé au-dessous de support', 'ru^description' => 'Пересечение ниже поддержки', 'es^description' => 'Cruce debajo de soporte', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.nbbo.confirmed. .support.and.resistance.', 'flip' => 'CAR', 'de^keywords' => '.unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'BP' => array ( 'description' => 'Block trade', 'de^description' => 'Block Order', 'it^description' => 'Eseguito un blocco', 'fr^description' => 'Transaction d\'un bloc d\'actions', 'ru^description' => 'Продажа блока', 'es^description' => 'Bloques de más de 10,000 acciones', 'quality_filter' => 'Minimum number of shares', 'quality_format_php' => '%s shares', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n shares', 'keywords' => '.single.print.', 'de^keywords' => '.ticks.', 'de^quality_filter' => 'Mindestanzahl an Aktien', ), 'GBBOT' => array ( 'description' => 'Broadening bottom', 'direction' => '+', 'de^description' => 'Broadening Bottom', 'it^description' => 'Minimo allargato', 'fr^description' => 'Triangle ouvert, le fond d\'élargissement', 'ru^description' => 'Расширенное падения', 'es^description' => 'Consolidando abajo', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GBTOP', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'GBTOP' => array ( 'description' => 'Broadening top', 'direction' => '-', 'de^description' => 'Broadening Top', 'it^description' => 'Massimo allargato', 'fr^description' => 'Triangle ouvert, au-dessus d\'élargissement', 'ru^description' => 'Расширенный подъём', 'es^description' => 'Consolidando arriba', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GBBOT', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'GTBOT' => array ( 'description' => 'Triangle bottom', 'direction' => '+', 'de^description' => 'Wimpel mit Bodenbildung', 'it^description' => 'Triangolo sui minimo', 'fr^description' => 'Fanion haussier', 'ru^description' => 'Треугольное падения', 'es^description' => 'Piso del triangulo', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GTTOP', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'GTTOP' => array ( 'description' => 'Triangle top', 'direction' => '-', 'de^description' => 'Wimpel mit Spitzenbildung', 'it^description' => 'Triangolo sui massimo', 'fr^description' => 'Fanion baissier', 'ru^description' => 'Треугольный подъём', 'es^description' => 'Techo del triangulo', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GTBOT', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'GRBOT' => array ( 'description' => 'Rectangle bottom', 'direction' => '+', 'de^description' => 'Rechteck Bodenbildung', 'it^description' => 'Rettangolo sui minimo', 'fr^description' => 'Rectangle creux', 'ru^description' => 'Прямоугольное падения', 'es^description' => 'Piso del rectangulo', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GRTOP', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'GRTOP' => array ( 'description' => 'Rectangle top', 'direction' => '-', 'de^description' => 'Rechteck Spitzenbildung', 'it^description' => 'Rettangolo sui massimo', 'fr^description' => 'Rectangle sommet', 'ru^description' => 'Прямоугольный подьём', 'es^description' => 'Techo del rectangulo', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GRBOT', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'GDBOT' => array ( 'description' => 'Double bottom', 'direction' => '+', 'de^description' => 'Doppeltief', 'it^description' => 'Doppio minimo', 'fr^description' => 'Double creux', 'ru^description' => 'Двойное падение', 'es^description' => 'Doble piso', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GDTOP', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'GDTOP' => array ( 'description' => 'Double top', 'direction' => '-', 'de^description' => 'Doppelhoch', 'it^description' => 'Doppio massimo', 'fr^description' => 'Double sommet', 'es^description' => 'Doble techo', 'ru^description' => 'Двойной подьём', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GDBOT', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'GHASI' => array ( 'description' => 'Inverted head and shoulders', 'direction' => '+', 'de^description' => 'Umgekehrte Kopf-Schulter-Formation', 'it^description' => 'Testa e spalle invertito', 'fr^description' => 'Tête et épaules inversée', 'ru^description' => 'Обращённые голова и плечи', 'es^description' => 'Cabeza y hombros invertido', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GHAS', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'GHAS' => array ( 'description' => 'Head and shoulders', 'direction' => '-', 'de^description' => 'Kopf-Schulter-Formation', 'it^description' => 'Testa e spalle', 'fr^description' => 'Tête et épaules', 'ru^description' => 'Голова и плечи', 'es^description' => 'Cabeza y hombros', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.geometric.pattern. .volume.confirmed.', 'flip' => 'GHASI', 'de^keywords' => '.geometrische.formationen. .bestägtes.volumen.', 'de^quality_filter' => 'Handelsstunden', ), 'IDH5' => array ( 'description' => '5 minute high', 'direction' => '+', 'de^description' => '5-Minuten-Hoch', 'it^description' => 'Massimo a 5 minuti', 'fr^description' => 'Haut de 5 minutes', 'es^description' => '5 minutos en alza', 'ru^description' => '5 минутный подьём', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDL5', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'IDL5' => array ( 'description' => '5 minute low', 'direction' => '-', 'de^description' => '5-Minuten-Tief', 'it^description' => 'Minimo a 5 minuti', 'fr^description' => 'Bas de 5 minutes', 'es^description' => '5 minutos en baja', 'ru^description' => '5 минутное падение', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDH5', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'IDH10' => array ( 'description' => '10 minute high', 'direction' => '+', 'de^description' => '10-Minuten-Hoch', 'it^description' => 'Massimo a 10 minuti', 'fr^description' => 'Haut de 10 minutes', 'es^description' => '10 minutos en alza', 'ru^description' => '10 минутный подьём', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDL10', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'IDL10' => array ( 'description' => '10 minute low', 'direction' => '-', 'de^description' => '10-Minuten-Tief', 'it^description' => 'Minimo a 10 minuti', 'fr^description' => 'Bas de 10 minutes', 'es^description' => '10 minutos en baja', 'ru^description' => '10 минутное падение', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDH10', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'IDH15' => array ( 'description' => '15 minute high', 'direction' => '+', 'de^description' => '15-Minuten-Hoch', 'it^description' => 'Massimo a 15 minuti', 'fr^description' => 'Haut de 15 minutes', 'es^description' => '15 minutos en alza', 'ru^description' => '15 минутный подьём', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDL15', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'IDL15' => array ( 'description' => '15 minute low', 'direction' => '-', 'de^description' => '15 minute low', 'it^description' => 'Minimo a 15 minuti', 'fr^description' => 'Bas de 15 minutes', 'es^description' => '15 minutos en baja', 'ru^description' => '15 минутное падение', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDH15', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'IDH30' => array ( 'description' => '30 minute high', 'direction' => '+', 'de^description' => '30-Minuten-Hoch', 'it^description' => 'Massimo a 30 minuti', 'fr^description' => 'Haut de 30 minutes', 'es^description' => '30 minutos en alza', 'ru^description' => '30 минутный подьём', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDL30', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'IDL30' => array ( 'description' => '30 minute low', 'direction' => '-', 'de^description' => '30-Minuten-Tief', 'it^description' => 'Minimo a 30 minuti', 'fr^description' => 'Bas de 30 minutes', 'es^description' => '30 minutos en baja', 'ru^description' => '30 минутное падение', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDH30', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'IDH60' => array ( 'description' => '60 minute high', 'direction' => '+', 'de^description' => '60-Minuten-Hoch', 'it^description' => 'Massimo a 60 minuti', 'fr^description' => 'Haut de 60 minutes', 'es^description' => '60 minutos en alza', 'ru^description' => '60 минутный подьём', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDL60', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'IDL60' => array ( 'description' => '60 minute low', 'direction' => '-', 'de^description' => '60-Minuten-Tief', 'it^description' => 'Minimo a 60 minuti', 'fr^description' => 'Bas de 60 minutes', 'es^description' => '60 minutos en baja', 'ru^description' => '60 минутное падение', 'keywords' => '.fixed.time.frame.', 'flip' => 'IDH60', 'de^keywords' => '.fixiertes.zeitfenster.', ), 'TSPU' => array ( 'description' => 'Trailing stop, % up', 'direction' => '+', 'quality_filter' => '%', 'flip' => 'TSPD', 'de^description' => 'Trailing Stop, % nach oben', 'de^quality_filter' => 'in Prozent', ), 'TSPD' => array ( 'description' => 'Trailing stop, % down', 'direction' => '-', 'quality_filter' => '%', 'flip' => 'TSPU', 'de^description' => 'Trailing Stop, % nach unten', 'de^quality_filter' => 'in Prozent', ), 'TSSU' => array ( 'description' => 'Trailing stop, volatility up', 'direction' => '+', 'quality_filter' => 'Bars', 'flip' => 'TSSD', 'de^description' => 'Trailing Stop, Volatilität nach oben', 'de^quality_filter' => 'Balken', ), 'TSSD' => array ( 'description' => 'Trailing stop, volatility down', 'direction' => '-', 'quality_filter' => 'Bars', 'flip' => 'TSSU', 'de^description' => 'Trailing Stop, Volatilität nach unten', 'de^quality_filter' => 'Balken', ), 'ORU1' => array ( 'description' => '1 minute opening range breakout', 'direction' => '+', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORD1', 'de^description' => '1-minütiger Ausbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORD1' => array ( 'description' => '1 minute opening range breakdown', 'direction' => '-', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORU1', 'de^description' => '1-minütiger Durchbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORU2' => array ( 'description' => '2 minute opening range breakout', 'direction' => '+', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORD2', 'de^description' => '2-minütiger Ausbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORD2' => array ( 'description' => '2 minute opening range breakdown', 'direction' => '-', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORU2', 'de^description' => '2-minütiger Durchbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORU5' => array ( 'description' => '5 minute opening range breakout', 'direction' => '+', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORD5', 'de^description' => '5-minütiger Ausbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORD5' => array ( 'description' => '5 minute opening range breakdown', 'direction' => '-', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORU5', 'de^description' => '5-minütiger Durchbruch aus der Eröffnungs-Range ', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORU10' => array ( 'description' => '10 minute opening range breakout', 'direction' => '+', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORD10', 'de^description' => '10-minütiger Ausbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORD10' => array ( 'description' => '10 minute opening range breakdown', 'direction' => '-', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORU10', 'de^description' => '10-minütiger Durchbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORU15' => array ( 'description' => '15 minute opening range breakout', 'direction' => '+', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORD15', 'de^description' => '15-minütiger Ausbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORD15' => array ( 'description' => '15 minute opening range breakdown', 'direction' => '-', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORU15', 'de^description' => '15-minütiger Durchbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORU30' => array ( 'description' => '30 minute opening range breakout', 'direction' => '+', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORD30', 'de^description' => '30-minütiger Ausbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORD30' => array ( 'description' => '30 minute opening range breakdown', 'direction' => '-', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORU30', 'de^description' => '30-minütiger Durchbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORU60' => array ( 'description' => '60 minute opening range breakout', 'direction' => '+', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORD60', 'de^description' => '60-minütiger Ausbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'ORD60' => array ( 'description' => '60 minute opening range breakdown', 'direction' => '-', 'keywords' => '.fixed.time.frame. .single.print.', 'flip' => 'ORU60', 'de^description' => '60-minütiger Durchbruch aus der Eröffnungs-Range', 'de^keywords' => '.fixiertes.zeitfenster. .ticks.', ), 'FU38' => array ( 'description' => 'Fibonacci 38% buy signal', 'direction' => '+', 'es^description' => 'Fibonacci 38% señal de compra', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.fibonacci. .single.print. .support.and.resistance.', 'flip' => 'FD38', 'de^description' => 'Fibonacci 38% Kaufsignal', 'de^keywords' => '.fibonacci. .ticks. .unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'FD38' => array ( 'description' => 'Fibonacci 38% sell signal', 'direction' => '-', 'es^description' => 'Fibonacci 38% señal de venta', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.fibonacci. .single.print. .support.and.resistance.', 'flip' => 'FU38', 'de^description' => 'Fibonacci 38% Verkaufssignal', 'de^keywords' => '.fibonacci. .ticks. .unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'FU50' => array ( 'description' => 'Fibonacci 50% buy signal', 'direction' => '+', 'es^description' => 'Fibonacci 50% señal de compra', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.fibonacci. .single.print. .support.and.resistance.', 'flip' => 'FD50', 'de^description' => 'Fibonacci 50% Kaufsignal', 'de^keywords' => '.fibonacci. .ticks. .unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'FD50' => array ( 'description' => 'Fibonacci 50% sell signal', 'direction' => '-', 'es^description' => 'Fibonacci 50% señal de venta', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.fibonacci. .single.print. .support.and.resistance.', 'flip' => 'FU50', 'de^description' => 'Fibonacci 50% Verkaufssignal', 'de^keywords' => '.fibonacci. .ticks. .unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'FU62' => array ( 'description' => 'Fibonacci 62% buy signal', 'direction' => '+', 'es^description' => 'Fibonacci 62% señal de compra', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.fibonacci. .single.print. .support.and.resistance.', 'flip' => 'FD62', 'de^description' => 'Fibonacci 62% Kaufsignal', 'de^keywords' => '.fibonacci. .ticks. .unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'FD62' => array ( 'description' => 'Fibonacci 62% sell signal', 'direction' => '-', 'es^description' => 'Fibonacci 62% señal de venta', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.fibonacci. .single.print. .support.and.resistance.', 'flip' => 'FU62', 'de^description' => 'Fibonacci 62% Verkaufssignal', 'de^keywords' => '.fibonacci. .ticks. .unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'FU79' => array ( 'description' => 'Fibonacci 79% buy signal', 'direction' => '+', 'es^description' => 'Fibonacci 79% señal de compra', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.fibonacci. .single.print. .support.and.resistance.', 'flip' => 'FD79', 'de^description' => 'Fibonacci 79% Kaufsignal', 'de^keywords' => '.fibonacci. .ticks. .unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'FD79' => array ( 'description' => 'Fibonacci 79% sell signal', 'direction' => '-', 'es^description' => 'Fibonacci 79% señal de venta', 'quality_filter' => 'Hours of trading', 'quality_format_php' => '%s trading hours', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2f trading hours', 'keywords' => '.fibonacci. .single.print. .support.and.resistance.', 'flip' => 'FU79', 'de^description' => 'Fibonacci 79% Verkaufssignal', 'de^keywords' => '.fibonacci. .ticks. .unterstützung.und.widerstand.', 'de^quality_filter' => 'Handelsstunden', ), 'PEU5' => array ( 'description' => '5 minute linear regression up trend', 'direction' => '+', 'quality_filter' => 'Gain forecast, $', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame.', 'flip' => 'PED5', 'de^description' => '5-minütiger linearer Regressionstrend nach oben', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^quality_filter' => 'Gewinnaussicht in $', ), 'PED5' => array ( 'description' => '5 minute linear regression down trend', 'direction' => '-', 'quality_filter' => 'Gain forecast, $', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame.', 'flip' => 'PEU5', 'de^description' => '5-minütiger linearer Regressionstrend nach unten', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^quality_filter' => 'Gewinnaussicht in $', ), 'PEU15' => array ( 'description' => '15 minute linear regression up trend', 'direction' => '+', 'quality_filter' => 'Gain forecast, $', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame.', 'flip' => 'PED15', 'de^description' => '15-minütiger linearer Regressionstrend nach oben', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^quality_filter' => 'Gewinnaussicht in $', ), 'PED15' => array ( 'description' => '15 minute linear regression down trend', 'direction' => '-', 'quality_filter' => 'Gain forecast, $', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame.', 'flip' => 'PEU15', 'de^description' => '15-minütiger linearer Regressionstrend nach unten', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^quality_filter' => 'Gewinnaussicht in $', ), 'PEU30' => array ( 'description' => '30 minute linear regression up trend', 'direction' => '+', 'quality_filter' => 'Gain forecast, $', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame.', 'flip' => 'PED30', 'de^description' => '30-minütiger linearer Regressionstrend nach oben', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^quality_filter' => 'Gewinnaussicht in $', ), 'PED30' => array ( 'description' => '30 minute linear regression down trend', 'direction' => '-', 'quality_filter' => 'Gain forecast, $', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame.', 'flip' => 'PEU30', 'de^description' => '30-minütiger linearer Regressionstrend nach unten', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^quality_filter' => 'Gewinnaussicht in $', ), 'PEU90' => array ( 'description' => '90 minute linear regression up trend', 'direction' => '+', 'quality_filter' => 'Gain forecast, $', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame.', 'flip' => 'PED90', 'de^description' => '90-minütiger linearer Regressionstrend nach oben', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^quality_filter' => 'Gewinnaussicht in $', ), 'PED90' => array ( 'description' => '90 minute linear regression down trend', 'direction' => '-', 'quality_filter' => 'Gain forecast, $', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => '.fixed.time.frame.', 'flip' => 'PEU90', 'de^description' => '90-minütiger linearer Regressionstrend nach unten', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^quality_filter' => 'Gewinnaussicht in $', ), 'SMAU2' => array ( 'description' => 'Upward thrust (2 minute)', 'direction' => '+', 'quality_filter' => 'Suddenness, %', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'SMAD2', 'de^description' => 'Schub nach oben (2 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Plötzlichkeit in Prozent', ), 'SMAD2' => array ( 'description' => 'Downward thrust (2 minute)', 'direction' => '-', 'quality_filter' => 'Suddenness, %', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'SMAU2', 'de^description' => 'Schub nach unten (2 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Plötzlichkeit in Prozent', ), 'SMAU5' => array ( 'description' => 'Upward thrust (5 minute)', 'direction' => '+', 'quality_filter' => 'Suddenness, %', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'SMAD5', 'de^description' => 'Schub nach oben (5 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Plötzlichkeit in Prozent', ), 'SMAD5' => array ( 'description' => 'Downward thrust (5 minute)', 'direction' => '-', 'quality_filter' => 'Suddenness, %', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'SMAU5', 'de^description' => 'Schub nach unten (5 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Plötzlichkeit in Prozent', ), 'SMAU15' => array ( 'description' => 'Upward thrust (15 minute)', 'direction' => '+', 'quality_filter' => 'Suddenness, %', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'SMAD15', 'de^description' => 'Schub nach oben (15 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Plötzlichkeit in Prozent', ), 'SMAD15' => array ( 'description' => 'Downward thrust (15 minute)', 'direction' => '-', 'quality_filter' => 'Suddenness, %', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'SMAU15', 'de^description' => 'Schub nach unten (15 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Plötzlichkeit in Prozent', ), 'X5A8_1' => array ( 'description' => '5 period SMA crossed above 8 period SMA (1 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5B8_1', 'de^description' => '5 Perioden SMA kreuzt über 8 Perioden SMA (1 Minute)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5B8_1' => array ( 'description' => '5 period SMA crossed below 8 period SMA (1 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5A8_1', 'de^description' => '5 Perioden SMA kreuzt unter 8 Perioden SMA (1 Minute)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5A8_2' => array ( 'description' => '5 period SMA crossed above 8 period SMA (2 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5B8_2', 'de^description' => '5 Perioden SMA kreuzt über 8 Perioden SMA (2 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5B8_2' => array ( 'description' => '5 period SMA crossed below 8 period SMA (2 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5A8_2', 'de^description' => '5 Perioden SMA kreuzt unter 8 Perioden SMA (2 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5A8_4' => array ( 'description' => '5 period SMA crossed above 8 period SMA (4 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5B8_4', 'de^description' => '5 Perioden SMA kreuzt über 8 Perioden SMA (4 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5B8_4' => array ( 'description' => '5 period SMA crossed below 8 period SMA (4 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5A8_4', 'de^description' => '5 Perioden SMA kreuzt unter 8 Perioden SMA (4 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5A8_5' => array ( 'description' => '5 period SMA crossed above 8 period SMA (5 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5B8_5', 'de^description' => '5 Perioden SMA kreuzt über 8 Perioden SMA (5 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5B8_5' => array ( 'description' => '5 period SMA crossed below 8 period SMA (5 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5A8_5', 'de^description' => '5 Perioden SMA kreuzt unter 8 Perioden SMA (5 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5A8_10' => array ( 'description' => '5 period SMA crossed above 8 period SMA (10 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5B8_10', 'de^description' => '5 Perioden SMA kreuzt über 8 Perioden SMA (10 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5B8_10' => array ( 'description' => '5 period SMA crossed below 8 period SMA (10 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5A8_10', 'de^description' => '5 Perioden SMA kreuzt unter 8 Perioden SMA (10 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5A8_20' => array ( 'description' => '5 period SMA crossed above 8 period SMA (20 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5B8_20', 'de^description' => '5 Perioden SMA kreuzt über 8 Perioden SMA (20 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5B8_20' => array ( 'description' => '5 period SMA crossed below 8 period SMA (20 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5A8_20', 'de^description' => '5 Perioden SMA kreuzt unter 8 Perioden SMA (20 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5A8_30' => array ( 'description' => '5 period SMA crossed above 8 period SMA (30 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5B8_30', 'de^description' => '5 Perioden SMA kreuzt über 8 Perioden SMA (30 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'X5B8_30' => array ( 'description' => '5 period SMA crossed below 8 period SMA (30 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'X5A8_30', 'de^description' => '5 Perioden SMA kreuzt unter 8 Perioden SMA (30 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'ECAY2' => array ( 'description' => '8 period SMA crossed above 20 period SMA (2 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'ECBY2', 'de^description' => '8 Perioden SMA kreuzt über 20 Perioden SMA (2 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'ECBY2' => array ( 'description' => '8 period SMA crossed below 20 period SMA (2 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'ECAY2', 'de^description' => '8 Perioden SMA kreuzt unter 20 Perioden SMA (2 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'ECAY5' => array ( 'description' => '8 period SMA crossed above 20 period SMA (5 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'ECBY5', 'de^description' => '8 Perioden SMA kreuzt über 20 Perioden SMA (5 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'ECBY5' => array ( 'description' => '8 period SMA crossed below 20 period SMA (5 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'ECAY5', 'de^description' => '8 Perioden SMA kreuzt unter 20 Perioden SMA (5 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'ECAY15' => array ( 'description' => '8 period SMA crossed above 20 period SMA (15 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'ECBY15', 'de^description' => '8 Perioden SMA kreuzt über 20 Perioden SMA (15 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'ECBY15' => array ( 'description' => '8 period SMA crossed below 20 period SMA (15 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'ECAY15', 'de^description' => '8 Perioden SMA kreuzt unter 20 Perioden SMA (15 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'YCAD2' => array ( 'description' => '20 period SMA crossed above 200 period SMA (2 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'YCBD2', 'de^description' => '20 Perioden SMA kreuzt über 200 Perioden SMA (2 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'YCBD2' => array ( 'description' => '20 period SMA crossed below 200 period SMA (2 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'YCAD2', 'de^description' => '20 Perioden SMA kreuzt unter 200 Perioden SMA (2 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'YCAD5' => array ( 'description' => '20 period SMA crossed above 200 period SMA (5 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'YCBD5', 'de^description' => '20 Perioden SMA kreuzt über 200 Perioden SMA (5 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'YCBD5' => array ( 'description' => '20 period SMA crossed below 200 period SMA (5 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'YCAD5', 'de^description' => '20 Perioden SMA kreuzt unter 200 Perioden SMA (5 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'YCAD15' => array ( 'description' => '20 period SMA crossed above 200 period SMA (15 minute)', 'direction' => '+', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'YCBD15', 'de^description' => '20 Perioden SMA kreuzt über 200 Perioden SMA (15 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'YCBD15' => array ( 'description' => '20 period SMA crossed below 200 period SMA (15 minute)', 'direction' => '-', 'keywords' => '.end.of.candle. .moving.average. .fixed.time.frame.', 'flip' => 'YCAD15', 'de^description' => '20 Perioden SMA kreuzt unter 200 Perioden SMA (15 Minuten)', 'de^keywords' => '.kerzenschluß. .gleitende.durchschnitte. .fixiertes.zeitfenster.', ), 'MDAS5' => array ( 'description' => '5 minute MACD crossed above signal', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBS5', 'de^description' => '5 Minuten MACD kreuzt über Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBS5' => array ( 'description' => '5 minute MACD crossed below signal', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAS5', 'de^description' => '5 Minuten MACD kreuzt unter Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDAZ5' => array ( 'description' => '5 minute MACD crossed above zero', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBZ5', 'de^description' => '5 Minuten MACD kreuzt über Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBZ5' => array ( 'description' => '5 minute MACD crossed below zero', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAZ5', 'de^description' => '5 Minuten MACD kreuzt unter Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDAS10' => array ( 'description' => '10 minute MACD crossed above signal', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBS10', 'de^description' => '10 Minuten MACD kreuzt über Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBS10' => array ( 'description' => '10 minute MACD crossed below signal', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAS10', 'de^description' => '10 Minuten MACD kreuzt unter Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDAZ10' => array ( 'description' => '10 minute MACD crossed above zero', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBZ10', 'de^description' => '10 Minuten MACD kreuzt über Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBZ10' => array ( 'description' => '10 minute MACD crossed below zero', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAZ10', 'de^description' => '10 Minuten MACD kreuzt unter Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDAS15' => array ( 'description' => '15 minute MACD crossed above signal', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBS15', 'de^description' => '15 Minuten MACD kreuzt über Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBS15' => array ( 'description' => '15 minute MACD crossed below signal', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAS15', 'de^description' => '15 Minuten MACD kreuzt unter Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDAZ15' => array ( 'description' => '15 minute MACD crossed above zero', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBZ15', 'de^description' => '15 Minuten MACD kreuzt über Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBZ15' => array ( 'description' => '15 minute MACD crossed below zero', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAZ15', 'de^description' => '15 Minuten MACD kreuzt unter Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDAS30' => array ( 'description' => '30 minute MACD crossed above signal', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBS30', 'de^description' => '30 Minuten MACD kreuzt über Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBS30' => array ( 'description' => '30 minute MACD crossed below signal', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAS30', 'de^description' => '30 Minuten MACD kreuzt unter Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDAZ30' => array ( 'description' => '30 minute MACD crossed above zero', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBZ30', 'de^description' => '30 Minuten MACD kreuzt über Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBZ30' => array ( 'description' => '30 minute MACD crossed below zero', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAZ30', 'de^description' => '30 Minuten MACD kreuzt unter Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDAS60' => array ( 'description' => '60 minute MACD crossed above signal', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBS60', 'de^description' => '60 Minuten MACD kreuzt über Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBS60' => array ( 'description' => '60 minute MACD crossed below signal', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAS60', 'de^description' => '60 Minuten MACD kreuzt unter Signallinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDAZ60' => array ( 'description' => '60 minute MACD crossed above zero', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDBZ60', 'de^description' => '60 Minuten MACD kreuzt über Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'MDBZ60' => array ( 'description' => '60 minute MACD crossed below zero', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'MDAZ60', 'de^description' => '60 Minuten MACD kreuzt unter Nulllinie', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'SC20_5' => array ( 'description' => '5 minute stochastic crossed above 20', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'SC80_5', 'de^description' => '5 Minuten Stochastic kreuzt über 20', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'SC80_5' => array ( 'description' => '5 minute stochastic crossed below 80', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'SC20_5', 'de^description' => '5 Minuten Stochastic kreuzt unter 80', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'SC20_15' => array ( 'description' => '15 minute stochastic crossed above 20', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'SC80_15', 'de^description' => '15 Minuten Stochastic kreuzt über 20', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'SC80_15' => array ( 'description' => '15 minute stochastic crossed below 80', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'SC20_15', 'de^description' => '15 Minuten Stochastic kreuzt unter 80', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'SC20_60' => array ( 'description' => '60 minute stochastic crossed above 20', 'direction' => '+', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'SC80_60', 'de^description' => '60 Minuten Stochastic kreuzt über 20', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'SC80_60' => array ( 'description' => '60 minute stochastic crossed below 80', 'direction' => '-', 'keywords' => '.single.print. .fixed.time.frame. technicals indicators', 'flip' => 'SC20_60', 'de^description' => '60 Minuten Stochastic kreuzt unter 80', 'de^keywords' => '.ticks. .fixiertes.zeitfenster.', ), 'DOJ5' => array ( 'description' => '5 minute Doji', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => '5 Minuten Doji', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', ), 'DOJ10' => array ( 'description' => '10 minute Doji', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => '10 Minuten Doji', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', ), 'DOJ15' => array ( 'description' => '15 minute Doji', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => '15 Minuten Doji', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', ), 'DOJ30' => array ( 'description' => '30 minute Doji', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => '30 Minuten Doji', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', ), 'DOJ60' => array ( 'description' => '60 minute Doji', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => '60 Minuten Doji', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', ), 'HMR2' => array ( 'description' => '2 minute hammer', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HGM2', 'de^description' => '2 Minuten Hammer', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HMR5' => array ( 'description' => '5 minute hammer', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HGM5', 'de^description' => '5 Minuten Hammer', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HMR10' => array ( 'description' => '10 minute hammer', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HGM10', 'de^description' => '10 Minuten Hammer', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HMR15' => array ( 'description' => '15 minute hammer', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HGM15', 'de^description' => '15 Minuten Hammer', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HMR30' => array ( 'description' => '30 minute hammer', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HGM30', 'de^description' => '30 Minuten Hammer', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HMR60' => array ( 'description' => '60 minute hammer', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HGM60', 'de^description' => '60 Minuten Hammer', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HGM2' => array ( 'description' => '2 minute hanging man', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HMR2', 'de^description' => '2 Minuten Hanging Man', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HGM5' => array ( 'description' => '5 minute hanging man', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HMR5', 'de^description' => '5 Minuten Hanging Man', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HGM10' => array ( 'description' => '10 minute hanging man', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HMR10', 'de^description' => '10 Minuten Hanging Man', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HGM15' => array ( 'description' => '15 minute hanging man', 'direction' => '-', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'flip' => 'HMR15', 'de^description' => '15 Minuten Hanging Man', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HGM30' => array ( 'description' => '30 minute hanging man', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HMR30', 'de^description' => '30 Minuten Hanging Man', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'HGM60' => array ( 'description' => '60 minute hanging man', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'HMR60', 'de^description' => '60 Minuten Hanging Man', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NGU5' => array ( 'description' => '5 minute bullish engulfing', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NGD5', 'de^description' => '5 Minuten Bullish Engulfing', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NGU10' => array ( 'description' => '10 minute bullish engulfing', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NGD10', 'de^description' => '10 Minuten Bullish Engulfing', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NGU15' => array ( 'description' => '15 minute bullish engulfing', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NGD15', 'de^description' => '15 Minuten Bullish Engulfing', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NGU30' => array ( 'description' => '30 minute bullish engulfing', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NGD30', 'de^description' => '30 Minuten Bullish Engulfing', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NGD5' => array ( 'description' => '5 minute bearish engulfing', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NGU5', 'de^description' => '5 Minuten Bearish Engulfing', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NGD10' => array ( 'description' => '10 minute bearish engulfing', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NGU10', 'de^description' => '10 Minuten Bearish Engulfing', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NGD15' => array ( 'description' => '15 minute bearish engulfing', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NGU15', 'de^description' => '15 Minuten Bearish Engulfing', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NGD30' => array ( 'description' => '30 minute bearish engulfing', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NGU30', 'de^description' => '30 Minuten Bearish Engulfing', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'PP5' => array ( 'description' => '5 minute piercing pattern', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'DCC5', 'de^description' => '5 Minuten Piercing Pattern ', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'PP10' => array ( 'description' => '10 minute piercing pattern', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'DCC10', 'de^description' => '10 Minuten Piercing Pattern ', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'PP15' => array ( 'description' => '15 minute piercing pattern', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'DCC15', 'de^description' => '15 Minuten Piercing Pattern ', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'PP30' => array ( 'description' => '30 minute piercing pattern', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'DCC30', 'de^description' => '30 Minuten Piercing Pattern ', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'DCC5' => array ( 'description' => '5 minute dark cloud cover', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'PP5', 'de^description' => '5 Minuten Dark Cloud Cover', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'DCC10' => array ( 'description' => '10 minute dark cloud cover', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'PP10', 'de^description' => '10 Minuten Dark Cloud Cover', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'DCC15' => array ( 'description' => '15 minute dark cloud cover', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'PP15', 'de^description' => '15 Minuten Dark Cloud Cover', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'DCC30' => array ( 'description' => '30 minute dark cloud cover', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'PP30', 'de^description' => '30 Minuten Dark Cloud Cover', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'BT2' => array ( 'description' => '2 minute bottoming tail', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'TT2', 'de^description' => '2 Minuten Bottoming Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'BT5' => array ( 'description' => '5 minute bottoming tail', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'TT5', 'de^description' => '5 Minuten Bottoming Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'BT10' => array ( 'description' => '10 minute bottoming tail', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'TT10', 'de^description' => '10 Minuten Bottoming Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'BT15' => array ( 'description' => '15 minute bottoming tail', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'TT15', 'de^description' => '15 Minuten Bottoming Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'BT30' => array ( 'description' => '30 minute bottoming tail', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'TT30', 'de^description' => '30 Minuten Bottoming Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'BT60' => array ( 'description' => '60 minute bottoming tail', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'TT60', 'de^description' => '60 Minuten Bottoming Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'TT2' => array ( 'description' => '2 minute topping tail', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'BT2', 'de^description' => '2 Minuten Topping Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'TT5' => array ( 'description' => '5 minute topping tail', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'BT5', 'de^description' => '5 Minuten Topping Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'TT10' => array ( 'description' => '10 minute topping tail', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'BT10', 'de^description' => '10 Minuten Topping Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'TT15' => array ( 'description' => '15 minute topping tail', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'BT15', 'de^description' => '15 Minuten Topping Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'TT30' => array ( 'description' => '30 minute topping tail', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'BT30', 'de^description' => '30 Minuten Topping Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'TT60' => array ( 'description' => '60 minute topping tail', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'BT60', 'de^description' => '60 Minuten Topping Tail', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NRBB5' => array ( 'description' => '5 minute narrow range buy bar', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NRSB5', 'de^description' => '5 Minuten Narrow Range Buy Bar', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NRBB10' => array ( 'description' => '10 minute narrow range buy bar', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NRSB10', 'de^description' => '10 Minuten Narrow Range Buy Bar', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NRBB15' => array ( 'description' => '15 minute narrow range buy bar', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NRSB15', 'de^description' => '15 Minuten Narrow Range Buy Bar', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NRBB30' => array ( 'description' => '30 minute narrow range buy bar', 'direction' => '+', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NRSB30', 'de^description' => '30 Minuten Narrow Range Buy Bar', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NRSB5' => array ( 'description' => '5 minute narrow range sell bar', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NRBB5', 'de^description' => '5 Minuten Narrow Range Buy Bar', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NRSB10' => array ( 'description' => '10 minute narrow range sell bar', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NRBB10', 'de^description' => '10 Minuten Narrow Range Buy Bar', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NRSB15' => array ( 'description' => '15 minute narrow range sell bar', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NRBB15', 'de^description' => '15 Minuten Narrow Range Buy Bar', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'NRSB30' => array ( 'description' => '30 minute narrow range sell bar', 'direction' => '-', 'quality_filter' => '%', 'quality_format_php' => '%s%%', 'quality_format_php_decimals' => 2, 'quality_format' => '%.2n%%', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'NRBB30', 'de^description' => '30 Minuten Narrow Range Buy Bar', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'in Prozent', ), 'GBR2' => array ( 'description' => '2 minute green bar reversal', 'direction' => '+', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'RBR2', 'de^description' => '2 Minuten Green Bar Reversal', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'GBR5' => array ( 'description' => '5 minute green bar reversal', 'direction' => '+', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'RBR5', 'de^description' => '5 Minuten Green Bar Reversal', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'GBR15' => array ( 'description' => '15 minute green bar reversal', 'direction' => '+', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'RBR15', 'de^description' => '15 Minuten Green Bar Reversal', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'GBR60' => array ( 'description' => '60 minute green bar reversal', 'direction' => '+', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'RBR60', 'de^description' => '60 Minuten Green Bar Reversal', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'RBR2' => array ( 'description' => '2 minute red bar reversal', 'direction' => '-', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'GBR2', 'de^description' => '2 Minuten Red Bar Reversal', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'RBR5' => array ( 'description' => '5 minute red bar reversal', 'direction' => '-', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'GBR5', 'de^description' => '5 Minuten Red Bar Reversal', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'RBR15' => array ( 'description' => '15 minute red bar reversal', 'direction' => '-', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'GBR15', 'de^description' => '15 Minuten Red Bar Reversal', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'RBR60' => array ( 'description' => '60 minute red bar reversal', 'direction' => '-', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.candle.pattern. .end.of.candle. .fixed.time.frame.', 'flip' => 'GBR60', 'de^description' => '60 Minuten Red Bar Reversal', 'de^keywords' => '.kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'C1U_2' => array ( 'description' => '2 minute 1-2-3 continuation buy signal', 'direction' => '+', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1D_2', 'de^description' => '2 Minuten 1-2-3 Continuation Kaufsignal', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1U_5' => array ( 'description' => '5 minute 1-2-3 continuation buy signal', 'direction' => '+', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1D_5', 'de^description' => '5 Minuten 1-2-3 Continuation Kaufsignal', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1U_15' => array ( 'description' => '15 minute 1-2-3 continuation buy signal', 'direction' => '+', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1D_15', 'de^description' => '15 Minuten 1-2-3 Continuation Kaufsignal', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1U_60' => array ( 'description' => '60 minute 1-2-3 continuation buy signal', 'direction' => '+', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1D_60', 'de^description' => '60 Minuten 1-2-3 Continuation Kaufsignal', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1D_2' => array ( 'description' => '2 minute 1-2-3 continuation sell signal', 'direction' => '-', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1U_2', 'de^description' => '2 Minuten 1-2-3 Continuation Verkaufssignal', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1D_5' => array ( 'description' => '5 minute 1-2-3 continuation sell signal', 'direction' => '-', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1U_5', 'de^description' => '5 Minuten 1-2-3 continuation Verkaufssignal', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1D_15' => array ( 'description' => '15 minute 1-2-3 continuation sell signal', 'direction' => '-', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1U_15', 'de^description' => '15 Minuten 1-2-3 Continuation Verkaufssignal', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1D_60' => array ( 'description' => '60 minute 1-2-3 continuation sell signal', 'direction' => '-', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1U_60', 'de^description' => '60 Minuten 1-2-3 Continuation Verkaufssignal', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1U_2S' => array ( 'description' => '2 minute 1-2-3 continuation buy setup', 'direction' => '+', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1D_2S', 'de^description' => '2 Minuten 1-2-3 Continuation Kauf-Setup', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1U_5S' => array ( 'description' => '5 minute 1-2-3 continuation buy setup', 'direction' => '+', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1D_5S', 'de^description' => '5 minute 1-2-3 Continuation Kauf-Setup', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1U_15S' => array ( 'description' => '15 minute 1-2-3 continuation buy setup', 'direction' => '+', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1D_15S', 'de^description' => '15 minute 1-2-3 Continuation Kauf-Setup', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1U_60S' => array ( 'description' => '60 minute 1-2-3 continuation buy setup', 'direction' => '+', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1D_60S', 'de^description' => '60 minute 1-2-3 Continuation Kauf-Setup', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1D_2S' => array ( 'description' => '2 minute 1-2-3 continuation sell setup', 'direction' => '-', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1U_2S', 'de^description' => '2 minute 1-2-3 Continuation Verkauf-Setup', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1D_5S' => array ( 'description' => '5 minute 1-2-3 continuation sell setup', 'direction' => '-', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1U_5S', 'de^description' => '5 minute 1-2-3 Continuation Verkauf-Setup', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1D_15S' => array ( 'description' => '15 minute 1-2-3 continuation sell setup', 'direction' => '-', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1U_15S', 'de^description' => '15 minute 1-2-3 Continuation Verkauf-Setup', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'C1D_60S' => array ( 'description' => '60 minute 1-2-3 continuation sell setup', 'direction' => '-', 'keywords' => '123 .candle.pattern. .single.print. .fixed.time.frame.', 'flip' => 'C1U_60S', 'de^description' => '60 minute 1-2-3 Continuation Verkauf-Setup', 'de^keywords' => '123 .kerzenformation. .ticks. .fixiertes.zeitfenster.', ), 'OVO5U' => array ( 'description' => 'Bullish opening power bar', 'de^description' => 'Bullish opening power bar', 'direction' => '+', 'keywords' => '.candle.pattern. .single.print. .fixed.time.frame.', 'de^keywords' => '.kerzenformation. .ticks. .fixiertes.zeitfenster.', 'flip' => 'OVO5D', ), 'OVO5D' => array ( 'description' => 'Bearish opening power bar', 'de^description' => 'Bearish opening power bar', 'direction' => '-', 'keywords' => '.candle.pattern. .single.print. .fixed.time.frame.', 'de^keywords' => '.kerzenformation. .ticks. .fixiertes.zeitfenster.', 'flip' => 'OVO5U', ), 'NR7_1' => array ( 'description' => 'NR7 (1 minute)', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.price.vs.time. .candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => 'NR7 (1 Minuten)', 'de^keywords' => '.kurs.gegen.zeit. .kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'NR7_2' => array ( 'description' => 'NR7 (2 minute)', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.price.vs.time. .candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => 'NR7 (2 Minuten)', 'de^keywords' => '.kurs.gegen.zeit. .kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'NR7_5' => array ( 'description' => 'NR7 (5 minute)', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.price.vs.time. .candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => 'NR7 (5 Minuten)', 'de^keywords' => '.kurs.gegen.zeit. .kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'NR7_10' => array ( 'description' => 'NR7 (10 minute)', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.price.vs.time. .candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => 'NR7 (10 Minuten)', 'de^keywords' => '.kurs.gegen.zeit. .kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'NR7' => array ( 'description' => 'NR7 (15 minute)', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.price.vs.time. .candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => 'NR7 (15 Minuten)', 'de^keywords' => '.kurs.gegen.zeit. .kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'NR7_30' => array ( 'description' => 'NR7 (30 minute)', 'quality_filter' => 'Count', 'quality_format_php' => '%s', 'quality_format_php_decimals' => 0, 'quality_format' => '%.0n', 'keywords' => '.price.vs.time. .candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => 'NR7 (30 Minuten)', 'de^keywords' => '.kurs.gegen.zeit. .kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Anzahl', ), 'WRB2' => array ( 'description' => '2 minute wide range bar', 'quality_filter' => '$', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => 'WRB .price.vs.time. .candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => '2 Minuten Wide Range Bar', 'de^keywords' => 'WRB .kurs.gegen.zeit. .kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Dollars', ), 'WRB5' => array ( 'description' => '5 minute wide range bar', 'quality_filter' => '$', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => 'WRB .price.vs.time. .candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => '5 Minuten Wide Range Bar', 'de^keywords' => 'WRB .kurs.gegen.zeit. .kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Dollars', ), 'WRB15' => array ( 'description' => '15 minute wide range bar', 'quality_filter' => '$', 'quality_format_php' => '$%s', 'quality_format_php_decimals' => 2, 'quality_format' => '$%.2n', 'keywords' => 'WRB .price.vs.time. .candle.pattern. .end.of.candle. .fixed.time.frame.', 'de^description' => '15 Minuten Wide Range Bar', 'de^keywords' => 'WRB .kurs.gegen.zeit. .kerzenformation. .kerzenschluß. .fixiertes.zeitfenster.', 'de^quality_filter' => 'Dollars', ), 'HB' => array ( 'description' => 'Heartbeat', 'quality_filter' => 'Minutes', 'de^description' => 'Herzschlag', 'de^quality_filter' => 'Minuten', ), 'DEMO' => array ( 'description' => 'Tests and Demonstrations', 'de^description' => 'Tests und Vorführungen', 'it^description' => 'Test e dimostrazioni', 'es^description' => 'Tests y Demostraciones', 'ru^description' => 'Тест и Демонстрация', ), ); function createAlertFilters() { // This is depricated. It's better to use $window_filters directly. If you need to use // $alert_fitlers, then call this function first, to create that variable. global $alert_filters, $old_filter_order, $window_filters; $alert_filters = array(); foreach ($old_filter_order as $name) { $direction = substr($name, 0, 3); $base = substr($name, 3); $new = $window_filters[$base]; $new['description'] = $direction . ' ' . $new['description']; if (strlen($new['flip']) == 1) $new['flip'] .= (($direction=="Min")?"Max":"Min") . $base; else if (substr($new['flip'], 0, 1) == '+') $new['flip'] = "+" . $direction . substr($new['flip'], 1); $alert_filters[$name] = $new; } }; // For the most part $window_filters replaces $alert_filters. It has all the same fields // and is in the same order. The problem is that sometimes the GUI will list several min's // in a row followed by several max's. $window_filters is incapable of showing that. So we // preserve the old older here. Note: The various GUIs are all changing to show the min // and max on the same line. If and when the last one finally changes, this will be obsolete. // However, since we can't always force an upgrade of TI Pro or E*TRADE, that might not be // for a long time. // // It seems like this could be automated. Look at the code we use for the help document. // That automatically joins two or more filters if they are adjacent to each other and they // have the same description field. Those are exactly the same cases where we put multiple // mins in a row before showing the corresponding maxes. // // I think I'm finally calling this obsolete. PDS 3/29/2015. // I'm readding the options filters below, but not here. $old_filter_order = array('MinPrice', 'MaxPrice', 'MinSpread', 'MaxSpread', 'MinBS', 'MaxBS', 'MinAS', 'MaxAS', 'MinBAR', 'MaxBAR', 'MinDNbbo', 'MaxDNbbo', 'MinPrints', 'MaxPrints', 'MinVol5D', 'MaxVol5D', 'MinVol', 'MaxVol', 'MinVol3M', 'MaxVol3M', 'MinDV', 'MaxDV', 'MinRV', 'MaxRV', 'MinTV', 'MinPV', 'MaxTV', 'MaxPV', 'MinYPV', 'MaxYPV', 'MinVol1', 'MaxVol1', 'MinVol5', 'MaxVol5', 'MinVol10', 'MaxVol10', 'MinVol15', 'MaxVol15', 'MinVol30', 'MaxVol30', 'MinPMVol', 'MaxPMVol', 'MinSTH', 'MaxSTH', 'MinSTP', 'MaxSTP', 'MinVWV', 'MinVWVP', 'MaxVWV', 'MaxVWVP', 'MinYSD', 'MaxYSD', 'MinWiggle', 'MaxWiggle', 'MinATR', 'MaxATR', 'MinTRangeD', 'MinTRangeP', 'MaxTRangeD', 'MaxTRangeP', 'MinRange2', 'MinRange2P', 'MaxRange2', 'MaxRange2P', 'MinRange5', 'MinRange5P', 'MaxRange5', 'MaxRange5P', 'MinRange15', 'MinRange15P', 'MaxRange15', 'MaxRange15P', 'MinRange30', 'MinRange30P', 'MaxRange30', 'MaxRange30P', 'MinRange60', 'MinRange60P', 'MaxRange60', 'MaxRange60P', 'MinRange120', 'MinRange120P', 'MaxRange120', 'MaxRange120P', 'MinRange5D', 'MinRange5DP', 'MaxRange5D', 'MaxRange5DP', 'MinRange10D', 'MinRange10DP', 'MaxRange10D', 'MaxRange10DP', 'MinRange20D', 'MinRange20DP', 'MaxRange20D', 'MaxRange20DP', 'MinGUD', 'MinGUP', 'MinGUR', 'MaxGUD', 'MaxGUP', 'MaxGUR', 'MinPOORP', 'MaxPOORP', 'MinDec', 'MaxDec', 'MinUp1', 'MinUp2', 'MinUp5', 'MinUp10', 'MinUp15', 'MinUp30', 'MinUp60', 'MaxUp1', 'MaxUp2', 'MaxUp5', 'MaxUp10', 'MaxUp15', 'MaxUp30', 'MaxUp60', 'MinDUp1', 'MinPUp1', 'MaxDUp1', 'MaxPUp1', 'MinDUp2', 'MinPUp2', 'MaxDUp2', 'MaxPUp2', 'MinDUp5', 'MinPUp5', 'MaxDUp5', 'MaxPUp5', 'MinDUp10', 'MinPUp10', 'MaxDUp10', 'MaxPUp10', 'MinDUp15', 'MinPUp15', 'MaxDUp15', 'MaxPUp15', 'MinDUp30', 'MinPUp30', 'MaxDUp30', 'MaxPUp30', 'MinDUp60', 'MinPUp60', 'MaxDUp60', 'MaxPUp60', 'MinDUp120', 'MinPUp120', 'MaxDUp120', 'MaxPUp120', 'MinUp', 'MaxUp', 'MinQqqq5', 'MaxQqqq5', 'MinQqqq10', 'MaxQqqq10', 'MinQqqq15', 'MaxQqqq15', 'MinQqqq30', 'MaxQqqq30', 'MinQqqqD', 'MaxQqqqD', 'MinSpy5', 'MaxSpy5', 'MinSpy10', 'MaxSpy10', 'MinSpy15', 'MaxSpy15', 'MinSpy30', 'MaxSpy30', 'MinSpyD', 'MaxSpyD', 'MinDia5', 'MaxDia5', 'MinDia10', 'MaxDia10', 'MinDia15', 'MaxDia15', 'MinDia30', 'MaxDia30', 'MinDiaD', 'MaxDiaD', 'MinPivotR2', 'MaxPivotR2', 'MinPivotR1', 'MaxPivotR1', 'MinPivot', 'MaxPivot', 'MinPivotS1', 'MaxPivotS1', 'MinPivotS2', 'MaxPivotS2', 'MinVWAP', 'MaxVWAP', 'MinFCD', 'MinFCP', 'MinFCR', 'MaxFCD', 'MaxFCP', 'MaxFCR', 'MinFOD', 'MinFOP', 'MinFOR', 'MinFOW', 'MaxFOD', 'MaxFOP', 'MaxFOR', 'MaxFOW', 'MinFCDP', 'MinFCPP', 'MaxFCDP', 'MaxFCPP', 'MinU5DD', 'MinU5DP', 'MaxU5DD', 'MaxU5DP', 'MinU10DD', 'MinU10DP', 'MaxU10DD', 'MaxU10DP', 'MinU20DD', 'MinU20DP', 'MaxU20DD', 'MaxU20DP', 'MinUYD', 'MinUYP', 'MaxUYD', 'MaxUYP', 'MinUpJan1D', 'MinUpJan1P', 'MaxUpJan1D', 'MaxUpJan1P', 'MinBB', 'MaxBB', 'MinR5M', 'MaxR5M', 'MinR15M', 'MaxR15M', 'MinR30M', 'MaxR30M', 'MinR60M', 'MaxR60M', 'MinBelowHigh', 'MaxBelowHigh', 'MinAboveLow', 'MaxAboveLow', 'MinBelowHighPre', 'MaxBelowHighPre', 'MinAboveLowPre', 'MaxAboveLowPre', 'MinRD', 'MaxRD', 'MinRPD', 'MaxRPD', 'MinRPM', 'MaxRPM','MinR5D', 'MaxR5D', 'MinR10D', 'MaxR10D', 'MinR20D', 'MaxR20D', 'MinRY', 'MaxRY', 'MinR2Y', 'MaxR2Y', 'MinRL', 'MaxRL', 'MinRSI1', 'MaxRSI1', 'MinRSI2', 'MaxRSI2', 'MinRSI5', 'MaxRSI5', 'MinRSI15', 'MaxRSI15', 'MinRSI60', 'MaxRSI60', 'MinDRSI', 'MaxDRSI', 'MinBoll5', 'MaxBoll5', 'MinBoll15', 'MaxBoll15', 'MinBoll60', 'MaxBoll60', 'MinBoll', 'MaxBoll', 'MinRC', 'MaxRC', 'MinLR130', 'MaxLR130', 'MinADX', 'MaxADX', 'MinPDIMDI', 'MaxPDIMDI', 'MinMA200P', 'MinMA200R', 'MaxMA200P', 'MaxMA200R', 'MinMA50P', 'MinMA50R', 'MaxMA50P', 'MaxMA50R', 'MinMA20P', 'MinMA20R', 'MaxMA20P', 'MaxMA20R', 'MinMA8P', 'MinMA8R', 'MaxMA8P', 'MaxMA8R', 'Min2SmaLa5', 'Min5SmaLa5', 'Min15SmaLa5', 'Max2SmaLa5', 'Max5SmaLa5', 'Max15SmaLa5', 'Min2SmaLa8', 'Min5SmaLa8', 'Min15SmaLa8', 'Min60SmaLa8', 'Max2SmaLa8', 'Max5SmaLa8', 'Max15SmaLa8', 'Max60SmaLa8', 'Min2SmaLa20', 'Min5SmaLa20', 'Min15SmaLa20', 'Min60SmaLa20', 'Max2SmaLa20', 'Max5SmaLa20', 'Max15SmaLa20', 'Max60SmaLa20', 'Min2SmaLa200', 'Min5SmaLa200', 'Min15SmaLa130','Min15SmaLa200', 'Min60SmaLa200', 'Max2SmaLa200', 'Max5SmaLa200', 'Max15SmaLa130', 'Max15SmaLa200', 'Max60SmaLa200', 'Min2Sma8a20', 'Min5Sma8a20', 'Min15Sma8a20', 'Min60Sma8a20', 'Max2Sma8a20', 'Max5Sma8a20', 'Max15Sma8a20', 'Max60Sma8a20', 'Min2Sma20a200', 'Min5Sma20a200', 'Min15Sma20a200', 'Min60Sma20a200', 'Max2Sma20a200', 'Max5Sma20a200', 'Max15Sma20a200', 'Max60Sma20a200', 'MinConDays', 'MaxConDays', 'MinRCon', 'MaxRCon', 'MinMCap', 'MaxMCap', 'MinShOut', 'MaxShOut', 'MinDTC', 'MaxDTC', 'MinShortG', 'MaxShortG', 'MinSFloat', 'MaxSFloat', 'MinFloat', 'MaxFloat', 'MinInsider', 'MaxInsider', 'MinInstitution', 'MaxInstitution', 'MinCash', 'MaxCash', 'MinAssets', 'MaxAssets', 'MinDebt', 'MaxDebt', 'MinCashDebt', 'MaxCashDebt', 'MinIncome', 'MaxIncome', 'MinIncomeDebt', 'MaxIncomeDebt', 'MinRevenue', 'MaxRevenue', 'MinQRevG', 'MaxQRevG', 'MinValue', 'MaxValue', 'MinValueMCap', 'MaxValueMCap', 'MinEPS', 'MaxEPS', 'MinEstAEPSG', 'MaxEstAEPSG', 'MinEstQEPSG', 'MaxEstQEPSG', 'MinQEarnG', 'MaxQEarnG', 'MinPERatio', 'MaxPERatio', 'MinPEG', 'MaxPEG', 'MinEarningD', 'MaxEarningD', 'MinDividend', 'MaxDividend', 'MinBeta', 'MaxBeta', 'MinTime', 'MaxTime', 'MinCount', 'MaxCount'); // $window_filters is the preferred way to learn about window specific filters. // // $alert_filters is obsolete. It should not be used in new code. I'm slowly removing it // from older code. // // The key is a name describing the min and max version of the filter. When we make a // configuration string, we add "Min" or "Max" to the front of that name. A user setting will // always apply to the min or max version, not to the pair. Also, icons always apply to // the max or min version. // // 'sql' is a formula for looking up this value in the database. This is appropriate for a // filter or for sorting. Before sending this to the datbase, use strtr() to remove '$$$'. // That should be replace by 'price' when you have access to the alerts table. If not, then // replace it with 'last_price' which is available in alerts_daily. // // Note: Not all sql will work without the alerts table. '$$$' only covers the most common // and easy to fix case. Some filters will not work at all without the alerts table. A few // others will need specific changes. See StockInfo/Screener.php for more details. // // 'description' is the human readable name. In some cases we add 'Max ' or 'Min ' to this // to refer to only one. As much as possible we group both cases togather so we don't have // to do that. // // 'units' is displayed for the user and never used internally. // // 'keywords' is used by the search panel in TI Pro's config window, and by the index feature // of the config web page. // // 'flip' is the flip rule. This contains less information than it did in $alert_filters // because most of the time we don't have a specifiy a source. The source is implied by the // rule. The first character sepcifies the rule: // '-' - The new value of the min filter should be the negative of the old value of the max // filter. The new value of the max filter should be the negative of the old value of // the min filter. // '/' - The same as above, but take the reciprocal rather than the negative. // '%' - The same as above, but the formula is new = (100 - old). // '.' - Similar to '%' but the range is 0 - .9999, not 0 - 100. // '+' - In this case we specify a source filter after the rule. In this case we copy // the source as is. In this case the min of the source becomes the min of the // destination, and the max of the source becomes the max of the destination. // If the rule is blank (or something we don't understand) ignore it. Leave the values // alone when we flip the configuration. // // 'top_list' is true if this field is appropriate for use in the top list. This refers // to the list of items that a normal user sees. For example, DIA up in the last 5 minutes. // // 'alerts_only' means that this field is not present in the top list table at all. So // we coun't request it even if we wanted to. For example, the # field. The DIA field // could be used in a custom formula in the top list, so top_list is false, but alerts_only // is also false. // // 'overnight_sql' is similar to 'sql' but it is aimed at the stock screener. It only uses // fields from alerts_daily, not from alerts. If this is false or missing, that means that // this formula is not available. If this field is "*", that means to use the value from // 'sql' but replace $$$ with last_price, rather than price. Any other string should be // given to the database as is. // // 'format' says how to display this column. If this is a number, then we display the value // with commas seperating the commas, and the format says how many digits to show after the // decimal point. 0 is valid and says no decimal point. If the format is "p" then we have to // look at the price of the stock. If the price is between 0 and 1, then we display the value // with 4 digits, otherwise, 2 digits. There is no default for the 'format'. We typically use // 1 digit for a % column in part to make them different from prices. $window_filters = array ( 'Price' => array ( 'sql' => '$$$', 'description' => 'Price', 'units' => '$', 'keywords' => 'last', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => 'Preis', 'de^units' => 'Dollars', ), 'Spread' => array ( 'sql' => 'round(spread*100, 2)', 'description' => 'Spread', 'units' => 'Pennies', 'keywords' => '.bid.and.ask.', 'format' => 'p', 'de^description' => 'Spread', 'de^keywords' => '.geld.und.brief.', 'de^units' => 'Pennies', ), 'BS' => array ( 'sql' => 'bid_size', 'description' => 'Bid Size', 'units' => 'Shares', 'keywords' => '.bid.and.ask.', 'flip' => '+AS', 'format' => 0, 'de^description' => 'Bid Size', 'de^keywords' => '.geld.und.brief.', 'de^units' => 'Aktien', ), 'AS' => array ( 'sql' => 'ask_size', 'description' => 'Ask Size', 'units' => 'Shares', 'keywords' => '.bid.and.ask. offer', 'flip' => '+BS', 'format' => 0, 'de^description' => 'Ask Size', 'de^keywords' => '.geld.und.brief.', 'de^units' => 'Aktien', ), 'BAR' => array ( 'sql' => 'bid_size/ask_size', 'description' => 'Bid / Ask Ratio', 'units' => 'Ratio', 'keywords' => '.bid.and.ask. offer', 'flip' => '/', 'format' => 3, 'de^description' => 'Bid/Ask Verhältnis', 'de^keywords' => '.geld.und.brief.', 'de^units' => 'Verhältnis', ), 'DNbbo' => array ( 'sql' => 'distance_from_nbbo', 'description' => 'Distance from Inside Market', 'units' => '%', 'keywords' => 'bad print .bid.and.ask. .single.print. offer', 'format' => 1, 'de^description' => 'Abstand vom Markt', 'de^keywords' => 'bad print .geld.und.brief. .ticks.', 'de^units' => 'in Prozent', ), 'Prints' => array ( 'sql' => 'advol/shares_per_print', 'description' => 'Average Number of Prints', 'de^description' => 'Durchschnittliche Anzahl an Ticks', 'units' => 'Prints / Day', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'Vol5D' => array ( 'sql' => 'advol_5d', 'description' => 'Average Daily Volume (5D)', 'units' => 'Shares / Day', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'de^description' => 'Durchschnittliches Tagesvolumen (5T)', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => 'Aktien/Tag', 'always_show' => true, ), 'Vol' => array ( 'sql' => 'advol', 'description' => 'Average Daily Volume (10D)', 'units' => 'Shares / Day', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'de^description' => 'Durchschnittliches Tagesvolumen (10T)', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => 'Aktien/Tag', 'always_show' => true, ), 'Vol3M' => array ( 'sql' => 'advol_3m', 'description' => 'Average Daily Volume (3M)', 'units' => 'Shares / Day', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'de^description' => 'Durchschnittliches Tagesvolumen (3M)', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => 'Aktien/Tag', 'always_show' => true, ), 'DV' => array ( 'sql' => '$$$*advol', 'description' => 'Dollar Volume', 'units' => 'Dollars/Share x Shares/Day', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'de^description' => 'Dollars Volumen', 'de^units' => 'Dollars/Aktien x Aktien/Tag', ), 'RV' => array ( 'sql' => 'relvol', 'description' => 'Relative Volume', 'units' => 'Ratio', 'top_list' => true, 'format' => 2, 'de^description' => 'Aktuelles Volumen', 'de^units' => 'Verhältnis', 'always_show' => true, ), 'TV' => array ( 'sql' => 'tvol', 'description' => 'Volume Today', 'units' => 'Shares', 'top_list' => true, 'format' => 0, 'de^description' => 'Volumen Heute', 'de^units' => 'Aktien', ), 'PV' => array ( 'sql' => 'tvol/advol*100', 'description' => 'Volume Today', 'units' => '%', 'top_list' => true, 'format' => 1, 'graphics' => 'RBCone', 'de^description' => 'Volumen Heute', 'de^units' => 'in Prozent', ), 'YPV' => array ( 'sql' => 'volume_p/advol*100', 'description' => 'Volume Yesterday', 'units' => '%', 'keywords' => '.changes.daily. previous', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'de^description' => 'Volumen Morgen', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => 'in Prozent', 'always_show' => true, ), 'Vol1' => array ( 'sql' => 'v_up_1/advol*39000', 'description' => 'Volume 1 Minute', 'de^description' => 'Volumen 1', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'de^keywords' => '.fixiertes.zeitfenster.', 'format' => 1, ), 'Vol5' => array ( 'sql' => 'v_up_5/advol*7800', 'description' => 'Volume 5 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => 'Volumen 5', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Vol10' => array ( 'sql' => 'v_up_10/advol*3900', 'description' => 'Volume 10 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => 'Volumen 10', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Vol15' => array ( 'sql' => 'v_up_15/advol*2600', 'description' => 'Volume 15 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => 'Volumen 15', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Vol30' => array ( 'sql' => 'v_up_30/advol*1300', 'description' => 'Volume 30 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => 'Volumen 30', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'PMVol' => array ( 'sql' => 'pm_volume', 'description' => 'Post Market Volume', 'units' => 'Shares', 'top_list' => true, 'format' => 0, 'de^units' => 'Aktien', ), //'VFRatio' => //array( // 'sql' => '(vf_buy+0.0001)/(vf_sell+0.0001)', // 'description' => 'NASDAQ VF Buy / Sell Ratio', // 'units' => 'Ratio', // 'keywords' => 'velocity forces', // 'flip' => '/', // 'top_list' => true, // 'format' => 3 //), //'VFGauge' => //array( // 'sql' => 'vf_buy*100.0/(vf_buy+vf_sell)', // 'description' => 'NASDAQ VF Gauge', // 'units' => '%', // 'keywords' => 'velocity forces', // 'flip' => '%', // 'graphics' => '%R', // 'top_list' => true, // 'format' => 1 //), //'VFDiff' => //array( // 'sql' => 'vf_buy-vf_sell', // 'description' => 'NASDAQ VF Buy Pressure', // 'units' => 'Orders', // 'keywords' => 'velocity forces', // 'flip' => '-', // 'top_list' => true, // 'format' => 0 //), //'VFVel' => //array( // 'sql' => '(vf_buy+vf_sell)/vf_expect', // 'description' => 'NASDAQ VF Relative Velocity', // 'units' => 'Ratio', // 'keywords' => 'velocity forces', // 'top_list' => true, // 'format' => 1 //), 'STH' => array( 'sql' => 'social_average', 'description' => 'StockTwits Average Activity', 'units' => 'Mentions / Day', 'keywords' => 'social media twitter tweets', 'top_list' => true, 'format' => 2 ), 'STP' => array( 'sql' => 'social_rv', 'description' => 'StockTwits Relative Activity', 'units' => '%', 'keywords' => 'social media twitter tweets', 'top_list' => true, 'format' => 1 ), 'VWV' => array ( 'sql' => 'volatility', 'description' => 'Volatility', 'units' => '$', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 4, 'de^description' => 'Volatilität', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => '$', 'always_show' => true, ), 'VWVP' => array ( 'sql' => 'volatility/$$$*100', 'description' => 'Volatility', 'units' => '%', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Volatilität', 'de^units' => 'in Prozent', ), 'YSD' => array ( 'sql' => 'bright_volatility*last_price', 'description' => 'Yearly Standard Deviation', 'units' => '$', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', ), 'Wiggle' => array ( 'sql' => 'volatility*relvol', 'description' => 'Wiggle', 'units' => '$', 'top_list' => true, 'format' => 'p', 'always_show' => true, ), 'ATR' => array ( 'sql' => 'average_true_range', 'description' => 'Average True Range', 'units' => '$', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => 'Average True Range', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => '$', 'always_show' => true, ), 'TRangeD' => array ( 'sql' => 't_high-t_low', 'description' => 'Today\'s Range', 'units' => '$', 'top_list' => true, 'format' => 'p', 'de^description' => 'today\'s range', 'de^units' => '$', ), 'TRangeP' => array ( 'sql' => '(t_high-t_low)/average_true_range*100', 'description' => 'Today\'s Range', 'units' => '%', 'top_list' => true, 'format' => 1, 'de^description' => 'today\'s range', 'de^units' => 'in Prozent', ), 'Range2' => array ( 'sql' => 'range_2', 'description' => '2 Minute Range', 'units' => '$', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 'p', 'de^description' => '2 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => '$', ), 'Range2P' => array ( 'sql' => 'range_2/$$$*100', 'description' => '2 Minute Range', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => '2 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Range5' => array ( 'sql' => 'range_5', 'description' => '5 Minute Range', 'units' => '$', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 'p', 'de^description' => '5 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => '$', ), 'Range5P' => array ( 'sql' => 'range_5/$$$*100', 'description' => '5 Minute Range', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => '5 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Range15' => array ( 'sql' => 'range_15', 'description' => '15 Minute Range', 'units' => '$', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 'p', 'de^description' => '15 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => '$', ), 'Range15P' => array ( 'sql' => 'range_15/$$$*100', 'description' => '15 Minute Range', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => '15 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Range30' => array ( 'sql' => 'range_30', 'description' => '30 Minute Range', 'units' => '$', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 'p', 'de^description' => '30 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => '$', ), 'Range30P' => array ( 'sql' => 'range_30/$$$*100', 'description' => '30 Minute Range', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => '30 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Range60' => array ( 'sql' => 'range_60', 'description' => '60 Minute Range', 'units' => '$', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 'p', 'de^description' => '60 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => '$', ), 'Range60P' => array ( 'sql' => 'range_60/$$$*100', 'description' => '60 Minute Range', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => '60 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Range120' => array ( 'sql' => 'range_120', 'description' => '120 Minute Range', 'units' => '$', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 'p', 'de^description' => '120 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => '$', ), 'Range120P' => array ( 'sql' => 'range_120/$$$*100', 'description' => '120 Minute Range', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'format' => 1, 'de^description' => '120 Minuten Bandbreite', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Range5D' => array ( 'sql' => 'high_5d-low_5d', 'description' => '5 Day Range', 'units' => '$', 'keywords' => '.fixed.time.frame. week', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => '5 Tages Bandbreite', 'de^units' => '$', 'always_show' => true, ), 'Range5DP' => array ( 'sql' => '(high_5d-low_5d)/$$$*100', 'description' => '5 Day Range', 'units' => '%', 'keywords' => '.fixed.time.frame. week', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => '5 Tages Bandbreite', 'de^units' => 'in Prozent', ), 'Range10D' => array ( 'sql' => 'high_10d-low_10d', 'description' => '10 Day Range', 'units' => '$', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => '10 Tages Bandbreite', 'de^units' => '$', 'always_show' => true, ), 'Range10DP' => array ( 'sql' => '(high_10d-low_10d)/$$$*100', 'description' => '10 Day Range', 'units' => '%', 'keywords' => '.fixed.time.frame.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => '10 Tages Bandbreite', 'de^units' => 'in Prozent', ), 'Range20D' => array ( 'sql' => 'high_20d-low_20d', 'description' => '20 Day Range', 'units' => '$', 'keywords' => '.fixed.time.frame. month', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => '20 Tages Bandbreite', 'de^units' => '$', 'always_show' => true, ), 'Range20DP' => array ( 'sql' => '(high_20d-low_20d)/$$$*100', 'description' => '20 Day Range', 'units' => '%', 'keywords' => '.fixed.time.frame. month', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => '20 Tages Bandbreite', 'de^units' => 'in Prozent', ), 'PCR' => array ('sql' => 'put_v/call_v', 'description' => 'Put/Call Ratio', 'de^description' => 'Put/Call Verhältnis', 'units' => 'Ratio', 'keywords' => 'options', 'flip' => '/', 'top_list' => true, 'format' => 3, ), 'PCAV' => array ('sql' => 'avg_put_call_volume', 'description' => 'Options Volume', 'de^description' => 'Optionsvolumen', 'units' => 'Contracts', 'keywords' => '.changes.daily.', 'top_list' => true, 'format' => 0, ), 'PCTV' => array ('sql' => 'put_v+call_v', 'description' => 'Options Volume Today', 'de^description' => 'Optionsvolumen heute', 'units' => 'Contracts', 'top_list' => true, 'format' => 0, ), 'PTV' => array ('sql' => 'put_v', 'description' => 'Put Volume Today', 'units' => 'Contracts', 'keywords' => 'Options', 'top_list' => true, 'format' => 0, ), 'CTV' => array ('sql' => 'call_v', 'description' => 'Call Volume Today', 'units' => 'Contracts', 'keywords' => 'Options', 'top_list' => true, 'format' => 0, ), 'PCPV' => array ('sql' => '(put_v+call_v)/avg_put_call_volume*100', 'description' => 'Options Volume Today', 'de^description' => 'Optionsvolumen heute', 'units' => '%', 'top_list' => true, 'format' => 1, ), 'GUD' => array ( 'sql' => 'expected_open-last_price', 'description' => 'Gap', 'units' => '$', 'keywords' => 'gaps', 'flip' => '-', 'top_list' => true, 'overnight_sql' => 'open_p - close_p', 'format' => 'p', 'de^description' => 'Gap nach oben', 'de^units' => '$', ), 'GUP' => array ( 'sql' => '(expected_open-last_price)/last_price*100', 'description' => 'Gap', 'units' => '%', 'keywords' => 'gaps', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '(open_p-close_p)/close_p*100', 'format' => 1, 'de^description' => 'Gap nach oben', 'de^units' => 'in Prozent', ), 'GUR' => array ( 'sql' => '(expected_open-last_price)/(volatility+0.00001)', 'description' => 'Gap', 'units' => 'Bars', 'keywords' => 'gaps', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '(open_p-close_p)/(volatility+0.00001)', 'format' => 1, 'de^description' => 'Gap nach oben', 'de^units' => 'Balken', ), 'POORP' => array ( 'sql' => '(expected_open-low_p)/(high_p-low_p)*100', 'description' => 'Position of Open', 'units' => '%', 'keywords' => 'gap', 'flip' => '%', 'top_list' => true, 'format' => 1, 'de^description' => 'Öffnung zum Vortag', 'de^keywords' => 'gap', 'de^units' => 'in Prozent', ), 'Dec' => array ( 'sql' => 'round(price-floor(price),4)', 'description' => 'Decimal', 'units' => '$', 'keywords' => 'fraction pennies whole number integer', 'flip' => '.', 'format' => 'p', 'de^description' => 'Dezimal', 'de^units' => '$', ), 'Up1' => array ( 'sql' => 'up_1', 'description' => 'Consecutive Candles', 'units' => '1 minute candles', 'keywords' => '.fixed.time.frame. .price.vs.time. consecutive', 'flip' => '-', 'top_list' => true, 'format' => 0, 'de^description' => 'Positive Kerzen', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '1 Minuten Kerzen', ), 'Up2' => array ( 'sql' => 'up_2', 'description' => 'Consecutive Candles', 'units' => '2 minute candles', 'keywords' => '.fixed.time.frame. .price.vs.time. consecutive', 'flip' => '-', 'top_list' => true, 'format' => 0, 'de^description' => 'Positive Kerzen', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '2 Minuten Kerzen', ), 'Up5' => array ( 'sql' => 'up_5', 'description' => 'Consecutive Candles', 'units' => '5 minute candles', 'keywords' => '.fixed.time.frame. .price.vs.time. consecutive', 'flip' => '-', 'top_list' => true, 'format' => 0, 'de^description' => 'Positive Kerzen', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '5 Minuten Kerzen', ), 'Up10' => array ( 'sql' => 'up_10', 'description' => 'Consecutive Candles', 'units' => '10 minute candles', 'keywords' => '.fixed.time.frame. .price.vs.time. consecutive', 'flip' => '-', 'top_list' => true, 'format' => 0, 'de^description' => 'Positive Kerzen', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '10 Minuten Kerzen', ), 'Up15' => array ( 'sql' => 'up_15', 'description' => 'Consecutive Candles', 'units' => '15 minute candles', 'keywords' => '.fixed.time.frame. .price.vs.time. consecutive', 'flip' => '-', 'top_list' => true, 'format' => 0, 'de^description' => 'Positive Kerzen', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '15 Minuten Kerzen', ), 'Up30' => array ( 'sql' => 'up_30', 'description' => 'Consecutive Candles', 'units' => '30 minute candles', 'keywords' => '.fixed.time.frame. .price.vs.time. consecutive', 'flip' => '-', 'top_list' => true, 'format' => 0, 'de^description' => 'Positive Kerzen', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '30 Minuten Kerzen', ), 'Up60' => array ( 'sql' => 'up_60', 'description' => 'Consecutive Candles', 'units' => '60 minute candles', 'keywords' => '.fixed.time.frame. .price.vs.time. consecutive', 'flip' => '-', 'top_list' => true, 'format' => 0, 'de^description' => 'Positive Kerzen', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '60 Minuten Kerzen', ), 'Up' => array ( 'sql' => 'up_days', 'description' => 'Consecutive Days', 'units' => 'Days', 'keywords' => '.changes.daily. consecutive', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'de^description' => 'Positive Tage', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => 'Tagen', ), 'DUp1' => array ( 'sql' => 'p_up_1', 'description' => 'Change 1 Minute', 'units' => '$', 'keywords' => '.fixed.time.frame. .price.vs.time. dollar change in', 'flip' => '-', 'format' => 'p', ), 'PUp1' => array ( 'sql' => 'p_up_1/$$$*100', 'description' => 'Change 1 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame. .price.vs.time. percent change in', 'flip' => '-', 'format' => 1, ), 'DUp2' => array ( 'sql' => 'p_up_2', 'description' => 'Change 2 Minute', 'units' => '$', 'keywords' => '.fixed.time.frame. .price.vs.time. dollar change in', 'flip' => '-', 'top_list' => true, 'format' => 'p', ), 'PUp2' => array ( 'sql' => 'p_up_2/$$$*100', 'description' => 'Change 2 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame. .price.vs.time. percent change in', 'flip' => '-', 'top_list' => true, 'format' => 1, ), 'DUp5' => array ( 'sql' => 'p_up_5', 'description' => 'Change 5 Minute', 'units' => '$', 'keywords' => '.fixed.time.frame. .price.vs.time. dollar change in', 'flip' => '-', 'top_list' => true, 'format' => 'p', 'de^description' => 'Anstieg 5', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '$', ), 'PUp5' => array ( 'sql' => 'p_up_5/$$$*100', 'description' => 'Change 5 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame. .price.vs.time. percent change in', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg 5', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => 'in Prozent', ), 'DUp10' => array ( 'sql' => 'p_up_10', 'description' => 'Change 10 Minute', 'units' => '$', 'keywords' => '.fixed.time.frame. .price.vs.time. dollar change in', 'flip' => '-', 'top_list' => true, 'format' => 'p', 'de^description' => 'Anstieg 10', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '$', ), 'PUp10' => array ( 'sql' => 'p_up_10/$$$*100', 'description' => 'Change 10 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame. .price.vs.time. percent change in', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg 10', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => 'in Prozent', ), 'DUp15' => array ( 'sql' => 'p_up_15', 'description' => 'Change 15 Minute', 'units' => '$', 'keywords' => '.fixed.time.frame. .price.vs.time. dollar change in', 'flip' => '-', 'top_list' => true, 'format' => 'p', 'de^description' => 'Anstieg 15', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '$', ), 'PUp15' => array ( 'sql' => 'p_up_15/$$$*100', 'description' => 'Change 15 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame. .price.vs.time. percent change in', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg 15', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => 'in Prozent', ), 'DUp30' => array ( 'sql' => 'p_up_30', 'description' => 'Change 30 Minute', 'units' => '$', 'keywords' => '.fixed.time.frame. .price.vs.time. dollar change in', 'flip' => '-', 'top_list' => true, 'format' => 'p', 'de^description' => 'Anstieg 30', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '$', ), 'PUp30' => array ( 'sql' => 'p_up_30/$$$*100', 'description' => 'Change 30 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame. .price.vs.time. percent change in', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg 30', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => 'in Prozent', ), 'DUp60' => array ( 'sql' => 'p_up_60', 'description' => 'Change 60 Minute', 'units' => '$', 'keywords' => '.fixed.time.frame. .price.vs.time. dollar change in', 'flip' => '-', 'top_list' => true, 'format' => 'p', 'de^description' => 'Anstieg 60', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '$', ), 'PUp60' => array ( 'sql' => 'p_up_60/$$$*100', 'description' => 'Change 60 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame. .price.vs.time. percent change in', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg 60', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => 'in Prozent', ), 'DUp120' => array ( 'sql' => 'p_up_120', 'description' => 'Change 120 Minute', 'units' => '$', 'keywords' => '.fixed.time.frame. .price.vs.time. dollar change in', 'flip' => '-', 'top_list' => true, 'format' => 'p', 'de^description' => 'Anstieg 120', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => '$', ), 'PUp120' => array ( 'sql' => 'p_up_120/$$$*100', 'description' => 'Change 120 Minute', 'units' => '%', 'keywords' => '.fixed.time.frame. .price.vs.time. percent change in', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg 120', 'de^keywords' => '.fixiertes.zeitfenster. .kurs.gegen.zeit.', 'de^units' => 'in Prozent', ), 'Qqqq5' => array ( 'sql' => 'qqqq_5', 'description' => 'NASDAQ Change 5 Minute', 'de^description' => 'NASDAQ nach oben 5', 'units' => '%', 'keywords' => 'QQQQ .fixed.time.frame. percent change in', 'de^keywords' => 'QQQQ .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'Qqqq10' => array ( 'sql' => 'qqqq_10', 'description' => 'NASDAQ Change 10 Minute', 'de^description' => 'NASDAQ nach oben 10', 'units' => '%', 'keywords' => 'QQQQ .fixed.time.frame. percent change in', 'de^keywords' => 'QQQQ .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'Qqqq15' => array ( 'sql' => 'qqqq_15', 'description' => 'NASDAQ Change 15 Minute', 'de^description' => 'NASDAQ nach oben 15', 'units' => '%', 'keywords' => 'QQQQ .fixed.time.frame. percent change in', 'de^keywords' => 'QQQQ .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'Qqqq30' => array ( 'sql' => 'qqqq_30', 'description' => 'NASDAQ Change 30 Minute', 'de^description' => 'NASDAQ nach oben 30', 'units' => '%', 'keywords' => 'QQQQ .fixed.time.frame. percent change in', 'de^keywords' => 'QQQQ .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'QqqqD' => array ( 'sql' => 'qqqq_d', 'description' => 'NASDAQ Change Today', 'de^description' => 'NASDAQ nach oben heute', 'units' => '%', 'keywords' => 'QQQQ close percent change in', 'flip' => '-', 'format' => 1, ), 'Spy5' => array ( 'sql' => 'spy_5', 'description' => 'S&P Change 5 Minute', 'de^description' => 'S&P nach oben 5', 'units' => '%', 'keywords' => 'SPY .fixed.time.frame. percent change in', 'de^keywords' => 'SPY .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'Spy10' => array ( 'sql' => 'spy_10', 'description' => 'S&P Change 10 Minute', 'de^description' => 'S&P nach oben 10', 'units' => '%', 'keywords' => 'SPY .fixed.time.frame. percent change in', 'de^keywords' => 'SPY .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'Spy15' => array ( 'sql' => 'spy_15', 'description' => 'S&P Change 15 Minute', 'de^description' => 'S&P nach oben 15', 'units' => '%', 'keywords' => 'SPY .fixed.time.frame. percent change in', 'de^keywords' => 'SPY .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'Spy30' => array ( 'sql' => 'spy_30', 'description' => 'S&P Change 30 Minute', 'de^description' => 'S&P nach oben 30', 'units' => '%', 'keywords' => 'SPY .fixed.time.frame. percent change in', 'de^keywords' => 'SPY .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'SpyD' => array ( 'sql' => 'spy_d', 'description' => 'S&P Change Today', 'de^description' => 'S&P nach oben heute', 'units' => '%', 'keywords' => 'SPY close percent change in', 'flip' => '-', 'format' => 1, ), 'Dia5' => array ( 'sql' => 'dia_5', 'description' => 'Dow Change 5 Minute', 'de^description' => 'Dow nach oben 5', 'units' => '%', 'keywords' => 'DIA indu .fixed.time.frame. percent change in', 'de^keywords' => 'DIA indu .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'Dia10' => array ( 'sql' => 'dia_10', 'description' => 'Dow Change 10 Minute', 'de^description' => 'Dow nach oben 10', 'units' => '%', 'keywords' => 'DIA indu .fixed.time.frame. percent change in', 'de^keywords' => 'DIA indu .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'Dia15' => array ( 'sql' => 'dia_15', 'description' => 'Dow Change 15 Minute', 'de^description' => 'Dow nach oben 15', 'units' => '%', 'keywords' => 'DIA indu .fixed.time.frame. percent change in', 'de^keywords' => 'DIA indu .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'Dia30' => array ( 'sql' => 'dia_30', 'description' => 'Dow Change 30 Minute', 'de^description' => 'Dow nach oben 30', 'units' => '%', 'keywords' => 'DIA indu .fixed.time.frame. percent change in', 'de^keywords' => 'DIA indu .fixiertes.zeitfenster.', 'flip' => '-', 'format' => 1, ), 'DiaD' => array ( 'sql' => 'dia_d', 'description' => 'Dow Change Today', 'de^description' => 'Dow nach oben heute', 'units' => '%', 'keywords' => 'DIA indu close percent change in', 'flip' => '-', 'format' => 1, ), 'PivotR2' => array ( 'sql' => '($$$-(4*high_p+last_price-2*low_p)/3)/$$$*100', 'description' => 'Distance from Pivot R2', 'de^description' => 'Über Pivot W2', 'units' => '%', 'keywords' => '.single.print. .support.and.resistance. pivots points', 'de^keywords' => '.ticks.', 'top_list' => true, 'format' => 1, ), 'PivotR1' => array ( 'sql' => '($$$-(2*high_p-low_p+2*last_price)/3)/$$$*100', 'description' => 'Distance from Pivot R1', 'de^description' => 'Über Pivot W1', 'units' => '%', 'keywords' => '.single.print. .support.and.resistance. pivots points', 'de^keywords' => '.ticks.', 'top_list' => true, 'format' => 1, ), 'Pivot' => array ( 'sql' => '($$$-(high_p+low_p+last_price)/3)/$$$*100', 'description' => 'Distance from Pivot', 'de^description' => 'Über Pivot', 'units' => '%', 'keywords' => '.single.print. .support.and.resistance. pivots points', 'de^keywords' => '.ticks.', 'flip' => '-', 'top_list' => true, 'format' => 1, ), 'PivotS1' => array ( 'sql' => '($$$-(2*low_p-high_p+2*last_price)/3)/$$$*100', 'description' => 'Distance from Pivot S1', 'de^description' => 'Über Pivot U1', 'units' => '%', 'keywords' => '.single.print. .support.and.resistance. pivots points', 'de^keywords' => '.ticks.', 'top_list' => true, 'format' => 1, ), 'PivotS2' => array ( 'sql' => '(price-(4*low_p+last_price-2*high_p)/3)/price*100', 'description' => 'Distance from Pivot S2', 'de^description' => 'Über Pivot U2', 'units' => '%', 'keywords' => '.single.print. .support.and.resistance. pivots points', 'de^keywords' => '.ticks.', 'top_list' => true, 'format' => 1, ), 'VWAP' => array ( 'sql' => '($$$-vwap)/vwap*100', 'description' => 'Distance from VWAP', 'de^description' => 'Über VWAP', 'units' => '%', 'keywords' => '.single.print. value weighted average price', 'de^keywords' => '.ticks.', 'flip' => '-', 'top_list' => true, 'format' => 1, ), 'FCD' => array ( 'sql' => '$$$-last_price', 'description' => 'Change from the Close', 'units' => '$', 'keywords' => '.single.print. dollar change', 'flip' => '-', 'top_list' => true, 'format' => 'p', 'de^description' => 'Über dem Schlusskurs', 'de^keywords' => '.ticks.', 'de^units' => '$', ), 'FCP' => array ( 'sql' => '($$$-last_price)/last_price*100', 'description' => 'Change from the Close', 'units' => '%', 'keywords' => '.single.print. percentage change', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Über dem Schlusskurs', 'de^keywords' => '.ticks.', 'de^units' => 'in Prozent', ), 'FCR' => array ( 'sql' => '($$$-last_price)/(volatility+0.00001)', 'description' => 'Change from the Close', 'units' => 'Bars', 'keywords' => '.single.print. bars change', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Über dem Schlusskurs', 'de^keywords' => '.ticks.', 'de^units' => 'Balken', ), 'FOD' => array ( 'sql' => '$$$-expected_open', 'description' => 'Change from the Open', 'units' => '$', 'keywords' => '.single.print. dollar change', 'flip' => '-', 'top_list' => true, 'format' => 'p', 'de^description' => 'Über dem Eröffnungskurs', 'de^keywords' => '.ticks.', 'de^units' => '$', ), 'FOP' => array ( 'sql' => '($$$-expected_open)/expected_open*100', 'description' => 'Change from the Open', 'units' => '%', 'keywords' => '.single.print. percentage change', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Über dem Eröffnungskurs', 'de^keywords' => '.ticks.', 'de^units' => 'in Prozent', ), 'FOR' => array ( 'sql' => '($$$-expected_open)/(volatility+0.00001)', 'description' => 'Change from the Open', 'units' => 'Bars', 'keywords' => '.single.print. bars change', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Über dem Eröffnungskurs', 'de^keywords' => '.ticks.', 'de^units' => 'Balken', ), 'FOW' => array ( 'sql' => '($$$-expected_open)/average_true_range*100', 'description' => 'Change from the Open', 'units' => '% of Average True Range', 'keywords' => '.single.print. Wide Range Bar WRB percentage change', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Über dem Eröffnungskurs', 'de^keywords' => '.ticks. Wide Range Bar WRB', 'de^units' => '% der Average True Range', ), 'PostD' => array ( 'sql' => 'price-most_recent_close', 'description' => 'Change Post Market', 'units' => '$', 'flip' => '-', 'top_list' => true, 'format' => 'p' ), 'PostP' => array ( 'sql' => '(price-most_recent_close)/most_recent_close*100', 'description' => 'Change Post Market', 'units' => '%', 'flip' => '-', 'top_list' => true, 'format' => 'p' ), 'FCDP' => array ( 'sql' => 'last_price-close_p', 'description' => 'Change Previous Day', 'units' => '$', 'keywords' => 'close yesterday .changes.daily. dollar change yesterday', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => 'Über dem gestrigem Tag', 'de^keywords' => 'close yesterday .tagesspezifische.Äderungen.', 'de^units' => '$', 'always_show' => true, ), 'FCPP' => array ( 'sql' => '(last_price-close_p)/close_p*100', 'description' => 'Change Previous Day', 'units' => '%', 'keywords' => 'close yesterday .changes.daily. percentage change yesterday', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Über dem gestrigem Tag', 'de^keywords' => 'close yesterday .tagesspezifische.Äderungen.', 'de^units' => 'in Prozent', 'always_show' => true, ), 'U5DD' => array ( 'sql' => '$$$-close_5d', 'description' => 'Change in 5 Days', 'units' => '$', 'keywords' => 'close .single.print. dollar change week', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => 'Anstieg in 5 Tagen', 'de^keywords' => 'close .ticks.', 'de^units' => '$', ), 'U5DP' => array ( 'sql' => '($$$-close_5d)/close_5d*100', 'description' => 'Change in 5 Days', 'units' => '%', 'keywords' => 'close .single.print. percentage change week', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg in 5 Tagen', 'de^keywords' => 'close .ticks.', 'de^units' => 'in Prozent', ), 'U10DD' => array ( 'sql' => '$$$-close_10d', 'description' => 'Change in 10 Days', 'units' => '$', 'keywords' => 'close .single.print. dollar change', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => 'Anstieg in 10 Tagen', 'de^keywords' => 'close .ticks.', 'de^units' => '$', ), 'U10DP' => array ( 'sql' => '($$$-close_10d)/close_10d*100', 'description' => 'Change in 10 Days', 'units' => '%', 'keywords' => 'close .single.print. percentage change', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg in 10 Tagen', 'de^keywords' => 'close .ticks.', 'de^units' => 'in Prozent', ), 'U20DD' => array ( 'sql' => '$$$-close_20d', 'description' => 'Change in 20 Days', 'units' => '$', 'keywords' => 'close .single.print. dollar change month', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => 'Anstieg in 20 Tagen', 'de^keywords' => 'close .ticks.', 'de^units' => '$', ), 'U20DP' => array ( 'sql' => '($$$-close_20d)/close_20d*100', 'description' => 'Change in 20 Days', 'units' => '%', 'keywords' => 'close .single.print. percentage change month', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg in 20 Tagen', 'de^keywords' => 'close .ticks.', 'de^units' => 'in Prozent', ), 'UYD' => array ( 'sql' => '$$$-close_1y', 'description' => 'Change in 1 Year', 'units' => '$', 'keywords' => 'close .single.print. dollar change', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', 'de^description' => 'Anstieg in 1 Jahr', 'de^keywords' => 'close .ticks.', 'de^units' => '$', ), 'UYP' => array ( 'sql' => '($$$-close_1y)/close_1y*100', 'description' => 'Change in 1 Year', 'units' => '%', 'keywords' => 'close .single.print. percentage change', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg in 1 Jahr', 'de^keywords' => 'close .ticks.', 'de^units' => 'in Prozent', ), 'UpJan1D' => array ( 'sql' => '$$$-close_last_year', 'description' => 'Change Since January 1', 'units' => '$', 'keywords' => 'close .single.print. dollar change', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 'p', ), 'UpJan1P' => array ( 'sql' => '($$$-close_last_year)/close_last_year*100', 'description' => 'Change Since January 1', 'units' => '%', 'keywords' => 'close .single.print. percentage change', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, ), 'BB' => array ( 'sql' => '($$$-last_price)/last_price/bright_volatility', 'description' => 'Standard Deviation', 'units' => 'Standard Deviations', 'keywords' => 'bright', 'flip' => '-', 'top_list' => true, 'format' => 3, 'de^description' => 'Standardabweichung', 'de^units' => 'Standard Abweichungen', ), 'R5M' => array ('sql' => 'prange_5', 'description' => 'Position in 5 minute range', 'units' => '%', 'keywords' => '.single.print.', 'flip' => '%', 'top_list' => true, 'format' => 1, 'graphics' => '%R'), 'R15M' => array ('sql' => 'prange_15', 'description' => 'Position in 15 minute range', 'units' => '%', 'keywords' => '.single.print.', 'flip' => '%', 'top_list' => true, 'format' => 1, 'graphics' => '%R'), 'R30M' => array ('sql' => 'prange_30', 'description' => 'Position in 30 minute range', 'units' => '%', 'keywords' => '.single.print.', 'flip' => '%', 'top_list' => true, 'format' => 1, 'graphics' => '%R'), 'R60M' => array ('sql' => 'prange_60', 'description' => 'Position in 60 minute range', 'units' => '%', 'keywords' => '.single.print.', 'flip' => '%', 'top_list' => true, 'format' => 1, 'graphics' => '%R'), 'BelowHigh' => array ( 'sql' => 't_high-$$$', 'description' => 'Below High', 'units' => '$', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => '+AboveLow', 'top_list' => true, 'format' => 'p', 'de^description' => 'Unter dem Hoch', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^units' => '$', ), 'AboveLow' => array ( 'sql' => '$$$-t_low', 'description' => 'Above Low', 'units' => '$', 'keywords' => '.highs.and.lows. .single.print.', 'flip' => '+BelowHigh', 'top_list' => true, 'format' => 'p', 'de^description' => 'Über dem Tief', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^units' => '$', ), 'BelowHighPre' => array ( 'sql' => 'high_pre-$$$', 'description' => 'Below Pre-Market High', 'units' => '$', 'keywords' => '.highs.and.lows. .single.print. premkt premarket', 'flip' => '+AboveLowPre', 'top_list' => true, 'format' => 'p', 'de^description' => 'Below Pre-Market High', 'de^keywords' => '.highs.and.lows. .single.print. premkt premarket', 'de^units' => '$', ), 'AboveLowPre' => array ( 'sql' => '$$$-low_pre', 'description' => 'Above Pre-Market Low', 'units' => '$', 'keywords' => '.highs.and.lows. .single.print. premkt premarket', 'flip' => '+BelowHighPre', 'top_list' => true, 'format' => 'p', 'de^description' => 'Above Pre-Market Low', 'de^keywords' => '.highs.and.lows. .single.print. premkt premarket', 'de^units' => '$', ), 'RD' => array ( 'sql' => '(price-t_low)/(t_high-t_low)*100', 'description' => 'Position in Range', 'units' => '%', 'keywords' => '.highs.and.lows. .single.print. day today', 'flip' => '%', 'top_list' => true, 'format' => 1, 'graphics' => '%R', 'de^description' => 'Position in Bandbreite', 'de^keywords' => '.hochs.und.tiefs. .ticks.', 'de^units' => 'in Prozent', ), 'RPD' => array ( 'sql' => '($$$-low_p)/(high_p-low_p)*100', 'description' => 'Position in Previous Day\'s Range', 'units' => '%', 'keywords' => 'yesterday .highs.and.lows. .single.print. yesterday', 'flip' => '%', 'top_list' => true, 'format' => 1, 'graphics' => '%R', 'de^description' => 'position in previous day\'s range', 'de^keywords' => 'yesterday .hochs.und.tiefs. .ticks.', 'de^units' => 'in Prozent', ), 'RPM' => array ( 'sql' => '(price-low_pre)/(high_pre-low_pre)*100', 'description' => 'Position in Pre-Market Range', 'units' => '%', 'keywords' => 'today .highs.and.lows. .single.print. premkt premarket', 'flip' => '%', 'top_list' => true, 'format' => 1, 'graphics' => '%R', 'de^description' => 'position in pre-market range', 'de^keywords' => 'today .hochs.und.tiefs. .ticks.', 'de^units' => 'in Prozent', ), 'R5D' => array ( 'sql' => '($$$-low_5d)/(high_5d-low_5d)*100', 'description' => 'Position in 5 Day Range', 'units' => '%', 'keywords' => '.single.print. percentage week', 'flip' => '%', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'graphics' => '%R', 'de^description' => 'Position in 5 Tages Bandbreite', 'de^units' => 'in Prozent', ), 'R10D' => array ( 'sql' => '($$$-low_10d)/(high_10d-low_10d)*100', 'description' => 'Position in 10 Day Range', 'units' => '%', 'keywords' => '.single.print. percentage', 'flip' => '%', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'graphics' => '%R', 'de^description' => 'Position in 10 Tages Bandbreite', 'de^units' => 'in Prozent', ), 'R20D' => array ( 'sql' => '($$$-low_20d)/(high_20d-low_20d)*100', 'description' => 'Position in 20 Day Range', 'units' => '%', 'keywords' => '.single.print. percentage month', 'flip' => '%', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'graphics' => '%R', 'de^description' => 'Position in 20 Tages Bandbreite', 'de^units' => 'in Prozent', ), 'RY' => array ( 'sql' => '($$$-low_52w)/(high_52w-low_52w)*100', 'description' => 'Position in Year Range', 'units' => '%', 'flip' => '%', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'graphics' => '%R', 'de^description' => 'Kurs in Jahres Range', 'de^units' => 'in Prozent', ), 'R2Y' => array ( 'sql' => '($$$-low_104w)/(high_104w-low_104w)*100', 'description' => 'Position in 2 Year Range', 'units' => '%', 'flip' => '%', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'graphics' => '%R', ), 'RL' => array ( 'sql' => '($$$-low_life)/(high_life-low_life)*100', 'description' => 'Position in Lifetime Range', 'units' => '%', 'flip' => '%', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'graphics' => '%R', 'de^description' => 'Position in Bandbreite seit Beginn', 'de^units' => 'in Prozent', ), 'RSI1' => array ( 'sql' => 'rsi_1', 'description' => '1 Minute RSI', 'units' => '0 - 100', 'keywords' => '.fixed.time.frame. technicals indicators', 'flip' => '%', 'top_list' => true, 'format' => 1, ), 'RSI2' => array ( 'sql' => 'rsi_2', 'description' => '2 Minute RSI', 'units' => '0 - 100', 'keywords' => '.fixed.time.frame. technicals indicators', 'flip' => '%', 'top_list' => true, 'format' => 1, ), 'RSI5' => array ( 'sql' => 'rsi_5', 'description' => '5 Minute RSI', 'units' => '0 - 100', 'keywords' => '.fixed.time.frame. technicals indicators', 'flip' => '%', 'top_list' => true, 'format' => 1, ), 'RSI15' => array ( 'sql' => 'rsi_15', 'description' => '15 Minute RSI', 'units' => '0 - 100', 'keywords' => '.fixed.time.frame. technicals indicators', 'flip' => '%', 'top_list' => true, 'format' => 1, 'de^description' => '15 Minuten RSI', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => '0-100', ), 'RSI60' => array ( 'sql' => 'rsi_60', 'description' => '60 Minute RSI', 'units' => '0 - 100', 'keywords' => '.fixed.time.frame. technicals indicators', 'flip' => '%', 'top_list' => true, 'format' => 1, 'de^description' => '60 Minuten RSI', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => '0-100', ), 'DRSI' => array ( 'sql' => 'rsi_d', 'description' => 'Daily RSI', 'units' => '0 - 100', 'keywords' => '.changes.daily. technicals indicators', 'flip' => '%', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Täglicher RSI', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => '0-100', 'always_show' => true, ), 'Boll5' => array ( 'sql' => '($$$-sma_5_20)/std_5_20*25+50', 'description' => 'Position in Bollinger Bands (5 Minute)', 'units' => '%', 'keywords' => '.fixed.time.frame. technicals indicators bb', 'flip' => '%', 'top_list' => true, 'format' => 1, 'de^description' => 'Position in Bollinger Band (5 Min.)', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Boll15' => array ( 'sql' => '($$$-sma_15_20)/std_15_20*25+50', 'description' => 'Position in Bollinger Bands (15 Minute)', 'units' => '%', 'keywords' => '.fixed.time.frame. technicals indicators bb', 'flip' => '%', 'top_list' => true, 'format' => 1, 'de^description' => 'Position in Bollinger Band (15 Min.)', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Boll60' => array ( 'sql' => '($$$-sma_60_20)/std_60_20*25+50', 'description' => 'Position in Bollinger Bands (60 Minute)', 'units' => '%', 'keywords' => '.fixed.time.frame. technicals indicators bb', 'flip' => '%', 'top_list' => true, 'format' => 1, 'de^description' => 'Position in Bollinger Band (60 Min.)', 'de^keywords' => '.fixiertes.zeitfenster.', 'de^units' => 'in Prozent', ), 'Boll' => array ( 'sql' => '($$$-sma_20)/std_20*25+50', 'description' => 'Position in Bollinger Bands (Daily)', 'units' => '%', 'keywords' => 'technicals indicators bb', 'flip' => '%', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Kurs in den Bollinger Bändern (Täglich)', 'de^units' => 'in Prozent', ), 'RC' => array ( 'sql' => 'range_contraction', 'description' => 'Range Contraction', 'units' => 'Days', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'de^description' => 'Bandbreiten-Verengung', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => 'Tagen', 'always_show' => true, ), 'LR130' => array ( 'sql' => 'bunny_130', 'description' => 'Linear Regression Divergence', 'units' => '0 - 1', 'top_list' => true, 'overnight_sql' => '*', 'format' => 4, 'de^description' => 'Lineare Regressionsdivergenz', 'de^units' => '0-1', 'always_show' => true, ), 'ADX' => array ( 'sql' => 'adx_14d', 'description' => 'Average Directional Index', 'units' => '%', 'keywords' => '.changes.daily. ADX technicals indicators', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'ADX', 'de^keywords' => '.tagesspezifische.Äderungen. ADX', 'de^units' => 'in Prozent', 'always_show' => true, ), 'PDIMDI' => array ( 'sql' => 'pdi_14d - mdi_14d', 'description' => 'Directional Indicator', 'units' => '%', 'keywords' => '.changes.daily. DI ADX technicals indicators', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'DX', 'de^keywords' => '.tagesspezifische.Äderungen. DI ADX', 'de^units' => 'in Prozent', 'always_show' => true, ), 'MA200P' => array ( 'sql' => '($$$-sma_200)/sma_200*100', 'description' => 'Change from 200 Day SMA', 'units' => '%', 'keywords' => '.moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg vom 200 Tages SMA ', 'de^keywords' => '.gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), 'MA200R' => array ( 'sql' => '($$$-sma_200)/(volatility+0.00001)', 'description' => 'Change from 200 Day SMA', 'units' => 'Bars', 'keywords' => '.moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg vom 200 Tages SMA ', 'de^keywords' => '.gleitende.durchschnitte.', 'de^units' => 'Balken', ), 'MA50P' => array ( 'sql' => '($$$-sma_50)/sma_50*100', 'description' => 'Change from 50 Day SMA', 'units' => '%', 'keywords' => '.moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg vom 50 Tages SMA ', 'de^keywords' => '.gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), 'MA50R' => array ( 'sql' => '($$$-sma_50)/(volatility+0.00001)', 'description' => 'Change from 50 Day SMA', 'units' => 'Bars', 'keywords' => '.moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg vom 50 Tages SMA ', 'de^keywords' => '.gleitende.durchschnitte.', 'de^units' => 'Balken', ), 'MA20P' => array ( 'sql' => '($$$-sma_20)/sma_20*100', 'description' => 'Change from 20 Day SMA', 'units' => '%', 'keywords' => '.moving.average. simple moving average month', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg vom 20 Tages SMA ', 'de^keywords' => '.gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), 'MA20R' => array ( 'sql' => '($$$-sma_20)/(volatility+0.00001)', 'description' => 'Change from 20 Day SMA', 'units' => 'Bars', 'keywords' => '.moving.average. simple moving average month', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg vom 20 Tages SMA ', 'de^keywords' => '.gleitende.durchschnitte.', 'de^units' => 'Balken', ), 'MA8P' => array ( 'sql' => '($$$-sma_8)/sma_8*100', 'description' => 'Change from 8 Day SMA', 'units' => '%', 'keywords' => '.moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg vom 8 Tages SMA ', 'de^keywords' => '.gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), 'MA8R' => array ( 'sql' => '($$$-sma_8)/(volatility+0.00001)', 'description' => 'Change from 8 Day SMA', 'units' => 'Bars', 'keywords' => '.moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Anstieg vom 8 Tages SMA ', 'de^keywords' => '.gleitende.durchschnitte.', 'de^units' => 'Balken', ), '2SmaLa5' => array ( 'sql' => '($$$-sma_2_5)/sma_2_5*100', 'description' => 'Change from 5 Period SMA (2m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 5 Perioden SMA (2 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '5SmaLa5' => array ( 'sql' => '($$$-sma_5_5)/sma_5_5*100', 'description' => 'Change from 5 Period SMA (5m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 5 Perioden SMA (5 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '15SmaLa5' => array ( 'sql' => '($$$-sma_15_5)/sma_15_5*100', 'description' => 'Change from 5 Period SMA (15m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 5 Perioden SMA (15 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '2SmaLa8' => array ( 'sql' => '($$$-sma_2_8)/sma_2_8*100', 'description' => 'Change from 8 Period SMA (2m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 8 Perioden SMA (2 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '5SmaLa8' => array ( 'sql' => '($$$-sma_5_8)/sma_5_8*100', 'description' => 'Change from 8 Period SMA (5m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 8 Perioden SMA (5 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '15SmaLa8' => array ( 'sql' => '($$$-sma_15_8)/sma_15_8*100', 'description' => 'Change from 8 Period SMA (15m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 8 Perioden SMA (15 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '60SmaLa8' => array ( 'sql' => '($$$-sma_60_8)/sma_60_8*100', 'description' => 'Change from 8 Period SMA (60m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 8 Perioden SMA (60 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '2SmaLa20' => array ( 'sql' => '($$$-sma_2_20)/sma_2_20*100', 'description' => 'Change from 20 Period SMA (2m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 20 Perioden SMA (2 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '5SmaLa20' => array ( 'sql' => '($$$-sma_5_20)/sma_5_20*100', 'description' => 'Change from 20 Period SMA (5m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 20 Perioden SMA (15 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '15SmaLa20' => array ( 'sql' => '($$$-sma_15_20)/sma_15_20*100', 'description' => 'Change from 20 Period SMA (15m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 20 Perioden SMA (15 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '60SmaLa20' => array ( 'sql' => '($$$-sma_60_20)/sma_60_20*100', 'description' => 'Change from 20 Period SMA (60m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 20 Perioden SMA (60 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '2SmaLa200' => array ( 'sql' => '($$$-sma_2_200)/sma_2_200*100', 'description' => 'Change from 200 Period SMA (2m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 200 Perioden SMA (2 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '5SmaLa200' => array ( 'sql' => '($$$-sma_5_200)/sma_5_200*100', 'description' => 'Change from 200 Period SMA (5m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 200 Perioden SMA (5 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '15SmaLa130' => array ( 'sql' => '($$$-sma_15_130)/sma_15_130*100', 'description' => 'Change from 130 Period SMA (15m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 130 Perioden SMA (15 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '15SmaLa200' => array ( 'sql' => '($$$-sma_15_200)/sma_15_200*100', 'description' => 'Change from 200 Period SMA (15m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 200 Perioden SMA (15 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '60SmaLa200' => array ( 'sql' => '($$$-sma_60_200)/sma_60_200*100', 'description' => 'Change from 200 Period SMA (60m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => 'Anstieg vom 200 Perioden SMA (60 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '2Sma8a20' => array ( 'sql' => '(sma_2_8-sma_2_20)/sma_2_20*100', 'description' => '8 vs. 20 Period SMA (2m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => '8 über dem 20 Perioden SMA (2 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '5Sma8a20' => array ( 'sql' => '(sma_5_8-sma_5_20)/sma_5_20*100', 'description' => '8 vs. 20 Period SMA (5m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => '8 über dem 20 Perioden SMA (5 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '15Sma8a20' => array ( 'sql' => '(sma_15_8-sma_15_20)/sma_15_20*100', 'description' => '8 vs. 20 Period SMA (15m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => '8 über dem 20 Perioden SMA (15 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '60Sma8a20' => array ( 'sql' => '(sma_60_8-sma_60_20)/sma_60_20*100', 'description' => '8 vs. 20 Period SMA (60m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => '8 über dem 20 Perioden SMA (60 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '2Sma20a200' => array ( 'sql' => '(sma_2_20-sma_2_200)/sma_2_200*100', 'description' => '20 vs. 200 Period SMA (2m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => '20 über dem 200 Perioden SMA (2 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '5Sma20a200' => array ( 'sql' => '(sma_5_20-sma_5_200)/sma_5_200*100', 'description' => '20 vs. 200 Period SMA (5m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => '20 über dem 200 Perioden SMA (5 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '15Sma20a200' => array ( 'sql' => '(sma_15_20-sma_15_200)/sma_15_200*100', 'description' => '20 vs. 200 Period SMA (15m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => '20 über dem 200 Perioden SMA (15 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), '60Sma20a200' => array ( 'sql' => '(sma_60_20-sma_60_200)/sma_60_200*100', 'description' => '20 vs. 200 Period SMA (60m)', 'units' => '%', 'keywords' => '.fixed.time.frame. .moving.average. simple moving average', 'flip' => '-', 'top_list' => true, 'format' => 1, 'de^description' => '20 über dem 200 Perioden SMA (60 Min.)', 'de^keywords' => '.fixiertes.zeitfenster. .gleitende.durchschnitte.', 'de^units' => 'in Prozent', ), 'ConDays' => array ( 'sql' => 'consolidation_days', 'description' => 'Consolidation', 'units' => 'Days', 'keywords' => '.changes.daily.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'de^description' => 'Konsolidierung', 'de^keywords' => '.tagesspezifische.Äderungen.', 'de^units' => 'Tagen', 'always_show' => true, ), 'RCon' => array ( 'sql' => '($$$-consolidation_low)/(consolidation_high-consolidation_low)*100', 'description' => 'Position in Consolidation', 'units' => '%', 'flip' => '%', 'top_list' => true, 'overnight_sql' => '*', 'format' => 1, 'de^description' => 'Position in Konsolidierung', 'de^units' => 'in Prozent', ), 'SmartStopD' => array ( 'sql' => 'if($$$<1,$$$*0.2,GREATEST(LEAST(0.75,(last*(5/1000)*(relvol))+(volatility),(t_high-t_low)*0.5),0.25))', 'description' => 'Smart Stop', 'units' => '$', 'top_list' => true, 'format' => 2 ), 'SmartStopP' => array ( 'sql' => 'if($$$<1,$$$*0.2,GREATEST(LEAST((last*(5/1000)*(relvol))+(volatility),(t_high-t_low)*0.5),0.25))/($$$)*100', 'description' => 'Smart Stop', 'units' => '%', 'top_list' => true, 'format' => 2 ), 'SCR' => array ( 'sql' => '30+if(price>sma_200,10,0)+if(price>sma_50,5,0)+if(price>sma_20,5,0)+if((($$$-sma_8)/sma_8*100)>0,5,0)+if((($$$-low_52w)/(high_52w-low_52w)*100)>70,5,0)+if((($$$-low_20d)/(high_20d-low_20d)*100)>80,4,0)+if((($$$-low_52w)/(high_52w-low_52w)*100)>90,3,0)+if((($$$-low_life)/(high_life-low_life)*100)>75,4,0)+if((($$$-low_life)/(high_life-low_life)*100)>100,1,0)+if(price>(($$$-sma_15_130)/sma_15_130*100),5,0)+if(sma_20>sma_50,4,0)+if((social_rv)>100,1,0)+if((eps)>0,4,0)+if((revenue_growth * 100)>15,6,0)+if(if((((cash / 1000) /debt)!=0.000001),((cash / 1000) /debt),1)>(1/2),5,0)+if(price>(($$$-vwap)/vwap*100),3,0)', 'description' => 'Stock Composite Rating', 'units' => '30 - 100', 'keywords' => 'scr score', 'top_list' => true, 'format' => 0 ), 'MCap' => array ( 'sql' => '1000*shares_out*last_price', 'description' => 'Market Cap', 'de^description' => 'Marktkapitalisierung', 'units' => '$', 'keywords' => '.fundamentals. .changes.daily. capitalization fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'ShOut' => array ( 'sql' => '1000*shares_out', 'description' => 'Shares Outstanding', 'de^description' => 'Aktien im Umlauf', 'units' => 'Shares', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'DTC' => array ( 'sql' => 'short_interest/advol', 'description' => 'Days to Cover', 'de^description' => 'Deckungstage', 'units' => 'Days', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'ShortG' => array ( 'sql' => 'short_growth * 100', 'description' => 'Short Growth', 'units' => '%', 'keywords' => '.fundamentals. .changes.daily. fundamentals percentage', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'SFloat' => array ( 'sql' => 'short_float * 100', 'description' => 'Short Float', 'units' => '%', 'keywords' => '.fundamentals. .changes.daily. fundamentals percentage', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'Float' => array ( 'sql' => 'flt', 'description' => 'Float', 'units' => 'Shares', 'keywords' => '.fundamentals. .changes.daily. fundamentals percentage', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'Insider' => array ( 'sql' => 'held_by_insiders * 100', 'description' => 'Held by Insiders', 'units' => '%', 'keywords' => '.fundamentals. .changes.daily. fundamentals percentage shares', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'Institution' => array ( 'sql' => 'held_by_institutions * 100', 'description' => 'Held by Institutions', 'units' => '%', 'keywords' => '.fundamentals. .changes.daily. fundamentals percentage shares', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'Cash' => array ( 'sql' => 'cash', 'description' => 'Cash', 'units' => '$', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'Assets' => array ( 'sql' => '1000*assets', 'description' => 'Current Assets', 'de^description' => 'Umlaufvermögen', 'units' => '$', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'Debt' => array ( 'sql' => '1000*debt', 'description' => 'Current Debt', 'de^description' => 'Kontokorrentschuld', 'units' => '$', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'CashDebt' => array ( 'sql' => '(cash / 1000) /debt', 'description' => 'Cash / Debt Ratio', 'units' => 'Ratio', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 3, 'always_show' => true, ), 'Income' => array ( 'sql' => '1000*income', 'description' => 'Income', 'de^description' => 'Einnahmen', 'units' => '$ / Year', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'IncomeDebt' => array ( 'sql' => 'income/debt', 'description' => 'Income / Debt Ratio', 'de^description' => 'Einnahmen / Kontokorrentschuld', 'units' => 'Ratio', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 3, 'always_show' => true, ), 'Revenue' => array ( 'sql' => 'revenue', 'description' => 'Revenue', 'units' => '$ / Year', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'QRevG' => array ( 'sql' => 'revenue_growth * 100', 'description' => 'Quarterly Revenue Growth', 'units' => '%', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'Value' => array ( 'sql' => 'enterprise_value', 'description' => 'Enterprise Value', 'units' => '$', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'top_list' => true, 'overnight_sql' => '*', 'format' => 0, 'always_show' => true, ), 'ValueMCap' => array ( 'sql' => '(enterprise_value)/(last_price*1000*shares_out)', 'description' => 'Enterprise Value / Market Cap Ratio', 'units' => 'Ratio', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 3, 'always_show' => true, ), 'EPS' => array ( 'sql' => 'eps', 'description' => 'EPS', 'de^description' => 'Ertrag je Aktie (EPS)', 'units' => '$ / Share', 'keywords' => '.fundamentals. .changes.daily. earnings per share fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'EstAEPSG' => array ( 'sql' => 'estimated_annual_eps_growth', 'description' => 'Estimated Annual EPS Growth', 'units' => 'Ratio', 'keywords' => '.fundamentals. .changes.daily. earnings per share fundamentals', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'EstQEPSG' => array ( 'sql' => 'estimated_quarterly_eps_growth', 'description' => 'Estimated Quarterly EPS Growth', 'units' => 'Ratio', 'keywords' => '.fundamentals. .changes.daily. earnings per share fundamentals', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'QEarnG' => array ( 'sql' => 'earnings_growth * 100', 'description' => 'Quarterly Earnings Growth', 'units' => '%', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'PERatio' => array ( 'sql' => 'pe_ratio', 'description' => 'Price / Earnings Ratio', 'de^description' => 'KGV', 'units' => 'Ratio', 'keywords' => '.fundamentals. .changes.daily. fundamentals p/e', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 3, 'always_show' => true, ), 'PEG' => array ( 'sql' => 'peg', 'description' => 'PEG Ratio', 'units' => 'Ratio', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'EarningD' => array ( 'sql' => 'earning_day', 'description' => 'Earnings Date', 'units' => 'Days', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'top_list' => true, 'overnight_sql' => '*', 'format' => 2, 'always_show' => true, ), 'Dividend' => array ( 'sql' => 'dividend', 'description' => 'Dividend', 'de^description' => 'Dividenden', 'units' => '$', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 5, 'always_show' => true, ), 'Beta' => array ( 'sql' => 'beta', 'description' => 'Beta', 'de^description' => 'Beta', 'units' => 'Ratio', 'keywords' => '.fundamentals. .changes.daily. fundamentals', 'de^keywords' => '.fundamentals. .tagesspezifische.Äderungen.', 'top_list' => true, 'overnight_sql' => '*', 'format' => 3, 'always_show' => true, ), 'Time' => array ( 'sql' => '(TIMESTAMPDIFF(SECOND, date, timestamp)-23400)/60.0', 'description' => 'Time of Day', 'units' => 'Minutes after the open', 'format' => 2, 'alerts_only' => true, 'always_show' => true, ), 'Count' => array ( 'sql' => 'num', 'description' => 'Count', 'units' => 'Alerts', 'format' => 0, 'alerts_only' => true, 'de^description' => 'Anzahl', 'de^units' => 'Signale', 'always_show' => true, ), ); $display_only_fields = array( 'D_Type' => array(// special case: this field is always sent so that the Message can have correct background 'always_sent' => true, 'always_show' => true, 'sql' => 'alert_type', 'description' => 'Type', 'de^description' => 'Signal', 'fr^description' => 'Type' ), 'D_Time' => array( 'sql' => 'UNIX_TIMESTAMP(timestamp)', 'always_show' => true, 'description' => 'Time' ), 'D_Symbol' => array( 'sql' => 'd_symbol', 'always_show' => true, 'top_list' => true, 'description' => 'Symbol', 'de^description' => 'Kürzel', 'fr^description' => 'Symbole', 'ru^description' => 'Тикер' ), 'D_Exch' => array( 'sql' => 'list_exch', 'always_show' => true, 'description' => 'Exchange', 'top_list' => true, 'graphics' => 'Exch' ), 'D_Desc' => array(// special case: always sent so that this can show up as the alert icon tooltip if not displayed 'always_sent' => true, 'always_show' => true, 'sql' => 'alerts.description', 'description' => 'Description', 'de^description' => 'Beschreibung', 'fr^description' => 'Description' ), 'D_Quality' => array( 'sql' => 'quality', 'always_show' => true, 'description' => 'Quality', 'de^description' => 'Qualität', 'fr^description' => 'Qualité', 'graphics' => 'Quality' ), 'D_Sector' => array( 'sql' => '(SELECT sector FROM naics_lookup WHERE code = (SELECT LEFT(naics,2) FROM symbol_info_f WHERE d_symbol = symbol_info_f.symbol AND protected=\'N\'))', 'always_show' => true, 'top_list' => true, 'description' => 'Sector' ), 'D_SubSector' => array( 'sql' => '(SELECT sector FROM naics_lookup WHERE code = (SELECT LEFT(naics,3) FROM symbol_info_f WHERE d_symbol = symbol_info_f.symbol AND protected=\'N\'))', 'always_show' => true, 'top_list' => true, 'description' => 'Sub Sector' ), 'D_IndGrp' => array( 'sql' => '(SELECT sector FROM naics_lookup WHERE code = (SELECT LEFT(naics,4) FROM symbol_info_f WHERE d_symbol = symbol_info_f.symbol AND protected=\'N\'))', 'always_show' => true, 'top_list' => true, 'description' => 'Industry Group' ), 'D_Industry' => array( 'sql' => '(SELECT sector FROM naics_lookup WHERE code = (SELECT LEFT(naics,5) FROM symbol_info_f WHERE d_symbol = symbol_info_f.symbol AND protected=\'N\'))', 'always_show' => true, 'top_list' => true, 'description' => 'Industry' ), 'D_SubIndustry' => array( 'sql' => '(SELECT sector FROM naics_lookup WHERE code = (SELECT LEFT(naics,6) FROM symbol_info_f WHERE d_symbol = symbol_info_f.symbol AND protected=\'N\'))', 'always_show' => true, 'top_list' => true, 'description' => 'Sub Industry' ), 'D_Name' => array( 'sql' => '(select company_name from symbol_info_f where d_symbol=symbol_info_f.symbol and protected=\'N\')', 'always_show' => true, 'top_list' => true, 'description' => 'Company Name' ), /* 'D_CUSIP' => array( 'sql' => 'cusip', 'always_show' => true, 'top_list' => true, 'description' => 'CUSIP' ), */ ); function addOpraFilters() { global $window_filters; /* $window_filters['PCR'] = array ('sql' => 'put_v/call_v', 'description' => 'Put/Call Ratio', 'de^description' => 'Put/Call Verhältnis', 'units' => 'Ratio', 'keywords' => 'options', 'flip' => '/', 'top_list' => true, 'format' => 3, ); $window_filters['PCAV'] = array ('sql' => 'avg_put_call_volume', 'description' => 'Options Volume', 'de^description' => 'Optionsvolumen', 'units' => 'Contracts', 'keywords' => '.changes.daily.', 'top_list' => true, 'format' => 0, ); $window_filters['PCTV'] = array ('sql' => 'put_v+call_v', 'description' => 'Options Volume Today', 'de^description' => 'Optionsvolumen heute', 'units' => 'Contracts', 'top_list' => true, 'format' => 0, ); $window_filters['PTV'] = array ('sql' => 'put_v', 'description' => 'Put Volume Today', 'units' => 'Contracts', 'keywords' => 'Options', 'top_list' => true, 'format' => 0, ); $window_filters['CTV'] = array ('sql' => 'call_v', 'description' => 'Call Volume Today', 'units' => 'Contracts', 'keywords' => 'Options', 'top_list' => true, 'format' => 0, ); $window_filters['PCPV'] = array ('sql' => '(put_v+call_v)/avg_put_call_volume*100', 'description' => 'Options Volume Today', 'de^description' => 'Optionsvolumen heute', 'units' => '%', 'top_list' => true, 'format' => 1, ); */ } function addUserSpecificFilters($user_info) { global $window_filters; if (!$user_info) return; $sql = "SELECT * FROM user_filters WHERE user_id=" . $user_info['id']; $result = mysql_query($sql); if (!$result) return; // Note that we make no attempt to update alert_filers. That is obsolete and // not supported for new work. while ($row = mysql_fetch_assoc($result)) { $window_filters[$row['internal_code']] = array('sql' => $row['sql_code'], 'description' => $row['description'], 'units' => $row['units'], 'top_list' => $row['top_list'] == 'Y', // Currently we always assume overnight_sql is false. That's // not an area that's well supported, and hopefully it will // go away some time in the future. Also, once we start giving // users more ability to create these formulas, supporting this // will become more complicated. 'format' => $row['format']); } } // $filterName is a key from the table above, like "Price" or "Count". $value is the value // we want to display. $price is the price of the stock at the time this value was measured. function formatColumnValue($filterName, $value, $price) { global $window_filters; if (is_null($value)) return ""; $format = $window_filters[$filterName]['format']; if ($format === 'p') if (($price < 1) && ($price > 0)) $format = 4; else $format = 2; return number_format($value, $format); } // Listed in the bit order used for the encoded form. XN => 1, XL => 2, XX => 4, etc. // Maps the name used in HTML forms to the name used internally. $exchange_filters = array("XN" => 'NASD', // 1 "XL" => 'Listed', // 2 "XX" => '$NDX', // 4 "X_NYSE" => 'NYSE', // 8 "X_AMEX" => 'AMEX', // 16 "X_CME" => 'CME', // 32 "X_CAT" => 'CAT', // 64 "X_CAV" => 'CAV', // 128 "X_OTC" => 'OTC', // 256 "X_PINK" => 'PINK', // 512 "X_ARCA" => 'ARCA', // 1024 "X_BATS" => 'BATS', // 2048 "X_OTCQB" => 'OQB', // 4096 "X_OTCQX" => 'OQX' // 8192 ); // User friendly viewing order. // Does not include any entries for things which the user shouldn't see, i.e. "Listed". // The internal strings are stored in the config record, and in the database. // None of them need special quoting in the database, but some do not work well as // field names in forms. $exchange_info = array( 'NYSE' => array("description" => "New York Stock Exchange (NYSE)", "form" => "X_NYSE", "short_description" => "NYSE"), 'ARCA' => array("description" => "NYSE Arca", "form" => "X_ARCA"), 'AMEX' => array("description" => "American Stock Exchange (AMEX)", "form" => "X_AMEX", "short_description" => "AMEX"), 'NASD' => array("description" => "NASDAQ", "form" => "XN"), /*'OTC' => array("description" => "OTC / Bulletin Board", "form" => "X_OTC", "short_description" => "OTC/BB"),*/ 'PINK' => array("description" => "Pink Sheets", "form" => "X_PINK"), 'OQB' => array("description" => "OTCQB (Venture Market / early-stage)", "short_description" => "OTCQB", "form" => "X_OTCQB"), 'OQX' => array("description" => "OTCQX (Best Market / established)", "short_description" => "OTCQX", "form" => "X_OTCQX"), /*' BATS' => array("description" => "BATS", * "form" => "X_BATS"), */ //'CME' => array("description" => "Chicago Mercantile Exchange (CME)", // "form" => "X_CME"), 'CAT' => array("description" => "Toronto Stock Exchange (TSX)", "form" => "X_CAT", "short_description" => "TSX"), 'CAV' => array("description" => "TSX Venture", "form" => "X_CAV"), '$NDX' => array("description" => "Indices", "form" => "XX") //'CME' => array("description" => "TEST ONLY, Not for end users!", // "form" => "X_CME", // "limited access" => true) ); $option_types = array( "FullSpeed" => "Display alerts at full speed.", "HideDescription" => "Hide the description column.", "ShowMore" => "Show more alerts in the alert window.", "Animation" => "Display alerts with animation effect.", ); $obsolete_option_types = array( // these options will not be displayed by Config.php // they still exist above so they are in the appropriate spot in the // bitmap "HideDescription" => true, "Animation" => true, ); $sounds = array(0 => "None", "Boing", "Bonk", "Cuckoo", "Cymbal", "Drip", // 6=> "Gun Shot", 7 => "Home Run", "Rooster", "Siren", "Whip"); function initConstants() { global $option_types, $bitByOption; $bit = 1; foreach ($option_types as $type => $unused) { $bitByOption[$type] = $bit; $bit <<= 1; } global $exchange_filters, $exchange_info; $bit = 1; foreach ($exchange_filters as $form => $key) { if (array_key_exists($key, $exchange_info)) { $exchange_info[$key]['bit'] = $bit; } $bit <<= 1; } } initConstants(); function makeAlertTypeIcon($alert_type, $additional_html="", $local=false, $anchor_name=false) { global $alert_info, $static_base; return ''
    . htmlspecialchars($alert_info[$alert_type]['description'])
    . $additional_html
    . ''; } // $config_info['active_alerts'] is an array whose keys are the active alert types // (values not defined, except that they can be interpreted as true) // $config_info['alert_quality'] is an array mapping each alert type to its minimum // minimum required quality. The key is abscent if there is no minimum // required quality. // $config_info['active_exchanges'] // $config_info['alert_filters'] is an array whose keys are the values of the various // numeric filters other than the alert quality filters. Keys will only be present // if the user has specified a value. // $config_info['optionable'] this key can point to true, or not exist. If it is // true, we only display optionable stocks. If it does not exist, we display all // stocks. // $config_info['symbol_list_type'] do we restrict ourselves to certain symbols? // "" - Show all symbols. // "only" - Show only the symbols in the specified lists. // "exclude" - Show all symbols except those found in the specified lists. // "single" - Show only alerts matching $config_info['single_symbol'] // $config_info['symbol_lists'] // $config_info['viewing_options'] // $config_info['window_name'] is the name of the window. This key does not exist // if no window name is specified. // $config_info['sound'] is the sound to be played on each alert. This key does not // exist if the user does not want sound. If this key is a number, it used as // an index into the list of sounds above. Otherwise it is a URL. // Requires HeaderFooter.php, for add_commas function display_config_info($config_info, $local=false) { global $alert_info, $window_filters, $static_base; if ($config_info['window_name']) { echo '"', htmlspecialchars($config_info['window_name']), '" '; } $config_info['alert_quality'][""] = ""; foreach ($alert_info as $alert_type => $info) { if (array_key_exists($alert_type, $config_info['active_alerts'])) { if (array_key_exists($alert_type, $config_info['alert_quality'])) { $filter_msg = "; Filter=" . add_commas($config_info['alert_quality'][$alert_type]) . " (" . $info['quality_filter'] . ")"; } else { $filter_msg = ""; } echo makeAlertTypeIcon($alert_type, $filter_msg, $local), " "; } } foreach ($window_filters as $name => $info) { foreach (array("Min", "Max") as $dir) { $filter_name = $dir . $name; if (array_key_exists($filter_name, $config_info['alert_filters'])) { $value = $config_info['alert_filters'][$filter_name]; $alt_title = htmlspecialchars($info["description"]); if ($value != '') { // The index at the bottom of the config window will set a filter // value to be '' to make the filter visible. $alt_title = $dir . " " . $alt_title . "=" . add_commas($value); } $alt_title .= " (" . $info['units'] . ")"; echo "\"", "; } } } } function copyConfigInfo() { global $config_info, $viewingOptions, $alert_types, $exchange_filters, $exchange_info, $window_filters, $display_only_fields; ensureGMP(); $encodedAlerts = gmp_init(0); foreach ($alert_types as $bit => $alert) { if ($config_info['active_alerts'][$alert]) { gmp_setbit($encodedAlerts, $bit); } } $encodedExchanges = 0; $bit = 1; foreach ($exchange_filters as $internal) { if ($config_info['active_exchanges'][$internal]) { $encodedExchanges |= $bit; } $bit <<= 1; } $optionsList = 'O=' . gmp_strval($encodedAlerts,16) . "_" . dechex($encodedExchanges) . "_" . dechex($config_info['viewing_options']); foreach ($config_info['alert_quality'] as $name => $value) { $optionsList .= '&Q' . $name . '=' . $value; } foreach ($config_info['alert_filters'] as $name => $value) { $optionsList .= '&' . $name . '=' . $value; } if (array_key_exists('window_name', $config_info)) { $optionsList .= '&WN=' . urlencode($config_info['window_name']); } $optionsList .= copyConfigInfo_symbolLists($config_info); if (array_key_exists('sound', $config_info)) { $optionsList .= '&S=' . urlencode($config_info['sound']); } if (array_key_exists('column_version', $config_info)) { $optionsList .= '&col_ver=' . urlencode($config_info['column_version']); } $current_show_index = 0; if (is_array($config_info['show'])) { foreach($config_info['show'] as $current_show) { if ($window_filters[$current_show] || $display_only_fields[$current_show]) { $optionsList .= '&show' . $current_show_index++ . '=' . urlencode($current_show); } } } //if ($config_info['optionable']) //{ // $optionsList .= '&opt=1'; //} //echo "
";
  // echo "$optionsList\n";
  //print_r($config_info);
  //exit;

  return $optionsList;
}

function copyConfigInfo_symbolLists($config_info)
{
  $optionsList = "";
  $symbol_list_prefix = "";
  switch ($config_info['symbol_list_type'])
    {
    case "single":
      $optionsList .= '&SL=x' . urlencode($config_info['single_symbol']);
      break;
    case "exclude":
      $symbol_list_prefix = "X";
      // fall through!
    case "only":
      {
	$symbol_lists = array();
	foreach ($config_info['symbol_lists'] as $owner_id => $list_ids)
	  {
	    foreach ($list_ids as $list_id => $unused)
	      {
		if ($owner_id)
		  {
		    $symbol_lists[] = $owner_id . 'o' . $list_id;
		  }
		else
		  {
		    $symbol_lists[] = $list_id;
		  }
	      }
	  }
	if (count($symbol_lists))
	  {
	    $optionsList .= '&SL=' . $symbol_list_prefix . implode('a', $symbol_lists);
	  }
      }
    }
  return $optionsList;
}

function hasConfigInfo($source)
{
  return array_key_exists('O', $source) || array_key_exists('form', $source);
}

function getConfigInfo($fix=true)
{
  if ($_SERVER["REQUEST_METHOD"]=="POST")
  {
    readConfigInfo($_POST, $fix);
  }
  else
  {
    readConfigInfo($_GET, $fix);
  }
}

// Some filters have been renamed.  We use this function to read in a value
// using the old name, but store it internally as if it came to us with the
// new name.  When we export the configuration, we always use the new nemae.
function loadOldFilter(&$config_info, $rawConfig, $oldName, $newName, $negate)
{
  if (is_numeric($tmp=removeCommas($rawConfig[$oldName])))
    {
      if ($negate)
	{
	  $tmp = -$tmp;
	}
      $config_info['alert_filters'][$newName] = $tmp;
    }
}

function readConfigInfo($source, $fix=true)
{
  global $config_info, $alert_types, $window_filters, $exchange_filters, $exchange_info, $bitByOption, $display_only_fields;
  ensureGMP();
  $config_info = array();
  $config_info['active_alerts'] = array();
  $config_info['active_exchanges'] = array();
  if ($source["O"])
  {
    list($activeAlertsNum, $activeExchanges, $viewingOptions) = explode("_", $source["O"]);
    $activeExchanges = hexdec($activeExchanges);
    $config_info['viewing_options'] = hexdec($viewingOptions);
    $activeAlertsNum = gmp_init("0x".$activeAlertsNum);
    foreach ($alert_types as $bit => $alert)
    {
      if (gmp_scan1($activeAlertsNum, $bit) == $bit)
      {
        $config_info['active_alerts'][$alert] = true;
      }
    }
    $bit = 1;
    foreach ($exchange_filters as $internal)
    {
      if ($bit & $activeExchanges)
      {
        $config_info['active_exchanges'][$internal] = true;
      }
      $bit <<= 1;
    }
    $show_count = 0;
    while (true)
    {
      if (isset($source['show' . $show_count]))
      {
        $current_show = $source['show' . $show_count];
        if ($window_filters[$current_show] || $display_only_fields[$current_show])
        {
          $config_info['show'][] = $current_show;
	}
      }
      else
      {
        break;
      }
      $show_count++;
    }
  }
  else
  {
    foreach ($alert_types as $alert)
    {
      if ($source["Sh_" . $alert])
      {
        $config_info['active_alerts'][$alert] = true;
      }
    }
    $activeExchanges = array();
    foreach ($exchange_filters as $form => $internal)
    {
      if ($source[$form]) 
      {
        $config_info['active_exchanges'][$internal] = true;
      }
    }
    $viewingOptions = 0;
    foreach ($bitByOption as $option => $bit)
    {
      if ($source["VO_" . $option])
      {
        $viewingOptions |= $bit;
      }
    }
    $config_info['viewing_options'] = $viewingOptions;
  }
  if ($config_info['active_exchanges']['Listed'])
  {
    unset($config_info['active_exchanges']['Listed']);
    $config_info['active_exchanges']['NYSE'] = true;
    $config_info['active_exchanges']['AMEX'] = true;
  }
  if ($fix)
  {
    if (!count($config_info['active_exchanges']))
    {
      foreach($exchange_info as $internal => $item_info)
      {
        if (!$item_info['limited access'])
        {
          $config_info['active_exchanges'][$internal] = true;
        }
      }
    }
    if ((!count($config_info['active_alerts'])) && (!$source["O"]))
    {
      $config_info['active_alerts']["HB"] = true;
    }
  }
  $config_info['alert_quality'] = array();
  foreach ($config_info['active_alerts'] as $alert => $unused)
  {
    if (is_numeric($tmp=removeCommas($source['Q' . $alert])))
    {
      $config_info['alert_quality'][$alert] = $tmp;
    }
  }
  foreach ($display_only_fields as $name => $field_info)
  {
    if ($source['show_' . $name])
    {
      $config_info['show'][] = $name;
    }
  }
  $config_info['alert_filters'] = array();
  loadOldFilter($config_info, $source, "PF1", "MinDec", false);
  loadOldFilter($config_info, $source, "PF2", "MaxDec", false);
  loadOldFilter($config_info, $source, "MinGDR", "MaxGUR", true);
  loadOldFilter($config_info, $source, "MinGDP", "MaxGUP", true);
  loadOldFilter($config_info, $source, "MinGDD", "MaxGUD", true);
  foreach ($window_filters as $name => $filter_info)
  {
    foreach (array("Min", "Max") as $dir)
      {
        $filter_name = $dir . $name;
	if (is_numeric($tmp=removeCommas($source[$filter_name])))
	  {
	    $config_info['alert_filters'][$filter_name] = $tmp;
	  }
      }
    if ($source['show_' . $name])
    {
      $config_info['show'][] = $name;
    }
  }
  readConfigInfo_symbolLists($source, $config_info);
  if ($source['S']==-1)
  {
    $sound = $source['S_OTHER'];
  }
  else
  {
    $sound = $source['S'];
  }
  if ($sound)
  {
    $config_info['sound'] = $sound;
  }
  if ($source['opt'])
  {
    $config_info['optionable'] = true;
  }
  if ($source['WN'] != '')
  {
    $config_info['window_name'] = $source['WN'];
  }
  if ($source['col_ver'] != '')
  {
    $config_info['column_version'] = $source['col_ver'];
  }
  //echo "
";
  //print_r($config_info);
  //echo "
"; //exit; } function readConfigInfo_symbolLists($source, &$config_info) { $config_info['symbol_lists'] = array(); if ($source['SL'] == '') { switch ($source['EntireUniverse']) { case '': // Include only selected lists case '2': // Exclude selected lists { foreach ($source as $key => $value) { if (preg_match("/^SL_([0-9]+)_([0-9]+)$/", $key, $symbol_list_parts)) { $config_info['symbol_lists'][$symbol_list_parts[1]+0][$symbol_list_parts[2]+0] = true; } } if (count($config_info['symbol_lists'])) { if ($source['EntireUniverse'] == '2') { $config_info['symbol_list_type'] = 'exclude'; } else { $config_info['symbol_list_type'] = 'only'; } } break; } case '3': // Single symbol only { $single_symbol = strtoupper(trim($source['SingleSymbol'])); if ($single_symbol != "") { $config_info['single_symbol'] = $single_symbol; $config_info['symbol_list_type'] = "single"; } break; } case '1': // Entire universe default: } } else { // $source['SL'] != '' if (substr($source['SL'], 0, 1) == 'x') { $single_symbol = strtoupper(trim(substr($source['SL'],1))); if ($single_symbol != "") { $config_info['single_symbol'] = $single_symbol; $config_info['symbol_list_type'] = "single"; } } else { if (substr($source['SL'], 0, 1) == 'X') { $symbol_list_type = 'exclude'; $encoded_symbol_lists = substr($source['SL'], 1); } else { $symbol_list_type = 'only'; $encoded_symbol_lists = $source['SL']; } $symbol_lists = explode('a', $encoded_symbol_lists); foreach ($symbol_lists as $symbol_list) { if (preg_match('/^(([0-9]+)o)?([0-9]+)$/', $symbol_list, $symbol_list_parts)) { // The first key is the owner, 0 for the current user. // The second key is the list id. $config_info['symbol_lists'][$symbol_list_parts[2]+0][$symbol_list_parts[3]+0] = true; } } if (count($config_info['symbol_lists'])) { $config_info['symbol_list_type'] = $symbol_list_type; } } } } // Internal function removeCommas($number) { return strtr($number, array(',' => '')); } // Definately internal. And ugly. function ensureGMP() { // Windows doesn't implement this! // And it is not a default under unix. // This is a very simplistic and incomplete port. // It makes some attempts to report unimplemented features, // but it only goes so far. // Yuck. I would never have done this but I didn't know that gmp // was only available on windows at the time. if (!function_exists("gmp_init")) { // Our version of a gmp number is an array of integers. // Each integer is 7 nibbles wide. // 0 is the least significant integer. function gmp_init($hex_value) { if (is_int($hex_value) && ($hex_value>=0) && ($hex_value <= 0xfffffff)) { $result = array($hex_value); } else if (preg_match("/^0[xX]([0-9a-fA-F]+)$/", $hex_value, $pieces)) { $remaining = $pieces[1]; $result = array(); while (strlen($remaining)) { $result[] = hexdec(substr($remaining, -7)); $remaining = substr($remaining, 0, -7); } } else { user_error("bad input to gmp_init: " . $hex_value); } return $result; } function gmp_strval($gmp_number, $base) { if (count($gmp_number) == 0) { return "0"; } if ($base == 16) { $max = -1; foreach($gmp_number as $index => $value) { $max = max($max, $index); } $result = ""; for ($index = 0; $index <= $max; $index++) { $result = str_pad(dechex($gmp_number[$index]), 7, "0", STR_PAD_LEFT) . $result; } } else { user_error("invalid base in gmp_strval"); } return $result; } // This returns $bit if the bit is set, and null for // everthing else. That is what our code needs, but the // real gmp library would look for a bit further to the right // before failing. // We really wanted the gmp test bit function. For some reason // php doesn't expose that function. So we use gmp_scan1 to // implement our own test bit function. The function below is only // intended to be used for that purpose. function gmp_scan1($gmp_number, $bit) { if (count($gmp_number)) { if ($gmp_number[$bit / 28] & (1<<($bit % 28))) { return $bit; } } return -1; } function gmp_setbit(&$gmp_number, $bit) { $gmp_number[$bit / 28] |= (1<<($bit % 28)); } } } ?>