- スクエア
- 均線-トレンド_デジタル通貨戦略 V0.2
均線-トレンド_デジタル通貨戦略 V0.2
作者: リン・ハーン
極地, 2016年9月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) を実行する: ファイル "", line 967, in __init_ctx__ ファイル "", line 63 except Exception,ex: ^ SyntaxError: invalid syntax
本当か?市場価格で買い出し,何度か失敗しても失敗する.
本当か?#!/usr/local/bin/python について
#-*-コード: UTF-8 -*-
#均線/トレンド 戦略
#死門の底から戻った後,どれだけ買ったかを判断する
#金が上へ上がって,下へ落ちて,売れる
#FastPeriod=3 #開拓のショートラインサイクル
#SlowPeriod=7 #開場のスローラインサイクル
# EnterPeriod=1 # オープン期間の観察
#ExitFastPeriod=3 #平行線の周期
#ExitSlowPeriod=7 #平衡のスローラインサイクル
#ExitPeriod=2 #平衡観察期
#ポジション比 = 0.5 #ポジション比
#interval=10 #輪廻周期
#MAType=0 #均線型 TA.EMA.MA
array = [TA.EMA,TA.MA]
_MACalcMethod = アレイ[MAType]
ext = 交換
def Cross ((a, b): #均線計算方法
この数字は,
この式は,
この2つの項目は,
listType = type ((arr1)) について
intType = type ((1)) について
floatType = type ((1.1)) について
if ((type ((a) == type ((arr1) and type ((b) == type ((arr2)):
この式は,
これは,x=2です.
else: はコメントを受け付けていません
records = ゼロ
while True: while True: while True: while True:
records = exchange.GetRecords (エクスチェンジ)
if ((records and len ((records) > a and len ((records) > b):
ブレイク
スリープ (interval)
arr1 = _MACalcMethod ((records, a) について)
arr2 = _MACalcMethod ((records, b) について)
if ((len ((arr1)!= len ((arr2)):
"array length is not equal" (配列の長さが等しくない)
for i in range ((len ((arr1) -1, -1, -1): i は, i の範囲内にある.
if (((type ((arr1[i])!= intType and type ((arr1[i])!= floatType) or (type ((arr2[i])!= intType and type ((arr2[i])!= floatType)):
ブレイク
if ((arr1[i] < arr2[i]):
if ((crossNum > 0):
ブレイク
この数字は,
e.f (arr1 (i) >arr2 (i)):
if ((crossNum < 0)):
ブレイク
この数字は,
else: はコメントを受け付けていません
ブレイク
return crossNum について
import datetime について
def Caltime ((date1, date2)): カルタイム (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[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0]
2], date1[3], date1[4], date1[5])
date2 = datetime.datetime ((date2[0],date2[1],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0].
2], date2[3], date2[4], date2[5])
return date2 - date1 返却する
except Exception as ex: 例外として
Log (('except Exception Caltime:', ex) について
return "except Exception" "例外を除いて" "例外を除いて"
インポートタイム
start_timexx = time.localtime ((time.time (()) # time.clock (()) # start_timexx = time.localtime (()) # start_timexx = time.localtime (()) # start_timexx = time.localtime (()) # time.clock (()) # start_time.xx = time.localtime (()) # time.time.time (()) # time.clock (())
start_time = time.strftime (("%Y-%m-%d %H:%M:%S", start_timexx)
買取価格 = 0 #
buy_qty = 0 # 購入量
利益は0です
my_buy (def my_buy) について
試す:
global buy_price, buy_qty グローバル・バイ・プライス,バイ・キティ
initAccount = ext.GetAccount() #取引テンプレートの輸出関数,アカウントの状態を取得,ポリシーを実行する前にアカウントの初期状態を保存する
opAmount = 1 と表示されます.
#取引開始前にコインを判断する
if int ((initAccount.Stocks) > 1: この場合は,
価格が1より小さい場合は,
購入価格 = _C (exchange.GetTicker).Last
buy_qty = initアカウント.ストック
Log (('開場情報1 倉庫内には比:', initAccount.Stocks,
'空白を行います', '--開設詳細:', initAccount)
return 1 について
if int ((initAccount.Stocks) < 1: この場合は,
if int ((float ((str ((initAccount.Stocks).replace (('0.', ''))) >= 1:
価格が1より小さい場合は,
購入価格 = _C (exchange.GetTicker).Last
buy_qty = initアカウント.ストック
Log (('開場情報2 倉庫には比:', initAccount.Stocks,
'空白を行います', '--開設詳細:', initAccount)
return 1 について
#if 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['価格']
buy_qty = Dict['Amount'] # 購入する量
print_log ((1, initAccount, Dict) について
return 1 について
return 0 について
except Exception as ex: 例外として
ログ (('except Exception my_buy:',ex)
返信 0
outAccount = ext.GetAccount ((() #初期化情報
デフプリント_ログ ((k_p, アカウント, ディクト):
試す:
グローバルアウトアカウント
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)), スタート_タイム, カールタイム (start_time, date1)),
"%s\r\n" % (str(gains)
"現在の状態: %s--お金: %s--通貨: %s\r\n" % (str(name),
アカウント.バランス,アカウント.ストック,
"%s" % (date1) の更新時間
) #テスト
except Exception as ex: 例外として
Log (('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: #現在の価格は開場価格よりも大きい必要があります
ログ (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'] 販売価格について
売れ行きは,売れ行きが
買取価格 = 0 #
buy_qty = 0 # 購入量
print_log ((0,nowAccount,Dict) は,このページをクリックして,
return 1 について
return 0 について
except Exception as ex: 例外として
ログ (('except Exception my_sell:',ex)
return 0 について
def main ((()): は
グローバルアウトアカウント
STATE_IDLE = -1 #空き状態
state = STATE_IDLE #初期化 状態は空です
ログ (= run, outAccount) # 初期アカウント情報を出力する
SetErrorFilter (("GetAccountでGetRecordsでGetTicker") # 誤ったコンテンツを遮断する
b = 0 # 取引開始
b1 = 0 # 検出回数
a = 0 # 平衡する
a1 = 0 # 検出回数
while True: while True: while True: 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 (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: # 現在のフォークを定義する
これは,a+1=1です.
if a <= int ((n): #現在上昇傾向にあることを示す
a = int (n)
else: #下落し始め 安定した状態
if ((int ((n) <= int ((a) - int ((ExitPeriod)): #自定義の点まで下向きの動きを確認する
if my_sell (if my_sell): #平仓
a=0で
a1 = 0
state = STATE_IDLE # 状態を変更する 空白で開場を誘発する
#if(a1>=10): #小波動操作平衡
#a1=0
#if my_sell (もし私の_売れたら)
#a=0
# state = STATE_IDLE # 状態を変更する 空き状態で 取引を開始する
スリープ (Interval * 1000)
本当か?#!/usr/local/bin/python について
#-*-コード: UTF-8 -*-
#均線/トレンド 戦略
#死門の底から戻った後,どれだけ買ったかを判断する
#金が上へ上がって,下へ落ちて,売れる
#FastPeriod=3 #開拓のショートラインサイクル
#SlowPeriod=7 #開場のスローラインサイクル
# EnterPeriod=1 # オープン期間の観察
#ExitFastPeriod=3 #平行線の周期
#ExitSlowPeriod=7 #平衡のスローラインサイクル
#ExitPeriod=2 #平衡観察期
#ポジション比 = 0.5 #ポジション比
#interval=10 #輪廻周期
#MAType=0 #均線型 TA.EMA.MA
array = [TA.EMA,TA.MA]
_MACalcMethod = アレイ[MAType]
ext = 交換
def Cross ((a, b): #均線計算方法
この数字は,
この式は,
この2つの項目は,
listType = type ((arr1)) について
intType = type ((1)) について
floatType = type ((1.1)) について
if ((type ((a) == type ((arr1) and type ((b) == type ((arr2)):
この式は,
これは,x=2です.
else: はコメントを受け付けていません
records = ゼロ
while True: while True: while True: while True:
records = exchange.GetRecords (エクスチェンジ)
if ((records and len ((records) > a and len ((records) > b):
ブレイク
スリープ (interval)
arr1 = _MACalcMethod ((records, a) について)
arr2 = _MACalcMethod ((records, b) について)
if ((len ((arr1)!= len ((arr2)):
"array length is not equal" (配列の長さが等しくない)
for i in range ((len ((arr1) -1, -1, -1): i は, i の範囲内にある.
if (((type ((arr1[i])!= intType and type ((arr1[i])!= floatType) or (type ((arr2[i])!= intType and type ((arr2[i])!= floatType)):
ブレイク
if ((arr1[i] < arr2[i]):
if ((crossNum > 0):
ブレイク
この数字は,
e.f (arr1 (i) >arr2 (i)):
if ((crossNum < 0)):
ブレイク
この数字は,
else: はコメントを受け付けていません
ブレイク
return crossNum について
import datetime について
def Caltime ((date1, date2)): カルタイム (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[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0],date1[0]
2], date1[3], date1[4], date1[5])
date2 = datetime.datetime ((date2[0],date2[1],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0],date2[0].
2], date2[3], date2[4], date2[5])
return date2 - date1 返却する
except Exception as ex: 例外として
Log (('except Exception Caltime:', ex) について
return "except Exception" "例外を除いて" "例外を除いて"
インポートタイム
start_timexx = time.localtime ((time.time (()) # time.clock (()) # start_timexx = time.localtime (()) # start_timexx = time.localtime (()) # start_timexx = time.localtime (()) # time.clock (()) # start_time.xx = time.localtime (()) # time.time.time (()) # time.clock (())
start_time = time.strftime (("%Y-%m-%d %H:%M:%S", start_timexx)
買取価格 = 0 #
buy_qty = 0 # 購入量
利益は0です
my_buy (def my_buy) について
試す:
global buy_price, buy_qty グローバル・バイ・プライス,バイ・キティ
initAccount = ext.GetAccount() #取引テンプレートの輸出関数,アカウントの状態を取得,ポリシーを実行する前にアカウントの初期状態を保存する
opAmount = 1 と表示されます.
#取引開始前にコインを判断する
if int ((initAccount.Stocks) > 1: この場合は,
価格が1より小さい場合は,
購入価格 = _C (exchange.GetTicker).Last
buy_qty = initアカウント.ストック
Log (('開場情報1 倉庫内には比:', initAccount.Stocks,
'空白を行います', '--開設詳細:', initAccount)
return 1 について
if int ((initAccount.Stocks) < 1: この場合は,
if int ((float ((str ((initAccount.Stocks).replace (('0.', ''))) >= 1:
価格が1より小さい場合は,
購入価格 = _C (exchange.GetTicker).Last
buy_qty = initアカウント.ストック
Log (('開場情報2 倉庫には比:', initAccount.Stocks,
'空白を行います', '--開設詳細:', initAccount)
return 1 について
#if 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['価格']
buy_qty = Dict['Amount'] # 購入する量
print_log ((1, initAccount, Dict) について
return 1 について
return 0 について
except Exception as ex: 例外として
ログ (('except Exception my_buy:',ex)
返信 0
outAccount = ext.GetAccount ((() #初期化情報
デフプリント_ログ ((k_p, アカウント, ディクト):
試す:
グローバルアウトアカウント
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)), スタート_タイム, カールタイム (start_time, date1)),
"%s\r\n" % (str(gains)
"現在の状態: %s--お金: %s--通貨: %s\r\n" % (str(name),
アカウント.バランス,アカウント.ストック,
"%s" % (date1) の更新時間
) #テスト
except Exception as ex: 例外として
Log (('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: #現在の価格は開場価格よりも大きい必要があります
ログ (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'] 販売価格について
売れ行きは,売れ行きが
買取価格 = 0 #
buy_qty = 0 # 購入量
print_log ((0,nowAccount,Dict) は,このページをクリックして,
return 1 について
return 0 について
except Exception as ex: 例外として
ログ (('except Exception my_sell:',ex)
return 0 について
def main ((()): は
グローバルアウトアカウント
STATE_IDLE = -1 #空き状態
state = STATE_IDLE #初期化 状態は空です
ログ (= run, outAccount) # 初期アカウント情報を出力する
SetErrorFilter (("GetAccountでGetRecordsでGetTicker") # 誤ったコンテンツを遮断する
b = 0 # 取引開始
b1 = 0 # 検出回数
a = 0 # 平衡する
a1 = 0 # 検出回数
while True: while True: while True: 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 (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: # 現在のフォークを定義する
これは,a+1=1です.
if a <= int ((n): #現在上昇傾向にあることを示す
a = int (n)
else: #下落し始め 安定した状態
if ((int ((n) <= int ((a) - int ((ExitPeriod)): #自定義の点まで下向きの動きを確認する
if my_sell (if my_sell): #平仓
a=0で
a1 = 0
state = STATE_IDLE # 状態を変更する 空白で開場を誘発する
#if(a1>=10): #小波動操作平衡
#a1=0
#if my_sell (もし私の_売れたら)
#a=0
# state = STATE_IDLE # 状態を変更する 空き状態で 取引を開始する
スリープ (Interval * 1000)
ddbo2015except Exception my_sell: ooOooo000oOO instanceには 'GetMinStock' という属性がない
教えて下さい,いつも提示していることってどういうことですか?
17707250703素晴らしいですが,今は使えません.
極地均線 _ トレンド _ 戦略取引 _ 1 高清
http://v.youku.com/v_show/id_XMTczMTAxMjQ5Ng==.html この動画は,
平均線 _ トレンド _ 戦略取引 _ 高清2
http://v.youku.com/v_show/id_XMTczMDk4MTEwMA==.html この動画は,