Disliked{quote} Rulers - pips percent of price added - filled/hollow rectangles, line - bars, time d-h-m duration, pips, % - btn icons - range levels with inputs {image} {file}Ignored
Thank you!
I will code your pivot EAs for no charge 28 replies
I will code your scalping EAs for no charge 163 replies
Oanda MT4 - Indicators and EAs not showing 2 replies
EAs and indicators relating to moutaki... 22 replies
InterbankFX has loaded its MT4 platform with custom EAs, indicators and scripts 1 reply
Disliked{quote} Rulers - pips percent of price added - filled/hollow rectangles, line - bars, time d-h-m duration, pips, % - btn icons - range levels with inputs {image} {file}Ignored
Disliked{quote} Just use TimeHour() or TimeMin() functions to convert current time into hours, min and compare. like if you want to start at 01:15 if ( TimeHour(Timecurrent()) >= 1 && TimeMinute(TimeCurrent())>=15) { do something } else { Print("It is vacation time yet"); return; }Ignored
Disliked{quote} Please just one little more adjustment to this one i just need the 28 pairs name added so that if the crossover alert occur the name of the pair should be displayed{file}Ignored
Disliked{quote} {image}please help me with this kind of supply and demand indicator(mt4) sir. Thanks
Ignored
Disliked- when youre coding something you have to be very specific, there is no vagueness, you need to make clear instructions that have no room for interpretationIgnored
#property copyright "Copyright :copyright: June 2022, jeanlouie"
#property link /*"www.mql5.com/en/users/jeanlouie_ff"*/"https://www.forexfactory.com/jeanlouie"
#property description "www.forexfactory.com/jeanlouie"
#property description "www.mql5.com/en/users/jeanlouie_ff"
//#property version "1.00"
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
input int tick_count = 1000; //Show last x ticks
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
#property strict
#property indicator_separate_window
#property indicator_minimum -1
#property indicator_maximum 1
#property indicator_buffers 3
double b_bid[];
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrPurple
#property indicator_width1 1
#property indicator_style1 STYLE_SOLID
double b_ask[];
#property indicator_type2 DRAW_LINE
#property indicator_color2 clrBlueViolet
#property indicator_width2 1
#property indicator_style2 STYLE_SOLID
double b_close[];
#property indicator_type3 DRAW_LINE
#property indicator_color3 clrWhite
#property indicator_width3 1
#property indicator_style3 STYLE_SOLID
#property indicator_levelcolor clrSilver
#property indicator_levelwidth 1
#property indicator_levelstyle STYLE_DOT
#property indicator_level1 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
//place to store stuff
double arr_bid[];
double arr_ask[];
double arr_close[];
int OnInit()
{
//set draw buffers
SetIndexBuffer(0,b_bid);
SetIndexEmptyValue(0,EMPTY_VALUE);
SetIndexBuffer(1,b_ask);
SetIndexEmptyValue(1,EMPTY_VALUE);
SetIndexBuffer(2,b_close);
SetIndexEmptyValue(2,EMPTY_VALUE);
//size the dynamic arrays to tickcount
ArrayResize(arr_bid,tick_count);
ArrayResize(arr_ask,tick_count);
ArrayResize(arr_close,tick_count);
//start them off with 0's
ArrayInitialize(arr_bid,0);
ArrayInitialize(arr_ask,0);
ArrayInitialize(arr_close,0);
IndicatorDigits(_Digits);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
if(prev_calculated<0)return(-1);
if(IsStopped())return(-1);
//save the last ask/bid prices
static double prev_ask;
static double prev_bid;
static double prev_close;
//get the current ask/bid change from the previous
int delta_ask = int((Ask-prev_ask)/_Point);
int delta_bid = int((Bid-prev_bid)/_Point);
int delta_close = int((Close[i]-prev_close)/_Point);
//if the previous ask/bid is non existent
if(prev_ask ==0) delta_ask = 0;
if(prev_bid ==0) delta_bid = 0;
if(prev_close ==0) delta_close = 0;
//set values of prev ask/bid for next call
prev_ask = Ask;
prev_bid = Bid;
prev_close = Close[i];
//update display
display_update(delta_ask, delta_bid, delta_close);
return(rates_total);
}
//+------------------------------------------------------------------+
bool display_update(int d_ask, int d_bid, int d_close)
{
//move array elements back 1 position, stop at index 1
//i50=i49 ... i1=i0
//array is array indexing, but treated as timeseries by filling new from index 0
for(int i=tick_count-1; i>=1; i--){
arr_ask[i] = arr_ask[i-1];
arr_bid[i] = arr_bid[i-1];
arr_close[i] = arr_close[i-1];
}
//insert new 0 element
arr_ask[0] = d_ask;
arr_bid[0] = d_bid;
arr_close[0] = d_close;
//update buffer display
for(int i=0; i<tick_count; i++){
b_ask[i] = arr_ask[i];
b_bid[i] = arr_bid[i];
b_close[i] = arr_close[i];
}
//set the previous left buffer val outside the tick count to empty or 0
b_ask[tick_count-1+1] = EMPTY_VALUE;
b_bid[tick_count-1+1] = EMPTY_VALUE;
b_close[tick_count-1+1] = EMPTY_VALUE;
return(true);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
} Disliked{quote} I don't understand. This indicator is basically RSI + BB combined and give alert if RSI cross RSAMA. What do you mean by 28 pairs name added? You mean to convert this to scanner? That is not a modification but a new indicator. Unless you write a new, this indicator is not designed to handle other pairs.Ignored
Disliked{quote} The Setups I Used to Win More Real-Money Competitions Than Anyone Rob Hoffman https://www.youtube.com/watch?v=jBou3HnyuLI&t=2151s This Award Winning Trading Strategy Is INSANELY PROFITABLE - Hoffman System Proven 100 Trades https://www.youtube.com/watch?v=9kOCpkC-PFQ&t=787s If possible can someone please add alert when candle close on 45new indicator and or when candle breaks the low of the High or Low because the alert for inventory bar doesn't work properly the alerts keep firing off {image} {file} {file}Ignored
DislikedHi, Looking for a help from coders to add a moving average to the attached price alert indicator with arrows and alerts. It is long when MA crosses the upper line from below and it is short when MA crosses the lower line from above. {file} {file}Ignored
DislikedHello mtiwana! I hope you're doing well. I'm currently using EA Builder and trying to define the trend direction. It seems to me like the standard set of MT4 indicators doesn't allow to define the trend direction accurately. Do you have any indicator or code line that I can add to EA Builder that help me define e.g. the angle of the SMA slope that is required before a trade can get executed? Thanks in advance! butcherIgnored
Dislikedint i=some int number; double value = Close[i]; You can experiment by printing out close values: int z= 3; Print("close at candle ",z," is ",Close[z]);Ignored
//+------------------------------------------------------------------+
#property copyright "2022 Bo Danerius"
#property link "work.danerius.se"
#property version "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int z= 0;
int y= 1;
Comment
("----------------------------------------\n",
"Close at candle ", z, " is ",Close[z],
"\n----------------------------------------\n",
"Close at candle ", y, " is ",Close[y],
"\n----------------------------------------\n");
return(rates_total);
}
//+------------------------------------------------------------------+ Disliked{quote} Hello, This is not an EA, it is 2 scripts. The first will copy any trend or horizontal lines from the chart. The second will paste those lines onto another chart. If you move the lines on one of the charts, using the 2 scripts will move the lines on the other chart. {file} {file}Ignored