I need a simple EA program based on RVI study (calculations included). The original program was written in Thinkscript. I need that converted to MQL4

MQL4 전문가

명시

Hi,  I need an EA based on the following thinkscript program. The program is simple and self explanatory. Let me know if there are any questions.  I will need the actual script of the program so that I can  modify it.  

 Thank you. 

Input RVIlength =2;

Input Investment = 1000;

input No_Share_To-Buy =  Investment /close;


def highPrice = StDev(high, 2);

def lowPrice = StDev(low, 2);
def highAvgUp = ExpAverage(if high > high[1] then highPrice else 0, RVIlength);
def highAvgDown = ExpAverage(if high < high[1] then highPrice else 0, RVIlength);
def lowAvgUp = ExpAverage(if low > low[1] then lowPrice else 0, RVIlength);
def lowAvgDown = ExpAverage(if low < low[1] then lowPrice else 0, RVIlength);
def highRVI = 100 - 100 / (300 + highAvgUp / highAvgDown);
def lowRVI = 100 - 100 / (300 + lowAvgUp / lowAvgDown);
def RVI = (highRVI + lowRVI) / 2;

 

//the following  is a simple moving average//

def AVGRVI =  (MovingAverage(data = RVI, length =RVIlength));

def AvgRVI_V = if AVGRVI[-1]-AVGRVI>0 and AVGRVI-AVGRVI[1]<0 then 1 else 0;

def AvgRVI_H = if AVGRVI[-1]-AVGRVI<0 and AVGRVI-AVGRVI[1]>0 then 1 else 0;

def AVGRVI_Slope_Up = if AVGRVI-AVGRVI[1] >0 then 1 else 0;

def AVGRVI_Slope_down = if AVGRVI-AVGRVI[1] >0 then 1 else 0; 

/////////////////////////////////////////////////////////////////////////////////////////////////////// 

//And here are the Buy to Open (BTO), Sell to Close (STC) and STO and BTC sell signals:

def BTO = if AvgRvi_Valley==1 and AVGRVI_Slope_Up==1  then 1 else 0;

def STC = if  AvgRvi_hill==1   then 1 else 0;

def STO = if AvgRvi_hill[1]==1  and AVGRVI_Slope_Down==1  then 1 else 0;

def BTC = if AvgRvi_Valley[-1]==1 then 1 else 0;

//Please note that every STO is exactly one tick after the STC and every BTO is exactly one tick following the BTC (ie, the entire pairs chart is divided into buy or sell with no gaps in between unless the sale is going in the wrong direction within 3 ticks of the purchase. In other words, if the BTO doesn't generate a profit of any amount within the first three ticks, I'd take the loss in that trade and close the position. Same thing for STO positions. That too needs to lead to a positive P&L within the first three ticks (I don't care if after the third tick it doesn't generate a positive P&L-as a matter of fact, I would like the program to disregard the P&L past the first three ticks and not to close the position). The way I programmed that in Thinkscript is to assign a Timer to keep track of the P&L within only the first three ticks of any new BTO or STO signals.  IN MQL there may be easier ways to accomplish this than in thinkscript, but the following is my explanation of my workaround this issue which may help. 

 //The following will keep track of how many ticks has passed since the position was first opened regardless of how many more open signals are generated between that time and the time this trade position is closed  

Def BTO/STO_Timer = if (BTO ==1 or STO==1) then BTO/STO_Timer[1]+1 else if (STC ==1 or BTC==1) then 0 else BTO/STO_Timer[1]+1

//the following will remember the opening price of each position regardless of how many more Open signals are generated between that time and the time this trade position is closed  

Def BTO/STO_Price = if (BTO == 1 or STO ==1)  then Close else if (STC == 1 or BTC==1) then 0 else BTO/STO_Price[1];

//the following will generate the close signals if the P&L within the first three ticks of the new position is not going in the right direction.   

def StopLoss_STC = if BTO_Price > close and BTO[3]==1 and BTO/STO_Timer[3]<3 then 1 else  0;

