指定
Hello i want to covert trading view indi Pine script to MT5/MQL5 EA.
Please tell me if you can do asap.
bellow is my source code:
//@version=5
indicator("V1.1.1 SQZMOM - CM_Ult và VFI", shorttitle="V1.1.1 SQZ-CM.Ult-VFI (SSG)", overlay=true)
// Điều kiện: 3 nến liên tiếp có xu hướng tăng
//cond = (close > open) and (close[1] > open[1]) and (close[2] > open[2])
// Tính toán độ dài của râu cho nến hiện tại
wick_length = high - math.max(open, close) // Râu trên nen hien tai
tail_length = math.min(open, close) - low // Râu dưới nen hien tai
body_length = math.abs(close - open) // Tính toán độ dài của thân nến hien tai
bhasWick = wick_length > 0 and tail_length > 0 // true neu co ca 2 rau
has_tail = tail_length > 0 // co rau duoi
has_wick = wick_length > 0 // co rau tren
wick_length1 = high[1] - math.max(open[1], close[1]) // Râu trên nen 1
tail_length1 = math.min(open[1], close[1]) - low[1] // Râu dưới nen 1
body_length1 = math.abs(close[1] - open[1]) // Tính toán độ dài của thân nến 1
has_tail1 = tail_length1 > 0 // co rau duoi
has_wick1 = wick_length1 > 0 // co rau tren
wick_length2 = high[2] - math.max(open[2], close[2]) // Râu trên nen 1
tail_length2 = math.min(open[2], close[2]) - low[2] // Râu dưới nen 1
body_length2 = math.abs(close[2] - open[2]) // Tính toán độ dài của thân nến 1
has_tail2 = tail_length2 > 0 // co rau duoi
has_wick2 = wick_length2 > 0 // co rau tren
condUp = (close > open) and (not has_tail) and (close[1] > open[1]) and (close[2] > open[2])
condDown = (close < open) and (not has_wick) and (close[1] < open[1]) and (close[2] < open[2])
condUpAll = (close > open) and (not has_tail) and (close[1] > open[1]) and (not has_tail1) and (close[2] > open[2]) and (not has_tail2)
condDownAll = (close < open) and (not has_wick) and (close[1] < open[1]) and (not has_wick1) and (close[2] < open[2]) and (not has_wick2)
bCheckABS = input(false, title="Kiểm tra giá trị tuyệt đối nến trước")
// tich hop de them dieu kien check theo SQZMOM
//------------BEGIN- SQZMOM-----------------------
length = input(20, title="BB Length")
mult = input(2.0,title="BB MultFactor")
lengthKC=input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
useTrueRange = input(true, title="Use TrueRange (KC)")
// Calculate BB
source = close
basis = ta.sma(source, length)
dev = multKC * ta.stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev
// Calculate KC
ma = ta.sma(source, lengthKC)
myRange = useTrueRange ? ta.tr : (high - low)
rangema = ta.sma(myRange , lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz = (sqzOn == false) and (sqzOff == false)
val = ta.linreg(source - math.avg(math.avg(ta.highest(high, lengthKC), ta.lowest(low, lengthKC)),ta.sma(close,lengthKC)), lengthKC,0)
//bcolor = iff( val > 0, iff( val > nz(val[1]), color.lime, color.green), iff( val < nz(val[1]), color.red, color.maroon))
bcolor = ( val > 0 ? ( val > nz(val[1])? color.lime: color.green): ( val < nz(val[1])? color.red : color.maroon))
scolor = noSqz ? color.blue : sqzOn ? color.black : color.gray
// nến hiện tại không râu
condUpSQZ = (val > 0)
condDownSQZ = (val < 0)
bCandleUp = (body_length > body_length1) and (close > open) and (close[1] > open[1])
bCandleDown = (body_length > body_length1) and (close < open) and (close[1] < open[1])
// end dieu kien than nen
// ---------kiem tra them dieu kien vơi chi so CM -Ult
ource = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input("60", title="Use Different Timeframe? Uncheck Box Above")
//resCustom = input(title="Use Different Timeframe? Uncheck Box Above", type=resolution, defval="60")
smd = input(true, title="Show MacD & Signal Line? Also Turn Off Dots Below")
sd = input(true, title="Show Dots When MacD Crosses Signal Line?")
sh = input(true, title="Show Histogram?")
macd_colorChange = input(true,title="Change MacD Line Color-Signal Line Cross?")
hist_colorChange = input(true,title="MacD Histogram 4 Colors?")
// Determine the current chart's resolution
currentResolution = timeframe.period
// Use the custom resolution if specified, or use the current chart's resolution
selectedResolution = na(resCustom) ? currentResolution : resCustom
res = useCurrentRes ? timeframe.period : resCustom
fastLength = input.int(12, minval=1)
slowLength=input.int(26,minval=1)
signalLength=input.int(9,minval=1)
fastMA = ta.ema(source, fastLength)
slowMA = ta.ema(source, slowLength)
macd = fastMA - slowMA
signal = ta.sma(macd, signalLength)
hist = macd - signal
outMacD = request.security(syminfo.tickerid, res, macd)
outSignal = request.security(syminfo.tickerid, res, signal)
outHist = request.security(syminfo.tickerid, res, hist)
histA_IsUp = outHist > outHist[1] and outHist > 0
histA_IsDown = outHist < outHist[1] and outHist > 0
histB_IsDown = outHist < outHist[1] and outHist <= 0
histB_IsUp = outHist > outHist[1] and outHist <= 0
//MacD Color Definitions
macd_IsAbove = outMacD >= outSignal
macd_IsBelow = outMacD < outSignal
// bổ sung thêm điều kiện tuyệt đối
bspan = true
if bCheckABS
bspan := (outMacD != outSignal) and (math.abs(outMacD -outSignal) > math.abs(outMacD[1] -outSignal[1]))
macd_IsAbove := macd_IsAbove and bspan
macd_IsBelow := macd_IsBelow and bspan
// end điều kiện
condUpSQZ_CM_Ult = condUpSQZ and macd_IsAbove
condDownSQZ_CM_Ult = condDownSQZ and macd_IsBelow
//---
// ---- --begin tich hop them dieu kien kiem tra VFI
lengthVFI = input(130, title="VFI length")
coef = input(0.2)
vcoef = input(2.5, title="Max. vol. cutoff")
signalLengthVFI=input(5)
smoothVFI=input(false)
ma(x,y) => smoothVFI ? ta.sma(x,y) : x
typical=hlc3
inter = math.log( typical ) - math.log( typical[1] )
vinter = ta.stdev(inter, 30 )
cutoff = coef * vinter * close
vave = ta.sma( volume, lengthVFI )[1]
vmax = vave * vcoef
vc = (volume < vmax ? volume :vmax) //min( volume, vmax )
mf = typical - typical[1]
vcp = ( mf > cutoff ? vc : ( mf < -cutoff ? -vc :0))
vfi = ma(math.sum( vcp , lengthVFI )/vave, 3)
vfima=ta.ema( vfi, signalLengthVFI )
d=vfi-vfima
// them dieu kien tuyet doi để dự đoán xu hướng 2 đường đang tách nhau ra xa
spanvfi = true
if bCheckABS
spanvfi := (vfi != vfima) and (math.abs(d) > math.abs(vfi[1] -vfima[1]))
// end dieu kien tuyet doi
condDown_VFI = (d < 0) and spanvfi
condUp_VFI = (d >=0) and spanvfi
// -------------------end kiem tra VFI
// ket hop cac điều kiện
condUpSQZ_CM_VFI = condUpSQZ_CM_Ult and condUp_VFI and bCandleUp
condDownSQZ_CM_VFI = condDownSQZ_CM_Ult and condDown_VFI and bCandleDown
//Dừng lệnh BUY hoặc SELL
bstop = (((close > open) and (close[1] > open[1]) and (has_tail)) or ((close < open) and (close[1] < open[1]) and (has_wick))) //or body_length < 0.333 * body_length1
// end test
plotshape(condUpSQZ_CM_VFI, style=shape.triangleup, title="BUY WITH SQZMOM vs CM_Ult vs VFI", location=location.bottom , color=color.purple,size=size.tiny)
alertcondition(condUpSQZ_CM_VFI, title="BUY WITH SSG SQZMOM And CM_Ult vs VFI", message="Xu hướng tăng & SQZMOM & CM_Ult vs VFI")
plotshape(condDownSQZ_CM_VFI, style=shape.triangledown, title="SELL WITH SQZMOM vs CM_Ult vs VFI", location=location.bottom, color=color.purple, size=size.tiny)
alertcondition(condDownSQZ_CM_VFI, title="SELL WITH SQZMOM And CM_Ult vs VFI", message="Xu hướng giảm & SQZMOM & CM_Ult vs VFI")
plotshape(bstop, style=shape.xcross, title="STOP ALL 2.0", location=location.abovebar, color=color.red, size=size.tiny)
応答済み
1
評価
プロジェクト
214
75%
仲裁
0
期限切れ
0
暇
2
評価
プロジェクト
2
0%
仲裁
1
0%
/
100%
期限切れ
0
暇
3
評価
プロジェクト
178
39%
仲裁
4
25%
/
50%
期限切れ
14
8%
暇
プロジェクト情報
予算
30 - 100 USD