Saturday, July 18, 2026

Trading เค•े เคฒिเคฏे เค—ूเค—เคฒ เค•ोเคฒाเคฌ เคชเคฐ เคธ्เคŸॉเค• เคธ्เค•्เคฐीเคจเคฐ เค•ैเคธे เคฌเคจाเคं ? (Free Google Colab Scanner Code)

 เคจเคฎเคธ्เคคे เคฆोเคธ्เคคों! เคฎेเคฐे เคฏूเคŸ्เคฏूเคฌ เคšैเคจเคฒ เคชเคฐ เค†เคชเค•ा เคช्เคฏाเคฐ เคฆेเคจे เค•े เคฒिเค เคฌเคนुเคค-เคฌเคนुเคค เคงเคจ्เคฏเคตाเคฆ। เคตीเคกिเคฏो เคฎें เค•िเค เค—เค เคตाเคฆे เค•े เค…เคจुเคธाเคฐ, เคฏเคนाँ เคตเคน 'เคธुเคชเคฐ เคธ्เค•ैเคจเคฐ เค•ोเคก' เคนै เคœो เค†เคชเค•े เคฒिเค 210 เคถेเคฏเคฐों เค•े เคเคคिเคนाเคธिเค• เคกेเคŸा เค•ो เคชเคฒเค• เคเคชเค•เคคे เคนी เคธ्เค•ैเคจ เค•เคฐ เคฆेเค—ा เค”เคฐ เค•ेเคตเคฒ เค‰เคจ เคถेเคฏเคฐों เค•ी เคฒिเคธ्เคŸ เคฆेเค—ा เคœिเคจเคฎें CAR (Cumulative Average) เคชॉเคœिเคŸिเคต เคนै เค”เคฐ เคœो เค…เคชเคจे 30, 50 เคต 200 DMA เคธे เคŠเคชเคฐ เคŸ्เคฐेเคก เค•เคฐ เคฐเคนे เคนैं।

เคธเคฌเคธे เค…เคš्เค›ी เคฌाเคค เคฏเคน เคนै เค•ि เค‡เคธे เคšเคฒाเคจे เค•े เคฒिเค เค†เคชเค•ो เค•िเคธी เคธॉเคซ्เคŸเคตेเคฏเคฐ เค•ो เคกाเค‰เคจเคฒोเคก เค•เคฐเคจे เคฏा เค•ोเคกिंเค— เคธीเค–เคจे เค•ी เค•ोเคˆ เคœ़เคฐूเคฐเคค เคจเคนीं เคนै। เคฌเคธ เคจीเคšे เคฆिเค เค—เค 4 เค†เคธाเคจ เคธ्เคŸेเคช्เคธ เค•ो เคซॉเคฒो เค•เคฐें:

๐Ÿš€ Google Colab เคฎें เค•ोเคก เค•ैเคธे เคšเคฒाเคं? (4 เค†เคธाเคจ เคธ्เคŸेเคช्เคธ)

เคธ्เคŸेเคช 1: Google Colab เค–ोเคฒें เค…เคฌ เค…เคชเคจे เคฌ्เคฐाเค‰เคœ़เคฐ (Chrome, Safari เค†เคฆि) เคฎें เคจเคฏा เคŸैเคฌ เค–ोเคฒें เค”เคฐ Google Colab เคชเคฐ เคœाเคँ।

  • เค…เค—เคฐ เค†เคช เคชเคนเคฒी เคฌाเคฐ เค† เคฐเคนे เคนैं, เคคो เคฏเคน เค†เคชเคธे เค†เคชเค•ी Gmail ID เคธे เคฒॉเค—िเคจ เค•เคฐเคจे เค•ो เค•เคนेเค—ा, เคฒॉเค—िเคจ เค•เคฐ เคฒें।

  • เคธ्เค•्เคฐीเคจ เคชเคฐ เค†เคชเค•ो เคจीเคฒे เคฐंเค— เค•ा 'New Notebook' (เคจเคˆ เคจोเคŸเคฌुเค•) เคฌเคŸเคจ เคฆिเค–ाเคˆ เคฆेเค—ा, เค‰เคธ เคชเคฐ เค•्เคฒिเค• เค•เคฐें।

เคธ्เคŸेเคช 2: เคจीเคšे เคฆिเค เค—เค เค•ोเคก เค•ो เค•ॉเคชी เค•เคฐें เคฎैंเคจे เคชूเคฐा เคชाเคฏเคฅเคจ เค•ोเคก (Python Code) เคฆिเคฏा เคนुเค† เคนै। เค‰เคธ เคชूเคฐे เค•ोเคก เค•ो เคเค• เคธाเคฅ เคธेเคฒेเค•्เคŸ เค•เคฐें เค”เคฐ Copy เค•เคฐ เคฒें।

๐Ÿ‘‡ เคฏเคนाँ เคธे เค•ोเคก เค•ॉเคชी เค•เคฐें: ๐Ÿ‘‡

Python Code


# -------------------------------------------------------------------------
# CAR (Cumulative Average) + 30, 50, 200 DMA เคธुเคชเคฐ เคฌ्เคฐेเค•เค†เค‰เคŸ เคธ्เค•ैเคจเคฐ
# -------------------------------------------------------------------------

