명시
I need someone who is able to convert Lonesometheblue's 3rdWave tradingview indicator from to an EA/Indicator. The indicator works very well but it only alerts buy or sell in tradingview, I need it to also alert the price of the beginning of wave 0 and 2 to use them as SL when automating the strategy. The ideal would be to make an EA with its own alerts of the indicator but the basic thing is to make some function that returns the value of "0" and "2" that are painted on the graph in order to be able to take them as a reference for the value of the SL to automate with an external EA.
Public 3rd Wave code script:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LonesomeTheBlue
//@version=5
indicator('3rd Wave', overlay=true, max_bars_back=500, max_lines_count=500, max_labels_count=500)
// import necessary functions to calculate and show the zigzag
import LonesomeTheBlue/CreateAndShowZigzag/1 as ZigZag
prd = input.int(defval=8, title='ZigZag Period', minval=2, maxval=50, group='setup')
ret_rate_min = input.float(defval=0.382, title='Min/Max Retracements', minval=0.100, maxval=0.900, inline='retrate', group='setup')
ret_rate_max = input.float(defval=0.786, title='', minval=0.100, maxval=0.900, inline='retrate', group='setup')
checkvol_support = input.bool(defval=true, title='Check Volume Support', group='setup')
target1_enb = input.bool(defval=true, title='Target 1', inline='t1', group='targets')
target1_ret = input.float(defval=1., title='', inline='t1', group='targets', tooltip = "%X of wave 1 from the begining of wave 2")
target2_enb = input.bool(defval=true, title='Target 2', inline='t2', group='targets')
target2_ret = input.float(defval=1.618, title='', inline='t2', group='targets', tooltip = "%X of wave 1 from the begining of wave 2")
target3_enb = input.bool(defval=false, title='Target 3', inline='t3', group='targets')
target3_ret = input.float(defval=2.618, title='', inline='t3', group='targets', tooltip = "%X of wave 1 from the begining of wave 2")
target4_enb = input.bool(defval=false, title='Target 4', inline='t4', group='targets')
target4_ret = input.float(defval=3.618, title='', inline='t4', group='targets', tooltip = "%X of wave 1 from the begining of wave 2")
showwave12 = input.bool(defval=true, title='Show Wave 1 and 2', group='colors')
showbo = input.bool(defval=true, title='Zone', inline='bocol', group='colors')
bupcol = input.color(defval=color.rgb(0, 255, 0, 85), title='', inline='bocol', group='colors')
bdncol = input.color(defval=color.rgb(255, 0, 0, 85), title='', inline='bocol', group='colors')
showzigzag = input.bool(defval=false, title='Zig Zag', inline='zzcol', group='colors')
upcol = input.color(defval=color.lime, title='', inline='zzcol', group='colors')
dncol = input.color(defval=color.red, title='', inline='zzcol', group='colors')
// definitions for zigzag arrays
var max_array_size = 10 // max length for zigzag array
var zigzag = array.new_float(0)
oldzigzag = array.copy(zigzag) // keep old zigzag
// get the zigzag
dir = ZigZag.getZigzag(zigzag, prd, max_array_size)
// show the zigzag
if showzigzag
ZigZag.showZigzag(zigzag, oldzigzag, dir, upcol, dncol)
int len = array.size(zigzag) >= 8 ? bar_index - math.round(array.get(zigzag, 7)) : 1
bool vol_support = (not checkvol_support or (checkvol_support and ta.linreg(volume, len, 0) - ta.linreg(volume, len, 1) > 0))
var bool can_check_it = true
bool thereisbo = false
if (dir != dir[1])
can_check_it := true
can_check_it
// check if there is possible 3rd wave and show breakout if there is any
if array.size(zigzag) >= 8 and can_check_it
w12 = math.abs(array.get(zigzag, 2) - array.get(zigzag, 4)) / math.abs(array.get(zigzag, 4) - array.get(zigzag, 6))
if w12 >= ret_rate_min and w12 <= ret_rate_max and (dir == 1 and high > array.get(zigzag, 4) or dir == -1 and low < array.get(zigzag, 4))
can_check_it := false
if vol_support
thereisbo := true
// draw bo
if showbo
box.new(left=math.round(array.get(zigzag, 7)), top=array.get(zigzag, 4), right=bar_index, bottom=array.get(zigzag, 6), border_color=color.blue, border_width=1, border_style=line.style_dotted, bgcolor=dir == 1 ? bupcol : bdncol)
if showwave12
line.new(x1=math.round(array.get(zigzag, 7)), y1=array.get(zigzag, 6), x2=math.round(array.get(zigzag, 5)), y2=array.get(zigzag, 4))
line.new(x1=math.round(array.get(zigzag, 5)), y1=array.get(zigzag, 4), x2=math.round(array.get(zigzag, 3)), y2=array.get(zigzag, 2))
label.new(x=math.round(array.get(zigzag, 7)), y=array.get(zigzag, 6), text='0', color=color.new(color.white, 100), textcolor=color.blue, style=dir == 1 ? label.style_label_up : label.style_label_down)
label.new(x=math.round(array.get(zigzag, 5)), y=array.get(zigzag, 4), text='1', color=color.new(color.white, 100), textcolor=color.blue, style=dir == 1 ? label.style_label_down : label.style_label_up)
label.new(x=math.round(array.get(zigzag, 3)), y=array.get(zigzag, 2), text='2', color=color.new(color.white, 100), textcolor=color.blue, style=dir == 1 ? label.style_label_up : label.style_label_down)
// draw label
label.new(x=bar_index, y=array.get(zigzag, 6), color=dir == 1 ? upcol : dncol, style=dir == 1 ? label.style_triangleup : label.style_triangledown, size=size.small)
base = array.get(zigzag, 2)
wave1 = math.abs(array.get(zigzag, 4) - array.get(zigzag, 6))
if target1_enb
line.new(x1=bar_index, y1=math.max(base + dir * wave1 * target1_ret, 0), x2=math.round(array.get(zigzag, 7)), y2=math.max(base + dir * wave1 * target1_ret, 0), style=line.style_dashed)
if target2_enb
line.new(x1=bar_index, y1=math.max(base + dir * wave1 * target2_ret, 0), x2=math.round(array.get(zigzag, 7)), y2=math.max(base + dir * wave1 * target2_ret, 0), style=line.style_dashed)
if target3_enb
line.new(x1=bar_index, y1=math.max(base + dir * wave1 * target3_ret, 0), x2=math.round(array.get(zigzag, 7)), y2=math.max(base + dir * wave1 * target3_ret, 0), style=line.style_dashed)
if target4_enb
line.new(x1=bar_index, y1=math.max(base + dir * wave1 * target4_ret, 0), x2=math.round(array.get(zigzag, 7)), y2=math.max(base + dir * wave1 * target4_ret, 0), style=line.style_dashed)
alertcondition(thereisbo and dir == 1, title = "Breakout Long", message = "Breakout Long")
alertcondition(thereisbo and dir == -1, title = "Breakout Short", message = "Breakout Short")
Public import LonesomeTheBlue/CreateAndShowZigzag/1 as ZigZag:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LonesomeTheBlue
//@version=5
// @description Functions in this library creates/updates zigzag array and shows the zigzag
library("CreateAndShowZigzag")
Trz(float [] zigzag, int mLoc)=>
for x = array.size(zigzag) - 1 to array.size(zigzag) > 1 ? 0 : na by 2
if bar_index - array.get(zigzag, x) <= mLoc
break
array.pop(zigzag)
array.pop(zigzag)
addtozigzag(float [] zigzag, float value) =>
array.unshift(zigzag, bar_index)
array.unshift(zigzag, value)
updatezigzag(float [] zigzag, float value, int dir) =>
if array.size(zigzag) == 0
addtozigzag(zigzag, value)
else
if dir == 1 and value > array.get(zigzag, 0) or dir == -1 and value < array.get(zigzag, 0)
array.set(zigzag, 0, value)
array.set(zigzag, 1, bar_index)
export getZigzag(float [] zigzag, int prd, int mLoc)=>
Trz(zigzag, mLoc)
float ph = ta.highestbars(high, prd) == 0 ? high : na
float pl = ta.lowestbars(low, prd) == 0 ? low : na
var int dir = 0
dir := ph and na(pl) ? 1 :
pl and na(ph) ? -1 :
dir
bool bothexist = ph and pl
bool dirchanged = dir != dir[1]
if ph or pl
if bothexist
updatezigzag(zigzag, dir == 1 ? ph : pl, dir)
dir := -dir
addtozigzag(zigzag, dir == 1 ? ph : pl)
else
if dirchanged //and not nz(bothexist[1], false)
addtozigzag(zigzag, dir == 1 ? ph : pl)
else
updatezigzag(zigzag, dir == 1 ? ph : pl, dir)
[dir, bothexist]
export showZigzag(float [] zigzag, float [] zigzagold, int dir, bool specialcase, color upcol, color dncol)=>
var line zzline = na
if specialcase
line.set_xy1(zzline, math.round(array.get(zigzag, 3)), array.get(zigzag, 2))
if array.get(zigzag, 0) != array.get(zigzagold, 0) or array.get(zigzag, 1) != array.get(zigzagold, 1)
if array.get(zigzag, 2) == array.get(zigzagold, 2) and array.get(zigzag, 3) == array.get(zigzagold, 3)
line.delete(zzline)
zzline := line.new(x1=math.round(array.get(zigzag, 1)), y1=array.get(zigzag, 0), x2=math.round(array.get(zigzag, 3)), y2=array.get(zigzag, 2), color=dir == 1 ? upcol : dncol)
export getTN()=>
int TN = 8
tick__ = syminfo.mintick
while tick__ < 1
TN += 1
tick__ *= 10
tick__ := high
while tick__ > 1
TN += 1
tick__ /= 10
TN
응답함
1
등급
프로젝트
603
34%
중재
65
22%
/
57%
기한 초과
146
24%
작업중
게재됨: 1 기고글, 22 코드
2
등급
프로젝트
945
47%
중재
309
58%
/
27%
기한 초과
125
13%
무료
3
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
4
등급
프로젝트
9
33%
중재
11
0%
/
100%
기한 초과
2
22%
무료
5
등급
프로젝트
499
67%
중재
5
40%
/
0%
기한 초과
4
1%
무료
게재됨: 8 코드
비슷한 주문
Forex Hunter MT5
30 - 250 USD
ثبت طلبك في مواصفات البوت الثاني كذا: الجودة والأمان أهم من السعر، وما يدخل إلا إذا الفرصة قوية، مع حماية عند الخسائر وانقطاع الاتصال وارتفاع السبريد، وتشغيل مستمر على سيرفر، مع اختبارات إلزامية قبل أي تشغيل حقيقي. بهذه الصيغة يصير يشتغل وأنت مرتاح بالِك، لكنه يوقف تلقائيًا وقت عطلة السوق أو أي خلل. بس أكون واضح معك: ما في بوت يضمن عدم الخسارة، خصوصًا بالمضاربات السريعة، هدفنا نقلل المخاطر ونمنع الخسائر غير المنضبطة
MT5 Opening Range Breakout EA Development
30 - 50 USD
I'm looking for an experienced MQL5 developer to create a Opening Range Breakout EA. The EA should identify the high and low of a configurable trading session and open trades when price breaks out of this range. It should include configurable Stop Loss, Take Profit, fixed lot size, break-even option and trading hours. Full mq5 required
Matosfx
30 USD
Am called martin sselubiri I need a robot for trading forex and stock and I want know how this robot works and how much it costs for me to use it
My MQL5 Expert Advisor wins most trades with small profits, then suddenly takes one large loss that wipes out weeks of gains. This is the "picking up pennies in front of a steamroller" pattern. Required fix: Find the exact cause of the large losses in the code. Cap the loss on every trade with a fixed stop loss (no martingale or averaging down). Stop trading in dangerous conditions (high volatility, strong trends
AI Forex Trading Bot for MT4 and MT5 I need an advanced Forex trading robot (Expert Advisor) that works on both MetaTrader 4 and MetaTrader 5. The robot should automatically analyse the Forex market, identify BUY and SELL opportunities, and execute trades when the trading conditions are met. It should support GBPUSD, EURUSD, USDJPY and GBPJPY. The robot should use EMA, RSI, MACD, price action and trend analysis
Name: SteelEdge Platform: MetaTrader 5 (MQL5) Expert Advisor Instruments: XAUUSD, EURUSD, US30 Timeframe: H1 (inputs to change it) STRATEGY - Trend filter: buy only when price is above the 200 EMA, sell only when below - Entry: price pulls back to the 50 EMA and a bullish (buy) or bearish (sell) engulfing candle closes - Confirmation: RSI(14) above 50 for buys, below 50 for sells - Stop loss: 1.5 x ATR(14) - Take
EXISTING PROFITABLE MT5 EXPERT ADVISOR
30 - 80 USD
I need an existing mt5 expert advisor that can been in trading for more than 12 months. The PF of the ea should not be less than 2.0 and be in profit in the last four months with average profit of not less than 20% per month. The Maximum drawdown should be less than 20% and Max deposit load less than 10%. Such ea should be able to trade with less than or equal to $300. Whats needed is .ex5 and source file is also
Ready to use MT5 bot
99 - 6990 USD
seller must provide the following to be considered... i will answer to all who fit this description, and can purchase more than 1 EA... - brief strategy description - overall EA expectancy - 1 week limited trial version, with whatever settings you consider best
MT5 DEVELOPER NEEDS
30+ USD
I am a trader looking to acquire an existing, stable, and consistently profitable Expert Advisor (EA) specifically designed primarily for Gold (XAUUSD). This is an outright purchase. I am not interested in developing a new EA from scratch. I am only interested in ready-to-use systems with a genuine, verifiable track record of performance
Aziz Toure
50 - 400 USD
I am an independent trader and entrepreneur based in Côte d’Ivoire. I work in financial markets, analyze trading opportunities, and provide digital financial services. I am also interested in international trade, online business, and developing long-term business activities
프로젝트 정보
예산
30 - 60 USD