如何在循环内判断BTC价格与short_ma的条件以控制循环执行?
解决方案
直接在循环内部开头加入条件判断逻辑,用continue跳过不符合要求的循环迭代,结合你的卖单代码,具体实现如下:
# 假设这是你的循环主体(示例为while循环,for循环逻辑一致) while True: # 先获取最新价格数据(这里补充你拉取btc_price的代码,比如API调用) # btc_price = client.get_symbol_ticker(symbol="BTCUSDT") price = float(btc_price["price"]) # 需求2:价格小于short_ma时,直接跳过当前循环,进入下一次迭代 if price < short_ma: continue # 需求1:只有价格大于short_ma时,才执行后续的下单逻辑 if price > short_ma: # 嵌入你原有的卖单判断逻辑 if buy1 != 0 and price >= buy1 * percentsell: print("sell1") order = client.order_market_sell( symbol="BTCUSDT", side='SELL', type='MARKET', quoteOrderQty=ordergroote ) # 若需要处理价格等于short_ma的情况,可添加如下判断(按需选择) # elif price == short_ma: # continue
逻辑说明
continue语句会直接终止当前循环的剩余代码,跳转到下一次循环的开始,精准匹配需求2的“直接继续循环”要求;- 先判断
price < short_ma并跳过,剩余场景仅为price >= short_ma,再通过price > short_ma筛选出符合需求1的条件,确保只有满足价格高于短期均线时,才会触发后续的卖单检查与执行; - 把你原有的卖单条件嵌套在需求1的判断内部,保证卖单操作只会在符合均线条件的前提下触发。
内容的提问来源于stack exchange,提问作者Donald
相关产品推荐
相关产品推荐