# เคฏเคนाँ เคนเคฎ เค•ुเค› เคœ़เคฐूเคฐी เคฒाเค‡เคฌ्เคฐेเคฐी (เคŸूเคฒเค•िเคŸ) เคฎंเค—ा เคฐเคนे เคนैं:
import yfinance as yf    # เคฏเคน เคฒाเค‡เคฌ्เคฐेเคฐी เคฏाเคนू เคซाเค‡เคจेंเคธ เคธे เคถेเคฏเคฐों เค•ा เคเคคिเคนाเคธिเค• (Historical) เคกेเคŸा เคซ्เคฐी เคฎें เคกाเค‰เคจเคฒोเคก เค•เคฐเคคी เคนै।
import pandas as pd      # เคฏเคน เคกेเคŸा เค•ो เคเค• เคเค•्เคธेเคฒ เคœैเคธी เคŸेเคฌเคฒ (Rows เค”เคฐ Columns) เคฎें เค…เคš्เค›े เคธे เคธเคœाเคจे เค•े เค•ाเคฎ เค†เคคी เคนै।
import warnings          # เคซाเคฒเคคू เค•ी เคšेเคคाเคตเคจिเคฏों เค•ो เค›ुเคชाเคจे เค•े เคฒिเค।
import logging           # เคฏเคน เคชीเค›े เคšเคฒ เคฐเคนे เคช्เคฐोเคธेเคธ เค•े เคฎैเคธेเคœ เค•ो เค•ंเคŸ्เคฐोเคฒ เค•เคฐเคคा เคนै।
from datetime import datetime  # เคฏเคน เค†เคœ เค•ी เคคाเคœ़ा เคคाเคฐीเค– เคจिเค•ाเคฒเคจे เค•े เคฒिเค เคนै।

# เคฏเคน เคฒाเค‡เคจ เคฏाเคนू เคซाเค‡เคจेंเคธ เค•ी เคซाเคฒเคคू เคฒाเคฒ เคฐंเค— เค•ी เคเคฐเคฐ (เคœैเคธे เค…เค—เคฐ เค•ोเคˆ เคถेเคฏเคฐ เคจ เคฎिเคฒे) เค•ो เคธ्เค•्เคฐीเคจ เคชเคฐ เค†เคจे เคธे เคฐोเค•เคคी เคนै, เคคाเค•ि เคนเคฎाเคฐी เคธ्เค•्เคฐीเคจ เคธाเคซ เคฐเคนे।
logging.getLogger('yfinance').setLevel(logging.CRITICAL)
warnings.filterwarnings('ignore')

# -------------------------------------------------------------------------
# เคฎुเค–्เคฏ เคซंเค•्เคถเคจ เคฌเคจाเคจा (Main Scanner Logic)
# -------------------------------------------------------------------------

