Şartname
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
Yanıtlandı
1
Derecelendirme
Projeler
603
34%
Arabuluculuk
65
22%
/
57%
Süresi dolmuş
146
24%
Çalışıyor
Yayınlandı: 1 makale, 22 kod
2
Derecelendirme
Projeler
945
47%
Arabuluculuk
309
58%
/
27%
Süresi dolmuş
125
13%
Serbest
3
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
4
Derecelendirme
Projeler
9
33%
Arabuluculuk
11
0%
/
100%
Süresi dolmuş
2
22%
Serbest
5
Derecelendirme
Projeler
499
67%
Arabuluculuk
5
40%
/
0%
Süresi dolmuş
4
1%
Serbest
Yayınlandı: 8 kod
Benzer siparişler
Thana ram
30 - 200 USD
Hello, I want to develop a custom MT5 Expert Advisor (EA) for XAUUSD Gold. IMPORTANT: I want a proper rule-based automated trading EA, NOT a martingale, grid or guaranteed-profit bot. 1. MARKET & TIMEFRAME - Platform: MT5 - Symbol: XAUUSD only - Main trend timeframe: M15 - Entry timeframe: M5 - Must support broker suffixes such as XAUUSDm, XAUUSD., etc. 2. TREND RULE BUY trend: - M15 price above EMA 50 - EMA 50 above
I need a TradingView Pine Script (v6) indicator that gives BUY and SELL signals in real time on the live chart. MAIN REQUIREMENT – NO REPAINTING: 1. Signals must appear only when the candle closes (barstate.isconfirmed). Example: on 1-min chart, signal for the 10:35 candle must appear at 10:36 and never disappear or move. 2. Signals on historical bars must look exactly the same as they looked live. 3. No lookahead
Description I am looking for a highly skilled MQL5 Developer & Trader with strong experience in EA optimization, stress testing, and forward validation. The EA is already coded and running. What I need now is: 1.Simple code editing, code adjustment/upgrading and code tamplates inserting, 2.Parameter Optimization & Re-Validation – Find the best stable settings for XAUUSD (not overfitted). 3.Robustness / Stress Testing
مطلوب موشر قوية لتداول الذهب يحقق
100 - 200 USD
المطلوب موشر لتداول الذهب مجرب وقوية يعطي اشاره قوية فقط مع وقف خساره ومختبر ومجرب في حال الموافقه علي لموشر بعد التجربه لمدة ٣ ايام يتم الشراء دايم مبلغ ٢٠٠ دولار
Strategy
40 - 60 USD
yo i have a strategy i would really like to turn into a signal bot basically please this is very technical and serious to me the strategy needs more time 1 time frame and the bot most be 100% accurate
can you help me use a Tickblaze Algo NRBO on the NT platform? I have it somewhat set up, but I have other questions about running it & knowing how to operate it in NT. Thank you if anyone have experience in this kindly bib and let do it asap
I need a trading system similar to the attached files. Check attachment for details on the indicator. i guess the indicator contains some of (Rainbow MA , MTF Dashboard , Symbol Switcher , and Trend Histogram), though may not be exactly as listed
Indicies Trading Bot
90+ USD
I have a EA/Bot I’ve designed and want it to be put onto me MetaTrader5 this month. I’m new here and also need to figure out how to get a live account and add a UK broker
Hi. I am looking for an experienced MQL5 developer for an advanced XAUUSD MT5 indicator. Before choosing a developer, I would like to see a small proof-of-concept or an example of a similar indicator you have already developed. My final indicator must be written from scratch in MQL5 and I must receive the complete .mq5 source code + compiled .ex5 . Main requirements: XAUUSD MT5 / MQL5 Indicator only — NO AutoTrading
Title: Advanced XAUUSD MT5 Indicator – MQL5 Source Code Required I need a professional MT5 indicator written from scratch in MQL5 (.mq5) for XAUUSD. The indicator must be signals/analysis only — AutoTrading must remain OFF . I need the complete editable .mq5 source code, not only an .ex5 file. The system should analyze multiple timeframes: H4 → H1 → M30 → M15 → M5 → M1 . Required logic: Higher-timeframe
Proje bilgisi
Bütçe
30 - 60 USD