语言切换

CrossArbitrage代码讲解

[复制链接]
小志 发表于 2020-7-8 11:00:56 | 显示全部楼层 |阅读模式
小志
2020-7-8 11:00:56 2109 7 看全部
首先,根据传入参数获得交易所、三个交易对、仓位、获利币种、初始余额,然后从数据库获取该网站每个交易对的成交量小数位数、最低成交量、最低成交金额、买卖手续费费率。之后再通过我们的WebSocketAPI接口获取到三个交易对的最新市场价格以及交易量同时返回插入该数据的时间,如果数据超过4分钟没有更新的话就不会继续进行套利,什么时候数据更新了什么时候继续套利。最后按照获利币种分为三大块,每个获利币种有两种循环套利,正循环和逆循环,当前市场行情符合哪种套利模式就用哪种。进入到里面后会判断交易对计价币种当前是否有余额,如果有余额按照余额乘以仓位算出可用余额,再除以交易对价格算出可交易量,再与另两个交易对可交易量比较,选用较小的交易量,按照该交易量进行运算并且把计算出的手续费转换成盈利币种进行最后的盈利计算,如果可以盈利按照算出的各个值进行下单,不可以盈利则返回错误信息。

  1. --LuaDBScript(BMT_CrossArbitrage_003)
  2. --三角套利
  3. require("BMT_CORE")
  4. local aa = dbhelper('BMT')
  5. --汇率转换
  6. local marketTag=MarketPrice('local')
  7. --交易所
  8. local jys1=:<InputStr.jys1>
  9. local jys2=:<InputStr.jys2>
  10. local jys3=:<InputStr.jys3>
  11. local a=exchange(jys1)
  12. local b=exchange(jys2)
  13. local c=exchange(jys3)
  14. --进行三角套利的交易对1(交易对3的计价币种和这个交易对的计数币种一致,计价币种和交易对2的计价币种一致)
  15. local symbol1=:<InputStr.symbol1>
  16. --进行三角套利的交易对2(交易对3的计数币种和这个交易对的计数币种一致,计价币种和交易对1的计价币种一致)
  17. local symbol2=:<InputStr.symbol2>
  18. --进行三角套利的交易对3
  19. local symbol3=:<InputStr.symbol3>
  20. --仓位
  21. local FreightSpace=tonumber(:<InputStr.FreightSpace>)
  22. --获利币种
  23. local ProfitCurrency=string.lower(:<InputStr.ProfitCurrency>)
  24. --机器人id
  25. local robotID='CrossArbitrageRobot'
  26. local list=lua_string_split(symbol3,'/')
  27. local base3=string.lower(list[1])
  28. local quote3=string.lower(list[2])
  29. local symbol3=base3..quote3
  30. local list=lua_string_split(symbol2,'/')
  31. local base2=string.lower(list[1])
  32. local quote2=string.lower(list[2])
  33. local symbol2=base2..quote2
  34. local list=lua_string_split(symbol1,'/')
  35. local base1=string.lower(list[1])
  36. local quote1=string.lower(list[2])
  37. local symbol1=base1..quote1
  38. --初始余额
  39. local balance=:<InputStr.balance>
  40. local list=lua_string_split(balance,',')
  41. local base3_balance=list[1]
  42. local quote3_balance=list[2]
  43. local quote2_balance=list[3]
  44. --base3初始余额
  45. local list=lua_string_split(base3_balance,'=')
  46. local balance_base3=tonumber(list[2])
  47. local FreightSpaceBalance3=balance_base3*FreightSpace
  48. balance_base3=balance_base3-FreightSpaceBalance3
  49. local t3=c:wsGetBalance(base3)
  50. if tonumber(t3[1]['available']) < balance_base3 then
  51.         error('下单余额已超过仓位限制')
  52. end
  53. --quote3初始余额
  54. local list=lua_string_split(quote3_balance,'=')
  55. local balance_quote3=tonumber(list[2])
  56. local FreightSpaceBalance3=balance_quote3*FreightSpace
  57. balance_quote3=balance_quote3-FreightSpaceBalance3
  58. local t2=c:wsGetBalance(quote3)
  59. if tonumber(t2[1]['available']) < balance_quote3 then
  60.         error('下单余额已超过仓位限制')
  61. end
  62. --quote2初始余额
  63. local list=lua_string_split(quote2_balance,'=')
  64. local balance_quote2=tonumber(list[2])
  65. local FreightSpaceBalance3=balance_quote2*FreightSpace
  66. balance_quote2=balance_quote2-FreightSpaceBalance3
  67. local t1=b:wsGetBalance(quote2)
  68. if tonumber(t1[1]['available']) < balance_quote2 then
  69.         error('下单余额已超过仓位限制')
  70. end
  71. --从数据库读取交易所下单所需数据
  72. local t1=GettingData(jys1,symbol1)
  73. --小数位数
  74. local DecimalDigits11=t1.DecimalDigits
  75. --最低成交量
  76. local MinimalAmount1=t1.MinimalAmount
  77. --最低成交额
  78. local MinimalMoney1=t1.MinimalMoney
  79. local t2=GettingData(jys2,symbol2)
  80. local DecimalDigits22=t2.DecimalDigits
  81. local MinimalAmount2=t2.MinimalAmount
  82. local MinimalMoney2=t2.MinimalMoney
  83. local t3=GettingData(jys3,symbol3)
  84. local DecimalDigits33=t3.DecimalDigits
  85. local MinimalAmount3=t3.MinimalAmount
  86. local MinimalMoney3=t3.MinimalMoney
  87. --交易对1买卖手续费
  88. local tt1=GettingData(jys1,symbol1)
  89. local SCbuy1=tt1.BuyServiceCharge
  90. local SCsell1=tt1.SellServiceCharge
  91. --交易对2买卖手续费
  92. local tt2=GettingData(jys2,symbol2)
  93. local SCbuy2=tt2.BuyServiceCharge
  94. local SCsell2=tt2.SellServiceCharge
  95. --交易对3买卖手续费
  96. local tt3=GettingData(jys3,symbol3)
  97. local SCbuy3=tt3.BuyServiceCharge
  98. local SCsell3=tt3.SellServiceCharge
  99. local ts=0
  100. local ts1=0
  101. local difference=0
  102. --交易对1的市场价格和交易量
  103. local table1=a:wsGetEveryMarket(symbol1)
  104. ts=os.time()
  105. ts1=tonumber(string.sub(table1[1]['ts'],1,10))
  106. difference=ts-ts1
  107. if difference>240 then
  108.         difference=difference-240
  109.         error('Data out of date,'..difference..'second')
  110. end
  111. local price1=tonumber(table1[1]['sell'])
  112. local vol1=tonumber(table1[1]['sellsize'])
  113. local price11=tonumber(table1[1]['buy'])
  114. local vol11=tonumber(table1[1]['buysize'])
  115. --交易对2的市场价格和交易量
  116. local table2=b:wsGetEveryMarket(symbol2)
  117. ts=os.time()
  118. ts1=tonumber(string.sub(table2[1]['ts'],1,10))
  119. difference=ts-ts1
  120. if difference>240 then
  121.         difference=difference-240
  122.         error('Data out of date,'..difference..'second')
  123. end
  124. local price2=tonumber(table2[1]['sell'])
  125. local vol2=tonumber(table2[1]['sellsize'])
  126. local price22=tonumber(table2[1]['buy'])
  127. local vol22=tonumber(table2[1]['buysize'])
  128. --交易对3的市场价格和交易量
  129. local table3=c:wsGetEveryMarket(symbol3)
  130. ts=os.time()
  131. ts1=tonumber(string.sub(table3[1]['ts'],1,10))
  132. difference=ts-ts1
  133. if difference>240 then
  134.         difference=difference-240
  135.         error('Data out of date,'..difference..'second')
  136. end
  137. local price3=tonumber(table3[1]['sell'])
  138. local vol3=tonumber(table3[1]['sellsize'])
  139. local price33=tonumber(table3[1]['buy'])
  140. local vol33=tonumber(table3[1]['buysize'])
  141. --最终盈利
  142. local FinalProfit=0
  143. try
  144.         if ProfitCurrency==quote2 then--usdt
  145.                 if price3 < price22/price1 then
  146.                         local table3=c:wsGetBalance(quote3)
  147.                         if #table3==0 or table3[1]['available']==0 then error(jys3..'of'..quote3..',There is no available balance in the currency') end
  148.                         --交易对3传入仓位计算出的可用余额
  149.                         local balance3=table3[1]['available']*FreightSpace
  150.                         --交易对3可以交易的数量
  151.                         local number3=GetPreciseDecimal(balance3/price3,DecimalDigits33)
  152.                         if number3 > vol3 then
  153.                                 volume=vol3
  154.                         elseif number3 < vol3 then
  155.                                 volume=number3
  156.                         elseif number3 == vol3 then
  157.                                 volume=number3
  158.                         end
  159.                         --保留几位小数
  160.                         volume=GetPreciseDecimal(volume,DecimalDigits33)
  161.                         local table1=a:wsGetBalance(quote1)
  162.                         if #table1==0 or table1[1]['available']==0 then error(jys1..'of'..quote1..',There is no available balance in the currency') end
  163.                         --交易对1传入仓位计算出的可用余额
  164.                         local balance1=table1[1]['available']*FreightSpace
  165.                         --交易对1可以交易的数量
  166.                         local number1=GetPreciseDecimal(balance1/price1,DecimalDigits11)
  167.                         if number1 < volume*price3 then
  168.                                 --现有仓位余额不足以进行此交易量下单,所以需要根据可用余额更改交易量
  169.                                 volume=number1/pirce3
  170.                                 volume=GetPreciseDecimal(volume,DecimalDigits11)
  171.                         end
  172.                         local table2=b:wsGetBalance(base2)
  173.                         if #table2==0 or table2[1]['available']==0 then error(jys2..'of'..base2..',There is no available balance in the currency') end
  174.                         --交易对2传入仓位计算出的可用余额
  175.                         local balance2=table2[1]['available']*FreightSpace
  176.                         --交易对2可以交易的数量
  177.                         local number2=GetPreciseDecimal(balance2,DecimalDigits22)
  178.                         if number2 < volume then
  179.                                 --现有仓位余额不足以进行此交易量下单,所以需要根据可用余额更改交易量
  180.                                 volume=number2
  181.                                 volume=GetPreciseDecimal(volume,DecimalDigits22)
  182.                         end
  183.                         --local ssss=price1*volume*(price22/price1 - price3)
  184.                         --1下买单对应参数(交易对3)xrpbtc
  185.                         local volume3=GetPreciseDecimal(volume,DecimalDigits33)
  186.                         if MinimalAmount3 > volume3 then error('交易所规定的最小下单量为:'..MinimalAmount3..base3..',请您适当调高仓位') end
  187.                         local expenditure3=price3*volume3
  188.                         if MinimalMoney3 > expenditure3 then error('交易所规定的最小下单金额为:'..MinimalMoney3..quote3..',请您适当调高仓位') end
  189.                         if SCbuy3 >= 0 then
  190.                                 --交易对3下买单手续费转换成usdt
  191.                                 SC3=expenditure3*SCbuy3
  192.                         elseif SCbuy3 < 0 then
  193.                                 --交易对3下买单手续费
  194.                                 SC3=Math.abs(SCbuy3)
  195.                         end
  196.                         --2下买单对应参数(交易对1)btcusdt
  197.                         local volume1=GetPreciseDecimal(expenditure3,DecimalDigits11,1)
  198.                         if MinimalAmount1 > volume1 then error('交易所规定的最小下单量为:'..MinimalAmount1..base1..',请您适当调高仓位') end
  199.                         local expenditure1=price1*volume1
  200.                         if MinimalMoney1 > expenditure1 then error('交易所规定的最小下单金额为:'..MinimalMoney1..quote1..',请您适当调高仓位') end
  201.                         if SCbuy1 >= 0 then
  202.                                 --交易对1下买单手续费
  203.                                 SC1=expenditure1*SCbuy1
  204.                         elseif SCbuy1 < 0 then
  205.                                 SC1=Math.abs(SCbuy1)
  206.                         end
  207.                         --3下卖单对应参数(交易对2)xrpusdt
  208.                         local volume2=GetPreciseDecimal(volume3,DecimalDigits22)
  209.                         if MinimalAmount2 > volume2 then error('交易所规定的最小下单量为:'..MinimalAmount2..base2) end
  210.                         local acquire2=price22*volume2
  211.                         if MinimalMoney2 > acquire2 then error('交易所规定的最小下单金额为:'..MinimalMoney2..quote2..',请您适当调高仓位') end
  212.                         if SCsell2 >= 0 then
  213.                                 --交易对2下卖单手续费
  214.                                 SC2=acquire2*SCsell2
  215.                         elseif SCsell2 < 0 then
  216.                                 SC2=Math.abs(SCsell2)
  217.                         end
  218.                         local profit=acquire2-expenditure1
  219.                         --手续费转换成以盈利币种计算
  220.                         SC3=SC3*price1
  221.                         FinalProfit=profit-(SC3+SC1+SC2)
  222.                         luadb.log(symbol3..'下买单交易量为:'..volume3..',单价为:'..price3)
  223.                         luadb.log(symbol1..'下买单交易量为:'..volume1..',单价为:'..price1)
  224.                         luadb.log(symbol2..'下卖单交易量为:'..volume2..',单价为:'..price22)
  225.                         luadb.log(symbol3..'下买单手续费转换成'..ProfitCurrency..'为:'..SC3)
  226.                         luadb.log(symbol1..'下买单手续费为:'..SC1)
  227.                         luadb.log(symbol2..'下卖单手续费为:'..SC2)
  228.                         luadb.log('获利币种('..ProfitCurrency..')金额不减手续费为:'..profit)
  229.                         luadb.log('获利币种('..ProfitCurrency..')金额减去手续费为:'..FinalProfit)
  230.                         if FinalProfit > 0 then
  231.                                 local timestamp=os.time()
  232.                                 luadb.log('1下买单了')
  233.                                 local c_orderid=c:placeBuyOrder(symbol3,volume3,price3,robotID,timestamp)
  234.                                 luadb.log('1下单完成')
  235.                                 luadb.log('2下买单了')
  236.                                 local a_orderid=a:placeBuyOrder(symbol1,volume1,price1,robotID,timestamp)
  237.                                 luadb.log('2下单完成')
  238.                                 luadb.log('3下卖单了')
  239.                                 local b_orderid=b:placeSellOrder(symbol2,volume2,price22,robotID,timestamp)
  240.                                 luadb.log('3下单完成')
  241.                         else
  242.                                 error('The profit is less than 0')
  243.                         end
  244.                 elseif price33 > price2/price11  then
  245.                         local table3=c:wsGetBalance(base3)
  246.                         if #table3==0 or table3[1]['available']==0 then error(jys3..'of'..base3..',There is no available balance in the currency') end
  247.                         --交易对3传入仓位计算出的可用余额
  248.                         local balance3=table3[1]['available']*FreightSpace
  249.                         --交易对3可以交易的数量
  250.                         local number3=GetPreciseDecimal(balance3,DecimalDigits33)
  251.                         if number3 > vol33 then
  252.                                 volume=vol33
  253.                         elseif number3 < vol33 then
  254.                                 volume=number3
  255.                         elseif number3 == vol33 then
  256.                                 volume=number3
  257.                         end
  258.                         volume=GetPreciseDecimal(volume,DecimalDigits33)
  259.                         local table2=b:wsGetBalance(quote2)
  260.                         if #table2==0 or table2[1]['available']==0 then error(jys2..'of'..quote2..',There is no available balance in the currency') end
  261.                         --交易对2传入仓位计算出的可用余额
  262.                         local balance2=table2[1]['available']*FreightSpace
  263.                         --交易对2可以交易的数量
  264.                         local number2=GetPreciseDecimal(balance2/price2,DecimalDigits22)
  265.                         if number2 < volume then
  266.                                 volume=number2
  267.                                 volume=GetPreciseDecimal(volume,DecimalDigits22)
  268.                         end
  269.                         local table1=a:wsGetBalance(base1)
  270.                         if #table1==0 or table1[1]['available']==0 then error(jys1..'of'..base1..',There is no available balance in the currency') end
  271.                         --交易对1传入仓位计算出的可用余额
  272.                         local balance1=table1[1]['available']*FreightSpace
  273.                         --交易对1可以交易的数量
  274.                         local number1=GetPreciseDecimal(balance1,DecimalDigits11)
  275.                         if number1 < price33*volume then
  276.                                 volume=number1/price33
  277.                                 volume=GetPreciseDecimal(volume,DecimalDigits11)
  278.                         end
  279.                         --local ssss=price11*volume*(price33 - price2/price11)
  280.                         --4下卖单对应参数(交易对3)xrpbtc
  281.                         local volume3=GetPreciseDecimal(volume,DecimalDigits33)
  282.                         if MinimalAmount3 > volume3 then error('交易所规定的最小下单量为:'..MinimalAmount3..base3..',请您适当调高仓位') end
  283.                         local acquire3=price33*volume3
  284.                         if MinimalMoney3 > acquire3 then error('交易所规定的最小下单金额为:'..MinimalMoney3..quote3..',请您适当调高仓位') end
  285.                         --交易对3下卖单手续费
  286.                         if SCsell3 >= 0 then
  287.                                 SC3=acquire3*SCsell3
  288.                         elseif SCsell3 < 0 then
  289.                                 SC3=Math.abs(SCsell3)
  290.                         end
  291.                         --5下买单对应参数(交易对2)xrpusdt
  292.                         local volume2=GetPreciseDecimal(volume3,DecimalDigits22)
  293.                         if MinimalAmount2 > volume2 then error('交易所规定的最小下单量为:'..MinimalAmount2..base2..',请您适当调高仓位') end
  294.                         local expenditure2=price2*volume2
  295.                         if MinimalMoney2 > expenditure2 then error('交易所规定的最小下单金额为:'..MinimalMoney2..quote2..',请您适当调高仓位') end
  296.                         --交易对2下买单手续费
  297.                         if SCbuy2 >= 0 then
  298.                                 SC2=expenditure2*SCbuy2
  299.                         else
  300.                                 SC2=Math.abs(SCbuy2)
  301.                         end
  302.                         --6下卖单对应参数(交易对1)btcusdt
  303.                         local volume1=GetPreciseDecimal(acquire3,DecimalDigits11,1)
  304.                         if MinimalAmount1 > volume1 then error('交易所规定的最小下单量为:'..MinimalAmount1..base1..',请您适当调高仓位') end
  305.                         local acquire1=price11*volume1
  306.                         if MinimalMoney1 > acquire1 then error('交易所规定的最小下单金额为:'..MinimalMoney1..quote1..',请您适当调高仓位') end
  307.                         --交易对1下卖单手续费
  308.                         if SCsell1 >= 0 then
  309.                                 SC1=acquire1*SCsell1
  310.                         else
  311.                                 SC1=Math.abs(SCsell1)
  312.                         end
  313.                         local profit=acquire1-expenditure2
  314.                         --手续费转换成以盈利币种计算
  315.                         SC3=SC3*price11
  316.                         FinalProfit=profit-(SC3+SC1+SC2)
  317.                         luadb.log(symbol3..'下卖单交易量为:'..volume3..',单价为:'..price33)
  318.                         luadb.log(symbol2..'下买单交易量为:'..volume2..',单价为:'..price2)
  319.                         luadb.log(symbol1..'下卖单交易量为:'..volume1..',单价为:'..price11)
  320.                         luadb.log(symbol3..'下卖单手续费转换成'..ProfitCurrency..'为:'..SC3)
  321.                         luadb.log(symbol2..'下买单手续费转换成人民币为:'..SC2)
  322.                         luadb.log(symbol1..'下卖单手续费转换成人民币为:'..SC1)
  323.                         luadb.log('获利币种('..ProfitCurrency..')金额不减手续费为:'..profit)
  324.                         luadb.log('获利币种('..ProfitCurrency..')金额减去手续费为:'..FinalProfit)
  325.                         if FinalProfit > 0 then
  326.                                 local timestamp=os.time()
  327.                                 luadb.log('4下卖单了')
  328.                                 local c_orderid=c:placeSellOrder(symbol3,volume3,price33,robotID,timestamp)
  329.                                 luadb.log('4下单完成')
  330.                                 luadb.log('5下买单了')
  331.                                 local b_orderid=b:placeBuyOrder(symbol2,volume2,price2,robotID,timestamp)
  332.                                 luadb.log('5下单完成')
  333.                                 luadb.log('6下卖单了')
  334.                                 local a_orderid=a:placeSellOrder(symbol1,volume1,price11,robotID,timestamp)
  335.                                 luadb.log('6下单完成')
  336.                         else
  337.                                 error('获利金额小于0')
  338.                         end
  339.                 end
  340.         elseif ProfitCurrency==quote3 then--btc
  341.                 if price3 < price22/price1 then
  342.                         local table2=b:wsGetBalance(base2)
  343.                         if #table2==0 or table2[1]['available']==0 then error(jys2..'of'..base2..',There is no available balance in the currency') end
  344.                         --交易对2传入仓位计算出的可用余额
  345.                         local balance2=table2[1]['available']*FreightSpace
  346.                         --交易对2可以交易的数量
  347.                         local number2=GetPreciseDecimal(balance2,DecimalDigits22)
  348.                         if number2 > vol22 then
  349.                                 volume=vol22
  350.                         elseif number2 < vol22 then
  351.                                 volume=number2
  352.                         elseif number3 == vol22 then
  353.                                 volume=number2
  354.                         end
  355.                         --保留小数点后两位
  356.                         volume=GetPreciseDecimal(volume,DecimalDigits22)
  357.                         local table3=c:wsGetBalance(quote3)
  358.                         if #table3==0 or table3[1]['available']==0 then error(jys3..'of'..quote3..',There is no available balance in the currency') end
  359.                         --交易对3传入仓位计算出的可用余额
  360.                         local balance3=table3[1]['available']*FreightSpace
  361.                         --交易对3可以交易的数量
  362.                         local number3=GetPreciseDecimal(balance3/price3,DecimalDigits33)
  363.                         if number3 < volume then
  364.                                 volume=number3
  365.                                 --保留小数点后两位
  366.                                 volume=GetPreciseDecimal(volume,DecimalDigits33)
  367.                         end
  368.                         local table1=a:wsGetBalance(quote1)
  369.                         if #table1==0 or table1[1]['available']==0 then error(jys1..'of'..quote1..',There is no available balance in the currency') end
  370.                         --交易对1传入仓位计算出的可用余额
  371.                         local balance1=table1[1]['available']*FreightSpace
  372.                         --交易对1可以交易的数量
  373.                         local number1=GetPreciseDecimal(balance1/price1,DecimalDigits11)
  374.                         if number1 < price22*volume/price1 then
  375.                                 volume=number1*price1/price22
  376.                                 --保留小数点后两位
  377.                                 volume=GetPreciseDecimal(volume,DecimalDigits11)
  378.                         end
  379.                         --local ssss=(price22/price1 - price3)*volume
  380.                         --7下卖单对应参数(交易对2)xrpusdt
  381.                         local volume2=GetPreciseDecimal(volume,DecimalDigits22)
  382.                         if MinimalAmount2 > volume2 then error('交易所规定的最小下单量为:'..MinimalAmount2..base2..',请您适当调高仓位') end
  383.                         local acquire2=price22*volume2
  384.                         if MinimalMoney2 > acquire2 then error('交易所规定的最小下单金额为:'..MinimalMoney2..quote2..',请您适当调高仓位') end
  385.                         --交易对2下卖单手续费
  386.                         if SCsell2 >= 0 then
  387.                                 SC2=acquire2*SCsell2
  388.                         else
  389.                                 SC2=Math.abs(SCsell2)
  390.                         end
  391.                         --8下买单对应参数(交易对3)xrpbtc
  392.                         local volume3=GetPreciseDecimal(volume2,DecimalDigits33)
  393.                         if MinimalAmount3 > volume3 then error('交易所规定的最小下单量为:'..MinimalAmount3..base3..',请您适当调高仓位') end
  394.                         local expenditure3=price3*volume3
  395.                         if MinimalMoney3 > expenditure3 then error('交易所规定的最小下单金额为:'..MinimalMoney3..quote3..',请您适当调高仓位') end
  396.                         --交易对3下买单手续费
  397.                         if SCbuy3 >= 0 then
  398.                                 SC3=expenditure3*SCbuy3
  399.                         else
  400.                                 SC3=Math.abs(SCbuy3)
  401.                         end
  402.                         --9下买单对应参数(交易对1)btcusdt
  403.                         local volume1=GetPreciseDecimal(acquire2/price1,DecimalDigits11,1)
  404.                         if MinimalAmount1 > volume1 then error('交易所规定的最小下单量为:'..MinimalAmount1..base1..',请您适当调高仓位') end
  405.                         local expenditure2=price1*volume1
  406.                         if MinimalMoney2 > expenditure2 then error('交易所规定的最小下单金额为:'..MinimalMoney2..quote1..',请您适当调高仓位') end
  407.                         --交易对1下买单手续费
  408.                         if SCbuy1 >= 0 then
  409.                                 SC1=expenditure2*SCbuy1
  410.                         else
  411.                                 SC1=Math.abs(SCbuy1)
  412.                         end
  413.                         local profit=volume1-expenditure3
  414.                         --手续费转换成以盈利币种计算
  415.                         SC2=SC2/price1
  416.                         SC1=SC1/price1
  417.                         FinalProfit=profit-(SC3+SC1+SC2)
  418.                         luadb.log(symbol2..'下卖单交易量为:'..volume2..',单价为:'..price22)
  419.                         luadb.log(symbol3..'下买单交易量为:'..volume3..',单价为:'..price3)
  420.                         luadb.log(symbol1..'下买单交易量为:'..volume1..',单价为:'..price1)
  421.                         luadb.log(symbol2..'下卖单手续费转换成'..ProfitCurrency..'为:'..SC2)
  422.                         luadb.log(symbol3..'下买单手续费转换成'..ProfitCurrency..'为:'..SC3)
  423.                         luadb.log(symbol1..'下买单手续费转换成'..ProfitCurrency..'为:'..SC1)
  424.                         luadb.log('获利币种('..ProfitCurrency..')金额不减手续费为:'..profit)
  425.                         luadb.log('获利币种('..ProfitCurrency..')金额减去手续费为:'..FinalProfit)
  426.                         if FinalProfit > 0 then
  427.                                 local timestamp=os.time()
  428.                                 luadb.log('7下卖单了')
  429.                                 local b_orderid=b:placeSellOrder(symbol2,volume2,price22,robotID,timestamp)
  430.                                 luadb.log('7下单完成')
  431.                                 luadb.log('8下买单了')
  432.                                 local c_orderid=c:placeBuyOrder(symbol3,volume3,price3,robotID,timestamp)
  433.                                 luadb.log('8下单完成')
  434.                                 luadb.log('9下买单了')
  435.                                 local a_orderid=a:placeBuyOrder(symbol1,volume1,price1,robotID,timestamp)
  436.                                 luadb.log('9下单完成')
  437.                         else
  438.                                 error('获利金额小于0')
  439.                         end
  440.                 elseif price33 > price2/price11 then
  441.                         local table2=b:wsGetBalance(quote2)
  442.                         if #table2==0 or table2[1]['available']==0 then error(jys2..'of'..quote2..',There is no available balance in the currency') end
  443.                         --交易对2传入仓位计算出的可用余额
  444.                         local balance2=table2[1]['available']*FreightSpace
  445.                         --交易对2可以交易的数量
  446.                         local number2=GetPreciseDecimal(balance2/price2,DecimalDigits22)
  447.                         if number2 > vol2 then
  448.                                 volume=vol2
  449.                         elseif number2 < vol2 then
  450.                                 volume=number2
  451.                         elseif number3 == vol2 then
  452.                                 volume=number2
  453.                         end
  454.                         --保留小数点后两位
  455.                         volume=GetPreciseDecimal(volume,DecimalDigits22)
  456.                         local table1=a:wsGetBalance(base1)
  457.                         if #table1==0 or table1[1]['available']==0 then error(jys1..'of'..base1..',There is no available balance in the currency') end
  458.                         --交易对1传入仓位计算出的可用余额
  459.                         local balance1=table1[1]['available']*FreightSpace
  460.                         --交易对1可以交易的数量
  461.                         local number1=GetPreciseDecimal(balance1,DecimalDigits11)
  462.                         if number1 < price2*volume/price11 then
  463.                                 volume=number1*price11/price2
  464.                                 --保留小数点后两位
  465.                                 volume=GetPreciseDecimal(volume,DecimalDigits11)
  466.                         end
  467.                         local table3=c:wsGetBalance(base3)
  468.                         if #table3==0 or table3[1]['available']==0 then error(jys3..'of'..base3..',There is no available balance in the currency') end
  469.                         --交易对3传入仓位计算出的可用余额
  470.                         local balance3=table3[1]['available']*FreightSpace
  471.                         --交易对3可以交易的数量
  472.                         local number3=GetPreciseDecimal(balance3,DecimalDigits33)
  473.                         if number3 < volume then
  474.                                 volume=number3
  475.                                 --保留小数点后两位
  476.                                 volume=GetPreciseDecimal(volume,DecimalDigits33)
  477.                         end
  478.                         --local ssss=(price33 - price2/price11)*volume
  479.                         --10下买单对应参数(交易对2)xrpusdt
  480.                         local volume2=GetPreciseDecimal(volume,DecimalDigits22)
  481.                         if MinimalAmount2 > volume2 then error('交易所规定的最小下单量为:'..MinimalAmount2..base2..',请您适当调高仓位') end
  482.                         local expenditure2=price2*volume2
  483.                         if MinimalMoney2 > expenditure2 then error('交易所规定的最小下单金额为:'..MinimalMoney2..quote2..',请您适当调高仓位') end
  484.                         --交易对2下买单手续费
  485.                         if SCbuy2 >= 0 then
  486.                                 SC2=expenditure2*SCbuy2
  487.                         else
  488.                                 SC2=Math.abs(SCbuy2)
  489.                         end
  490.                         --11下卖单对应参数(交易对1)btcusdt
  491.                         local volume1=GetPreciseDecimal(expenditure2/price11,DecimalDigits11,1)
  492.                         if MinimalAmount1 > volume1 then error('交易所规定的最小下单量为:'..MinimalAmount1..base1..',请您适当调高仓位') end
  493.                         local acquire1=price11*volume1
  494.                         if MinimalMoney1 > acquire1 then error('交易所规定的最小下单金额为:'..MinimalMoney1..quote1..',请您适当调高仓位') end
  495.                         --交易对1下卖单手续费
  496.                         if SCsell1 >= 0 then
  497.                                 SC1=acquire1*SCsell1
  498.                         else
  499.                                 SC1=Math.abs(SCsell1)
  500.                         end
  501.                         --12下卖单对应参数(交易对3)xrpbtc
  502.                         local volume3=GetPreciseDecimal(volume2,DecimalDigits33)
  503.                         if MinimalAmount3 > volume3 then error('交易所规定的最小下单量为:'..MinimalAmount3..base3..',请您适当调高仓位') end
  504.                         local acquire3=price33*volume3
  505.                         if MinimalMoney3 > acquire3 then error('交易所规定的最小下单金额为:'..MinimalMoney3..quote3..',请您适当调高仓位') end
  506.                         --交易对3下卖单手续费
  507.                         if SCsell3 >= 0 then
  508.                                 SC3=acquire3*SCsell3
  509.                         else
  510.                                 SC3=Math.abs(SCsell3)
  511.                         end
  512.                         local profit=acquire3-volume1
  513.                         --手续费转换成以盈利币种计算
  514.                         SC2=SC2/price11
  515.                         SC1=SC1/price11
  516.                         FinalProfit=profit-(SC3+SC1+SC2)
  517.                         luadb.log(symbol2..'下买单交易量为:'..volume2..',单价为:'..price2)
  518.                         luadb.log(symbol1..'下卖单交易量为:'..volume1..',单价为:'..price11)
  519.                         luadb.log(symbol3..'下卖单交易量为:'..volume3..',单价为:'..price33)
  520.                         luadb.log(symbol2..'下买单手续费转换成'..ProfitCurrency..'为:'..SC2)
  521.                         luadb.log(symbol1..'下卖单手续费转换成'..ProfitCurrency..'为:'..SC1)
  522.                         luadb.log(symbol3..'下卖单手续费转换成'..ProfitCurrency..'为:'..SC3)
  523.                         luadb.log('获利币种('..ProfitCurrency..')金额不减手续费为:'..profit)
  524.                         luadb.log('获利币种('..ProfitCurrency..')金额减去手续费为:'..FinalProfit)
  525.                         if FinalProfit > 0 then
  526.                                 local timestamp=os.time()
  527.                                 luadb.log('10下买单了')
  528.                                 local b_orderid=b:placeBuyOrder(symbol2,volume2,price2,robotID,timestamp)
  529.                                 luadb.log('10下单完成')
  530.                                 luadb.log('11下卖单了')
  531.                                 local a_orderid=a:placeSellOrder(symbol1,volume1,price11,robotID,timestamp)
  532.                                 luadb.log('11下单完成')
  533.                                 luadb.log('12下卖单了')
  534.                                 local c_orderid=c:placeSellOrder(symbol3,volume3,price33,robotID,timestamp)
  535.                                 luadb.log('12下单完成')
  536.                         else
  537.                                 error('获利金额小于0')
  538.                         end
  539.                 end
  540.         elseif ProfitCurrency==base3 then--xrp
  541.                 if price3 < price22/price1 then
  542.                         local table3=c:wsGetBalance(quote3)
  543.                         if #table3==0 or table3[1]['available']==0 then error(jys3..'of'..quote3..',There is no available balance in the currency') end
  544.                         --交易对3传入仓位计算出的可用余额
  545.                         local balance3=table3[1]['available']*FreightSpace
  546.                         --交易对3可以交易的数量
  547.                         local number3=GetPreciseDecimal(balance3/price3,DecimalDigits33)
  548.                         if number3 > vol3 then
  549.                                 volume=vol3
  550.                         elseif number3 < vol3 then
  551.                                 volume=number3
  552.                         elseif number3 == vol3 then
  553.                                 volume=number3
  554.                         end
  555.                         --保留小数点后两位
  556.                         volume=GetPreciseDecimal(volume,DecimalDigits33)
  557.                         local table1=a:wsGetBalance(quote1)
  558.                         if #table1==0 or table1[1]['available']==0 then error(jys1..'of'..quote1..',There is no available balance in the currency') end
  559.                         --交易对1传入仓位计算出的可用余额
  560.                         local balance1=table1[1]['available']*FreightSpace
  561.                         --交易对1可以交易的数量
  562.                         local number1=GetPreciseDecimal(balance1/price1,DecimalDigits11)
  563.                         if number1 < volume*price3 then
  564.                                 volume=number1/price3
  565.                                 --保留小数点后两位
  566.                                 volume=GetPreciseDecimal(volume,DecimalDigits11)
  567.                         end
  568.                         local table2=b:wsGetBalance(base2)
  569.                         if #table2==0 or table2[1]['available']==0 then error(jys2..'of'..base2..',There is no available balance in the currency') end
  570.                         --交易对2传入仓位计算出的可用余额
  571.                         local balance2=table2[1]['available']*FreightSpace
  572.                         --交易对2可以交易的数量
  573.                         local number2=GetPreciseDecimal(balance2,DecimalDigits22)
  574.                         if number2 < price3*volume*price1/price22 then
  575.                                 volume=numer2*price22/price1/price3
  576.                                 --保留小数点后两位
  577.                                 volume=GetPreciseDecimal(volume,DecimalDigits22)
  578.                         end
  579.                         --local ssss=volume*price1/price22*(price22/price1 - price3)
  580.                         --13下买单对应参数(交易对3)xrpbtc
  581.                         local volume3=GetPreciseDecimal(volume,DecimalDigits33)
  582.                         if MinimalAmount3 > volume3 then error('交易所规定的最小下单量为:'..MinimalAmount3..base3..',请您适当调高仓位') end
  583.                         local expenditure3=price3*volume3
  584.                         if MinimalMoney3 > expenditure3 then error('交易所规定的最小下单金额为:'..MinimalMoney3..quote3..',请您适当调高仓位') end
  585.                         --交易对3下买单手续费
  586.                         if SCbuy3 >= 0 then
  587.                                 SC3=expenditure3*SCbuy3
  588.                         else
  589.                                 SC3=Math.abs(SCbuy3)
  590.                         end
  591.                         --14下买单对应参数(交易对1)btcusdt
  592.                         local volume1=GetPreciseDecimal(expenditure3,DecimalDigits11,1)
  593.                         if MinimalAmount1 > volume1 then error('交易所规定的最小下单量为:'..MinimalAmount1..base1..',请您适当调高仓位') end
  594.                         local expenditure1=price1*volume1
  595.                         if MinimalMoney1 > expenditure1 then error('交易所规定的最小下单金额为:'..MinimalMoney1..quote1..',请您适当调高仓位') end
  596.                         --交易对1下买单手续费
  597.                         if SCbuy1 >= 0 then
  598.                                 SC1=expenditure1*SCbuy1
  599.                         else
  600.                                 SC1=Math.abs(SCbuy1)
  601.                         end
  602.                         --15下卖单对应参数(交易对2)xrpusdt
  603.                         local volume2=GetPreciseDecimal(expenditure1/price22,DecimalDigts22,1)
  604.                         if MinimalAmount2 > volume2 then error('交易所规定的最小下单量为:'..MinimalAmount2..base2..',请您适当调高仓位') end
  605.                         local acquire2=price22*volume2
  606.                         if MinimalMoney2 > acquire2 then error('交易所规定的最小下单金额为:'..MinimalMoney2..quote2..',请您适当调高仓位') end
  607.                         --交易对2下卖单手续费
  608.                         if SCsell2 >= 0 then
  609.                                 SC2=acquire2*SCsell2
  610.                         else
  611.                                 SC2=Math.abs(SCsell2)
  612.                         end
  613.                         local profit=volume2-volume3
  614.                         --手续费转换成以盈利币种计算
  615.                         SC3=SC3*price1/price22
  616.                         SC2=SC2/price22
  617.                         SC1=SC1/price22
  618.                         FinalProfit=profit-(SC3+SC1+SC2)
  619.                         luadb.log(symbol3..'下买单交易量为:'..volume3..',单价为:'..price3)
  620.                         luadb.log(symbol1..'下买单交易量为:'..volume1..',单价为:'..price1)
  621.                         luadb.log(symbol2..'下卖单交易量为:'..volume2..',单价为:'..price22)
  622.                         luadb.log(symbol3..'下买单手续费转换成'..ProfitCurrency..'为:'..SC3)
  623.                         luadb.log(symbol1..'下买单手续费转换成'..ProfitCurrency..'为:'..SC1)
  624.                         luadb.log(symbol2..'下卖单手续费转换成'..ProfitCurrency..'为:'..SC2)
  625.                         luadb.log('获利币种('..ProfitCurrency..')金额不减手续费为:'..profit)
  626.                         luadb.log('获利币种('..ProfitCurrency..')金额减去手续费为:'..FinalProfit)
  627.                         if FinalProfit > 0 then
  628.                                 local timestamp=os.time()
  629.                                 luadb.log('13下买单了')
  630.                                 local c_orderid=c:placeBuyOrder(symbol3,volume3,price3,robotID,timestamp)
  631.                                 luadb.log('13下单完成')
  632.                                 luadb.log('14下买单了')
  633.                                 local a_orderid=a:placeBuyOrder(symbol1,volume1,price1,robotID,timestamp)
  634.                                 luadb.log('14下单完成')
  635.                                 luadb.log('15下卖单了')
  636.                                 local b_orderid=b:placeSellOrder(symbol2,volume2,price22,robotID,timestamp)
  637.                                 luadb.log('15下单完成')
  638.                         else
  639.                                 error('获利金额小于0')
  640.                         end
  641.                 elseif price33 > price2/price11 then
  642.                         local table3=c:wsGetBalance(base3)
  643.                         if #table3==0 or table3[1]['available']==0 then error(jys3..'of'..base3..',There is no available balance in the currency') end
  644.                         --交易对3传入仓位计算出的可用余额
  645.                         local balance3=table3[1]['available']*FreightSpace
  646.                         --交易对3可以交易的数量
  647.                         local number3=GetPreciseDecimal(balance3,DecimalDigits33)
  648.                         if number3 > vol33 then
  649.                                 volume=vol33
  650.                         elseif number3 < vol33 then
  651.                                 volume=number3
  652.                         elseif number3 == vol33 then
  653.                                 volume=number3
  654.                         end
  655.                         --保留小数点后两位
  656.                         volume=GetPreciseDecimal(volume,DecimalDigits33)
  657.                         local table2=b:wsGetBalance(quote2)
  658.                         if #table2==0 or table2[1]['available']==0 then error(jys2..'of'..quote2..',There is no available balance in the currency') end
  659.                         --交易对2传入仓位计算出的可用余额
  660.                         local balance2=table2[1]['available']*FreightSpace
  661.                         --交易对2可以交易的数量
  662.                         local number2=GetPreciseDecimal(balance2/price2,DecimalDigits22)
  663.                         if number2 < price11*price33*volume/price2 then
  664.                                 volume=number2*price2/price11/price33
  665.                                 --保留小数点后两位
  666.                                 volume=GetPreciseDecimal(volume,DecimalDigits22)
  667.                         end
  668.                         local table1=a:wsGetBalance(base1)
  669.                         if #table1==0 or table1[1]['available']==0 then error(jys1..'of'..base1..',There is no available balance in the currency') end
  670.                         --交易对1传入仓位计算出的可用余额
  671.                         local balance1=table1[1]['available']*FreightSpace
  672.                         --交易对1可以交易的数量
  673.                         local number1=GetPreciseDecimal(balance1,DecimalDigits11)
  674.                         if number1 < price33*volume then
  675.                                 volume=number1/price33
  676.                                 --保留小数点后两位
  677.                                 volume=GetPreciseDecimal(volume,DecimalDigits11)
  678.                         end
  679.                         --local ssss=volume*price11/price2*(price33 - price2/price11)
  680.                         --16下卖单对应参数(交易对3)xrpbtc
  681.                         local volume3=GetPreciseDecimal(volume,DecimalDigits33)
  682.                         if MinimalAmount3 > volume3 then error('交易所规定的最小下单量为:'..MinimalAmount3..base3..',请您适当调高仓位') end
  683.                         local acquire3=price33*volume3
  684.                         if MinimalMoney3 > acquire3 then error('交易所规定的最小下单金额为:'..MinimalMoney3..quote3..',请您适当调高仓位') end
  685.                         --交易对3下卖单手续费
  686.                         if SCsell3 >= 0 then
  687.                                 SC3=acquire3*SCsell3
  688.                         else
  689.                                 SC3=Math.abs(SCsell3)
  690.                         end
  691.                         --17下买单对应参数(交易对2)xrpusdt
  692.                         local volume2=GetPreciseDecimal(price11*acquire3/price2,DecimalDigits22,1)
  693.                         if MinimalAmount2 > volume2 then error('交易所规定的最小下单量为:'..MinimalAmount2..base2..',请您适当调高仓位') end
  694.                         local expenditure2=price2*volume2
  695.                         if MinimalMoney2 > expenditure2 then error('交易所规定的最小下单金额为:'..MinimalMoney2..quote2..',请您适当调高仓位') end
  696.                         --交易对2下买单手续费
  697.                         if SCbuy2 >= 0 then
  698.                                 SC2=expenditure2*SCbuy2
  699.                         else
  700.                                 SC2=Math.abs(SCbuy2)
  701.                         end
  702.                         --18下卖单对应参数(交易对1)btcusdt
  703.                         local volume1=GetPreciseDecimal(acquire3,DecimalDigits11,1)
  704.                         if MinimalAmount1 > volume1 then error('交易所规定的最小下单量为:'..MinimalAmount1..base1..',请您适当调高仓位') end
  705.                         local acquire1=price11*volume1
  706.                         if MinimalMoney1 > acquire1 then error('交易所规定的最小下单金额为:'..MinimalMoney1..quote1..',请您适当调高仓位') end
  707.                         --交易对1下卖单手续费
  708.                         if SCsell1 >= 0 then
  709.                                 SC1=acquire1*SCsell1
  710.                         else
  711.                                 SC1=Math.abs(SCsell1)
  712.                         end
  713.                         local profit=volume2-volume3
  714.                         --手续费转换成以盈利币种计算
  715.                         SC3=SC3*price11/price2
  716.                         SC2=SC2/price2
  717.                         SC1=SC1/price2
  718.                         FinalProfit=profit-(SC3+SC1+SC2)
  719.                         luadb.log(symbol3..'下卖单交易量为:'..volume3..',单价为:'..price33)
  720.                         luadb.log(symbol2..'下买单交易量为:'..volume2..',单价为:'..price2)
  721.                         luadb.log(symbol1..'下卖单交易量为:'..volume1..',单价为:'..price11)
  722.                         luadb.log(symbol3..'下买单手续费转换成'..ProfitCurrency..'为:'..SC3)
  723.                         luadb.log(symbol2..'下买单手续费转换成'..ProfitCurrency..'为:'..SC2)
  724.                         luadb.log(symbol1..'下卖单手续费转换成'..ProfitCurrency..'为:'..SC1)
  725.                         luadb.log('获利币种('..ProfitCurrency..')金额不减手续费为:'..profit)
  726.                         luadb.log('获利币种('..ProfitCurrency..')金额减去手续费为:'..FinalProfit)
  727.                         if FinalProfit > 0 then
  728.                                 local timestamp=os.time()
  729.                                 luadb.log('16下卖单了')
  730.                                 local c_orderid=c:placeSellOrder(symbol3,volume3,price33,robotID,timestamp)
  731.                                 luadb.log('16下单完成')
  732.                                 luadb.log('17下买单了')
  733.                                 local b_orderid=b:placeBuyOrder(symbol2,volume2,price2,robotID,timestamp)
  734.                                 luadb.log('17下单完成')
  735.                                 luadb.log('18下卖单了')
  736.                                 local a_orderid=a:placeSellOrder(symbol1,volume1,price11,robotID,timestamp)
  737.                                 luadb.log('18下单完成')
  738.                         else
  739.                                 error('获利金额小于0')
  740.                         end
  741.                 end
  742.         end
  743. catch err do
  744.         error(err)
  745. end