# 'advanced_stock_scanner' เคจाเคฎ เค•ा เคเค• เคซंเค•्เคถเคจ เคฌเคจा เคฐเคนे เคนैं, เคœिเคธे เคนเคฎ เค…เคชเคจी เคถेเคฏเคฐों เค•ी เคฒिเคธ्เคŸ เคฆेंเค—े।
def advanced_stock_scanner(ticker_list):
    results = [] # เค–ाเคฒी เคฒिเคธ्เคŸ เคฌเคจा เคฐเคนे เคนैं, เคœिเคธเคฎें เคนเคฎ เคชाเคธ เคนुเค (Breakout) เคถेเคฏเคฐों เค•ा เคกेเคŸा เคœเคฎा เค•เคฐेंเค—े।
    
    # เค†เคœ เค•ी เคคाเคฐीเค– เค•ो (DD-MM-YYYY) เค•े เคซॉเคฐ्เคฎेเคŸ เคฎें เคจिเค•ाเคฒ เคฐเคนे เคนैं, เคคाเค•ि เค‡เคธे เคนเคฎाเคฐी เคเค•्เคธेเคฒ เคฐिเคชोเคฐ्เคŸ เคฎें เคœोเคก़ เคธเค•ें।
    today_date = datetime.now().strftime("%d-%m-%Y")
    
    print(f"เค•ुเคฒ {len(ticker_list)} เคถेเคฏเคฐों เค•ी เคธ्เค•ैเคจिंเค— เคถुเคฐू เคนो เคฐเคนी เคนै... เค•ृเคชเคฏा เคช्เคฐเคคीเค•्เคทा เค•เคฐें।\n")
    
    # FOR เคฒूเคช (Loop): เคฏเคน เคฒूเคช เคนเคฎाเคฐी เคฒिเคธ्เคŸ เค•े เคนเคฐ เคเค• เคถेเคฏเคฐ (ticker) เค•ो เคเค•-เคเค• เค•เคฐเค•े เคšेเค• เค•เคฐेเค—ा।
    for ticker in ticker_list:
        try:
            # 1. เคกेเคŸा เคกाเค‰เคจเคฒोเคก เค•เคฐเคจा (Data Fetching)
            # เคฏเคนाँ เคนเคฎ เคชिเค›เคฒे 2 เคธाเคฒ (period="2y") เค•ा เคฐोเคœ़ाเคจा (interval="1d") เคกेเคŸा เคกाเค‰เคจเคฒोเคก เค•เคฐ เคฐเคนे เคนैं। 
            # 200 DMA เคจिเค•ाเคฒเคจे เค•े เคฒिเค เคนเคฎें เค•เคฎ เคธे เค•เคฎ 200 เคฆिเคจ เค•ा เคกेเคŸा เคšाเคนिเค เคนी เคนोเคคा เคนै।
            data = yf.download(ticker, period="2y", interval="1d", progress=False)
            
            # เค…เค—เคฐ เค•ोเคˆ เคถेเคฏเคฐ เคฌाเคœ़ाเคฐ เคฎें เคจเคฏा เค†เคฏा เคนै เค”เคฐ เค‰เคธเค•ा 200 เคฆिเคจ เค•ा เคกेเคŸा เคนी เคจเคนीं เคนै, เคคो เค‰เคธे เค›ोเคก़ เค•เคฐ เค…เค—เคฒे เคถेเคฏเคฐ เคชเคฐ เคœाเค“।
            if data.empty or len(data) < 200: 
                continue
                
            # เค•्เคฒोเคœ़िंเค— เคช्เคฐाเค‡เคธ (เคฌंเคฆ เคญाเคต) เค•ो เคเค• เคฒिเคธ्เคŸ เคฎें เคจिเค•ाเคฒ เคฐเคนे เคนैं।
            close_prices = data['Close'].squeeze()
            
            # 2. เคฎूเคตिंเค— เคเคตเคฐेเคœ (DMAs) เค•ी เค—เคฃเคจा
            # .rolling(window=30).mean() เคชिเค›เคฒे 30 เคฆिเคจों เค•ा เคธाเคงाเคฐเคฃ เค”เคธเคค เคจिเค•ाเคฒเคคा เคนै।
            # .iloc[-1] เค•ा เคฎเคคเคฒเคฌ เคนै เค•ि เคนเคฎें เคชूเคฐी เคฒिเคธ्เคŸ เคจเคนीं เคšाเคนिเค, เคธिเคฐ्เคซ เค†เคœ เค•ी เคธเคฌเคธे เคคाเคœ़ा (เค†เค–़िเคฐी) เคเคตเคฐेเคœ เคšाเคนिเค।
            dma_30 = close_prices.rolling(window=30).mean().iloc[-1]
            dma_50 = close_prices.rolling(window=50).mean().iloc[-1]
            dma_200 = close_prices.rolling(window=200).mean().iloc[-1]
            
            # CMP (Current Market Price) เคฏाเคจी เคถेเคฏเคฐ เค•ा เค†เคœ เค•ा เคคाเคœ़ा เคญाเคต।
            cmp = close_prices.iloc[-1]
            
            # 3. เคฆूเคฐी เค•ी เค—เคฃเคจा (Distance from 200 DMA)
            # เคถेเคฏเคฐ เค†เคœ เค…เคชเคจे 200 เคฆिเคจों เค•ी เค”เคธเคค เคธे เค•िเคคเคจे เคช्เคฐเคคिเคถเคค (%) เคŠเคชเคฐ เคฏा เคจीเคšे เคนै, เคฏเคน เค‰เคธเค•ा เคซॉเคฐ्เคฎूเคฒा เคนै।
            dist_200_dma = ((cmp - dma_200) / dma_200) * 100

            # 4. เคธाเคฒाเคจा เคนाเคˆ (52-Week High) เค–ोเคœเคจा
            # .tail(252) เค•ा เคฎเคคเคฒเคฌ เคนै เค•ि เคนเคฎ เคชिเค›เคฒे 1 เคธाเคฒ (1 เคธाเคฒ เคฎें เคฒเค—เคญเค— 252 เคŸ्เคฐेเคกिंเค— เคฆिเคจ เคนोเคคे เคนैं) เค•ा เคกेเคŸा เคฒे เคฐเคนे เคนैं।
            last_1y_data = data.tail(252)
            
            # เค‰เคธ 1 เคธाเคฒ เค•े เคกेเคŸा เคฎें เคถेเคฏเคฐ เคจे เคธเคฌเคธे เคœ्เคฏाเคฆा เคนाเคˆ (High) เค•िเคธ เคคाเคฐीเค– เค•ो เคฌเคจाเคฏा เคฅा, เคตเคน เคคाเคฐीเค– (idxmax) เคจिเค•ाเคฒ เคฐเคนे เคนैं।
            high_date = last_1y_data['High'].squeeze().idxmax()
            
            # 5. CAR (Cumulative Average) เค•ी เค—เคฃเคจा
            # เคนाเคˆ เคตाเคฒी เคคाเคฐीเค– เคธे เคฒेเค•เคฐ เค†เคœ เคคเค• เค•ा เคธाเคฐा เค•्เคฒोเคœ़िंเค— เคกेเคŸा เคจिเค•ाเคฒ เคฐเคนे เคนैं।
            car_data = close_prices.loc[high_date:]
            
            # เค…เค—เคฐ เคจเคฏा เคนाเคˆ เคฌเคจे เคนुเค เค…เคญी 10 เคฆिเคจ เคญी เคจเคนीं เคนुเค เคนैं, เคคो เคนเคฎाเคฐी CAR เค•ी เค—เคฃเคจा เคจเคนीं เคนो เคธเค•เคคी, เค‡เคธเคฒिเค เค…เค—เคฒे เคถेเคฏเคฐ เคชเคฐ เคœाเค“।
            if len(car_data) < 10: 
                continue
                
            # expanding().mean() เคนเคฎाเคฐी เค…เคธเคฒी CAR เคจिเค•ाเคฒเคคा เคนै, เคฏाเคจी เคชเคนเคฒे เคฆिเคจ เคธे เคฒेเค•เคฐ เค†เคœ เคคเค• เค•ा เคฒเค—ाเคคाเคฐ เคฌเคข़เคคा เคนुเค† เค”เคธเคค।
            car_values = car_data.expanding().mean()
            
            # เคนเคฎें เค•ेเคตเคฒ เคชिเค›เคฒे 10 เคฆिเคจों เค•ी CAR เคšेเค• เค•เคฐเคจी เคนै, เค‡เคธเคฒिเค .tail(10) เค•ा เค‰เคชเคฏोเค— เค•िเคฏा।
            last_10_car = car_values.tail(10)

            # 6. เคŸ्เคฐेंเคก เคšेเค• เค•เคฐเคจा (Trend Verification)
            # is_monotonic_increasing เคฏเคน เคšेเค• เค•เคฐเคคा เคนै เค•ि เค•्เคฏा เคชिเค›เคฒे 10 เคฆिเคจों เคธे CAR เคฒเค—ाเคคाเคฐ เคฌเคข़ เคฐเคนी เคนै (เคฌिเคจा เคเค• เคญी เคฆिเคจ เค—िเคฐे)।
            if last_10_car.is_monotonic_increasing:
                car_status = 'Positive' # เคฒเค—ाเคคाเคฐ เคฌเคข़ी เคคो เคชॉเคœिเคŸिเคต
            else:
                car_status = 'Negative' # เคเค• เคฆिเคจ เคญी เค—िเคฐी เคคो เคจेเค—ेเคŸिเคต

            # 7. เคซाเค‡เคจเคฒ เคธुเคชเคฐ-เคŸ्เคฐेเคกिंเค— เคธ्เคŸ्เคฐेเคŸेเคœी เค•ी เคถเคฐ्เคค (The Magic Rule)
            # เคถเคฐ्เคค 1: เค†เคœ เค•ा เคญाเคต 30 DMA เคธे เคŠเคชเคฐ เคนो
            # เคถเคฐ्เคค 2: เค†เคœ เค•ा เคญाเคต 50 DMA เคธे เคŠเคชเคฐ เคนो
            # เคถเคฐ्เคค 3: เค†เคœ เค•ा เคญाเคต 200 DMA เคธे เคŠเคชเคฐ เคนो
            # เคถเคฐ्เคค 4: CAR เคชिเค›เคฒे 10 เคฆिเคจों เคธे เคฒเค—ाเคคाเคฐ เคชॉเคœिเคŸिเคต (เคฌเคข़เคคी เคนुเคˆ) เคนो
            if (cmp > dma_30) and (cmp > dma_50) and (cmp > dma_200) and (car_status == 'Positive'):
                action = '๐ŸŸข Positive Breakout' # เคธเคฌ เคชाเคธ เคนुเค† เคคो เคนเคฐा เคธिเค—्เคจเคฒ
            else:
                action = '๐Ÿ”ด Avoid/Hold' # เคเค• เคญी เคถเคฐ्เคค เคซेเคฒ เคนुเคˆ เคคो เคฒाเคฒ เคธिเค—्เคจเคฒ

            # 8. เคกेเคŸा เคœเคฎा เค•เคฐเคจा
            # เค…เคฌ เคœो เคญी เคกेเคŸा เคนเคฎเคจे เคŠเคชเคฐ เค•ैเคฒเค•ुเคฒेเคŸ เค•िเคฏा เคนै, เค‰เคธे เค…เคชเคจी เคเค•्เคธेเคฒ เคŸेเคฌเคฒ เคฎें เคกाเคฒเคจे เค•े เคฒिเค เค‡เค•เคŸ्เค ा เค•เคฐ เคฐเคนे เคนैं।
            if action == '๐ŸŸข Positive Breakout':
                results.append({
                    'Date': today_date,
                    'Stock': ticker.replace('.NS', ''), # .NS เคนเคŸा เคฐเคนे เคนैं เคคाเค•ि เคถेเคฏเคฐ เค•ा เคจाเคฎ เคธाเคซ เคฆिเค–े।
                    'CMP': round(cmp, 2), # เคญाเคต เค•ो เคฆเคถเคฎเคฒเคต เค•े 2 เค…ंเค•ों เคคเค• เคฐाเค‰ंเคก เค‘เคซ (Round off) เค•เคฐ เคฐเคนे เคนैं।
                    '30 DMA': round(dma_30, 2),
                    '50 DMA': round(dma_50, 2),
                    '200 DMA': round(dma_200, 2),
                    '200 DMA Dist %': round(dist_200_dma, 2),
                    'CAR Status': car_status,
                    'Action': action
                })
            
        except Exception as e:
            # เค…เค—เคฐ เค•िเคธी เคถेเคฏเคฐ เค•ा เคกेเคŸा เคกाเค‰เคจเคฒोเคก เคนोเคจे เคฎें เค•ोเคˆ เคฆिเค•्เค•เคค เค†เค, เคคो เค•ोเคก เค•ो เคฐुเค•เคจे เคฎเคค เคฆो, เคชाเคธ (pass) เค•เคฐเค•े เค…เค—เคฒे เคถेเคฏเคฐ เคชเคฐ เคšเคฒे เคœाเค“।
            pass
            
    # 9. เคซाเค‡เคจเคฒ เคฐिเคœเคฒ्เคŸ เค•ी เคธเคซाเคˆ (Filtering)
    # เค‡เค•เคŸ्เค े เค•िเค เค—เค เคธाเคฐे เคกेเคŸा เค•ो pandas เค•ी DataFrame (เคเค•्เคธेเคฒ เคถीเคŸ) เคฎें เคฌเคฆเคฒ เคฐเคนे เคนैं।
    df_positive = pd.DataFrame(results)
    
    # เค…ंเคค เคฎें, เคšुเคจी เค—เคˆ เคฒिเคธ्เคŸ เค•ो 200 DMA เค•ी เคฆूเคฐी (% Distance) เค•े เค†เคงाเคฐ เคชเคฐ เค›ोเคŸे เคธे เคฌเคก़े เค•्เคฐเคฎ เคฎें (Ascending order) เคธेเคŸ เค•เคฐ เคฐเคนे เคนैं।
    if not df_positive.empty:
        df_positive = df_positive.sort_values(by='200 DMA Dist %', ascending=True)
        
    return df_positive

# -------------------------------------------------------------------------
# เค•ोเคก เค•ो เคฐเคจ เค•เคฐเคจा (Execution Part)
# -------------------------------------------------------------------------

# เคฏเคน เคนเคฎाเคฐे 210 เคถेเคฏเคฐों เค•ी เคชूเคฐी เคฒिเคธ्เคŸ เคนै, เคœिเคธे เคนเคฎाเคฐा เคธ्เค•ैเคจเคฐ เคšेเค• เค•เคฐेเค—ा।
my_stocks = [
    '360ONE.NS', 'ABB.NS', 'APLAPOLLO.NS', 'AUBANK.NS', 'ADANIENSOL.NS',
    'ADANIENT.NS', 'ADANIGREEN.NS', 'ADANIPORTS.NS', 'ADANIPOWER.NS', 'ABCAPITAL.NS',
    'ALKEM.NS', 'AMBER.NS', 'AMBUJACEM.NS', 'ANGELONE.NS', 'APOLLOHOSP.NS',
    'ASHOKLEY.NS', 'ASIANPAINT.NS', 'ASTRAL.NS', 'AUROPHARMA.NS', 'DMART.NS',
    'AXISBANK.NS', 'BSE.NS', 'BAJAJ-AUTO.NS', 'BAJFINANCE.NS', 'BAJAJFINSV.NS',
    'BAJAJHLDNG.NS', 'BANDHANBNK.NS', 'BANKBARODA.NS', 'BANKINDIA.NS', 'BDL.NS',
    'BEL.NS', 'BHARATFORG.NS', 'BHEL.NS', 'BPCL.NS', 'BHARTIARTL.NS',
    'BIOCON.NS', 'BLUESTARCO.NS', 'BOSCHLTD.NS', 'BRITANNIA.NS', 'CGPOWER.NS',
    'CANBK.NS', 'CDSL.NS', 'CHOLAFIN.NS', 'CIPLA.NS', 'COALINDIA.NS',
    'COCHINSHIP.NS', 'COFORGE.NS', 'COLPAL.NS', 'CAMS.NS', 'CONCOR.NS',
    'CROMPTON.NS', 'CUMMINSIND.NS', 'DLF.NS', 'DABUR.NS', 'DALBHARAT.NS',
    'DELHIVERY.NS', 'DIVISLAB.NS', 'DIXON.NS', 'DRREDDY.NS', 'ETERNAL.NS',
    'EICHERMOT.NS', 'EXIDEIND.NS', 'FORCEMOT.NS', 'NYKAA.NS', 'FORTIS.NS',
    'GAIL.NS', 'GVT&D.NS', 'GMRAIRPORT.NS', 'GLENMARK.NS', 'GODFRYPHLP.NS',
    'GODREJCP.NS', 'GODREJPROP.NS', 'GRASIM.NS', 'HCLTECH.NS', 'HDFCAMC.NS',
    'HDFCBANK.NS', 'HDFCLIFE.NS', 'HAVELLS.NS', 'HEROMOTOCO.NS', 'HINDALCO.NS',
    'HAL.NS', 'HINDPETRO.NS', 'HINDUNILVR.NS', 'HINDZINC.NS', 'POWERINDIA.NS',
    'HYUNDAI.NS', 'ICICIBANK.NS', 'ICICIGI.NS', 'ICICIPRULI.NS', 'IDFCFIRSTB.NS',
    'ITC.NS', 'INDIANB.NS', 'IEX.NS', 'IOC.NS', 'IRFC.NS', 'IREDA.NS',
    'INDUSTOWER.NS', 'INDUSINDBK.NS', 'NAUKRI.NS', 'INFY.NS', 'INOXWIND.NS',
    'INDIGO.NS', 'JINDALSTEL.NS', 'JSWENERGY.NS', 'JSWSTEEL.NS', 'JIOFIN.NS',
    'JUBLFOOD.NS', 'KEI.NS', 'KPITTECH.NS', 'KALYANKJIL.NS', 'KAYNES.NS',
    'KFINTECH.NS', 'KOTAKBANK.NS', 'LTF.NS', 'LICHSGFIN.NS', 'LTM.NS',
    'LT.NS', 'LAURUSLABS.NS', 'LICI.NS', 'LODHA.NS', 'LUPIN.NS',
    'M&M.NS', 'MANAPPURAM.NS', 'MANKIND.NS', 'MARICO.NS', 'MARUTI.NS',
    'MFSL.NS', 'MAXHEALTH.NS', 'MAZDOCK.NS', 'MOTILALOFS.NS', 'MPHASIS.NS',
    'MCX.NS', 'MUTHOOTFIN.NS', 'NBCC.NS', 'NHPC.NS', 'NMDC.NS',
    'NTPC.NS', 'NATIONALUM.NS', 'NESTLEIND.NS', 'NAM-INDIA.NS', 'NUVAMA.NS',
    'OBEROIRLTY.NS', 'ONGC.NS', 'OIL.NS', 'PAYTM.NS', 'OFSS.NS',
    'POLICYBZR.NS', 'PGEL.NS', 'PIIND.NS', 'PNBHOUSING.NS', 'PAGEIND.NS',
    'PATANJALI.NS', 'PERSISTENT.NS', 'PETRONET.NS', 'PIDILITIND.NS', 'POLYCAB.NS',
    'PFC.NS', 'POWERGRID.NS', 'PREMIERENE.NS', 'PRESTIGE.NS', 'PNB.NS',
    'RBLBANK.NS', 'RECLTD.NS', 'RADICO.NS', 'RVNL.NS', 'RELIANCE.NS',
    'SBICARD.NS', 'SBILIFE.NS', 'SHREECEM.NS', 'SRF.NS', 'MOTHERSON.NS',
    'SHRIRAMFIN.NS', 'SIEMENS.NS', 'SOLARINDS.NS', 'SONACOMS.NS', 'SBIN.NS',
    'SAIL.NS', 'SUNPHARMA.NS', 'SUPREMEIND.NS', 'SUZLON.NS', 'SWIGGY.NS',
    'TATACONSUM.NS', 'TVSMOTOR.NS', 'TCS.NS', 'TATAELXSI.NS', 'TMPV.NS',
    'TATAPOWER.NS', 'TATASTEEL.NS', 'TECHM.NS', 'FEDERALBNK.NS', 'INDHOTEL.NS',
    'PHOENIXLTD.NS', 'TITAN.NS', 'TORNTPHARM.NS', 'TRENT.NS', 'TIINDIA.NS',
    'UNOMINDA.NS', 'UPL.NS', 'ULTRACEMCO.NS', 'UNIONBANK.NS', 'UNITDSPR.NS',
    'VBL.NS', 'VEDL.NS', 'VMM.NS', 'IDEA.NS', 'VOLTAS.NS',
    'WAAREEENER.NS', 'WIPRO.NS', 'YESBANK.NS', 'ZYDUSLIFE.NS'
]

# เคŠเคชเคฐ เคฌเคจाเค เค—เค เคซंเค•्เคถเคจ เค•ो เค…เคชเคจी เคถेเคฏเคฐों เค•ी เคฒिเคธ्เคŸ เคฆेเค•เคฐ เคšเคฒा เคฐเคนे เคนैं।
positive_breakout_data = advanced_stock_scanner(my_stocks)

# เคœो เคญी เคฐिเคœเคฒ्เคŸ เค†เคฏा, เค‰เคธे เคธ्เค•्เคฐीเคจ เคชเคฐ เค…เคš्เค›े เคธे เคช्เคฐिंเคŸ เค•เคฐ เคฐเคนे เคนैं।
print("\n--- ๐ŸŸข เคซाเคˆเคจเคฒ เคฒिเคธ्เคŸ: เค•ेเคตเคฒ POSITIVE BREAKOUT เคธ्เคŸॉเค•्เคธ ---")
if positive_breakout_data.empty:
    print("เค†เคœ เค•िเคธी เคญी เคถेเคฏเคฐ เคจे เค†เคชเค•ी เคธเคญी เค•เคก़ी เคถเคฐ्เคคों เค•ो เคชाเคฐ เคจเคนीं เค•िเคฏा เคนै। (เค•ोเคˆ เคจเคฏा เคฌ्เคฐेเค•เค†เค‰เคŸ เคจเคนीं)")
else:
    print(positive_breakout_data.to_string(index=False))
    
    # เค…ंเคค เคฎें: เค‡เคธ เค›ंเคŸเคจी เค•ी เคนुเคˆ เคฒिเคธ्เคŸ เค•ो 'Final_Breakout_List.xlsx' เคจाเคฎ เคธे เคธेเคต เค•เคฐ เคฐเคนे เคนैं।
    positive_breakout_data.to_excel("Final_Breakout_List.xlsx", index=False)
    print("\nเคซ़िเคฒ्เคŸเคฐ เค•ी เค—เคˆ เคซाเคˆเคจเคฒ เคฒिเคธ्เคŸ 'Final_Breakout_List.xlsx' เคธेเคต เคนो เค—เคˆ เคนै!")
    
    # เคฏเคน เค•เคฎांเคก เค—ूเค—เคฒ เค•ोเคฒाเคฌ (Colab) เค•ो เคฌोเคฒเคคी เคนै เค•ि เคเค•्เคธेเคฒ เคซाเค‡เคฒ เคฌเคจเคจे เค•े เคฌाเคฆ เค‰เคธे เคธीเคงा เคนเคฎाเคฐे เค•ंเคช्เคฏूเคŸเคฐ เคฎें เคกाเค‰เคจเคฒोเคก เค•เคฐ เคฆे।
    from google.colab import files
    files.download("Final_Breakout_List.xlsx")

เคธ्เคŸेเคช 3: เค•ोเคก เค•ो เคชेเคธ्เคŸ เค•เคฐें เค†เคชเค•े เคธाเคฎเคจे เคเค• เค•ोเคฐी เคธ्เค•्เคฐीเคจ เค–ुเคฒेเค—ी เคœिเคธเคฎें เคฌीเคš เคฎें เคเค• เค†เคฏเคคाเค•ाเคฐ เคฌॉเค•्เคธ (Cell) เคนोเค—ा। เค‰เคธ เคฌॉเค•्เคธ เค•े เค…ंเคฆเคฐ เค•्เคฒिเค• เค•เคฐें เค”เคฐ เค…เคชเคจा เค•ॉเคชी เค•िเคฏा เคนुเค† เค•ोเคก เคตเคนाँ Paste (Ctrl+V) เค•เคฐ เคฆें।

เคธ्เคŸेเคช 4: เคฎैเคœिเค• เคฆेเค–ें (Run the Code) เค•ोเคก เคชेเคธ्เคŸ เค•เคฐเคจे เค•े เคฌाเคฆ, เค‰เคธ เคฌॉเค•्เคธ เค•े เคฌिเคฒ्เค•ुเคฒ เคฌाเคฏीं (Left) เคคเคฐเคซ เคเค• เค—ोเคฒ 'Play' (▶️) เค•ा เคฌเคŸเคจ เคนोเค—ा। เคฌเคธ เค‰เคธ เคชเคฐ เค•्เคฒिเค• เค•เคฐ เคฆें!


  • เคชเคฐिเคฃाเคฎ: เค•ुเค› เคนी เคธेเค•ंเคก्เคธ เคฎें เคฏเคน เค•ोเคก เคฌैเค•เค—्เคฐाเค‰ंเคก เคฎें 210 เคถेเคฏเคฐों เค•ा เคกेเคŸा เค–ंเค—ाเคฒेเค—ा। เคธ्เค•्เคฐीเคจ เคชเคฐ เค†เคชเค•ो เคธिเคฐ्เคซ เคชाเคธ เคนुเค เคถेเคฏเคฐों เค•ी เคซाเค‡เคจเคฒ เคฒिเคธ्เคŸ เคฆिเค–ेเค—ी।

  • เค‘เคŸो-เคกाเค‰เคจเคฒोเคก: เค‡เคคเคจा เคนी เคจเคนीं, เคฏเคน เค†เคชเค•े เค•ंเคช्เคฏूเคŸเคฐ เคฏा เคฎोเคฌाเค‡เคฒ เคฎें 'Final_Breakout_List.xlsx' เคจाเคฎ เค•ी เคเค• เคเค•्เคธेเคฒ เคซाเค‡เคฒ เคญी เค…เคชเคจे เค†เคช เคกाเค‰เคจเคฒोเคก เค•เคฐ เคฆेเค—ा เคœिเคธเคฎें เค†เคชเค•े เค†เคœ เค•े เคŸ्เคฐेเคกिंเค— เคธिเค—्เคจเคฒ्เคธ เคนोंเค—े!

Related Video:-



