Advertisement
ImDerekD

TP_RangePL_TupleError

Mar 6th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.65 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import csv
  4. from datetime import datetime
  5. import time
  6. from colorama import Back, Fore, Style
  7. import statistics
  8. from statistics import mean, stdev
  9.  
  10.  
  11.  
  12. Liquidity = float()
  13. ref_Num = int()
  14. prevVol = float(1)
  15. prevPrice = float(1)
  16. prevFlow = float(1)
  17. ValuePrice = float()
  18.  
  19. SumFlow = float()
  20. SumVol = float()
  21. Bearish = bool
  22. Bullish = bool
  23. Neutral = bool
  24.  
  25. RangePL = float(0)
  26. Price1 = float()
  27. Price2 = float()
  28. prevPrice1 = float()
  29.  
  30. Last = float()
  31. PL = float()
  32. PLString = str()
  33. RangePLString = str()
  34. Chg = float()
  35. SignalList = []
  36.  
  37. MIV_Spike = float()
  38. MIV_Spike_Count = int()
  39. Avg_MIV_Spike = float()
  40.  
  41. SpreadList = []
  42. TotalSpread = float()
  43. AvgSpread = float()
  44. Avg2hrSpread = float()
  45. OneHourSpreadAvg = float()
  46.  
  47. SpreadRatio = float()
  48.  
  49. HRangeLiquidity = []
  50. LRangeLiquidity = []
  51.  
  52. HighCount = int()
  53. HighRangeLiqTotal = float()
  54. AvgHighRangeLiqChange = float()
  55.  
  56. LowCount = int()
  57. LowRangeLiqTotal = float()
  58. AvgLowRangeLiqChange = float()
  59.  
  60. Mark = int()
  61. Mark_The_Maker = bool
  62.  
  63.  
  64. Signal = str()
  65. SignalStr = str()
  66. VolSTD = []
  67. AvgSTD = float()
  68. VTotalSTD = float()
  69.  
  70. VPL = []
  71.  
  72. Program = str()
  73. with open('/Users/King/iSpy.csv', 'r') as csv_file:
  74. reader = csv.reader(csv_file)
  75. header = next(reader)
  76. for row in reader:
  77. ref_Num += 1
  78. dTime = str(datetime.strptime(row[0], '%a %b %d %H:%M'))
  79. Time = dTime[-14:]
  80. Open_Price = float(row[1])
  81. Close_Price = float(row[2])
  82. High_Price = float(row[3])
  83. Low_Price = float(row[4])
  84. Money_Flow = float(row[6])
  85. last = Close_Price
  86. Vol = row[5]
  87. f_Vol = float(Vol[:-1])
  88. m_Vol = str(Vol[-1:])
  89. if m_Vol == "K":
  90. f_Vol = f_Vol * 1000
  91. if m_Vol == "M":
  92. f_Vol = f_Vol * 1000000
  93. if m_Vol != "K" and m_Vol != "M":
  94. f_Vol = float(row[5])
  95. if f_Vol < 1:
  96. M_Price = HLCC
  97. else:
  98. M_Price = round(float(Money_Flow) / f_Vol, 2)
  99. HLCC = float(High_Price + Low_Price + Close_Price + Close_Price) / 4
  100. Diff = round(HLCC - M_Price, 2)
  101. MMM = float(f_Vol * HLCC)
  102. Liq_change = float(Money_Flow - MMM)
  103. Liquidity += Liq_change
  104. Date = str(Time[:5])
  105. military_time = str(Time[-8:])
  106. criteria = abs(.0035 * HLCC)
  107. # HLC3 = float(High_Price+ Low_Price + Close_Price + Close_Price + Close_Price) / 5
  108. # Mid = High_Price - abs(High_Price - Low_Price)
  109. VolSTD.append(f_Vol)
  110.  
  111.  
  112. SumVol += f_Vol
  113. SumFlow += Money_Flow
  114. ValuePrice1 = round(SumFlow / SumVol, 2)
  115. MidValPrice = [ValuePrice1,Close_Price]
  116. ValuePrice = round(statistics.median(MidValPrice), 2)
  117. VPL.append(ValuePrice)
  118.  
  119. Spread = round(abs(M_Price - ValuePrice), 2)
  120. SpreadList.append(Spread)
  121.  
  122.  
  123.  
  124.  
  125.  
  126. criteria2 = abs(.003 * HLCC)
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133. if ref_Num >=2:
  134. prevPrice1 = Close_Price
  135.  
  136.  
  137. if ref_Num % 2 != 0:
  138. Price1 = Close_Price
  139.  
  140. if ref_Num % 2 == 0:
  141. Price2 = Close_Price
  142.  
  143.  
  144. if ref_Num % 2 != 0 and ref_Num > 2:
  145. Last = Price2
  146. Chg = 100*round((Close_Price - Last) / Last, 4)
  147.  
  148. if ref_Num % 2 == 0 and ref_Num >= 2:
  149. Last = Price1
  150. Chg = 100*round((Close_Price - Last) / Last, 4)
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157. if Liq_change > 0:
  158. liqchgstr = '{:20,.2f}'.format(Liq_change)+Style.RESET_ALL
  159. LiqChangeStr = Fore.CYAN+liqchgstr+Style.RESET_ALL
  160.  
  161. if Liq_change < 0:
  162. liqchgstr = '{:20,.2f}'.format(Liq_change)+Style.RESET_ALL
  163. LiqChangeStr = Fore.RED+liqchgstr+Style.RESET_ALL
  164.  
  165. DateStr = Fore.YELLOW+str(Date)+Style.RESET_ALL
  166. TimeStr = Fore.YELLOW+str(military_time)+Style.RESET_ALL
  167.  
  168. if Liquidity > 0:
  169. Liqstr = '{:20,.2f}'.format(Liquidity)
  170. LiqStr = Fore.CYAN+Liqstr+Style.RESET_ALL
  171.  
  172. if Liquidity < 0:
  173. Liqstr = '{:20,.2f}'.format(Liquidity)
  174. LiqStr = Fore.WHITE+Liqstr+Style.RESET_ALL
  175.  
  176.  
  177.  
  178.  
  179. if Money_Flow > 0:
  180. MIV_Index = round(100 * (f_Vol / prevVol) - 100 * ((Money_Flow * HLCC) / (prevFlow * prevPrice)), 3)
  181. prevPrice = Close_Price
  182. prevFlow = Money_Flow
  183. prevVol = f_Vol
  184. MIV_Index_String = str(MIV_Index)
  185. LiqFlowPrice = round(abs(Liq_change / Money_Flow), 4)
  186.  
  187. if MIV_Index >= .25:
  188. MIV_Spike += abs(MIV_Index)
  189. MIV_Spike_Count += 1
  190. Avg_MIV_Spike = round(MIV_Spike / MIV_Spike_Count, 3)
  191.  
  192.  
  193. if abs(Liq_change) > 0:
  194. LiqFlowPrice = round(Money_Flow / abs(Liq_change) *.01, 3)
  195. VolLiqPrice = round(f_Vol / abs(Liq_change), 2)
  196. LiqFlowPriceClone = round(1000 * (abs(Liq_change) / Money_Flow) * .01, 4)
  197. ##################################################################################################################################################################
  198. if abs(M_Price - HLCC) >= criteria:
  199. Range_Clause = True
  200. diff = abs(M_Price - Close_Price)
  201.  
  202. if Range_Clause == True:
  203.  
  204. found_Price = Close_Price
  205. range_ref_String = str()
  206. Low_Range = round(HLCC - abs(float(M_Price - HLCC)), 2)
  207. High_Range = round(HLCC + abs(float(M_Price - HLCC)), 2)
  208. Low_Target = round(Low_Range - abs(float(M_Price - HLCC)), 2)
  209. High_Target = round(High_Range + abs(float(M_Price - HLCC)), 2)
  210. if M_Price >= High_Range:
  211. r_Price = M_Price
  212. t_Price = High_Target
  213. oppRange = Low_Range
  214. oppTarget = Low_Target
  215. tHigh = True
  216. found_Price = Close_Price
  217. tLow = False
  218. range_ref_String = 'HIGH TARGET'
  219. HRangeLiquidity.append(Liq_change)
  220. HighRangeLiqTotal += Liq_change
  221. HighCount += 1
  222. if MIV_Index > 0:
  223. range_ref_String = 'FALSE HIGH TARGET (CAPPER)'
  224. Signal = 'SELL'
  225. elif M_Price <= Low_Range:
  226. r_Price = M_Price
  227. t_Price = Low_Target
  228. oppRange = High_Range
  229. oppTarget = High_Target
  230. tLow = True
  231. tHigh = False
  232. found_Price = Close_Price
  233. range_ref_String = 'LOW TARGET'
  234. LRangeLiquidity.append(Liq_change)
  235. LowRangeLiqTotal += Liq_change
  236. LowCount += 1
  237.  
  238.  
  239.  
  240.  
  241. if range_ref_String == 'LOW TARGET':
  242. if LiqFlowPriceClone >= .039:
  243. if LiqFlowPrice <= 2.65 and LiqFlowPrice >= 2.5:
  244. Program = 'MODERATE CONFIDENCE'
  245. Signal = 'SELL'
  246. if LiqFlowPrice <= 2.5 and LiqFlowPrice >= 2.45:
  247. Program = 'HIGH CONFIDENCE'
  248. Signal = 'SELL'
  249. if LiqFlowPrice <= 2.45:
  250. Program = 'VOLATILE LOW (HIGH CONFIDENCE)'
  251. Signal = 'SELL'
  252. else:
  253. Program = 'LOW CONFIDENCE / LIQUIDITY SEARCH'
  254. Signal = 'Neutral'
  255.  
  256.  
  257.  
  258. if LiqFlowPriceClone >=.039 and range_ref_String == 'HIGH TARGET':
  259. if LiqFlowPrice < 2.6:
  260. Program = 'VOLATILE BULL TRAP (MODERATE CONFIDENCE)'
  261. Signal = 'SELL'
  262. if LiqFlowPrice > 2.6 and LiqFlowPrice < 2.8:
  263. if abs(MIV_Index) >= Avg_MIV_Spike * .75:
  264. HighRangeStr = str(High_Target)
  265. Program = 'HIGH CONFIDENCE (IMMEDIATE PRESSURE: %s)' % HighRangeStr
  266. Signal = 'BUY'
  267. else:
  268. Program = 'MODERATE CONFIDENCE'
  269. Signal = 'BUY'
  270.  
  271.  
  272. if LiqFlowPriceClone <= .037 and range_ref_String == 'HIGH TARGET':
  273. if LiqFlowPrice >= 2.75 and abs(MIV_Index) >= Avg_MIV_Spike * 3:
  274. oppTargetStr = str(Low_Range)
  275. Program = '<<LONG TERM>> BULLISH (BTMFD $%s)' % oppTargetStr
  276. Signal = 'BUY'
  277. if LiqFlowPrice <= 2.75 and LiqFlowPrice >= 2.55:
  278. Program = 'VERY HIGH CONFIDENCE'
  279. Signal = 'BUY'
  280.  
  281.  
  282.  
  283.  
  284. if LiqFlowPriceClone <= .036 and LiqFlowPrice > 2.8:
  285. if tLow == True:
  286. HighRangeStr = str(High_Range)
  287. if MIV_Index < 0:
  288. LowRangePT = round(Close_Price - abs(oppTarget - Low_Target), 2)
  289. LowRangePL = round(-1*(Close_Price - LowRangePT) / Close_Price, 2)
  290. Program = 'EXTREMELY HIGH CONFIDENCE (PT [%s])' % LowRangePL
  291. Signal = 'SELL'
  292. elif MIV_Index > 0:
  293. HighRangeStr = str(High_Range)
  294. Program = 'EXTREMELY HIGH CONFIDENCE (SELL %s)' % HighRangeStr
  295. Signal = 'SELL'
  296. if tHigh == True:
  297. if MIV_Index < 0 and abs(MIV_Index) > Avg_MIV_Spike:
  298. HighRangePT = round(Close_Price + (High_Target - Low_Target), 2)
  299. HighRangePL = round((HighRangePT - Close_Price) / Close_Price, 2)
  300. HighRangePTStr = str(HighRangePT)
  301. HighRangePLStr = str(HighRangePL)+'%'
  302. if HighRangePT > Close_Price:
  303. Program = 'MAXIMUM CONFIDENCE PT [$ %s]' % HighRangePT
  304. Signal = 'BUY'
  305. else:
  306. Program = 'SELL THE FUCKING RIP (<<IMMEDIATE TERM ONLY>>)'
  307. Signal = 'SELL'
  308.  
  309. if abs(MIV_Index) < Avg_MIV_Spike:
  310. HighRangeStr = str(High_Range)
  311. Program = 'BULLS FULLA SHIT [RIP] (SELL %s)' % HighRangeStr
  312. Signal = 'SELL'
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319. if tHigh == True and MIV_Index < 0:
  320. if abs(MIV_Index) >= Avg_MIV_Spike * 3:
  321. Program = 'EXTREMELY HIGH CONFIDENCE'
  322. Signal = 'BUY'
  323.  
  324. if LiqFlowPriceClone >= .042 and LiqFlowPrice <= 2.40:
  325. if range_ref_String == 'LOW TARGET':
  326. if MIV_Index < Avg_MIV_Spike:
  327. HR_String = str(High_Range)
  328. HT_String = str(High_Target)
  329. Program = 'FALSE LOW (BULLISH TERRITORY %s - %s)' % (HR_String, HT_String)
  330. Signal = 'BUY'
  331. else:
  332. Program = 'SKETCH AF LOW TARGET'
  333. Signal = 'SELL'
  334.  
  335.  
  336. elif range_ref_String == 'HIGH TARGET':
  337. Bullish = True
  338. Bearish = False
  339. LR_String = str(Low_Range)
  340. LT_String = str(Low_Target)
  341. Program = 'FALSE HIGH (BEARISH TERRITORY %s -%s)' % (LR_String, LT_String)
  342. Signal = 'SELL'
  343.  
  344.  
  345.  
  346.  
  347.  
  348. if range_ref_String == 'LOW TARGET':
  349. if abs(MIV_Index) >= Avg_MIV_Spike * 3:
  350. Program = 'WALL OF CHINA OVERHEAD'
  351. Signal = 'SELL'
  352.  
  353. if abs(MIV_Index) >= Avg_MIV_Spike * 1.5 and LiqFlowPriceClone >= .39:
  354. Program = 'IMMEDIATE SELLOFF (HIGH CONFIDENCE)'
  355. Signal = 'SELL'
  356.  
  357. if LiqFlowPriceClone <= .038:
  358. if LiqFlowPrice >= 2.82:
  359. Program = 'EXTREMELY HIGH CONFIDENCE'
  360. Signal = 'SELL'
  361. if LiqFlowPrice >= 2.70 and LiqFlowPrice <= 2.82:
  362. Program = 'VOLATILITY COMING (HIGH CONFIDENCE <LONG TERM>)'
  363. Signal = 'SELL'
  364. elif LiqFlowPrice <= 2.70:
  365. Program = 'POTENTIAL BOTTOM'
  366. Signal = 'BUY'
  367.  
  368.  
  369. if LiqFlowPriceClone < .037 and LiqFlowPrice < 2.8:
  370. Program = 'BOTTOM REVERSAL TARGET [$',Low_Target,']'
  371. Signal = 'SELL'
  372.  
  373. if range_ref_String == 'LOW TARGET' or range_ref_String == 'HIGH TARGET':
  374. if LiqFlowPrice >= 2.6 and MIV_Index < 0:
  375. if abs(MIV_Index) < Avg_MIV_Spike and LiqFlowPriceClone <= .039:
  376. if LiqFlowPrice < 2.80:
  377. Program = 'MMs IN CONTROL (BULLISH)'
  378. Signal = 'BUY'
  379. if LiqFlowPrice >= 2.8:
  380. Program = 'MMs IN CONTROL (EXTREMELY BULLISH)'
  381. Signal = 'BUY'
  382. if LiqFlowPrice <= 2.7 and LiqFlowPrice >= 2.4:
  383. Program = 'MMs IN CONTROL (SLIGHTLY BULLISH)'
  384. Signal = 'BUY'
  385. if abs(MIV_Index) >= Avg_MIV_Spike and LiqFlowPrice <= 2.6:
  386. if LiqFlowPriceClone >= .04:
  387. Program = 'MMs IN CONTROL (BULLISH)'
  388. Signal = 'BUY'
  389.  
  390.  
  391.  
  392.  
  393. if Signal == 'BUY':
  394. Bearish = False
  395. Bullish = True
  396. Neutral = False
  397. SignalStr = Fore.CYAN+Signal+Style.RESET_ALL
  398.  
  399. if Signal == 'SELL':
  400. Bearish = True
  401. Bullish = False
  402. Neutral = False
  403. SignalStr = Fore.RED+Signal+Style.RESET_ALL
  404.  
  405. if Signal == 'NEUTRAL':
  406. Bearish = False
  407. Bullish = False
  408. Neutral = True
  409. SignalStr = Fore.YELLOW+Signal+Style.RESET_ALL
  410.  
  411.  
  412. SignalList.append(Signal)
  413.  
  414. print(Date, military_time,' Current Liquidity:', '{:20,.2f}'.format(Liquidity), ' Liq Change:','{:20,.2f}'.format(Liq_change), ' Last Price:', Close_Price, range_ref_String+' Type: '+Program+' MIV [',MIV_Index,'%]',' LFP [',LiqFlowPrice,']',' LFP Clone [',LiqFlowPriceClone,']',' Avg MIV:',Avg_MIV_Spike, 'SIGNAL: ',Signal)
  415. time.sleep(2.5)
  416. else:
  417. Range_Clause = False
  418. tHigh = False
  419. tLow = False
  420.  
  421. if HighCount > 0:
  422. AvgHighRangeLiqChange = HighRangeLiqTotal / HighCount
  423.  
  424. if LowCount > 0:
  425. AvgLowRangeLiqChange = LowRangeLiqTotal / LowCount
  426.  
  427. if abs(M_Price - HLCC) >= criteria2 and Range_Clause == False:
  428. Mark_The_Maker = True
  429. diff = abs(M_Price - Close_Price)
  430. MMrange_ref_String = str()
  431. Mark_Says = str()
  432. if Mark_The_Maker == True:
  433.  
  434. if M_Price > Close_Price:
  435. MMLow = True
  436. MMHigh = False
  437. MMrange_ref_String = '( MM HIGH RANGE )'
  438.  
  439. elif M_Price < Close_Price:
  440. MMLow = False
  441. MMHigh = True
  442. MMrange_ref_String = ' ( MM LOW RANGE )'
  443.  
  444.  
  445. if abs(MIV_Index) < Avg_MIV_Spike * .90 and LiqFlowPrice >= 3:
  446. Mark_Says = 'BOUTTA GET FUCKING VOLATILE'
  447. Signal = 'SELL'
  448.  
  449. if abs(MIV_Index) >= Avg_MIV_Spike and LiqFlowPrice >= 3:
  450. if LiqFlowPriceClone <= .035 and MIV_Index > 0:
  451. Mark_Says = 'UNNECESSARY HIGHS COMIN RIGHT UP ~ Mark'
  452. Signal = 'BUY'
  453.  
  454. if LiqFlowPriceClone >= .03 and LiqFlowPrice <= 3:
  455. if M_Price > Close_Price:
  456. Mark_Says = 'BULL TRAP ROTFL ~ Mark'
  457. Signal = 'SELL'
  458. elif M_Price < Close_Price:
  459. Mark_Says = 'BEAR TRAP GOTCHA LMAO ~ Mark'
  460. Signal = 'BUY'
  461.  
  462.  
  463. if LiqFlowPriceClone >= .033 and LiqFlowPrice <= 2.9:
  464. Mark_Says = 'BOUTTA GET REAL FUCKIN UGLY MY GUY ~ Mark'
  465. Signal = 'SELL'
  466.  
  467. if abs(MIV_Index) <= Avg_MIV_Spike * .5 or abs(MIV_Index) > Avg_MIV_Spike * 1.25:
  468. if LiqFlowPrice > 3.1:
  469. Mark_Says = 'CHOP CHOP MOTHERFUCKER ~ Mark'
  470. Signal = 'SELL'
  471.  
  472. if LiqFlowPriceClone <= .033 and LiqFlowPrice >= 3.05:
  473. if MIV_Index < 0 and MMHigh == True:
  474. Mark_Says = 'I AIN W THE BULLSHIT ~ Mark'
  475. Signal = 'SELL'
  476. if MIV_Index < Avg_MIV_Spike:
  477. if MMLow == True and MIV_Index > 0:
  478. Mark_Says = 'BUY THE DIP COWARD ~ Mark'
  479. Signal = 'BUY'
  480.  
  481.  
  482.  
  483.  
  484. if Signal == 'BUY':
  485. Bearish = False
  486. Bullish = True
  487. Neutral = False
  488. SignalStr = Fore.CYAN+Signal+Style.RESET_ALL
  489.  
  490. if Signal == 'SELL':
  491. Bearish = True
  492. Bullish = False
  493. Neutral = False
  494. SignalStr = Fore.RED+Signal+Style.RESET_ALL
  495.  
  496. if Signal == 'NEUTRAL':
  497. Bearish = False
  498. Bullish = False
  499. Neutral = True
  500. SignalStr = Fore.YELLOW+Signal+Style.RESET_ALL
  501.  
  502. SignalList.append(Signal)
  503. print(Date, military_time,' Current Liquidity:', '{:20,.2f}'.format(Liquidity), ' Liq Change:','{:20,.2f}'.format(Liq_change), ' Last Price:', Close_Price, MMrange_ref_String+' Type: '+Mark_Says+' MIV [',MIV_Index,'%]',' LFP [',LiqFlowPrice,']',' LFP Clone [',LiqFlowPriceClone,']',' Avg MIV:',Avg_MIV_Spike, '$Price: ',M_Price, 'SIGNAL:'+Signal)
  504. time.sleep(1.5)
  505.  
  506.  
  507. else:
  508. Mark_The_Maker = False
  509.  
  510. time.sleep(.0075)
  511.  
  512.  
  513.  
  514. if ref_Num % 2 != 0:
  515. Price1 = Close_Price
  516.  
  517. if ref_Num % 2 == 0:
  518. Price2 = Close_Price
  519.  
  520.  
  521. if ref_Num % 2 != 0 and ref_Num > 2:
  522. Last = Price2
  523. Chg = 100*round((Close_Price - Last) / Last, 4)
  524.  
  525. if ref_Num % 2 == 0 and ref_Num >= 2:
  526. Last = Price1
  527. Chg = 100*round((Close_Price - Last) / Last, 4)
  528.  
  529.  
  530.  
  531. if Bullish == True:
  532. PL += Chg
  533. if Bearish == True:
  534. PL += Chg*-1
  535. if Neutral == True:
  536. PL += 0
  537.  
  538.  
  539.  
  540. PLR = round(PL, 3)
  541. if PL > 0:
  542. PLString = Fore.CYAN+str(PLR)+'%'
  543. if PL < 0:
  544. PLString = Fore.RED+str(PLR)+'%'
  545.  
  546. if RangePL > 0:
  547. RangePLString = Fore.CYAN+str(PLR)+'%'
  548. if RangePL < 0:
  549. RangePLString = Fore.RED+str(PLR)+'%'
  550.  
  551.  
  552. if Range_Clause == False and Mark_The_Maker == False:
  553. if HighCount > 0:
  554. if Liq_change >= AvgHighRangeLiqChange * .80:
  555. LiqChangeStr = Fore.BLUE+Back.GREEN+Style.BRIGHT+liqchgstr
  556.  
  557. if LowCount > 0:
  558. if Liq_change <= AvgLowRangeLiqChange * .80:
  559. LiqChangeStr = Fore.RED+Back.YELLOW+Style.BRIGHT+liqchgstr
  560.  
  561. print(DateStr, TimeStr,' Current Liquidity:'+LiqStr,' Liq Change:'+LiqChangeStr,' Last Price:',Close_Price, SignalStr+Style.RESET_ALL+' ['+PLString+Style.RESET_ALL+']')
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581. '''if abs(Liq_change) >= 1000000:
  582. print(DateStr, TimeStr,' Current Liquidity:'+LiqStr,' Liq Change:'+LiqChangeStr,' Last Price:',Close_Price, SignalStr+Style.RESET_ALL+' ['+PLString+Style.RESET_ALL+']',' ',MIV_Index,' LFP: [',LiqFlowPrice,']',' LFPClone:[',LiqFlowPriceClone,']',' MIV: ',MIV_Index,' Avg MIV: ',Avg_MIV_Spike, '$Price: ',M_Price)
  583. else:'''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement