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 EA

명시

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%
무료
비슷한 주문
فيما يخص المتداولين من سلطان التداول وحتى المبتدى والضائع في أكبر سوق عالمي في التداول ااوكد لكم ان الاستشاره البسيطه من من يملك الاستراتيجيه المثلى في التداول والخبره الطويله في مجال التداول قد تغير مستقبلك
i need an expert to develop Bot TO trade using MT5 with a profitable strategy ... work daily with good indicators the price will be negotiable will try the bot first after we can decide
Staddle 30+ USD
"10 * 0.01, 10 * 0.03, 10 * 0.05. Place a limit order one dollar above the market price, a sell-side limit order below the market price, and a trailing stop loss. The goal is to safely book profits incrementally as the market moves." Agar aapko is poore concept ya strategy ko kisi MQL5 code comment ke liye ya apne trading plan mein document karne ke liye ek formal description chahiye, toh aap yeh bhi use kar sakte
SELINA 30+ USD
1. Delta: choose the contract Calls: delta between +0.45 and +0.60 . Puts: delta between −0.45 and −0.60 . Prefer liquid contracts with tight spreads. Skip if no contract fits the risk budget. 2. Gamma: control rapid changes in exposure Read the contract’s live gamma and monitor it each minute. Reject contracts with missing or stale Greeks. Flag high gamma near the strike, especially as expiry approaches. If gamma
Hello developers,I am looking for an experienced MQL5 developer to create an EA based on Moving Average retest strategy with advanced recovery system.The concept is simple: Entry is based on MA close and retest. Initial trade has small TP and no SL.If price goes against the initial position, the EA should manage it using:Opposite hedge tradePending limit grid systemBasket take profitMartingale lot multiplier after
Goldn zon 30+ USD
Hello, I am looking for a developer. I have a robust strategy based on Fibonacci, which I call "Goldn Zon." I tested it myself throughout the month of September, and now I would like to have a bot implement it so that it can trade continuously
Hello, I am looking for an experienced MQL5 developer to design, develop, and test one very fast, aggressive ultra-scalping Expert Advisor exclusively for MetaTrader 5 (MT5). I do not have a predefined trading strategy, so I need someone who can independently research and develop a suitable strategy rather than simply code existing instructions. My requirements include: Strategy research, design, and MQL5 development
buy stop sell stop logic experienced understand programmer need for this job... first understand logic and interested please message .... i need minimum 4 exit logic idea from developer same logic existing ea welcomes with mql file 4 types of entry 1-place stop orders candle high above and low below based 2- when i start point ea hh candle buy stop entry, after ll sell stop 3- i put entry point for buy stop or sell
I am looking for MQL5 developers to pitch solutions or build an Expert Advisor (EA) for XAUUSD (Gold) designed to capture high-volatility price movements during major high-impact news events (NFP, CPI, FOMC). Key Requirements: News Filter: Must use MQL5's built-in economic calendar ( CalendarValueHistory ) to automatically detect and trigger during high-impact USD news, remaining inactive during normal hours
I need an experienced MQL5 developer to build a simple, reliable Expert Advisor for MetaTrader 5. Trading Strategy Symbol: EURUSD (configurable) Timeframe: M15 (configurable) Buy Conditions: Candle 2 closes below the lower Bollinger Band. Candle 1 closes back above the lower Bollinger Band. Enter BUY at the first available tick of the next candle. Sell Conditions: Candle 2 closes above the upper Bollinger Band

프로젝트 정보

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