StockFetcher Forums · Filter Exchange · Uhaul<< 1 2 >>Post Follow-up
WESTFALL
9 posts
msg #99437
Ignore WESTFALL
3/1/2011 11:12:21 AM

Loosely base on RFR I call this filter UHAUL trying to find stocks with the likelyhood of ONLY MOVING ONE WAY.

Seems like a starting point anyway!

No clue how to make it clickable.



SET {MOVEMENTUP, HIGH - OPEN}
SET{MOVEMENTDOWN, LOW - OPEN}
SET{PCTUP, MOVEMENTUP / OPEN}
SET{PCTDOWN, MOVEMENTDOWN / OPEN}
SET{PCTUP100, COUNT(PCTUP GREATER THAN .0049, 100)}
SET{PCTDOWN100, COUNT(PCTDOWN LESS THAN -.0051,100)}
SET{PCTUP10, COUNT(PCTUP GREATER THAN .0049, 10)}
SET{PCTDOWN10, COUNT(PCTDOWN LESS THAN -.0051,10)}
SET{PCTCOMBO100, PCTUP100 + PCTDOWN100}

SET{PCTUP1, COUNT(PCTUP GREATER THAN .0049, 1)}
SET{PCTDOWN1, COUNT(PCTDOWN LESS THAN -.0049,1)}
SET{ONEWAYUP100, COUNT(MOVEMENTDOWN EQUALS 0, 100)}
SET{ONEWAYDOWN100, COUNT(MOVEMENTUP EQUALS 0, 100)}
SET{ONEWAYUP1, COUNT(MOVEMENTDOWN EQUALS 0, 1)}
SET{ONEWAYDOWN1, COUNT(MOVEMENTUP EQUALS 0, 1)}
SET{ONEWAY100, ONEWAYUP100 + ONEWAYDOWN100}
SET{ONEWAY1, ONEWAYUP1 + ONEWAYDOWN1}
SET{ONEWAY1FLAG, COUNT( ONEWAY1 EQUALS 1, 1)}
SET{PCTFLAG1, PCTUP1 - PCTDOWN1}
SET{COMBOFLAG1, ONEWAY1FLAG + PCTFLAG1}
SET{COMBO100, COUNT(COMBOFLAG1 EQUALS 2, 100)}

ADD COLUMN COMBO100
ADD COLUMN AVERAGE VOLUME (100)
ADD COLUMN MARKET
ADD COLUMN PCTUP10
ADD COLUMN PCTDOWN10
ADD COLUMN PCTCOMBO100

AVERAGE VOLUME(10) ABOVE 750000
AVERAGE VOLUME (100) ABOVE 750000
VOLUME ABOVE 750000
MARKET NOT OTCCB
CLOSE ABOVE 49.99
COMBO100 ABOVE 9

SORT COLUMN 1 DESCENDING



duke56468
683 posts
msg #99438
Ignore duke56468
3/1/2011 12:42:44 PM

Fetcher[

SET {MOVEMENTUP, HIGH - OPEN}
SET{MOVEMENTDOWN, LOW - OPEN}
SET{PCTUP, MOVEMENTUP / OPEN}
SET{PCTDOWN, MOVEMENTDOWN / OPEN}
SET{PCTUP100, COUNT(PCTUP GREATER THAN .0049, 100)}
SET{PCTDOWN100, COUNT(PCTDOWN LESS THAN -.0051,100)}
SET{PCTUP10, COUNT(PCTUP GREATER THAN .0049, 10)}
SET{PCTDOWN10, COUNT(PCTDOWN LESS THAN -.0051,10)}
SET{PCTCOMBO100, PCTUP100 + PCTDOWN100}

SET{PCTUP1, COUNT(PCTUP GREATER THAN .0049, 1)}
SET{PCTDOWN1, COUNT(PCTDOWN LESS THAN -.0049,1)}
SET{ONEWAYUP100, COUNT(MOVEMENTDOWN EQUALS 0, 100)}
SET{ONEWAYDOWN100, COUNT(MOVEMENTUP EQUALS 0, 100)}
SET{ONEWAYUP1, COUNT(MOVEMENTDOWN EQUALS 0, 1)}
SET{ONEWAYDOWN1, COUNT(MOVEMENTUP EQUALS 0, 1)}
SET{ONEWAY100, ONEWAYUP100 + ONEWAYDOWN100}
SET{ONEWAY1, ONEWAYUP1 + ONEWAYDOWN1}
SET{ONEWAY1FLAG, COUNT( ONEWAY1 EQUALS 1, 1)}
SET{PCTFLAG1, PCTUP1 - PCTDOWN1}
SET{COMBOFLAG1, ONEWAY1FLAG + PCTFLAG1}
SET{COMBO100, COUNT(COMBOFLAG1 EQUALS 2, 100)}

ADD COLUMN COMBO100
ADD COLUMN AVERAGE VOLUME (100)
ADD COLUMN MARKET
ADD COLUMN PCTUP10
ADD COLUMN PCTDOWN10
ADD COLUMN PCTCOMBO100

AVERAGE VOLUME(10) ABOVE 750000
AVERAGE VOLUME (100) ABOVE 750000
VOLUME ABOVE 750000
MARKET NOT OTCCB
CLOSE ABOVE 49.99
COMBO100 ABOVE 9

SORT COLUMN 1 DESCENDING

]



bkhurana43
103 posts
msg #99456
Ignore bkhurana43
3/2/2011 12:14:51 PM

I clicked on the above filter and got "Filter performance restrictions" Why ? What is the way to overcome this problem in SF?
It mainly relates to SET statements.

mktmole
325 posts
msg #99457
Ignore mktmole
3/2/2011 1:58:46 PM

This is because you are a Basic subscriber and the number of permitted formula set/count etc statements lower.
The above requires an Advanced Subscription to SF

duke56468
683 posts
msg #99490
Ignore duke56468
3/5/2011 10:26:00 AM

mktmole
msg #99457
- Ignore mktmole 3/2/2011 1:58:46 PM

This is because you are a Basic subscriber and the number of permitted formula set/count etc statements lower.
The above requires an Advanced Subscription to SF
=======================================================================================

mktmole....I still don't understand the limitation, here is one of Kevins filters with over 60 set functions and it works on basic subscription.


Fetcher[
CLOSE ABOVE 1
AVERAGE VOLUME(50) ABOVE 500000
OPTIONABLE

SET{SHORT1, COUNT(CLOSE BELOW MA(200),1)}
SET{SHORT2, COUNT(CLOSE ABOVE MA(5),1)}
SET{SHORT12, SHORT1 * SHORT2}


SET{1B_1, COUNT(HIGH INCREASING FOR 3 DAYS,1)}
SET{1B_2, COUNT(LOW INCREASING FOR 3 DAYS,1)}
SET{1B_3, 1B_1 * 1B_2}
SET{1B, 1B_3 * SHORT12}


SET{2B_1, COUNT(RSI(4) ABOVE 75,1)}
SET{2B, 2B_1 * SHORT1}


SET{3B_1, COUNT(RSI(2) INCREASING FOR 3 DAYS,1)}
SET{3B_2, COUNT(RSI(2) 3 DAYS AGO ABOVE 40,1)}
SET{3B_3, COUNT(RSI(2) ABOVE 90,1)}
SET{3B_4, 3B_1 * 3B_2}
SET{3B_5, 3B_3 * 3B_4}
SET{3B, 3B_5 * SHORT1}


SET{4B_1, COUNT(BOLLINGER %B(20,2) 2 DAYS AGO ABOVE 0.8,1)}
SET{4B_2, COUNT(BOLLINGER %B(20,2) 1 DAY AGO ABOVE 0.8,1)}
SET{4B_3, COUNT(BOLLINGER %B(20,2) ABOVE 0.8,1)}
SET{4B_4, 4B_1 * 4B_2}
SET{4B_5, 4B_3 * 4B_4}
SET{4B, 4B_5 * SHORT1}


SET{UP_4OF5, COUNT(CLOSE ABOVE CLOSE 1 DAY AGO,5)}
SET{UPCOUNT, COUNT(UP_4OF5 ABOVE 3.5,1)}
SET{5B, UPCOUNT * SHORT12}


SET{6B_1, COUNT(RSI(2) 1 DAY AGO ABOVE 90,1)}
SET{6B_2, COUNT(RSI(2) ABOVE 94,1)}
SET{6B_3, 6B_1 * 6B_2}
SET{6B, 6B_3 * SHORT12}


SET{7b1, COUNT(CLOSE IS BELOW UPPER BOLLINGER BANDS(16,2.5),1)}
SET{7b2, COUNT(CLOSE 1 DAY AGO IS ABOVE UPPER BOLLINGER BANDS(16,2.5) 1 DAY AGO,1)}
SET{7B3, 7b1 * 7b2}
SET{7B, 7B3 * SHORT12}


SET{8B1, COUNT(BOLLINGER %B(20,2) ABOVE 0.99,1)}
SET{8B, 8B1 * SHORT12}


SET{9B1, COUNT(RSI(2) ABOVE 99,1)}
SET{9B, 9B1 * SHORT12}


SET{PRICERATIO, CLOSE / IND(SPY,CLOSE)}
SET{RATIOMA, CMA(PRICERATIO,10)}
SET{RATIOSTD10, CSTDDEV(PRICERATIO,10)}
SET{DIFF10, PRICERATIO - RATIOMA}
SET{ZSCORE10, DIFF10 / RATIOSTD10}
SET{THRESHOLD, RATIOSTD10 * 2.5}
SET{10B1, COUNT(ZSCORE10 ABOVE 2,1)}
SET{10B, 10B1 * SHORT12}


SET{C1, 1B + 2B}
SET{C2, C1 + 3B}
SET{C3, C2 + 4B}
SET{C4, C3 + 5B}
SET{C5, C4 + 6B}
SET{C6, C5 + 7B}
SET{C7, C6 + 8B}
SET{C8, C7 + 9B}

SET{COMPOSITE, C8 + 10B}

SET{KPM1, 7B +8B}
SET{KPM2, KPM1 + 9B}
SET{KPMSCORE, KPM2 + 10B}

set{sd, cstddev(close,20)}
set{stoploss, close + atr(10)}
set{profittarget, CLOSE - atr(10)}
set{profit1, profittarget / close}
set{profit2, 1 - profit1}
set{profit, profit2 * 100}

COMPOSITE ABOVE 1

ADD COLUMN COMPOSITE
ADD COLUMN C5 {CONNORS SCORE}
ADD COLUMN KPMSCORE {KPM SCORE}
ADD COLUMN 7B {BB(16,2.5)}
ADD COLUMN BOLLINGER %B(20,2) {%B}
ADD COLUMN RSI(2)
ADD COLUMN ZSCORE10 {Z-SCORE}
ADD COLUMN STOPLOSS {STOP LOSS}
ADD COLUMN PROFITTARGET{PROFIT TARGET}
add column profit {profit %}
ADD COLUMN ATR(10)

SORT ON COLUMN 5 DESCENDING

DRAW MA(200)
DRAW ZSCORE10 LINE AT 2
DRAW MA(10)
DRAW BOLLINGER BANDS(20,2)
DRAW BOLLINGER BANDS(16,2.5)

]



