- مربع
- یکساں - رجحانات _ ڈیجیٹل کرنسی کی حکمت عملی V0.2
یکساں - رجحانات _ ڈیجیٹل کرنسی کی حکمت عملی V0.2
مصنف:
قطب شمالی، تاریخ: 2016-09-13 17:36:54
ٹیگز:
رجحانپائیتھونایم اے
ٹائیٹوس QQ7650371
# یکساں / رجحانات حکمت عملی
# یہ فیصلہ کر کے کہ کس قدر خریدنا ہے
#گولڈن فورک کے اوپر جانے کے بعد نیچے جانے کے بعد کتنا فروخت ہوتا ہے
#!/usr/local/bin/python
#-*- coding: UTF-8 -*-
#均线/趋势 策略
#通过判断 在死叉下底后回弹多少买入
#在金叉上扬至顶后下降多少卖出
# FastPeriod=3 #开仓快线周期
# SlowPeriod=7 #开仓慢线周期
# EnterPeriod=1 #开仓观察期
# ExitFastPeriod=3 #平仓线周期
# ExitSlowPeriod=7 #平仓慢线周期
# ExitPeriod=2 #平仓观察期
# PositionRatio=0.5 #仓位比例
# Interval=10 #轮询周期
# MAType=0 #均线类型 TA.EMA|TA.MA
import types
array = [TA.EMA,TA.MA]
_MACalcMethod = array[MAType]
def Cross(a,b): #计算均线方法
crossNum = 0
arr1 = []
arr2 = []
if(type(a) == types.ListType and type(b) == types.ListType):
arr1 = a
arr2 = b
else:
records = null
while True:
records = exchange.GetRecords()
if(records and len(records) > a and len(records) > b):
break
Sleep(Interval)
arr1 = _MACalcMethod(records,a)
arr2 = _MACalcMethod(records,b)
if(len(arr1) != len(arr2)):
raise Exception("array length not equal")
for i in range(len(arr1) - 1,-1,-1):
if((type(arr1[i]) != types.IntType and type(arr1[i]) != types.FloatType) or (type(arr2[i]) != types.IntType and type(arr2[i]) != types.FloatType) ):
break
if(arr1[i] < arr2[i]):
if(crossNum > 0):
break
crossNum -= 1
elif(arr1[i] > arr2[i]):
if(crossNum < 0):
break
crossNum += 1
else:
break
return crossNum
import datetime
def Caltime(date1,date2):
try:
date1=time.strptime(date1,"%Y-%m-%d %H:%M:%S")
date2=time.strptime(date2,"%Y-%m-%d %H:%M:%S")
date1=datetime.datetime(date1[0],date1[1],date1[2],date1[3],date1[4],date1[5])
date2=datetime.datetime(date2[0],date2[1],date2[2],date2[3],date2[4],date2[5])
return date2-date1
except Exception,ex:
Log('except Exception Caltime:',ex)
return "except Exception"
import time
start_timexx =time.localtime(time.time()) #time.clock()
start_time=time.strftime("%Y-%m-%d %H:%M:%S",start_timexx)
buy_price=0 #买入价格
buy_qty=0 #买入数量
gains=0 #盈利
def my_buy(): #开仓
try:
global buy_price,buy_qty
initAccount = ext.GetAccount() #交易模板的导出函数, 获得账户状态,保存策略运行前账户初始状态
opAmount=1
#开仓之前判断有币没有没有先进行买入
if int(initAccount.Stocks)>1:
if buy_price<1:
buy_price=_C(exchange.GetTicker).Last
buy_qty=initAccount.Stocks
Log('开仓信息1 仓内还有比:',initAccount.Stocks,'进行清空','--开仓详情:',initAccount)
return 1
if int(initAccount.Stocks)<1:
if int(str(initAccount.Stocks).replace('0.',''))>=1:
if buy_price<1:
buy_price=_C(exchange.GetTicker).Last
buy_qty=initAccount.Stocks
Log('开仓信息2 仓内还有比:',initAccount.Stocks,'进行清空','--开仓详情:',initAccount)
return 1
#if int(initAccount.Stocks)<1:
if int(str(initAccount.Stocks).replace('0.',''))==0:
#opAmount=1
opAmount = _N(initAccount.Balance*PositionRatio,3) #买入数量
Log("开仓没有币先进行 开仓买入%s元"%(str(opAmount))) #生成LOG日志
# else:
# opAmount = _N(initAccount.Stocks * PositionRatio,3) #获取交易数量
# else:
# opAmount = _N(initAccount.Stocks * PositionRatio,3) #获取交易数量
Dict = ext.Buy(opAmount) #买入ext.Buy
if(Dict):#确认开仓成功
buy_price=Dict['price'] #买入价格 #{'price': 4046.446, 'amount': 1.5}
buy_qty=Dict['amount'] #买入数量
print_log(1,initAccount,Dict)
return 1
return 0
except Exception,ex:
Log('except Exception my_buy:',ex)
return 0
outAccount = ext.GetAccount() #初始化信息
def print_log(k_p,Account,Dict):
try:
global outAccount
name=""
if k_p:
LogProfit(_N(gains,4),'开仓信息 钱:',Account.Balance,'--币:',Account.Stocks,'--开仓详情:',Dict)
name="开仓"
else:
LogProfit(_N(gains,4),'平仓信息 钱:',Account.Balance,'--币:',Account.Stocks,'--平仓详情:',Dict)
name="平仓"
endAccount = ext.GetAccount() #初始化信息
date1=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
LogStatus("初始化投入2016/9/16 投入资金2000元\r\n",
"本次初始化状态:",outAccount,
"\r\n当前运 行状态:",endAccount,
"\r\n本次开始运行时间:%s 已运行:%s\r\n"%(start_time,Caltime(start_time,date1)),
"本次盈利:%s\r\n"%(str(gains)),
"当前状态:%s--钱:%s--币:%s\r\n"%(str(name),str(Account.Balance),str(Account.Stocks)),
"更新时间:%s"%(date1)
) # 测试
except Exception,ex:
Log('except Exception print_log:',ex)
def my_sell(): #平仓
try:
global buy_price,buy_qty,gains,start_time
nowAccount = ext.GetAccount() #交易模板的导出函数 获取账户信息
if _C(exchange.GetTicker).Last>buy_price+4: #当前价格一定要大于 开仓价格
Dict = ext.Sell(nowAccount.Stocks)
if(Dict):
sell_gains=(Dict['price']-buy_price)*Dict['amount']
gains=gains+sell_gains
buy_price=0 #买入价格
buy_qty=0 #买入数量
print_log(0,nowAccount,Dict)
return 1
return 0
except Exception,ex:
Log('except Exception my_sell:',ex)
return 0
def main():
global outAccount
STATE_IDLE = -1 #空闲状态
state = STATE_IDLE #初始化 状态 为 空闲
Log("run ",outAccount) #输出初始账户信息
SetErrorFilter("GetAccount|GetRecords|GetTicker") #屏蔽错误内容
b=0 #开仓
b1=0 #检测次数
a=0 #平仓
a1=0 #检测次数
while True:
if(state == STATE_IDLE): #判断状态是否 为空闲 触发开仓
#开仓
n = Cross(FastPeriod,SlowPeriod) #模板函数获取EMA指标快线、慢线交叉结果
if n<0: #确定当前为死叉
b1+=1
if b>=int(n): #说明现在还是在下跌涨趋势
b=int(n)
else: #开始下跌 开仓
if(int(n)>=int(b)+int(EnterPeriod)): #确认上行走势 至自己定义的点
if my_buy(): #开仓
b=0
b1=0
state = PD_SHORT
# if(b1>=10):#小波动操作开仓
# b1=0
# if my_buy():
# b=0
# state = PD_SHORT
else:#平仓
n = Cross(ExitFastPeriod,ExitSlowPeriod) #模板函数获取EMA指标快线、慢线交叉结果
if n>0: #确定当前为金叉
a1+=1
if a<=int(n): #说明现在还是在上涨趋势
a=int(n)
else: #开始下跌 平仓
if(int(n)<=int(a)-int(ExitPeriod)): #确认下行走势 至自己定义的点
if my_sell(): #平仓
a=0
a1=0
state = STATE_IDLE #更改状态 为空闲 触发开仓
# if(a1>=10): #小波动操作平仓
# a1=0
# if my_sell():
# a=0
# state = STATE_IDLE #更改状态 为空闲 触发开仓
Sleep(Interval * 1000)
متعلقہ
مزید
ہنگامہ آرائیغلطی کا پیغام ٹریس بیک (most recent call last): فائل ""، لائن 967, in __init_ctx__ فائل "", line 63 except Exception,ex: ^ SyntaxError: invalid syntax
ٹھیک ہےمیں نے اسے تبدیل کر دیا، ہر بار مارکیٹ کی قیمت پر خریدا، کئی بار بغیر کسی غلطی کے دوڑتا رہا، لیکن ہر بار نقصان میں تھا۔
ٹھیک ہے#!/usr/local/bin/python
#-*- کوڈنگ: UTF-8 -*-
# یکساں / رجحان حکمت عملی
# یہ فیصلہ کر کے کہ کس قدر خریدنا ہے جب تک کہ آپ کو مرنے کے بعد واپس نہ آئے
#گولڈن فورک کے اوپر جانے کے بعد نیچے جانے کے بعد کتنا فروخت ہوتا ہے
# فاسٹ پیریڈ = 3 # کھولنے کے لئے فاسٹ لائن سائیکل
# سست پیریڈ = 7 # کھولنے سست لائن سائیکل
# EnterPeriod=1 # کھلنے کا دورانیہ
#ExitFastPeriod=3 #بلائنگ لائن سائیکل
#ExitSlowPeriod=7 #بلائنسنگ سست لائن سائیکل
#ExitPeriod=2 #بلائنگ مشاہدے کی مدت
# PositionRatio=0.5 # پوزیشن تناسب
# انٹراول=10 # سروے سائیکل
# MAType=0 # ہموار لائن کی قسم TA.EMA .MA
array = [TA.EMA، TA.MA]
_MACalcMethod = array[MAType]
ext = تبادلہ
def Cross ((a, b): # حساب لگانے کے لئے یکساں طریقہ
crossNum = 0
arr1 = []
arr2 = []
listType = type ((arr1)
intType = type(1)
floatType = type ((1.1)
if ((type ((a) == type ((arr1) and type ((b) == type ((arr2)):
arr1 = a
arr2 = b
else:
records = null
while True:
records = exchange.GetRecords (()
if ((records and len ((records) > a and len ((records) > b):
break
نیند ((Interval)
arr1 = _MACalcMethod ((records، a)
arr2 = _MACalcMethod ((records، b)
if ((len ((arr1)!= len ((arr2)):
raise Exception (("array length not equal")
for i in range ((len ((arr1) - 1, -1, -1):
if (((type(arr1[i])!= intType and type ((arr1[i])!= floatType) or (type(arr2[i])!= intType and type ((arr2[i])!= floatType)):
break
if ((arr1[i] < arr2[i]):
if ((crossNum > 0):
break
crossNum - = 1
elif ((arr1[i] > arr2[i]):
if ((crossNum < 0):
break
crossNum + = 1
else:
break
واپس کروس نمبر
import datetime
def Caltime ((date1، date2):
کوشش:
date1 = time.strptime ((date1, "%Y-%m-%d %H:%M:%S")
date2 = time.strptime ((date2، "%Y-%m-%d %H:%M:%S")
date1 = datetime.datetime ((date1[0], date1[1], date1[])
2], date1[3], date1[4], date1[5])
date2 = datetime.datetime ((date2[0], date2[1], date2[
2], date2[3], date2[4], date2[5])
return date2 - date1
except Exception as ex:
Log (('except Exception Caltime:', ex)
واپسی "except Exception"
درآمد کا وقت
start_timexx = time.localtime ((time.time))) # time.clock (()
start_time = time.strftime (("%Y-%m-%d %H:%M:%S"، start_timexx)
buy_price = 0 # خریدنے کی قیمت
buy_qty = 0 # خریدنے کی مقدار
gains = 0 # منافع
def my_buy ((): # کھولیں
کوشش:
global buy_price، buy_qty
initAccount = ext.GetAccount() # ٹرانزیکشن ٹیمپلیٹ کی ایکسپورٹ فنکشن، اکاؤنٹ کی حالت حاصل کریں، پالیسی کو بچانے سے پہلے اکاؤنٹ کی ابتدائی حالت چلائیں
opAmount = 1
# تجارت کھولنے سے پہلے فیصلہ کریں کہ آیا سکے ہیں یا نہیں پہلے خریداری نہ کریں
if int ((initAccount.Stocks) > 1:
اگر buy_price < 1:
buy_price = _C ((exchange.GetTicker).Last
buy_qty = initAccount.Stocks
Log ((' اسٹاک کھولنے کی معلومات 1 اسٹاک میں بھی ہے: '، initAccount.Stocks،
' خالی کریں '، '-- کھولنے کی تفصیلات:', initAccount)
واپسی 1
if int ((initAccount.Stocks) < 1:
if int ((float ((str ((initAccount.Stocks).replace (('0.', ''))) >= 1:
اگر buy_price < 1:
buy_price = _C ((exchange.GetTicker).Last
buy_qty = initAccount.Stocks
لاگ (('اسٹاک کھولنے کی معلومات 2 اسٹاک میں بھی ہے: '، initAccount.Stocks،
' خالی کریں '، '-- کھولنے کی تفصیلات:', initAccount)
واپسی 1
# اگر int ((initAccount.Stocks) <1:
if int ((float ((str ((initAccount.Stocks).replace (('0.', ''))) == 0:
# opAmount=1
opAmount = _N(initAccount.Balance * PositionRatio، 3) # خریدنے کی مقدار
Log (("بغیر سکے کے کھولیں خریدیں %s" % (str ((opAmount))) # تخلیق LOG لاگ
# else:
# opAmount = _N ((initAccount.Stocks * PositionRatio،3) # ٹرانزیکشن کی تعداد حاصل کریں
# else:
# opAmount = _N ((initAccount.Stocks * PositionRatio،3) # ٹرانزیکشن کی تعداد حاصل کریں
orderId = ext.Buy ((-1،opAmount) # خریدناext.Buy -1 مارکیٹ کی قیمت کی نمائندگی کرتا ہے
if ((orderId): # پوزیشن کھولنے کی کامیابی کی تصدیق
# خریدنے کی قیمت #{'price': 4046.446, 'amount: 1.5}
Dict = exchange.GetOrder ((orderId))
buy_price = Dict['Price'] قیمت خریدنے کے لئے
buy_qty = Dict['Amount'] # خریدنے کی مقدار
print_log ((1، initAccount، Dict)
واپسی 1
واپسی 0
except Exception as ex:
لاگ (('except Exception my_buy:',ex)
واپسی 0
outAccount = ext.GetAccount (() # ابتدائی معلومات
def print_log ((k_p، Account، Dict):
کوشش:
گلوبل آؤٹ اکاؤنٹ
name = ""
if k_p:
LogProfit ((_N(gains، 4) ، 'کھولنے کی معلومات رقم:'، Account.Balance،
'-- کرنسی:', Account.Stocks, '-- کھولنے کی تفصیلات:', Dict)
name = "باکس کھولیں"
else:
LogProfit ((_N(gains، 4) ، 'بلائنسنگ کی معلومات پیسہ:'، Account.Balance،
'--کوئنس:', Account.Stocks, '--بلائنگ کی تفصیلات:', Dict)
name = "بلائنگ"
endAccount = ext.GetAccount (() # ابتدائی معلومات
date1 = time.strftime (("%Y-%m-%d %H:%M:%S"، time.localtime ((time.time)))
LogStatus ((("ابتدائی سرمایہ کاری 2016/9/16 سرمایہ کاری 2000 یوآن\r\n"
"یہ ابتدائیہ حالت:", outAccount,
"\r\nموجودہ چلانے کی حالت:", endAccount,
"\r\n اس بار شروع ہونے کا وقت: %s چل رہا ہے: %s\r\n" % (
start_time، Caltime ((start_time، date1)) ،
"اس بار منافع: %s\r\n" % (str(gains)
"موجودہ حالت: %s-- رقم: %s-- کرنسی: %s\r\n" % (str(name)
اس کے علاوہ، اس کے بارے میں مزید معلومات کے لئے یہاں کلک کریں:
"تازہ کاری کا وقت: %s" % (date1)
# ٹیسٹ
except Exception as ex:
لاگ (('except Exception print_log:', ex)
def my_sell ((): # فلیش ہاؤس
کوشش کریں:
global buy_price، buy_qty، gains، start_time
nowAccount = ext.GetAccount() # ٹرانزیکشن ٹیمپلیٹ کی برآمد کی تقریب اکاؤنٹ کی معلومات حاصل کریں
if _C ((exchange.GetTicker).Last > buy_price + 4: # موجودہ قیمت کھلی قیمت سے زیادہ ہونی چاہئے
لاگ ((type ((nowAccount.Stocks) ، nowAccount.Stocks)
orderId = ext.Sell ((-1,nowAccount.Stocks) #-1 مارکیٹ کی قیمت کی نمائندگی کرتا ہے
if ((orderId):
لاگ ((type ((orderId))
Dict = ext.GetOrder ((orderId)
sell_gains = (Dict['Price'] - buy_price) * Dict['Amount']
gains = gains + sell_gains
buy_price = 0 # خریدنے کی قیمت
buy_qty = 0 # خریدنے کی مقدار
print_log ((0، nowAccount، Dict)
واپسی 1
واپسی 0
except Exception as ex:
Log (('except Exception my_sell:',ex)
واپسی 0
def اہم (:
گلوبل آؤٹ اکاؤنٹ
STATE_IDLE = -1 # خالی حالت
state = STATE_IDLE # initialization حالت خالی ہے
لاگ (("چلیں" ، آؤٹ اکاؤنٹ) # ابتدائی اکاؤنٹ کی معلومات کی پیداوار
SetErrorFilter (("GetAccount کے ذریعےGetRecords کے ذریعےGetTicker") # غلط مواد کو چھپاتا ہے
b = 0 # کھولیں
b1 = 0 # تعداد میں پتہ چلا
a = 0 # ہموار
a1 = 0 # پتہ لگانے کی تعداد
while True:
if ((state == STATE_IDLE): # اس بات کا تعین کرتا ہے کہ آیا حالت خالی جگہ کے لئے تجارت شروع کرنے کا سبب بنتی ہے یا نہیں
# کھولا گیا
n = Cross ((FastPeriod, SlowPeriod) # ٹیمپلیٹ فنکشن EMA اشارے کی تیز لائن، سست لائن کراسنگ کے نتائج حاصل کرتا ہے
if n < 0: # اس وقت کے طور پر مقرر کیا گیا ہے
b1 + 1 کے برابر ہے
if b >= int ((n): # اس بات کی وضاحت کرتا ہے کہ اب بھی نیچے کی طرف بڑھ رہا ہے
b = int ((n)
else: # گرنا شروع ہو رہا ہے
if ((int ((n) >= int ((b) + int ((EnterPeriod)): # اپنی وضاحت کردہ نقطہ تک بڑھتی ہوئی تحریک کی تصدیق کرتا ہے۔
if my_buy ((): # کھولیں
b = 0
b1 = 0
state = PD_SHORT
# if ((b1>=10): # چھوٹی اتار چڑھاؤ کی کارروائی
# b1=0
# if my_buy (:
# b=0
# state = PD_SHORT
else: # فلیش ہاؤس
n = Cross ((ExitFastPeriod, ExitSlowPeriod) # ٹیمپلیٹ فنکشن ای ایم اے اشارے کی تیز لائن، سست لائن کراسنگ کے نتائج حاصل کرتا ہے
if n > 0: # موجودہ گولڈن فورک کے طور پر مقرر کریں
a1 + 1 کے برابر ہے
if a <= int ((n): # اس بات کی وضاحت کرتا ہے کہ اب بھی اوپر کی طرف بڑھ رہا ہے
a = int ((n)
else: # نیچے کی طرف بڑھ رہا ہے
if ((int ((n) <= int ((a) - int ((ExitPeriod)): # نیچے کی سمت کی تصدیق کرتا ہے
if my_sell ((): # فلیش ہاؤس
a = 0
a1 = 0
state = STATE_IDLE # حالت تبدیل کریں خالی کے طور پر کھولنے کے لئے
# if ((a1>=10): # چھوٹی اتار چڑھاؤ آپریٹنگ بیعانہ
# a1=0
# اگر my_sell:
# a=0
# state = STATE_IDLE # حالت تبدیل کریں خالی کے طور پر کھولنے کے لئے
Sleep ((Interval * 1000)
ٹھیک ہے#!/usr/local/bin/python
#-*- کوڈنگ: UTF-8 -*-
# یکساں / رجحان حکمت عملی
# یہ فیصلہ کر کے کہ کس قدر خریدنا ہے جب تک کہ آپ کو مرنے کے بعد واپس نہ آئے
#گولڈن فورک کے اوپر جانے کے بعد نیچے جانے کے بعد کتنا فروخت ہوتا ہے
# فاسٹ پیریڈ = 3 # کھولنے کے لئے فاسٹ لائن سائیکل
# سست پیریڈ = 7 # کھولنے سست لائن سائیکل
# EnterPeriod=1 # کھلنے کا دورانیہ
#ExitFastPeriod=3 #بلائنگ لائن سائیکل
#ExitSlowPeriod=7 #بلائنسنگ سست لائن سائیکل
#ExitPeriod=2 #بلائنگ مشاہدے کی مدت
# PositionRatio=0.5 # پوزیشن تناسب
# انٹراول=10 # سروے سائیکل
# MAType=0 # ہموار لائن کی قسم TA.EMA .MA
array = [TA.EMA، TA.MA]
_MACalcMethod = array[MAType]
ext = تبادلہ
def Cross ((a, b): # حساب لگانے کے لئے یکساں طریقہ
crossNum = 0
arr1 = []
arr2 = []
listType = type ((arr1)
intType = type(1)
floatType = type ((1.1)
if ((type ((a) == type ((arr1) and type ((b) == type ((arr2)):
arr1 = a
arr2 = b
else:
records = null
while True:
records = exchange.GetRecords (()
if ((records and len ((records) > a and len ((records) > b):
break
نیند ((Interval)
arr1 = _MACalcMethod ((records، a)
arr2 = _MACalcMethod ((records، b)
if ((len ((arr1)!= len ((arr2)):
raise Exception (("array length not equal")
for i in range ((len ((arr1) - 1, -1, -1):
if (((type(arr1[i])!= intType and type ((arr1[i])!= floatType) or (type(arr2[i])!= intType and type ((arr2[i])!= floatType)):
break
if ((arr1[i] < arr2[i]):
if ((crossNum > 0):
break
crossNum - = 1
elif ((arr1[i] > arr2[i]):
if ((crossNum < 0):
break
crossNum + = 1
else:
break
واپس کروس نمبر
import datetime
def Caltime ((date1، date2):
کوشش:
date1 = time.strptime ((date1, "%Y-%m-%d %H:%M:%S")
date2 = time.strptime ((date2، "%Y-%m-%d %H:%M:%S")
date1 = datetime.datetime ((date1[0], date1[1], date1[])
2], date1[3], date1[4], date1[5])
date2 = datetime.datetime ((date2[0], date2[1], date2[
2], date2[3], date2[4], date2[5])
return date2 - date1
except Exception as ex:
Log (('except Exception Caltime:', ex)
واپسی "except Exception"
درآمد کا وقت
start_timexx = time.localtime ((time.time))) # time.clock (()
start_time = time.strftime (("%Y-%m-%d %H:%M:%S"، start_timexx)
buy_price = 0 # خریدنے کی قیمت
buy_qty = 0 # خریدنے کی مقدار
gains = 0 # منافع
def my_buy ((): # کھولیں
کوشش:
global buy_price، buy_qty
initAccount = ext.GetAccount() # ٹرانزیکشن ٹیمپلیٹ کی ایکسپورٹ فنکشن، اکاؤنٹ کی حالت حاصل کریں، پالیسی کو بچانے سے پہلے اکاؤنٹ کی ابتدائی حالت چلائیں
opAmount = 1
# تجارت کھولنے سے پہلے فیصلہ کریں کہ آیا سکے ہیں یا نہیں پہلے خریداری نہ کریں
if int ((initAccount.Stocks) > 1:
اگر buy_price < 1:
buy_price = _C ((exchange.GetTicker).Last
buy_qty = initAccount.Stocks
Log ((' اسٹاک کھولنے کی معلومات 1 اسٹاک میں بھی ہے: '، initAccount.Stocks،
' خالی کریں '، '-- کھولنے کی تفصیلات:', initAccount)
واپسی 1
if int ((initAccount.Stocks) < 1:
if int ((float ((str ((initAccount.Stocks).replace (('0.', ''))) >= 1:
اگر buy_price < 1:
buy_price = _C ((exchange.GetTicker).Last
buy_qty = initAccount.Stocks
لاگ (('اسٹاک کھولنے کی معلومات 2 اسٹاک میں بھی ہے: '، initAccount.Stocks،
' خالی کریں '، '-- کھولنے کی تفصیلات:', initAccount)
واپسی 1
# اگر int ((initAccount.Stocks) <1:
if int ((float ((str ((initAccount.Stocks).replace (('0.', ''))) == 0:
# opAmount=1
opAmount = _N(initAccount.Balance * PositionRatio، 3) # خریدنے کی مقدار
Log (("بغیر سکے کے کھولیں خریدیں %s" % (str ((opAmount))) # تخلیق LOG لاگ
# else:
# opAmount = _N ((initAccount.Stocks * PositionRatio،3) # ٹرانزیکشن کی تعداد حاصل کریں
# else:
# opAmount = _N ((initAccount.Stocks * PositionRatio،3) # ٹرانزیکشن کی تعداد حاصل کریں
orderId = ext.Buy ((-1،opAmount) # خریدناext.Buy -1 مارکیٹ کی قیمت کی نمائندگی کرتا ہے
if ((orderId): # پوزیشن کھولنے کی کامیابی کی تصدیق
# خریدنے کی قیمت #{'price': 4046.446, 'amount: 1.5}
Dict = exchange.GetOrder ((orderId))
buy_price = Dict['Price'] قیمت خریدنے کے لئے
buy_qty = Dict['Amount'] # خریدنے کی مقدار
print_log ((1، initAccount، Dict)
واپسی 1
واپسی 0
except Exception as ex:
لاگ (('except Exception my_buy:',ex)
واپسی 0
outAccount = ext.GetAccount (() # ابتدائی معلومات
def print_log ((k_p، Account، Dict):
کوشش:
گلوبل آؤٹ اکاؤنٹ
name = ""
if k_p:
LogProfit ((_N(gains، 4) ، 'کھولنے کی معلومات رقم:'، Account.Balance،
'-- کرنسی:', Account.Stocks, '-- کھولنے کی تفصیلات:', Dict)
name = "باکس کھولیں"
else:
LogProfit ((_N(gains، 4) ، 'بلائنسنگ کی معلومات پیسہ:'، Account.Balance،
'--کوئنس:', Account.Stocks, '--بلائنگ کی تفصیلات:', Dict)
name = "بلائنگ"
endAccount = ext.GetAccount (() # ابتدائی معلومات
date1 = time.strftime (("%Y-%m-%d %H:%M:%S"، time.localtime ((time.time)))
LogStatus ((("ابتدائی سرمایہ کاری 2016/9/16 سرمایہ کاری 2000 یوآن\r\n"
"یہ ابتدائیہ حالت:", outAccount,
"\r\nموجودہ چلانے کی حالت:", endAccount,
"\r\n اس بار شروع ہونے کا وقت: %s چل رہا ہے: %s\r\n" % (
start_time، Caltime ((start_time، date1)) ،
"اس بار منافع: %s\r\n" % (str(gains)
"موجودہ حالت: %s-- رقم: %s-- کرنسی: %s\r\n" % (str(name)
اس کے علاوہ، اس کے بارے میں مزید معلومات کے لئے یہاں کلک کریں:
"تازہ کاری کا وقت: %s" % (date1)
# ٹیسٹ
except Exception as ex:
لاگ (('except Exception print_log:', ex)
def my_sell ((): # فلیش ہاؤس
کوشش کریں:
global buy_price، buy_qty، gains، start_time
nowAccount = ext.GetAccount() # ٹرانزیکشن ٹیمپلیٹ کی برآمد کی تقریب اکاؤنٹ کی معلومات حاصل کریں
if _C ((exchange.GetTicker).Last > buy_price + 4: # موجودہ قیمت کھلی قیمت سے زیادہ ہونی چاہئے
لاگ ((type ((nowAccount.Stocks) ، nowAccount.Stocks)
orderId = ext.Sell ((-1,nowAccount.Stocks) #-1 مارکیٹ کی قیمت کی نمائندگی کرتا ہے
if ((orderId):
لاگ ((type ((orderId))
Dict = ext.GetOrder ((orderId)
sell_gains = (Dict['Price'] - buy_price) * Dict['Amount']
gains = gains + sell_gains
buy_price = 0 # خریدنے کی قیمت
buy_qty = 0 # خریدنے کی مقدار
print_log ((0، nowAccount، Dict)
واپسی 1
واپسی 0
except Exception as ex:
Log (('except Exception my_sell:',ex)
واپسی 0
def اہم (:
گلوبل آؤٹ اکاؤنٹ
STATE_IDLE = -1 # خالی حالت
state = STATE_IDLE # initialization حالت خالی ہے
لاگ (("چلیں" ، آؤٹ اکاؤنٹ) # ابتدائی اکاؤنٹ کی معلومات کی پیداوار
SetErrorFilter (("GetAccount کے ذریعےGetRecords کے ذریعےGetTicker") # غلط مواد کو چھپاتا ہے
b = 0 # کھولیں
b1 = 0 # تعداد میں پتہ چلا
a = 0 # ہموار
a1 = 0 # پتہ لگانے کی تعداد
while True:
if ((state == STATE_IDLE): # اس بات کا تعین کرتا ہے کہ آیا حالت خالی جگہ کے لئے تجارت شروع کرنے کا سبب بنتی ہے یا نہیں
# کھولا گیا
n = Cross ((FastPeriod, SlowPeriod) # ٹیمپلیٹ فنکشن EMA اشارے کی تیز لائن، سست لائن کراسنگ کے نتائج حاصل کرتا ہے
if n < 0: # اس وقت کے طور پر مقرر کیا گیا ہے
b1 + 1 کے برابر ہے
if b >= int ((n): # اس بات کی وضاحت کرتا ہے کہ اب بھی نیچے کی طرف بڑھ رہا ہے
b = int ((n)
else: # گرنا شروع ہو رہا ہے
if ((int ((n) >= int ((b) + int ((EnterPeriod)): # اپنی وضاحت کردہ نقطہ تک بڑھتی ہوئی تحریک کی تصدیق کرتا ہے۔
if my_buy ((): # کھولیں
b = 0
b1 = 0
state = PD_SHORT
# if ((b1>=10): # چھوٹی اتار چڑھاؤ کی کارروائی
# b1=0
# if my_buy (:
# b=0
# state = PD_SHORT
else: # فلیش ہاؤس
n = Cross ((ExitFastPeriod, ExitSlowPeriod) # ٹیمپلیٹ فنکشن ای ایم اے اشارے کی تیز لائن، سست لائن کراسنگ کے نتائج حاصل کرتا ہے
if n > 0: # موجودہ گولڈن فورک کے طور پر مقرر کریں
a1 + 1 کے برابر ہے
if a <= int ((n): # اس بات کی وضاحت کرتا ہے کہ اب بھی اوپر کی طرف بڑھ رہا ہے
a = int ((n)
else: # نیچے کی طرف بڑھ رہا ہے
if ((int ((n) <= int ((a) - int ((ExitPeriod)): # نیچے کی سمت کی تصدیق کرتا ہے
if my_sell ((): # فلیش ہاؤس
a = 0
a1 = 0
state = STATE_IDLE # حالت تبدیل کریں خالی کے طور پر کھولنے کے لئے
# if ((a1>=10): # چھوٹی اتار چڑھاؤ آپریٹنگ بیعانہ
# a1=0
# اگر my_sell:
# a=0
# state = STATE_IDLE # حالت تبدیل کریں خالی کے طور پر کھولنے کے لئے
Sleep ((Interval * 1000)
ddbo2015except Exception my_sell: ooOooo000oOO instance has no attribute 'GetMinStock' except Exception my_sell: ooOooo000oOO instance has no attribute 'GetMinStock' اسسٹینشن میں کوئی خاصیت نہیں ہے
کیا آپ مجھے بتاسکتے ہیں کہ اس کا کیا مطلب ہے؟
17707250703یہ بہت اچھا ہے، لیکن اب یہ کام نہیں کرتا.
قطب شمالییکساں _ رجحانات _ حکمت عملی کی تجارت _ 1 اعلی درجے کی
http://v.youku.com/v_show/id_XMTczMTAxMjQ5Ng==.html
ہموار _ رجحانات _ حکمت عملی کی تجارت _ اعلی درجے کی 2
http://v.youku.com/v_show/id_XMTczMDk4MTEwMA==.html