Lua to MT4 program conversion

指定

I need a programmer familiar with Lua to convert an EA written in Lua (Atached) for Trading Station platform to MET4 and make some additional modifications as explained below to it: 

The new EA needs to have the following characteristics:

Option 1) EA needs to identify the High and Low price within the last X hours

EA to write down the two values found above on the active screen for manual confirmation by user and draw a horizontal line through the two values

EA Properties variable Options to include:

No of Hrs prior for Highs and Lows determination NOHPHLD

Example of high low when NOHPHLD = 20 hours


a


Option 2) Also EA need to identify the Highs and Lows in the 2 previously completed ZigZag patterns And to draw the zigzag pattern on the active instrument chart as well as a horizontal line identifying the previous completed zigzag high and low. (I have included below the code for the ZigZag pattern I obtained from the list of TD Ameritrades indicators for your review and conversion to MET4 (granted the programming language of TD Ameritrade platform is different that the trading stations, but there are enough commonalities that you could possibly use that as a template for the type of variables and parameters I'd like the ZigZag indicator to include in it)

(Properties to be included are as follow): 


If the difference between the highs and lows is less than another user defined variable by the name of "Minimum accepted high low difference", then the EA will pick the higher or the lower of the previous zig zag High and Low until the difference between the highs and lows is greater than the "Minimum accepted high low difference".

Example: in the following figure, lets say that I set the Minimum accepted high low difference as 3.0

The previously completed zigzag high and low as seen below is 113.96 and 112.04. But the difference between 113.96 - 112.04 is less than 3. Therefore, the program would go back and pick the higher high and lower of the low of the two previous completed zigzag patterns which are 115.370 and 112.02. Now the difference between those two high and lows are greater than 3. Therefore, the program uses those two figures as the highs and the lows instead for the next part of the program.  

 



Other Variables to be included for this part of the EA:

ZZ Percent Reversal

Absolute Reversal

ATR Length

ATR Reversal


 

and Option to apply ZZ to one of the following chart times

30 min

1 hour

2 hour

4 hour

 

Trend stop_Color add ons:

Property to be added to the Trend Stop_Color strategy include options to either use the High Low value obtained from Option 1 above or option 2 above

Property to include a variable called “Delta pips from high Low (DPFHL)”

Criteria: only IF the price point is within the High +/- DPFHL, or Low +/- DPFHL, Trend Stop_Color can open a new position (Trend stop can always close the position at any point). Trendstop should not be able to open a new position if the price is outside of the High +/- DPFHL or Low +/- DPFHL


Example. Lets say that after establishing that the high and low in the option 2 above was 115.370 and 112.02, I set the DPFHL at 0.6.  This means that anytime the TrendStop has an open position order within price range of 115.37 +/- 0.3 or 112.02 +/- 0.3, then it should act on that order. Otherwise it should not open the new position. So, in the example below, the EA opens a long position when the trend stop line crosses below at 112.40 and closes that position when it crosses above at 112.8, but does not open a new position again when the trendstop line crosses below at 113.2 or when it crosses above at 113.1 because those values are outside of the range defined above. 


  


Additional variables to include options to allow opening the trades at any point in time or only during one or more of the following Trading Session (times are Eastern Standard Time):

NYT: 8:00 to 16:00

London: 3:00 to 11:00

Tokyo: 19:00 to 3:00

Sydney; 17:00 to 1:00


Add Variable to trigger new trade when bar crosses above (long position) or crosses below (short position) the Trendstop line or when the bar closes above or below the trendstop line.

 

Last thing to be added is with regards to the amount to be traded. Id like the EA to be able to break the dollar amount of the trades into multiple smaller orders, executed at X seconds from each other: (for example, if I am sending an order for 1 million, I'd like to be able to break down the orders by a factor of 10 (variable to be added)  or 1 Lot per order, submitted to the broker within a second of each other.  When closing the trades, all lots to be closed at the same time  

Variable to be included: Trade size:

Trade broken down by a factor of:   

Trades executed within how many seconds of one another:




And here is the code to the Zig Zag indicator on TD Ameritrade to model after: 
 input priceH = high;

input priceL = low;

input percentageReversal = 5.0;

input absoluteReversal = 0.0;

input atrLength = 5;

input atrReversal = 1.5;

 

Assert(percentageReversal >= 0, "'percentage reversal' must not be negative: " + percentageReversal);

Assert(absoluteReversal >= 0, "'absolute reversal' must not be negative: " + absoluteReversal);

Assert(atrReversal >= 0, "'atr reversal' must not be negative: " + atrReversal);

Assert(percentageReversal != 0 or absoluteReversal != 0 or atrReversal != 0, "Either 'percentage reversal' or 'absolute reversal' or 'atr reversal' must not be zero");

 

def hlPivot;

if (atrReversal != 0) {

    hlPivot = percentageReversal / 100 + WildersAverage(TrueRange(high, close, low), atrLength) / close * atrReversal;

} else {

    hlPivot = percentageReversal / 100;

}

def state = {default init, undefined, uptrend, downtrend};

def maxPriceH;

def minPriceL;

def newMax;

def newMin;

 

def prevMaxH = GetValue(maxPriceH, 1);

def prevMinL = GetValue(minPriceL, 1);

 

if GetValue(state, 1) == GetValue(state.init, 0) {

    maxPriceH = priceH;

    minPriceL = priceL;

    newMax = yes;

    newMin = yes;

    state = state.undefined;

} else if GetValue(state, 1) == GetValue(state.undefined, 0) {

    if priceH >= prevMaxH {

        state = state.uptrend;

        maxPriceH = priceH;

        minPriceL = prevMinL;

        newMax = yes;

        newMin = no;

    } else if priceL <= prevMinL {

        state = state.downtrend;

        maxPriceH = prevMaxH;

        minPriceL = priceL;

        newMax = no;

        newMin = yes;

    } else {

        state = state.undefined;

        maxPriceH = prevMaxH;

        minPriceL = prevMinL;

        newMax = no;

        newMin = no;

    }

} else if GetValue(state, 1) == GetValue(state.uptrend, 0) {

    if priceL <= prevMaxH - prevMaxH * hlPivot - absoluteReversal {

        state = state.downtrend;

        maxPriceH = prevMaxH;

        minPriceL = priceL;

        newMax = no;

        newMin = yes;

    } else {

        state = state.uptrend;

        if (priceH >= prevMaxH) {

            maxPriceH = priceH;

            newMax = yes;

        } else {

            maxPriceH = prevMaxH;

            newMax = no;

        }

        minPriceL = prevMinL;

        newMin = no;

    }

} else {

    if priceH >= prevMinL + prevMinL * hlPivot + absoluteReversal {

        state = state.uptrend;

        maxPriceH = priceH;

        minPriceL = prevMinL;

        newMax = yes;

        newMin = no;

    } else {

        state = state.downtrend;

        maxPriceH = prevMaxH;

        newMax = no;

        if (priceL <= prevMinL) {

            minPriceL = priceL;

            newMin = yes;

        } else {

            minPriceL = prevMinL;

            newMin = no;

        }

    }

}

 

def barNumber = BarNumber();

def barCount = HighestAll(If(IsNaN(priceH), 0, barNumber));

def newState = GetValue(state, 0) != GetValue(state, 1);

def offset = barCount - barNumber + 1;

def highPoint = state == state.uptrend and priceH == maxPriceH;

def lowPoint = state == state.downtrend and priceL == minPriceL;

 

def lastH;

if highPoint and offset > 1 {

    lastH = fold iH = 1 to offset with tH = priceH while !IsNaN(tH) and !GetValue(newState, -iH) do if GetValue(newMax, -iH) or iH == offset - 1 and GetValue(priceH, -iH) == tH then Double.NaN else tH;

} else {

    lastH = Double.NaN;

}

 

def lastL;

if lowPoint and offset > 1 {

    lastL = fold iL = 1 to offset with tL = priceL while !IsNaN(tL) and !GetValue(newState, -iL) do if GetValue(newMin, -iL) or iL == offset - 1 and GetValue(priceL, -iL) == tL then Double.NaN else tL;

} else {

    lastL = Double.NaN;

}

 

plot ZZ;

if barNumber == 1 {

    ZZ = fold iF = 1 to offset with tP = Double.NaN while IsNaN(tP) do if GetValue(state, -iF) == GetValue(state.uptrend, 0) then priceL else if GetValue(state, -iF) == GetValue(state.downtrend, 0) then priceH else Double.NaN;

} else if barNumber == barCount {

    ZZ = if highPoint or state == state.downtrend and priceL > minPriceL then priceH else if lowPoint or state == state.uptrend and priceH < maxPriceH then priceL else Double.NaN;

} else {

    ZZ = if !IsNaN(lastH) then lastH else if !IsNaN(lastL) then lastL else Double.NaN;

}

ZZ.SetDefaultColor(GetColor(1));

ZZ.EnableApproximation();

  

 

応答済み

1
開発者 1
評価
(119)
プロジェクト
127
41%
仲裁
3
33% / 67%
期限切れ
0
2
開発者 2
評価
(68)
プロジェクト
78
27%
仲裁
13
31% / 62%
期限切れ
15
19%
パブリッシュした人: 4 codes
3
開発者 3
評価
(4)
プロジェクト
12
42%
仲裁
0
期限切れ
0
4
開発者 4
評価
(29)
プロジェクト
49
22%
仲裁
14
29% / 21%
期限切れ
13
27%
5
開発者 5
評価
(219)
プロジェクト
370
42%
仲裁
145
17% / 41%
期限切れ
124
34%
パブリッシュした人: 38 codes
6
開発者 6
評価
(121)
プロジェクト
134
66%
仲裁
36
25% / 56%
期限切れ
22
16%
パブリッシュした人: 10 codes
7
開発者 7
評価
(101)
プロジェクト
136
36%
仲裁
14
29% / 50%
期限切れ
15
11%
8
開発者 8
評価
(80)
プロジェクト
117
67%
仲裁
16
25% / 13%
期限切れ
12
10%
パブリッシュした人: 2 codes
9
開発者 9
評価
(91)
プロジェクト
144
38%
仲裁
67
15% / 48%
期限切れ
55
38%
10
開発者 10
評価
(130)
プロジェクト
210
40%
仲裁
90
20% / 43%
期限切れ
85
40%
11
開発者 11
評価
(1)
プロジェクト
1
0%
仲裁
1
0% / 100%
期限切れ
0
類似した注文
أحتاج إلى مبرمج محترف لبرمجة اكسبيرت تداول آلي لمنصة MetaTrader 5 يعمل على زوج الذهب XAUUSD فريم الدقيقة. الاستراتيجية المطلوبة: الدخول شراء عند تقاطع المتوسط المتحرك 10 مع 50 صعوداً + مؤشر RSI فوق مستوى 50. الدخول بيع عند التقاطع هبوطاً + مؤشر RSI تحت مستوى 50. إدارة رأس المال: اللوت 0.01 لكل 1000 دولار، وقف خسارة 100 نقطة، هدف ربح 200 نقطة، مع تريلنق ستوب يبدأ بعد 50 نقطة ربح. المطلوب: تسليم الكود مفتوح المصدر مع
Looking for experience profitable manual traders that will be willing to trade my live mt5 account for profit share. Requirements Must have at least 6 months of profitable months. Min 10 percent monthly Send me investor credentials for mt5 or mt4 account. Can be trading Any instruments. Must reply with mt5 credentials or will disregard
XAUUSD_Strategy_EA 80 - 120 USD
I need an MT5 Expert Advisor for XAUUSD. Strategy: BUY conditions: Price above EMA 50 RSI above 50 Recent high breakout Retest confirmation candle bullish SELL conditions: Price below EMA 50 RSI below 50 Recent low breakout Retest confirmation candle bearish Risk management: Risk per trade 1% Stop loss = recent swing high/low Take profit = Risk Reward 1:2 Extra features: Trailing stop option Breakeven option Max 4
more detailed requirements 1 Expert in MQL5, who can build with supertrend formula which can calculate the target time. For instance:When there is buy and sell in supertrend ,our target is of 20 points, that method should calculate the target with time
Hello i am looking for a profitable gold MT5 indicator that shows entry zones. Send trial when applying. Also provide screenshots. The indicator should give buy/sell entry points with SL and TP
Am looking for good programmer to help me to convert two Ex4 file into EA. The first indicator provide 9 tools signal and the second indicator is Candle stick strategy. Kindly see the attached file for proper explanation about the BOT. Below is discription 🔹 PART 1: Candle Structure Strategy (Daily / Weekly / Monthly) ✅ Core Idea You are trading alignment of higher timeframe direction with lower timeframe
Project Overview: I am looking for a professional MQL5 developer to build a high-performance Expert Advisor (EA) for MT5. The project requires high-level technical skills in integrating external indicators and managing complex trade exits. General Requirements: 1. Integration with external indicators via Buffers (iCustom). 2. Implementation of an advanced 5-Tier Trailing system based on Money/Points. 3. Custom Visual
Ihy 30 - 500 USD
Hello, I am looking for access to MT5 trading accounts connected to the market, either demo or live, for the purpose of monitoring and verifying trading performance. Investor (read-only) password access is sufficient, as I only need to log in through MetaTrader 5 to review trade history, risk management, and consistency of results over time. Kindly provide the necessary login details for any available accounts that
OFFICIAL MQL5 SOFTWARE REQUIREMENTS SPECIFICATION (SRS) Project Name: "Quantum-Shield 2.0" Institutional EA Platform: MetaTrader 5 (MT5) Execution Logic: Fully Automated Instrument: GER40 (DAX) Timeframe: 10 Minutes 1. ARCHITECTURAL MANDATE The Expert Advisor must be a monolithic, high-performance C++ based MQL5 application. No DLLs, no external python bridges. The logic must be entirely self-contained. 2. SIGNAL
Hi All, I am looking for an EA which I have attached the video of. It places a buy stop and sell stop with 250 pips above and below current price for every minute with SL as 300 pips and TP as 500 pips. If any of of them triggers in the minute other will be cancelled, it will not place any pending orders till either of SL or TP is hit and places new set of pending orders the very next minute of SL or TP hit minute

プロジェクト情報

予算
2000 - 5000 USD
締め切り
最低 7 最高 21 日