def StopLoss_BTC = if STO_Price < close and STO[3] ==1 and BTO_Timer[3]<2 then 1 else 0;

  /////////////////////////////////////////////////////////////////////////////////////////////////////

//Lastly I need to Generate the BTO  and STO...  signals to auto_purchase the number of units as calculated in  "No_Share_To-Buy" with the signal above,

//I  need to generate STC  signal which closes the position  with either STC or StopLoss_STC

// and  to generate BTC  signal which closes the position with either BTC or StopLoss_BTC

 

BTW, I don't care if the program is in MQL4 or MQL5. Whichever is more convenient. 

Thank You,


David 

응답함

1
개발자 1
등급
(195)
프로젝트
395
28%
중재
155
20% / 52%
기한 초과
112
28%
무료
2
개발자 2
등급
(46)
프로젝트
73
16%
중재
13
8% / 92%
기한 초과
37
51%
무료
비슷한 주문
Optimize ea mt5 70+ USD
Help optimize ea. Write new conditions help current conditions when market go against it. Help write new conditions for ea improve my current conditions. Check current ea. Ea use only ohlc mtf. Uses pending limit, stop order
Hi Im working with a Crypto trading company and we want to branch out with our indicator, i'm researching the bot automation and need some hands on board. i i want to hear your opinion about the indicator that i would like you to build. in the PDF i explain the whole indicator and how it need to look like. happy to hear form you
The ea must repeat all orders until closed manually by a 'close all button' needed on panel EA must start at specific time / day and enter 'at market' - should be easy to code :) INPUTS REQUIRED: Pair ___ - Lot Size____ - Type ____ ( buy / sell) - Distance between trades in points______ - TP for each trade in points_____ - Maximum spread in Pips _____ - Time and day to
I want someone to hold a session for me and explain in details on how to implement them in. I would really appreciate your guidance on how to properly set up GoCharting and get access to CME futures data
EA SMC/ICT 30+ USD
//+------------------------------------------------------------------+ //| SMC_ICT_Advanced_EA.mq5 | //| Smart Money Concepts Trading | //| Combines Order Blocks, FVG, BOS, CHoCH | //+------------------------------------------------------------------+ #property copyright "SMC/ICT Trading System" #property version "2.00" #property strict #include <Trade/Trade.mqh>
Logic: Healthy → no action Weak → reduce exposure Danger → strong protection Requirements: Equity tracking Basic trade management Simple dashboard Only apply if you understand risk-based EA logic
Mani 30 - 50 USD
Title: MT5 Martingale EA (Based on Stop Loss of Previous Trade) Description: Hello, I need a simple and efficient MT5 Expert Advisor based on a martingale logic. Main Logic: The EA should work with trades placed manually or by another EA (including limit orders). When a trade hits Stop Loss, the EA must automatically open a new trade in the same direction. The lot size of the new trade should be multiplied
Existing EA 30 USD
I’m looking to acquire an existing, profitable Expert Advisor (EA) with full source code to add to our client investment portfolio. To be clear, this is not a request to develop or design a new strategy. If you already have an EA that is proven, consistent, and production-ready, I’m open to reviewing it immediately. Please apply only if you meet all the requirements below. Submissions without a proper introduction or
Leonard Quantum FX 80 - 120 USD
I want the EA to be fully automated and capable of taking trades across multiple timeframes. It should be optimized for a starting account balance of $100 with proper risk management suitable for a small account, and it will be used with the broker ApexMarket.io. ⸻ Platform • Platform: MetaTrader 5 (MT5) • Type: Fully automated Expert Advisor • Operation: Hands-free (no manual trade management required) ⸻ 📈 Markets
Wealthy bot 50 - 200 USD
‎Build a mobile-based trading bot system integrated with MetaTrader 5 that specializes in high-frequency “machine gun” style trading on synthetic indices (crash 50 and Crash 300). ‎ ‎The bot must continuously scan the market in real-time using M1 and M5 timeframes and execute frequent trades based on probability, not prediction. Its core function is to detect early signs of potential reversals by analyzing combined

프로젝트 정보

예산
20 - 100 USD
기한
에서 1  3 일