StockFetcher Forums · Filter Exchange · Can ChatGPT write winning StockFetcher filters<< >>Post Follow-up
xarlor
603 posts
msg #161867
Ignore xarlor
7/3/2025 11:06:05 AM

Short answer: Yes, it can.

Back in May I asked ChatGPT a simple question: "Good morning, ChatGPT. You got any good Stock Fetcher filters that are reliable winners?" It returned 4 filters of different types, a RSI2 mean reversion, momentum breakout, low float with volume spike, and bollinger band squeeze. The first one immediately grabbed my attention as ChatGPT tagged it as "Larry Connors Style". I asked it to expand on this one for swing trading and it returned the following filter:

Fetcher[
price > 5
average volume(30) > 300000
RSI(2) < 5
close above MA(200)
close 1 day ago < close 2 days ago
close 2 days ago < close 3 days ago
]



ChatGPT goes on to explain how to use it:
Run the filter end of day
Enter at or near close (or the next morning if you want confirmation)
Set tight stops if the stock continues to fall (optional, Connors didn’t use strict stops but depended on high win rates)

It also included exit rules:
On a 1–3 day bounce, or
When price closes above the 5-day MA, or
When RSI(2) > 70

So far, so Larry Connors. I'm very familiar with his trading style and this filter and exit rules are combining several of Larry Connor's ideas into one unified filter. I took it for a spin with my own tweaks:

Fetcher[
/* Classic Connors Filter (Swing Long) by ChatGPT. Buy, exit signals added by Xarlor */

not etf
optionable
close < 100
set{buy1,count(price > 5,1)}
set{buy2,count(average volume(30) > 1000000,1)}
set{buy3,count(RSI(2) < 5,1)}
set{buy4,count(close above MA(200),1)}
set{buy5,count(close 1 day ago < close 2 days ago,1)}
set{buy6,count(close 2 days ago < close 3 days ago,1)}

set{buy7,buy1 * buy2}
set{buy8,buy7 * buy3}
set{buy9,buy8 * buy4}
set{buy10,buy9 * buy5}
set{buy,buy10 * buy6}
buy > 0

set{exit1,count(close > ma(5),1)}
set{exit2,count(RSI(2) > 70,1)}
set{exit,exit1 + exit2}
exit > -1

add column RSI(2)
add column sector

draw RSI(2) line at 5
draw RSI(2) line at 70
]



For those of you without advanced subscription:

Fetcher[
/* Classic Connors Filter (Swing Long) by ChatGPT. */

not etf
optionable
close < 100
price > 5
average volume(30) > 1000000
RSI(2) < 5
close above MA(200)
close 1 day ago < close 2 days ago
close 2 days ago < close 3 days ago

add column RSI(2)
add column sector

draw RSI(2) line at 5
draw RSI(2) line at 70
]



You can use this for buy/sell straight shares. However, my strategy was to buy 14+ DTE ATM calls 30 minutes before market close. Doing this resulted in the following over the past 2 months:

Total trades: 115
Winners: 86
Losers: 29

Average number of opening trades per day: 5
Average days in trade: 3
Maximum days in trade: 11
Minimum days in trade: 1

Average P/L per trade: 25.79%
Average winner: 40.36%
Average loser: -17.41%
Reward/Risk Ratio (Average Win / Average Loss): 2.32
Highest winner: 229.63%
Biggest loser: -81.73%

Click this link for trade details

Not surprised the strategy works, but ChatGPT so casually providing winning filters is one example of why AI is transformative.

As with all things, disclaimers galore:
Not financial advice, this is for educational purposes only.
Trading is risky and you will lose money.
Options trading involves substantial risk of loss and is not suitable for every investor.
Past performance does not guarantee future results.




nibor100
1,094 posts
msg #161868
Ignore nibor100
7/3/2025 4:30:12 PM

Thanks for posting that!

I have a few questions related to your use of ChatGPT:

Was this the free version or the subscriber version?

Had you previously trained it on where to find StockFetcher filters and/or manual?

Had you previously used it for other trading related queries that might have indicated to it, your like of Connors type strategies?

Ed S



xarlor
603 posts
msg #161869
Ignore xarlor
7/3/2025 5:56:30 PM

Hey, my fellow Gator! I'll be happy to answer.

Was this the free version or the subscriber version?
Free version. I've been using the free version for about a year now. With the free version, at some point the system stops you from using GPT-4o and knocks you down to a less-powerful model for several hours. At that point, I hang it up and come back when the timer expires and continue my work.

Had you previously trained it on where to find StockFetcher filters and/or manual?
Nope, this is why AI is a paradigm shift. I've used it to help with AutoIt scripts, batch scripts, PowerShell scripts, and now StockFetcher and ThinkScripts. In each instance, I had never asked it about that particular language, it just knew.

Had you previously used it for other trading related queries that might have indicated to it, your like of Connors type strategies?
No again. It gave me four filters. This was the only swing trading one. There was an intraday (day trading), a potential breakout filter, and a momentum one. It was just throwing a wide net and only asked me afterward if I had a preferred trading strategy. All that said, I would not be surprised if it scraped all of StockFetcher and tied my posts here with my username on ChatGPT and made a connection. Hold that thought...

Aaaaand, I'm back. I asked ChatGPT directly. Here's the response. I reiterate, prior to this I had never asked ChatGPT anything about trading. I used it mostly for other unrelated coding (ThinkScript came after the StockFetcher chat) and silly arts and crafts ideas.



Mactheriverrat
3,171 posts
msg #161870
Ignore Mactheriverrat
7/3/2025 10:52:22 PM

Great thread

styliten
319 posts
msg #161871
Ignore styliten
7/4/2025 2:39:43 AM

@ Xarlor

Kevin mentioned the PERIOD() function in this thread:

9/23/2017 Kevin_in_GA wrote on the PERIOD() function


Kevin_in_GA 9/23/2017 7:38:56 PM

Try using the period() function:

Here is the info from the manual (please look here as there is a lot of good stuff):

Period

Description:

The Period formula allows you to run an analysis on alternate bar periods, such as weekly or monthly bars. Any value calculated within the Period formula will be based on the specified period. The use of this formula allows systems to include an analysis of daily, weekly and monthly bars, all within the same entry or exit string.

To allow the alternate period's results to synchronize with the underlying daily data, the results of the Period formula are expanded out so that each daily result in the period contains the same value. For example, assume we're using a Period formula for weekly bars. Once the weekly values have been generated, all daily values in that week will be given the same weekly result.

Formula:

Example: period ( WEEKLY, mov(close, 5, simple) ) creates the 5-day simple moving average for weekly close prices.

Example: period ( MONTHLY, increasing( close ) ) returns a 1 if the most recent monthly close price bars are increasing, or a 0 if they are not increasing.

Parameters:

Period: Identifies the bars to be used. The following values are allowed:
DAILY
WEEKLY
MONTHLY
QUARTERLY
YEARLY
2DAY
3DAY
4DAY
5DAY
6DAY
7DAY
8DAY
9DAY

Smoothing: For values that can be volatile, combining periods into weekly or monthly bars can smooth the results and help eliminate noise from the patterns.



Any luck using the PERIOD() function Kevin mentioned above to create any MONTHLY indicators such as the monthly moving average, etc., etc.? Or has that function been removed from SF for whatever reason?

StockFetcher Forums · Filter Exchange · Can ChatGPT write winning StockFetcher filters<< >>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.