'Generating signals for opening positions
		 
		Private Sub Signals()
		 
		Dim ByPebP, SlPebP, ByMgbP, SlMgbP, DlPe, 
		Trigger As Double
		 
		'Calculating Trigger for an action standard
		Trigger = [B8].Value * [B34].Value / 100
		 
		'The strategy is inside between If and Then. If 
		MACD > Signal, Then generate a Long OK signal.
		If LongOK = False And _
		
		   
		Cells(Candle, "V").Value - 
		Cells(Candle, "W").Value > Trigger And Cells(Candle + 1, "V").Value < 
		Cells(Candle + 1, "W").Value Then    
		'Strategy for Long Condition Yang
		
		   
		LongOK = True
		
		   
		BCBM = Candle
		
		   
		BBP = Round(Cells(Candle, "L").Value, 
		2)
		
		   
		Cells(Candle, "N").Value = "Long OK " 
		& Int([B20].Value * CP / 100 / BBP) & " @ " & BBP
		
		   
		Exit Sub
		End If
		 
		'The strategy is inside between If and Then. If 
		MACD < Signal, Then generate a Short OK signal.
		If ShortOK = False And _
		
		   
		Cells(Candle, "V").Value - 
		Cells(Candle, "W").Value < -1 * Trigger And Cells(Candle + 1, "V").Value 
		> Cells(Candle + 1, "W").Value Then  
		'Strategy for Short Condition Yin
		
		   
		ShortOK = True
		
		   
		SCBM = Candle
		
		   
		SBP = Round(Cells(Candle, "L").Value, 
		2)
		
		   
		Cells(Candle, "N").Value = "Short OK " 
		& Int(([B20].Value + 1.5 * [B19].Value * SlPebP) / 1.5 * CP / 100 / SBP) 
		& " @ " & SBP
		
		    Exit 
		Sub
		End If
		 
		If BCBM - Candle > [B7].Value Then LongOK = 
		False
		If SCBM - Candle > [B7].Value Then ShortOK = 
		False
		 
		'Open Long
		If BCBM - Candle <= [B7].Value Then
		'   
		If LongOK = True And ShortOK = False 
		And Cells(Candle, "I").Value > BBP Then
		
		   
		If LongOK = True And ShortOK = False 
		Then
		
		           
		DlPe = Round((Cells(Candle, "J").Value 
		+ Cells(Candle, "K").Value) / 2, 2)
		
		       
		If [B19].Value = 0 Then
		
		           
		TdSum = Int([B20].Value * CP / 100 / 
		DlPe)
		
		           
		Cells(Candle, "O").Value = -1 * TdSum 
		* DlPe
		
		           
		[B19].Value = [B19].Value + TdSum
		
		           
		PBM = DlPe
		
		           
		BM = [B20].Value + Cells(Candle, 
		"O").Value + [B19].Value * PBM
		
		           
		[B20].Value = [B20].Value + 
		Cells(Candle, "O").Value
		
		           
		Cells(Candle, "AE").Value = 
		[B20].Value + [B19].Value * Cells(Candle, "L").Value
		
		           
		Cells(Candle, "N").Value = "Buy/Open " 
		& TdSum & " @ " & DlPe
		
		       
		End If
		
		   
		End If
		End If
		 
		'Open Short
		If SCBM - Candle <= [B7].Value Then
		'   
		If ShortOK = True And LongOK = False 
		And Cells(Candle, "I").Value < SBP Then
		
		   
		If ShortOK = True And LongOK = False 
		Then
		
		            
		DlPe = Round((Cells(Candle, "J").Value 
		+ Cells(Candle, "K").Value) / 2, 2)
		
		       
		If [B19].Value = 0 Then
		
		        
		    TdSum = Int([B20].Value / 1.5 * CP 
		/ 100 / DlPe)
		
		           
		Cells(Candle, "O").Value = TdSum * 
		DlPe
		
		           
		[B19].Value = [B19].Value - TdSum
		
		           
		PBM = DlPe
		
		           
		BM = [B20].Value + Cells(Candle, 
		"O").Value + [B19].Value * PBM
		
		      
		      [B20].Value = [B20].Value + 
		Cells(Candle, "O").Value
		
		           
		Cells(Candle, "AE").Value = 
		[B20].Value + [B19].Value * Cells(Candle, "L").Value
		
		           
		Cells(Candle, "N").Value = "Sell/Open 
		" & TdSum & " @ " & DlPe
		
		      
		End If
		
		   
		End If
		End If
		 
		End Sub