彩虹移动平均 IQ-Options API

问题描述

我想了解这条彩虹移动平均线是如何工作的。我正在创建一个机器人来提醒我黄线 MA2 穿过红色 MA10。

MA 公式很简单,就像 10SMA 加上所有蜡烛收盘价。然后你会得到你的 10SMA。我的问题是彩虹移动平均线 SMA 2 是正确的,但其他人则不是。 例如,检查此图像 Click here。 我的黑色 SMA 不尖。请分享这条彩虹移动平均线的公式。 我正在为我创建一个 Bot,请看一看,我不是一个 python 人,而是试图制作脚本。 来自 github

的源代码
from random import sample
from iqoptionapi.stable_api import IQ_Option
import logging
import time
#logging.basicConfig(level=logging.DEBUG,format='%(asctime)s %(message)s')
print("login...")
Iq=IQ_Option("xxxxxxx@gmail.com","passowrd")
Iq.connect()#connect to iqoption
goal="EURUSD"
size=30#size=[1,5,10,15,30,60,120] // its a timeframe
maxdict=11
print("start stream...")
Iq.start_candles_stream(goal,size,maxdict)

print("print candles")

candleCount = 0
while True:
    sma10 = 0
    sma2 = 0
    cc=Iq.get_realtime_candles(goal,size)
    for k in cc:
        if candleCount < 10: 
            sma10 += cc[k]["close"]
            candleCount+=1
        else:
            candleCount+=1

    candleCount = 0

    for k in cc:
        if candleCount > 7 and candleCount < 10: // getting last 2
            sma2 += cc[k]["close"]
            candleCount+=1
        else:
            candleCount+=1

    candleCount = 0

    LastCandleOpen = 0
    LastCandleClose = 0

    for k in cc:
        if candleCount > 8 and candleCount < 10:
            LastCandleOpen = cc[k]["open"]
            LastCandleClose = cc[k]["close"]
            candleCount+=1
        else:
            candleCount+=1
    Money=1
    ACTIVES="EURUSD"
    ACTION="call"#or "put"
    expirations_mode=1


    sma10 = sma10 / 9
    sma2 = sma2 / 2
    extra = sma2 - sma10
    sma10 = sma10 + extra
    purchase_time = 0
    if LastCandleOpen < sma2 and LastCandleClose > sma10 and LastCandleOpen < LastCandleClose:
        check,id=Iq.buy(Money,ACTIVES,ACTION,expirations_mode)
        if check:
            remaning_time=Iq.get_remaning(expirations_mode)
            purchase_time=remaning_time-30
            print("!buy!")
            time.sleep(5)
        else:
            print("buy fail")
        
    else:
        if LastCandleOpen > sma2 and LastCandleClose < sma10 and LastCandleOpen > LastCandleClose:
            check,"put",expirations_mode)
            if check:
                remaning_time=Iq.get_remaning(expirations_mode)
                purchase_time=remaning_time-30
                print("!sell!")
                time.sleep(5)
            else:
                print("buy fail")
    sma10=0
    sma2=0
    LastCandleOpen=0
    LastCandleClose=0
    candleCount=0
 
    time.sleep(purchase_time)
print("My data")

            
            

print(sma10)
print(sma2)
print(LastCandleOpen)
print(LastCandleClose)
print("stop candle")
Iq.stop_candles_stream(goal,size)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)