2016-05-31 5 views
0

いくつかの株式譲渡に応じてIFのパラメータの値を自動的に調整できるアルゴリズムを実現するために、Pythonで 'IF'を使用しようとしています。条件パラメータの調整

if self.sellcount==0 and int(time.time())-self.programstarttime>600: 
    if cur_sum/total_sum>0.15: 
      Other Code 
else: 
     if cur_sum/total_sum>0.35: 
      Other Code 

私は私のアルゴリズムは、10分間の任意の株式を販売していない場合、アルゴリズムは自動的に0.35から0.15に条件を変更することができることを実現してみてください。しかし、上記のコードは株式を一度売却した後、0.15から0.35に変更されます。私はコードを一度株式を売却した後0.15にしておきたい。

答えて

0

私は株式取引は、この簡単ではありません、あなたは(複雑なものにだけすることができますように)単純なアルゴリズムでたくさんのお金を失うことが、注意しなければ免責を開始したいと思い

しかしこれは、Pythonでプログラムを実行し、条件付きのロジックを理解する方法を理解する良い例です。

これについて知りたい基本的な構造がいくつかあります。最初のコンセプトは、プログラム内で常に時間を記録するために、コードを無限ループに入れたいと思う可能性があります。それはあなたのプログラミングが完了するまであなたが望むことをやり続けるでしょう。これは次のようにすることができます:

while True: 

これで、時間を追跡するだけで済みます。これは、変数を設定し、反復の間にどれくらい待つかによって変数を増やすことで簡単に行うことができます。しかし、我々はまだ時間を追跡する必要があります。 Pythonには、timeモジュールで実装された素敵なスリープ機能があります。この関数を使用すると、プログラムは必要な秒数の間一時停止し、残りのコードを再開します。

from time import sleep 
last_sold_stock_time = 0 
wait_time = 1 

while True: 

    # <Condition Code goes here> 


    # This is in seconds 
    sleep(wait_time) 
    # Keep track of how much time has passed. 
    last_sold_stock_time += wait_time 

ここで、時間に基づいて条件値を変更するだけで済みます。完全なコードは、おそらく次のようなものになります。

from time import sleep 

# The number of seconds since last bought a stock, assumes start is 0 
last_sold_stock_time = 0 

# This is in seconds 
wait_time = 1 

# ten minutes in seconds 
ten_minutes = 600 
while True: 
    # Figure out these values however you do 
    cur_sum = 0 
    total_sum = 1 

    if last_sold_stock_time <= ten_minutes: 
     condition_value = 0.35 
    else: 
     condition_value = 0.15 

    if cur_sum/total_sum > condition_value: 
     # Do something 
     pass 

    sleep(wait_time) 
    last_sold_stock_time += wait_time 
+0

ご返信ありがとうございます。これは大学のコースの宿題の一部ですので、このアルゴリズムを使って実際の取引を行うことはしません。 – wwhy

関連する問題