Specifiche

In specific circumstances, it is possible to extract data, far above the  for 1 single script .
The following technique uses composite tickers. Changing tickers needs to be done in the code itself as will be explained further.

          ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

🔶 PRINCIPLE

        Standard example:

  c1 = request.security('MTLUSDT' , 'D', close)


        This will give the close value from 1 ticker (MTLUSDT); c1 for example is 1.153

        Now let's add 2 tickers to MTLUSDT; XMRUSDT and ORNUSDT with, for example, values of 1.153 (I), 143.4 (II) and 0.8242 (III) respectively.

        Just adding them up 'MTLUSDT+XMRUSDT+ORNUSDT' would give 145.3772 as a result, which is not something we can use...

        Let's multiply ORNUSDT by                  100 ->            14340
        and   multiply MTLUSDT  by 1000000000 -> 1153000000                 (from now, 10e8 will be used instead of 1000000000)
        Then we make the sum.

        When we put this in a security call (just the close value) we get:

  c1 = request.security('MTLUSDT*10e8+XMRUSDT*100+ORNUSDT', 'D', close)


        'MTLUSDT*10e8+XMRUSDT*100+ORNUSDT' -> 1153000000 + 14340 + 0.8242 = 1153014340.8242 (a)

        This (a) will be split later on, for example:

        1153014330.8242 / 10e8 = 1.1530143408242 -> round -> in this case to 1.153 (I), multiply again by 10e8 -> 1153000000.00 (b)
        We subtract this from the initial number:

            1153014340.8242   (a)
         - 1153000000.0000   (b)
          –––––––––––––––––
                       14340.8242   (c)

        Then -> 14340.8242 / 100 = 143.408242 -> round -> 143.4 (II) -> multiply -> 14340.0000 (d)
         -> subtract

            14340.8242   (c)
         - 14340.0000   (d)
          ––––––––––––
                     0.8242   (III)

        Now we have split the number again into 3 tickers: 1.153 (I), 143.4 (II) and 0.8242 (III)

          ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯


In this publication the function compose_3_() will make a composite ticker of 3 tickers, and the split_3_() function will split these 3 tickers again after passing 1 request.security() call.

In this example:

t46 = 'BINANCE:MTLUSDT', n46 = 10e8 , r46 = 3, t47 = 'BINANCE:XMRUSDT', n47 = 10e1, r47 = 1, t48 = 'BINANCE:ORNUSDT', r48 = 4 // T16 ••• T16= compose_3_(t48, t47, n47, t46, n46) ••• [o16, h16, l16, c16] = request.security(T16, res, [open, high, low, close]) ••• [MTLc , XMRc , ORNc ] = split_3_(c16, n46, r46, n47, r47, r48)



🔶 CHANGING TICKERS

If you need to change tickers, you only have to change the first part of the script, USER DEFINED TICKERS

Back to our example, at line 26 in the code, you'll find:

t46 = 'BINANCE:MTLUSDT', n46 = 10e8 , r46 = 3, t47 = 'BINANCE:XMRUSDT', n47 = 10e1, r47 = 1, t48 = 'BINANCE:ORNUSDT', r48 = 4 // T16
(t46, T16,... will be explained later)

You need to figure out how much you need to multiply each ticker, and the number for rounding, to get a good result.

In this case:
'BINANCE:MTLUSDT', multiply number = 10e8, round number is 3 (example value 1.153)
'BINANCE:XMRUSDT', multiply number = 10e1, round number is 1 (example value 143.4)
'BINANCE:ORNUSDT', NO multiply number, round number is 4 (example value 0.8242)

The value with most digits after the decimal point by preference is placed to the right side (ORNUSDT)

If you want to change these 3, how would you do so?

First pick your tickers and look for the round values, for example:
'MATICUSDT', example value =   0.5876 -> round -> 4
'LTCUSDT'    , example value = 77.47      -> round -> 2
'ARBUSDT'    , example value =   1.0231 -> round -> 4

Value with most digits after the decimal point -> MATIC or ARB, let's pick ARB to go on the right side, LTC at the left of ARB, and MATIC at the most left side.
-> 'MATICUSDT', LTCUSDT', ARBUSDT'

Then check with how much 'LTCUSDT' and 'MATICUSDT' needs to be multiplied to get this: 5876 0 7747 0 1.0231

'MATICUSDT' -> 10e10
'LTCUSDT'      -> 10e3

Replace:

t46 = 'BINANCE:MTLUSDT', n46 = 10e8 , r46 = 3, t47 = 'BINANCE:XMRUSDT', n47 = 10e1, r47 = 1, t48 = 'BINANCE:ORNUSDT', r48 = 4 // T16

->

t46 = 'BINANCE:MATICUSDT', n46 = 10e10 , r46 = 4, t47 = 'BINANCE:LTCUSDT', n47 = 10e3, r47 = 2, t48 = 'BINANCE:ARBUSDT', r48 = 4 // T16


DO NOT change anything at t46, n46,... if you don't know what you're doing!

Only
 • tickers ('BINANCE:MTLUSDT', 'BINANCE:XMRUSDT', 'BINANCE:ORNUSDT', ...),
 • multiply numbers (10e8, 10e1, ...) and
 • round numbers (3, 1, 4, ...)
should be changed.

There you go!


🔶 LIMITATIONS

🔹 The composite ticker fails when 1 of the 3 isn't in market in the weekend, while the other 2 are.
     That is the reason all tickers are crypto. I think it is possible to combine stock,... tickers, but they have to share the same market hours.

🔹 The number cannot be as large as you want, the limit lays around 15-16 digits.
     This means when you have for example 123, 45.67 and 0.000000000089, you'll get issues when composing to this:
     -> 123045670.000000000089 (21 digits)

     Make sure the numbers are close to each other as possible, with 1 zero (or 2) in between:
     -> 1.230045670089 (13 digits by doing -> (123 * 10e-3) + (45.67 * 10e-7) + 0.000000000089)

🔹 This script contains examples of calculated values, % change, SMA, RMA and RSI.
     These values need to be calculated from HTF close data at current TF (timeframe).
     This gives challenges. For example the SMA / %change is not a problem (same values at 1h TF from Daily data).
     RMA, RSI is not so easy though...

     Daily values are rather similar on a 2-3h TF, but 1h TF and lower is quite different.

     At the moment I haven't figured out why, if someone has an idea, don't hesitate to share.
     The main goal of this publication is 'composite tickers ~ request.security()' though.



🔹 When a ticker value changes substantially (x10, x100), the multiply number needs to be adjusted accordingly.


🔶 SETTINGS

  • SHOW SETS


  • SET
       • Length: length of SMA, RMA and RSI
       • HTF: Higher TimeFrame (default Daily)

  • TABLE
       • Size table:                         \ _ Self-explanatory
       • Include exchange name:  /
       • Sort: If exchange names are shown, the exchanges will be sorted first

  • COLOURS
       • CH%
       • RSI
       • SMA (RMA)

  • DEBUG

    Remember t46, T16,... ?
    This can be used for debugging/checking
    ALWAYS DISABLE "sort" when doing so.

    Example:

    Set string -> T1 (tickers FIL, CAKE, SOL)
    (Numbers are slightly different due to time passing by between screen captures)

    Placing your tickers at the side panel makes it easy to compare with the printed label below the table (right side, 332201415014.45),
    together with the line T1 in the script:

    t1 = 'BINANCE:FILUSDT' , n1 = 10e10, r1 = 4, t2 = 'BINANCE:CAKEUSDT' , n2 = 10e5 , r2 = 3, t3 = 'BINANCE:SOLUSDT' , r3 = 2 // T1


    FIL     :    3.322
    CAKE:    1.415
    SOL   : 14.56

    Now it is easy to check whether the tickers are placed close enough to each other, with 1-2 zero's in between.

    If you want to check a specific ticker, use "Show Ticker", see out initial example:
    Set string    -> T16
    Show ticker -> 46 (in the code -> t46 = 'BINANCE:MTLUSDT')

    (Set at 0 to disable "check string" and NONE to disable "Set string")

    -> Debug/check/set away! 😀


🔶 OTHER TECHNIQUES

 • REGEX (Regular expression) and  is used to delete the exchange name from the ticker, in other words, everything before ":" is deleted by following regex:
exch(t) => incl_exch ? t : str.match(t, "(?<=:)[\\w]+")

 • To sort,  is used (line 675 in the code), just as in my first "sort" publication Sort array alphabetically - educational

aSort = arrT.copy() sort_Indices = array.sort_indices(id= aSort, order= order.ascending)


 • Numbers and text colour will adjust automatically when switching between light/dark mode by using  / 

🔹 DISCLAIMER
Please don't ask me for custom screeners, thank you.

Con risposta

1
Sviluppatore 1
Valutazioni
(7)
Progetti
6
0%
Arbitraggio
5
0% / 100%
In ritardo
1
17%
Gratuito
Ordini simili
Para Jardo 300+ USD
Safe NerdWallet is not a lender. Not all applicants will qualify for the full amount or lowest available rates. Rates for poor or fair credit can be over 36%. NerdWallet Compare, Inc. NMLS 1617539 Fin. Lender loans per DFPI Fin. Lenders Lic 60DBO-74812 NMLS Consumer Access | Licenses and Disclosures California: California Finance Lender loans arranged pursuant to Department of Financial Protection and Innovation
2 FX pairs M15 execution with higher timeframe bias Session-based trading (UK time) Fixed % risk per trade Controlled pyramiding (add to winners only) Strict daily loss limits (FTMO-style) Proper order handling (SL always set) Basic logging (CSV) Strategy logic will be provided in detail after NDA / agreement. Must deliver: Source code (.mq5) Compiled file (.ex5) Clean, well-commented code Short support window for
Hi, are you able to create a script/indicator on tradingview that displays a chart screener and it allows me to input multiple tickers on the rows. then the colums with be like "premarket high, premarket low, previous day high, previous day low" . When each or both of the levels break, there will pop up a circle on the chart screener, signaling to me what names are above both PM high and previous day high or maybe
I need an Expert Advisor for MetaTrader 5 (MQL5) to trade XAUUSD based on a simple price movement cycle. Strategy logic: • The EA opens a Buy and a Sell at the same time (one pair per cycle). • Only ONE Sell position must exist at any time. • Every Buy must be opened together with a Sell. Cycle rules: • Step movement = 10 USD in gold price. • CycleEntryPrice = the OPEN PRICE of the last cycle BUY order. • If price
I am looking for a professional MQL5 developer to build a MetaTrader 5 Expert Advisor from scratch. The EA will be called LadyKiller EA. It must trade only the following instruments: • XAUUSD (Gold) • US30 / Dow Jones Index Requirements: • Strong and reliable buy and sell entry logic • Stop Loss and Take Profit system • Risk management (lot size control) • Maximum trades protection • Drawdown protection • Trend
I need an mql5 EA which can be used with 100$ capital very low drawdown The EA should be high frequency trading special for XAUUSD and btcusd or binary options but also the EA should be testable via strategy tester and demo test for five days is needed NO SELECTION CAN BE DONE WITHOUT TESTING when applying make sure you send the backtester results with demo EA testable via strategy tester
I currently have a powerful and well-structured Expert Advisor available on the MT5 platform. This EA is designed with: ✅ Advanced entry and exit logic ✅ Smart risk management system ✅ Automatic lot sizing option ✅ Break-even and trailing stop protection ✅ Spread and session filters ✅ Drawdown control features ✅ Optimized for XAUUSD and scalping strategies ✅ Suitable for prop firm challenges like FTMO It is built for
Do you need a profitable and well-structured trading strategy converted into a fully automated Expert Advisor on the MT5 platform? I specialize in developing advanced, high-performance EAs with: ✅ Smart entry & exit logic ✅ Risk-based lot size calculation ✅ Break-even & trailing stop system ✅ Spread & session filters ✅ Daily drawdown protection ✅ Prop firm (FTMO-style) risk compliance ✅ Fully automated trade
Hello, I'm looking to find out the cost of creating a mobile trading robot. I've tried to describe it as thoroughly as possible in the following document. I look forward to your response. I'd like to know the costs, delivery time, and how you plan to implement it before making a decision
I am offering a ready-to-use trading system that connects MetaTrader 4 signals with automated trading on Polymarket. The system is already fully developed and working. What the system does: The bot copies signals from a custom MT4 indicator and executes trades automatically on Polymarket prediction markets. How it works: A custom MT4 indicator generates BUY or SELL signals using buffers. When a signal appears, it is

Informazioni sul progetto

Budget
30 - 200 USD
Scadenze
a 20 giorno(i)