lillian
26 posts
msg #99491
Ignore lillian
3/5/2011 10:50:01 AM

one day's data? whats the trigger for long or short? thanks!

WESTFALL
9 posts
msg #99493
Ignore WESTFALL
3/5/2011 11:59:24 AM

Since the concept is "Moving one way" the trigger is direction of movement. So, if price goes up from open go long. If price goes down from open go short. If price goes against you close the position and try another day on current selections. Thats is where the payoff is in being in on the days it only goes one way.

reels
29 posts
msg #99495
Ignore reels
3/5/2011 12:25:04 PM

Fetcher[


SET {MOVEMENTUP, HIGH - OPEN}
SET{MOVEMENTDOWN, LOW - OPEN}
SET{PCTUP, MOVEMENTUP / OPEN}
SET{PCTDOWN, MOVEMENTDOWN / OPEN}
SET{PCTUP100, COUNT(PCTUP GREATER THAN .0049, 100)}
SET{PCTDOWN100, COUNT(PCTDOWN LESS THAN -.0051,100)}
SET{PCTUP10, COUNT(PCTUP GREATER THAN .0049, 10)}
SET{PCTDOWN10, COUNT(PCTDOWN LESS THAN -.0051,10)}
SET{PCTCOMBO100, PCTUP100 + PCTDOWN100}

SET{PCTUP1, COUNT(PCTUP GREATER THAN .0049, 1)}
SET{PCTDOWN1, COUNT(PCTDOWN LESS THAN -.0049,1)}
SET{ONEWAYUP100, COUNT(MOVEMENTDOWN EQUALS 0, 100)}
SET{ONEWAYDOWN100, COUNT(MOVEMENTUP EQUALS 0, 100)}
SET{ONEWAYUP1, COUNT(MOVEMENTDOWN EQUALS 0, 1)}
SET{ONEWAYDOWN1, COUNT(MOVEMENTUP EQUALS 0, 1)}
SET{ONEWAY100, ONEWAYUP100 + ONEWAYDOWN100}
SET{ONEWAY1, ONEWAYUP1 + ONEWAYDOWN1}
SET{ONEWAY1FLAG, COUNT( ONEWAY1 EQUALS 1, 1)}
SET{PCTFLAG1, PCTUP1 - PCTDOWN1}
SET{COMBOFLAG1, ONEWAY1FLAG + PCTFLAG1}
SET{COMBO100, COUNT(COMBOFLAG1 EQUALS 2, 100)}

ADD COLUMN COMBO100
ADD COLUMN AVERAGE VOLUME (100)
ADD COLUMN MARKET
ADD COLUMN PCTUP10
ADD COLUMN PCTDOWN10
ADD COLUMN PCTCOMBO100

AVERAGE VOLUME(10) ABOVE 750000
AVERAGE VOLUME (100) ABOVE 750000
VOLUME ABOVE 750000
MARKET NOT OTCCB
CLOSE ABOVE 49.99


/* for Basic subscribers */

/*COMBO100 ABOVE 9 */

SORT COLUMN 1 DESCENDING

count(comboflag1 > 1 ,99) > 9


]




hi all, check if results are the same..

Reels

WESTFALL
9 posts
msg #99498
Ignore WESTFALL
3/5/2011 12:48:43 PM

Indeed the results are the same and thank you!

Has anybody noticed the backtesting limitation of SF on short positions? It appears to me the equity summary calculates the running gain/loss correctly but reduces capital by the gain amounts and increase capital by the loss amounts. Thus componding using gains is impacted significantly. As far as backtesting this filter I set a maximum 1 day hold with a maximum of 10 positions. In the advanced tab I use the following filters.

LONG BACKTEST

Entryprice:
Set {mybuy, open + .01}
mybuy

ExitPrice:
Set {myexit, open 1 day ago - .01}
myexit

Do not enter if target price is not met on following date. <------ check this box


*********************************************************************************************

SHORT BACKTEST

Entryprice:
Set {mybuy, open - .01}
mybuy

ExitPrice:
Set {myexit, open 1 day ago + .01}
myexit

Do not enter if target price is not met on following date. <------ check this box



This backtecst approach removes a large percentage of erroneous losers due to overnight carry requirement of SF backtesting.

Obviously the remaining losses would not exitst based on the entry/exit rules just no way to more accurately test in SF.



Kevin_in_GA
4,599 posts
msg #99503
Ignore Kevin_in_GA
3/5/2011 1:39:43 PM

THE ISSUE IS NOT HOW MANY SET FUNCTIONS ARE USED, BUT WHETHER OR NOT THEY ARE NESTED. ONE TYPICALLY USES A SET FUNCTION, THEN DOES SOME MATH ON IT IN ANOTHER SET FUNCTION, THEN DIVIDES IT BY YET ANOTHER SET FUNCTION, ETC. BEYOND A CERTAIN COMPLEXITY THE BASIC SUBSCRIPTION ENDS.

OFTER THE ISSUE SHOWS UP WHEN PLOTTING ONE FUNCTION ON ANOTHER GRAPH (AT LEAST FOR ME). THE FUNCTIONS THEMSELVES ARE FINE AND CAN BE ACCESSED USING THE "ADD COLUMN" COMMAND.

SORRY - DID NOT MEAN TO USE ALL CAPS!

StockFetcher Forums · Filter Exchange · Uhaul<< 1 2 >>Post Follow-up

*** Disclaimer *** StockFetcher.com does not endorse or suggest any of the securities which are returned in any of the searches or filters. They are provided purely for informational and research purposes. StockFetcher.com does not recommend particular securities. StockFetcher.com, Vestyl Software, L.L.C. and involved content providers shall not be liable for any errors or delays in the content, or for any actions taken based on the content.


Copyright 2022 - Vestyl Software L.L.C.Terms of Service | License | Questions or comments? Contact Us
EOD Data sources: DDFPlus & CSI Data Quotes delayed during active market hours. Delay times are at least 15 mins for NASDAQ, 20 mins for NYSE and Amex. Delayed intraday data provided by DDFPlus


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.