Advertisement
ImDerekD

tcopy.py OFFICIALLY DONE

Mar 6th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.69 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/data.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. LRS = str(Low_Range)
  371. Program = 'BOTTOM REVERSAL TARGET [$%s]' % LRS
  372. Signal = 'BUY'
  373.  
  374. if range_ref_String == 'LOW TARGET' or range_ref_String == 'HIGH TARGET':
  375. if LiqFlowPrice >= 2.6 and MIV_Index < 0:
  376. if abs(MIV_Index) < Avg_MIV_Spike and LiqFlowPriceClone <= .039:
  377. if LiqFlowPrice < 2.80:
  378. Program = 'MMs IN CONTROL (BULLISH)'
  379. Signal = 'BUY'
  380. if LiqFlowPrice >= 2.8:
  381. Program = 'MMs IN CONTROL (EXTREMELY BULLISH)'
  382. Signal = 'BUY'
  383. if LiqFlowPrice <= 2.7 and LiqFlowPrice >= 2.4:
  384. Program = 'MMs IN CONTROL (SLIGHTLY BULLISH)'
  385. Signal = 'BUY'
  386. # elif abs(MIV_Index) >= Avg_MIV_Spike and LiqFlowPrice <= 2.6:
  387. # if LiqFlowPriceClone >= .04:
  388. # Program = 'MMs IN CONTROL (BULLISH)'
  389. # Signal = 'BUY'
  390.  
  391.  
  392.  
  393.  
  394. if Signal == 'BUY':
  395. Bearish = False
  396. Bullish = True
  397. Neutral = False
  398. SignalStr = Fore.CYAN+Signal+Style.RESET_ALL
  399.  
  400. if Signal == 'SELL':
  401. Bearish = True
  402. Bullish = False
  403. Neutral = False
  404. SignalStr = Fore.RED+Signal+Style.RESET_ALL
  405.  
  406. if Signal == 'NEUTRAL':
  407. Bearish = False
  408. Bullish = False
  409. Neutral = True
  410. SignalStr = Fore.YELLOW+Signal+Style.RESET_ALL
  411.  
  412.  
  413. SignalList.append(Signal)
  414.  
  415. 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)
  416. time.sleep(2.5)
  417. else:
  418. Range_Clause = False
  419. tHigh = False
  420. tLow = False
  421.  
  422. if HighCount > 0:
  423. AvgHighRangeLiqChange = HighRangeLiqTotal / HighCount
  424.  
  425. if LowCount > 0:
  426. AvgLowRangeLiqChange = LowRangeLiqTotal / LowCount
  427.  
  428. if abs(M_Price - HLCC) >= criteria2 and Range_Clause == False:
  429. Mark_The_Maker = True
  430. diff = abs(M_Price - Close_Price)
  431. MMrange_ref_String = str()
  432. Mark_Says = str()
  433. if Mark_The_Maker == True:
  434.  
  435. if M_Price > Close_Price:
  436. MMLow = True
  437. MMHigh = False
  438. MMrange_ref_String = '( MM HIGH RANGE )'
  439.  
  440. elif M_Price < Close_Price:
  441. MMLow = False
  442. MMHigh = True
  443. MMrange_ref_String = ' ( MM LOW RANGE )'
  444.  
  445.  
  446. if abs(MIV_Index) < Avg_MIV_Spike * .90 and LiqFlowPrice >= 3:
  447. Mark_Says = 'BOUTTA GET FUCKING VOLATILE'
  448. Signal = 'SELL'
  449.  
  450. if abs(MIV_Index) >= Avg_MIV_Spike and LiqFlowPrice >= 3:
  451. if LiqFlowPriceClone <= .035 and MIV_Index > 0:
  452. Mark_Says = 'UNNECESSARY HIGHS COMIN RIGHT UP ~ Mark'
  453. Signal = 'BUY'
  454.  
  455. if LiqFlowPriceClone >= .03 and LiqFlowPrice <= 3:
  456. if M_Price > Close_Price:
  457. Mark_Says = 'BULL TRAP ROTFL ~ Mark'
  458. Signal = 'SELL'
  459. elif M_Price < Close_Price:
  460. Mark_Says = 'BEAR TRAP GOTCHA LMAO ~ Mark'
  461. Signal = 'BUY'
  462.  
  463.  
  464. if LiqFlowPriceClone >= .033 and LiqFlowPrice <= 2.9:
  465. Mark_Says = 'BOUTTA GET REAL FUCKIN UGLY MY GUY ~ Mark'
  466. Signal = 'SELL'
  467.  
  468. if abs(MIV_Index) <= Avg_MIV_Spike * .5 or abs(MIV_Index) > Avg_MIV_Spike * 1.25:
  469. if LiqFlowPrice > 3.1:
  470. Mark_Says = 'CHOP CHOP MOTHERFUCKER ~ Mark'
  471. Signal = 'SELL'
  472.  
  473. if LiqFlowPriceClone <= .033 and LiqFlowPrice >= 3.05:
  474. if MIV_Index < 0 and MMHigh == True:
  475. Mark_Says = 'I AIN W THE BULLSHIT ~ Mark'
  476. Signal = 'SELL'
  477. if MIV_Index < Avg_MIV_Spike:
  478. if MMLow == True and MIV_Index > 0:
  479. Mark_Says = 'BUY THE DIP COWARD ~ Mark'
  480. Signal = 'BUY'
  481.  
  482.  
  483.  
  484.  
  485. if Signal == 'BUY':
  486. Bearish = False
  487. Bullish = True
  488. Neutral = False
  489. SignalStr = Fore.CYAN+Signal+Style.RESET_ALL
  490.  
  491. if Signal == 'SELL':
  492. Bearish = True
  493. Bullish = False
  494. Neutral = False
  495. SignalStr = Fore.RED+Signal+Style.RESET_ALL
  496.  
  497. if Signal == 'NEUTRAL':
  498. Bearish = False
  499. Bullish = False
  500. Neutral = True
  501. SignalStr = Fore.YELLOW+Signal+Style.RESET_ALL
  502.  
  503. SignalList.append(Signal)
  504. 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)
  505. time.sleep(1.5)
  506.  
  507.  
  508. else:
  509. Mark_The_Maker = False
  510.  
  511. time.sleep(.0075)
  512.  
  513.  
  514.  
  515. if ref_Num % 2 != 0:
  516. Price1 = Close_Price
  517.  
  518. if ref_Num % 2 == 0:
  519. Price2 = Close_Price
  520.  
  521.  
  522. if ref_Num % 2 != 0 and ref_Num > 2:
  523. Last = Price2
  524. Chg = 100*round((Close_Price - Last) / Last, 4)
  525.  
  526. if ref_Num % 2 == 0 and ref_Num >= 2:
  527. Last = Price1
  528. Chg = 100*round((Close_Price - Last) / Last, 4)
  529.  
  530.  
  531.  
  532. if Bullish == True:
  533. PL += Chg
  534. if Bearish == True:
  535. PL += Chg*-1
  536. if Neutral == True:
  537. PL += 0
  538.  
  539.  
  540.  
  541. PLR = round(PL, 3)
  542. if PL > 0:
  543. PLString = Fore.CYAN+str(PLR)+'%'
  544. if PL < 0:
  545. PLString = Fore.RED+str(PLR)+'%'
  546.  
  547. if RangePL > 0:
  548. RangePLString = Fore.CYAN+str(PLR)+'%'
  549. if RangePL < 0:
  550. RangePLString = Fore.RED+str(PLR)+'%'
  551.  
  552.  
  553. if Range_Clause == False and Mark_The_Maker == False:
  554. if HighCount > 0:
  555. if Liq_change >= AvgHighRangeLiqChange * .80:
  556. LiqChangeStr = Fore.BLUE+Back.GREEN+Style.BRIGHT+liqchgstr
  557.  
  558. if LowCount > 0:
  559. if Liq_change <= AvgLowRangeLiqChange * .80:
  560. LiqChangeStr = Fore.RED+Back.YELLOW+Style.BRIGHT+liqchgstr
  561.  
  562. print(DateStr, TimeStr,' Current Liquidity:'+LiqStr,' Liq Change:'+LiqChangeStr,' Last Price:',Close_Price, SignalStr+Style.RESET_ALL+' ['+PLString+Style.RESET_ALL+']')
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582. '''if abs(Liq_change) >= 1000000:
  583. 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)
  584. else:'''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement