Type/to search
8
Follow
1376
Followers
مقداری تجارتی حکمت عملی - KDJ اشارے
Quantpedia
Created 2017-01-16 15:00:09  Updated 2019-08-01 09:22:39
 0
 4353

مقداری تجارتی حکمت عملی - KDJ اشارے

فیوچر اور اسٹاک مارکیٹ میں سب سے زیادہ استعمال ہونے والا تکنیکی تجزیہ ٹول KDJ اشارے ، مکمل نام بے ترتیب اشارے ((Stochastics) ہے ، جس کی تخلیق ڈاکٹر جارج لین نے کی ہے۔ متحرک تصورات ، مضبوط اور کمزور اشارے کے کچھ فوائد کے ساتھ مل کر ، کے ڈی جے اشارے کو بنیادی اعداد و شمار کے طور پر ایک خاص دورانیے میں سب سے زیادہ قیمت ، کم قیمت ، قیمت اور اختتامی قیمت کے مابین تناسب کے حساب سے شمار کیا جاتا ہے ، جس سے حاصل ہونے والی K ، D اور J اقدار کو منحنی خطوط میں جوڑ دیا جاتا ہے ، جس سے کے ڈی جے اشارے کی تشکیل ہوتی ہے جو قیمت میں اتار چڑھاؤ کے رجحان کی عکاسی کرتی ہے۔

  • حساب کتاب کا طریقہ: سب سے پہلے دورانیے کی آر ایس وی ویلیو کا حساب لگائیں ، پھر K ویلیو ، ڈی ویلیو ، جے ویلیو۔ مثال کے طور پر 9 دن کے دورانیے کا کے ڈی جے:

    RSVt=(Ct-L9)/(H9-L9)*100 (سی ٹی = دن کی اختتامی قیمت؛ ایل 9 = 9 دن کی کم قیمت؛ ایچ 9 = 9 دن کی زیادہ قیمت)

    K کی قدر RSV کی قدر 3 دن کی ہموار منتقل اوسط ہے ، جس کا فارمولا ہے: Kt = RSVt / 3 + 2*t-1/3

    3 دن کی سست حرکت پذیر اوسط جس میں D کا قدر K ہے ، فارمولہ: Dt = Kt / 3 + 2*Dt-1/3

    J قدر تین گنا K قدر کم دو گنا D قدر ہے، فارمولہ ہے: Jt = 3Dt-2Kt

    KDJ اشارے کو لاگو کرنے کے لئے اہم پہلوؤں میں شامل ہیں:

    1. K اور D کی قیمتوں کا تعین ، 0-100 کی حد میں ، 80 سے زیادہ معاملات میں زیادہ خریدنے کا رجحان ظاہر ہوتا ہے ، اور 20 سے کم معاملات میں زیادہ فروخت کا رجحان ظاہر ہوتا ہے۔

    2. خرید سگنل: K قدر اوپر کی طرف رجحان میں <D قدر ، جب K لائن اوپر کی طرف سے D لائن کو توڑتی ہے۔ فروخت سگنل: K قدر نیچے کی طرف رجحان میں> D قدر ، جب K لائن نیچے کی طرف D لائن کو توڑتی ہے۔

    3. غیر فعال تجارت ، چھوٹی اشاعت والے اسٹاک کے ڈی اشارے پر لاگو نہیں ہوتے ہیں ، جبکہ بڑے بازاروں اور مشہور بڑے بازاروں کی درستگی بہت زیادہ ہے۔

    4۔ KD میں اعلی یا کم ، اگر اسٹاک کی قیمت کی سمت سے انحراف ہوتا ہے تو ، یہ ایکشن کا اشارہ ہے۔

    1. ج کی قدر بندی> 100 اوور بیو اور <0 اوور سیل کے لیے ہے، یہ دونوں قیمت کے غیر معمولی علاقے میں ہیں۔

    2. مختصر مدت میں تبدیلی کا انتباہی اشارہ: K اور D کی قیمتوں میں اضافے یا کمی کی رفتار کم ہوگئی ہے ، جھکاؤ سست ہو رہا ہے

    عام طور پر K، D، اور J کی تینوں اقدار 20-80 کے درمیان ہیں، یہ دیکھنے کے لئے اچھا ہے، حساسیت کے لحاظ سے، سب سے مضبوط J قدر ہے، اس کے بعد K ہے، اور سب سے سست D ہے، اور حفاظت کے لحاظ سے، بالکل اس کے برعکس ہے.

  • حکمت عملی کوڈ ((غیر ایجاد کنندہ کوٹ کوڈ)

import numpy as np import pandas as pd from pandas import DataFrame import talib as ta start = '2006-01-01' # 回测起始时间 end = '2015-08-17' # 回测结束时间 benchmark = 'HS300' # 策略参考标准 universe = set_universe('HS300') capital_base = 100000 # 起始资金 refresh_rate = 1 # 调仓频率,即每 refresh_rate 个交易日执行一次 handle_data() 函数 longest_history=20 MA=[5,10,20,30,60,120] #移动均线参数 def initialize(account): account.kdj=[] def handle_data(account): # 每个交易日的买入卖出指令 sell_pool=[] hist = account.get_history(longest_history) #data=DataFrame(hist['600006.XSHG']) stock_pool,all_data=Get_all_indicators(hist) pool_num=len(stock_pool) if account.secpos==None: print 'null' for i in stock_pool: buy_num=int(float(account.cash/pool_num)/account.referencePrice[i]/100.0)*100 order(i, buy_num) else: for x in account.valid_secpos: if all_data[x].iloc[-1]['closePrice']<all_data[x].iloc[-1]['ma1'] and (all_data[x].iloc[-1]['ma1']-all_data[x].iloc[-1]['closePrice'])/all_data[x].iloc[-1]['ma1']>0.05 : sell_pool.append(x) order_to(x, 0) if account.cash>500 and pool_num>0: try: sim_buy_money=float(account.cash)/pool_num for l in stock_pool: #print sim_buy_money,account.referencePrice[l] buy_num=int(sim_buy_money/account.referencePrice[l]/100.0)*100 #buy_num=10000 order(l, buy_num) except Exception as e: #print e pass def Get_kd_ma(data): indicators={} #计算kd指标 indicators['k'],indicators['d']=ta.STOCH(np.array(data['highPrice']),np.array(data['lowPrice']),np.array(data['closePrice']),\ fastk_period=9,slowk_period=3,slowk_matype=0,slowd_period=3,slowd_matype=0) indicators['ma1']=pd.rolling_mean(data['closePrice'], MA[0]) indicators['ma2']=pd.rolling_mean(data['closePrice'], MA[1]) indicators['ma3']=pd.rolling_mean(data['closePrice'], MA[2]) indicators['ma4']=pd.rolling_mean(data['closePrice'], MA[3]) indicators['ma5']=pd.rolling_mean(data['closePrice'], MA[4]) indicators['closePrice']=data['closePrice'] indicators=pd.DataFrame(indicators) return indicators def Get_all_indicators(hist): stock_pool=[] all_data={} for i in hist: try: indicators=Get_kd_ma(hist[i]) all_data[i]=indicators except Exception as e: #print 'error:%s'%e pass if indicators.iloc[-2]['k']<indicators.iloc[-2]['d'] and indicators.iloc[-1]['k']>indicators.iloc[-2]['d']: stock_pool.append(i) elif indicators.iloc[-1]['k']>=10 and indicators.iloc[-1]['d']<=20 and indicators.iloc[-1]['k']>indicators.iloc[-2]['k'] and indicators.iloc[-2]['k']<indicators.iloc[-3]['k']: stock_pool.append(i) return stock_pool,all_data

پروگرامنگ ٹریڈرز کی طرف سے ٹرانسمیشن

Related Recommendations
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)