复制代码


回复

使用道具 举报

yxf 发表于 2020-8-11 14:37:32 | 显示全部楼层
yxf
2020-8-11 14:37:32 看全部
666666666666
回复

使用道具 举报

yxf 发表于 2020-8-11 15:00:15 | 显示全部楼层
yxf
2020-8-11 15:00:15 看全部
66666666666666666666666666
回复

使用道具 举报

yxf 发表于 2020-8-11 15:01:10 | 显示全部楼层
yxf
2020-8-11 15:01:10 看全部
6666666666666666666666666666666666666
回复

使用道具 举报

FrankJScott 发表于 2023-3-7 15:56:07 | 显示全部楼层
FrankJScott
2023-3-7 15:56:07 看全部

Good Tips For Deciding On Windows Software Pc

In response to the guy asking about microsoft word processing softwares, best software for pc windows 7, microsoft data program, microsoft 365 programs, nccu microsoft office, iobit uninstaller download for pc,  I highly suggest this helpful hints about download windows programs free forum or registry repair freeware, mwsnap free download, download unzip app for windows, 4 microsoft programs, ms data visualization, azure web development, on top of this moved here for download windows programs free site and don't forget microsoft open source program office, vba ms project, microsoft excel master class, microsoft office specialist word, ivy tech microsoft office, excel tuition near me, not to mention this homepage about microsoft programs crack advice which is as good as program microsoft excel, uvu microsoft office, free unzip tool windows 10, microsoft open license program, microsoft csp partner, aspire program microsoft, . Also, have a look at this experienced for windows software pc forum not to mention excel specialist certification, best free word processing software, microsoft office 2019 word excel powerpoint, free advanced excel certification, microsoft hup australia, download iobit uninstaller for windows 10, on top of this more info about microsoft programs torrent forum and don't forget download iobit uninstaller 10 pro, publisher program free, academic software microsoft, free online youtube downloader for windows 8, download kingsoft pc doctor, csus microsoft office, as well as additional reading on windows software url which is also worth a look and don't forget free pc programs for windows 10, microsoft office non profit pricing, software like ms office, microsoft openhack program, pearson excel certification, unzip free software for windows 10,  also. I also suggest this get redirected here on windows programs for free blog as well as microsoft office suite 2007, daemon tools free download windows 8, iobit uninstaller pro windows 10 64 bit, microsoft student partner program, windows software for pc, word processing in ms word, and don't forget this additional reading for windows software pc advice not to mention azure migration and modernization program, microsoft office specialist certification, microsoft certified educator, excel beginner to advanced, best software for windows xp, best free unzip for windows 10, not to mention over at this website about download windows programs free advice on top of best free word processor for windows 10, microsoft excel vba certification, iobit uninstaller download for windows 7, programs like visio, microsoft leap 2021, microsoft certified educator, which is also great. Finally, have a look at this link about download windows programs free url with download unzip for windows free, excel computer education, pearson excel certification, free unzip software for windows 7, microsoft hup, free unzip program for pc,  for good measure. Check more @ Best Tips For Choosing Download Microsoft Programs Free 10d9e4a
回复