24 comments:

  1. SIR AAP KHUP SUNDAR PADHATE HO THANKS SIR

    ReplyDelete
  2. Thank you very much gurudev. Apko sadar pranam

    ReplyDelete
  3. เค—ुเคฐु เคœी เคšเคฐเคฃ เคธ्เคชเคฐ्เคถ।।

    ReplyDelete
  4. Colab paste karne pe error aa raha hai

    ReplyDelete
  5. Excellent , thanks Mahesh sir.

    ReplyDelete
  6. Sir namaste aapka padane ka andaj bohat achha hai sir mai 10 vi pass hoon yeh simple steps par hoke final breakout list milgaya sir ji aapko dil se dhanyawad details hoon sir ji❤️❤️❤️

    ReplyDelete
    Replies
    1. Sir namaste aapka padane ka andaj bohat achha hai sir mai 10 vi pass hoon yeh simple steps par hoke final breakout list milgaya sir ji aapko dil se dhanyawad karta hoon sir ji❤️❤️❤️

      Delete
  7. suprabhat sir. You are really great

    ReplyDelete
  8. Thank you sir Mai Aapke jaise guru pake dhanya ho gaya

    ReplyDelete
  9. ๐ŸŒท๐Ÿ™๐ŸŒน

    ReplyDelete
  10. เค—ुเคฐुเคœी เคนเคฎ เคคो เคฌเคนुเคค เคชเคนเคฒे เคธे เคนी เค†เคชเค•े เคฌुเคฆ्เคงिเคฎเคค्เคคा เค”เคฐ เคธाเคฆเค—ी เค•े เคฆीเคตाเคจे เคฅे, เค†เคชเค•े เคธिเค–ाเคจे เค”เคฐ เคธเคฎเคाเคจे เค•ा เคขंเค— เค…เคฆ्เคตिเคคीเคฏ เคนै, เค†เคช เค•िเคคเคจे เคจเคฎ्เคฐ เคคเคฐीเค•े เคธे เคธเคฌเค•ो เค…เคชเคจा เคธเคฎเค เคเค• เคฌเคก़े เคญाเคˆ เค•ी เคคเคฐเคน เคธเคฎเคाเคคे เคนैं เคฏे เค†เคœ เค•ी เคฆुเคจिเคฏा เคฎे เคถाเคฏเคฆ เคนी เค•เคนीं เคฆेเค–เคจे เค•ो เคฎिเคฒे. เค†เคชเค•े เค—िเคซ्เคŸ्เคธ เคœो เคเค•्เคธेเคฒ เคถीเคŸ เค•े เคฐूเคช เคฎे เคฏा เคฏे เคœो เคจเคฏा เค†เคชเคจे เคชเคฌ्เคฒिเคถ เค•िเคฏा เค‡เคธเค•े เคฒिเค เค†เคชเค•ो เคฌเคธ เคงเคจ्เคฏाเคตाเคฆ เค•เคนเคจा เคฅोเคก़ा เคนोเค—ा เค†เคชเค•े เคฆ्เคตाเคฐा เค•िเค เค—เค เค‰เคชเค•ाเคฐ เค•े เคธाเคชेเค•्เคท, เคฆिเคฒ เคธे เค†เคชเค•ो เคงเคจ्เคฏाเคตाเคฆ, เคˆเคถ्เคตเคฐ เคธเคฆा เค†เคชเค•ो เค–ुเคถเคนाเคฒ, เคธेเคนเคคเคฎंเคฆ เค”เคฐ เคฒंเคฌी เค†เคฏु เคช्เคฐเคฆाเคจ เค•เคฐे

    ReplyDelete
  11. sir thanks ,i used same steps but excel did not download for me

    ReplyDelete
  12. --- ๐ŸŸข เคซाเคˆเคจเคฒ เคฒिเคธ्เคŸ: เค•ेเคตเคฒ POSITIVE BREAKOUT เคธ्เคŸॉเค•्เคธ ---
    เค†เคœ เค•िเคธी เคญी เคถेเคฏเคฐ เคจे เค†เคชเค•ी เคธเคญी เค•เคก़ी เคถเคฐ्เคคों เค•ो เคชाเคฐ เคจเคนीं เค•िเคฏा เคนै। (เค•ोเคˆ เคจเคฏा เคฌ्เคฐेเค•เค†เค‰เคŸ เคจเคนीं)

    ReplyDelete
  13. no out put and no excel seen

    ReplyDelete
  14. Thank you very much sir, I have learnt from you many things .. except share market also.

    ReplyDelete
  15. Sir Google Colab par click karne par khulta to hai lekin immedialety screen dark background ka ho jata hai.Copy karne ke baad control V se bhi paste nahin hota hai . kaya karen

    ReplyDelete
  16. Sir, Daily kitne baje ye code Run karna chahiye, aur stock buy karna chahiye ? Market ke open hote hi ya 3 baje ke baad , jaise hum ETF ke samay karte the

    ReplyDelete
  17. For those who are not able to run the python code, I've prepared a Google Sheet file that gives the results based on the criterion shared by Mahesh Kaushik Sir. Here's the link to the file https://shorturl.at/7E1N4

    ReplyDelete
  18. Thank you sir ji

    ReplyDelete

Share Your View in Comment

Blog Archive

disclaimer:-Trading in stock market is very risky. This website is not perfect. This is not an advisory service to buy or sell. The contents of “maheshkaushik.com” are only for educational purposes. No liability is accepted for any content in “www.maheshkaushik.com”. Subject to pindwara(india) jurisdiction only. The author is neither a registered stockbroker nor a registered advisor and does not give investment advice.. While he believes his statements to be true, they always depend on the reliability of his own credible sources. The author recommends that you consult with a qualified investment advisor, one licensed by appropriate regulatory agencies in your legal jurisdiction, author of this website is not a trend technical analyst.