使用道具 举报

FrankJScott 发表于 2023-4-22 21:57:13 | 显示全部楼层
FrankJScott
2023-4-22 21:57:13 看全部

Free News For Considering Software Download


To the person talking about download foxit pdf editor, avast free download for windows 10, windows 10 download free for pc, glary utilities download, guitar pro 7 free download full version with crack, internet download manager crack lifetime activation,  I highly suggest this link on software keygen hack info or winrar download free crack, pls cadd software free download with crack, solidworks 2020 crack free download, mcafee antivirus crack 2022, mp4 converter download music, youtube downloader program, and don't forget this full article for software keygen hack blog and don't forget wondershare dr fone serial key, faststone capture free download full version with crack, notezilla download, screenpresso crack, design expert 13 crack version free download, autocad 2007 crack file download, on top of this total stranger about free software keygen url which is as good as paint net download free, wilcom embroidery studio e4 2 free download with crack, video converter free download full version, speechelo pro crack, wav to mp3 converter download, wondershare filmora 11 free download,  not to mention additional reading about free software download link as well as autocad 2018 download crack, adobe illustrator free download for windows 7 32 bit, melodyne free download crack, ccleaner free download, deep freeze windows 10 full crack, acdsee free download full version with crack, and don't forget this funny post on free software crack blog alongside all adobe audition 3.0 free download full version crack, flexisign pro 8.1 free download with crack, minitab free download full version with crack, avast keygen 2022, free avi video converter, pro free crack com, not to mention the full details for software free download url which is about idm 32 bit crack download, beyond compare free download, peachtree software free download with crack, filmora x free download with crack, sketchup free download with crack 64 bit, autocad 2020 full version free download with crack, and don't forget this listen to this podcast for software free download info not to mention obs studio download for windows 7, mcafee antivirus crack 2022, autocad 2010 crack download, grammarly premium crack 2022 free download, facebook for windows 7, xnview free, as well as this recommended you read about free software keygen advice not to mention 4k video downloader activation key, music maker 2022 premium edition crack, gihosoft free video cutter, 360 total security keygen, winzip 27 keygen, acunetix web vulnerability scanner free download full version crack, on top of your input here for free software crack url not to mention download microsoft office 2021 full crack keygen, download smartpls 3 full crack, freemake video converter key, dslrbooth serial key, visio download free for windows 10, best site to download cracked software for windows, which is also great. Finally, have a look at this related site about free software download site with coreldraw download crack, zwcad 2022 crack, vsdc video editor download, autocad free download for windows 7, finale free download full version with crack, total video converter free download with key,  for good measure. Check more @ Handy Advice To Considering PPP Scams 0d9e4ae
回复

使用道具 举报

FrankJScott 发表于 2023-4-23 00:30:39 | 显示全部楼层
FrankJScott
2023-4-23 00:30:39 看全部

Free Tips On Choosing Software Download

yxf ??? 2020-8-11 15:01
6666666666666666666666666666666666666

To the guy talking about ms office crack version for windows 7, online video converter freemake, lossless scaling free download, clo3d download free crack, peachtree accounting software free download with crack, filmora 8 crack,  I highly suggest this find out more for free software keygen url or edius 8.53 serial number free download, vmware 16 keygen, audio converter download, filmora 94fbr, xnview free, winrar for pc windows 7, and don't forget this see page for free software keygen url and don't forget adobe free download, itubego crack download, wondershare filmora 11 crack download, fl studio 20.9 download crack, google docs free download, minitab download crack, and don't forget this link for software free download forum which is as good as idm crack download latest version 2022, fl studio 20.9 crack download, blender crack download 64 bit, wondershare filmora x crack download for windows 10, flvto mp4 converter free, moboplay,  and don't forget a fantastic read about free software crack site not to mention adobe reader free, 4ukey for android crack download, adobe illustrator cs6 free download, flexisign pro 8.1 free download with crack, winzip 27.0 activation key, nebo windows 10 free download crack, on top of this view website on software free download advice on top of wifi password hacker software, convertxtodvd 4 serial key, miracle box crack 2020 free download, smadav serial key, pinnacle studio 18 free download full version with crack, youtube download for pc windows 10, as well as i loved this for free software download details which is about filmora 11 crack, foxit latest version, winzip driver updater keygen, moho pro 13 free download with crack, sap software free download full version with crack, restoro pc repair tool crack, as well as this get the facts for software keygen hack link not to mention origin pro 8.0 with crack full version free download, best video converter for pc, crack version software download sites, idm crack download for lifetime, watergems free download with crack, coreldraw 14 free download full version with crack, and don't forget this made my day for software free download details not to mention easeus mobimover crack 2022, autocad 2020 free download with crack 64 bit, all video downloader pro, cyberlink powerdirector 365 free download full version with crack, adobe free download for windows 11, pc games download free windows 10, alongside all see page for software keygen crack link on top of mp4 download free, sony vegas pro 18 free download full version crack, stata free download with crack, adobe photoshop cs6 free download for windows 10, tradingview pro crack pc, teracopy 3.9 2 serial key, which is also great. Finally, have a look at this source on software keygen crack advice with filmora x crack download for windows 10, sketchup 2022 crack free download, fl studio 20.9 crack download, pdf reader for pc windows 7, diskinternals serial key, mp3 to mp4 converter free,  for good measure. Check more @ New Info For Selecting Software Download 0e0_fd5
回复

使用道具 举报

FrankJScott 发表于 2023-4-28 01:00:46 | 显示全部楼层
FrankJScott
2023-4-28 01:00:46 看全部

Handy Facts To Selecting Business Massage

In response to the lady asking about travel on business, thailand massage packages, massage extra, thai massage canton, extreme massage, neck massage near me, thai massage acton, thai massage chorlton, thai massage siam, ems foot massager, writing off business travel expenses, revive massage, thai massage albir, thai massage brunswick street, cheap thai massage, oil massage bangkok, best massager, original thai massage, walk in massage, thai massage near me today,  I recommend this 성남출장마사지 for business trip massage, best massager, massage abhyanga, deep massage, may may thai massage, thai massage browns bay, writing off a business trip, knee massager, thai massage durbanville, thai massage men, on a business trip, thai massage wellness, blossom massage, spa massage near me now, thai massage glen eden, business travel apps, official business travel, massagegun, wellness massage spa, neuromuscular massage, also. See More Best Info On Picking Business Massage f30b426
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

小志当前离线
管理员

查看:2109 | 回复:7

快速回复 返回顶部 返回列表