You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Hi Mladen , hi all,
Damned new Build!
With B625 I've now got new warnings.
"return value of 'OrderSelect' should be checked"
for following code:
"OrderSelect(i,SELECT_BY_POS,MODE_TRADES);"
How to correct that?
Thanks for all.
Tomcat98Tomcat98
Do the following :
declare one global boolean variable (like this, for example) :
bool dummyResult;
And then simply place "dummyResult =" in front of the OrderSelect -then you will have the following :
dummyResult = OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
Hi Mladen , hi all,
Damned new Build!
With B625 I've now got new warnings.
"return value of 'OrderSelect' should be checked"
for following code:
"OrderSelect(i,SELECT_BY_POS,MODE_TRADES);"
How to correct that?
Thanks for all.
Tomcat98Well, you can get rid of it for cost of some effort.
But I am having a permanent warning, that I cannot remove by any means (except of removing the line of the source code):
results in
[CODE]! struct has no members, size assigned to 1 bytewhich is useless info, if I use it as a supertype for dll calls only (I have no idea of any other use of the empty structure).
Hi Mladen,
Yes it works:
Great job.
Thanks very much for your help.
Sincerely.
Tomcat98
Hi All,
since some days I'm getting sporadically the following error in one of my indicators which i use in my EA.
2014.04.10 09:01:49.533 2014.01.08 03:45 Access violation write to 0xFFFFFFFE in 'C:\Users\...\AppData\Roaming\MetaQuotes\Terminal\D5D5AE2430FC68F628F143CAFA9XXXX\MQL4\indicators\MyDailyFibo.ex4'
I use MT Version 4. Build 625
Please help me to find the root cause of this issue. Let me know if you need to look in to the indicator. It does not appear all the time but very often...
Thx and best regards,
Antony
Hi All,
since some days I'm getting sporadically the following error in one of my indicators which i use in my EA.
2014.04.10 09:01:49.533 2014.01.08 03:45 Access violation write to 0xFFFFFFFE in 'C:\Users\...\AppData\Roaming\MetaQuotes\Terminal\D5D5AE2430FC68F628F143CAFA9XXXX\MQL4\indicators\MyDailyFibo.ex4'
I use MT Version 4. Build 625
Please help me to find the root cause of this issue. Let me know if you need to look in to the indicator. It does not appear all the time but very often...
Thx and best regards,
AntonyAntony
That is not a problem with your indicator
It is a problem with new metatrader 4 (it is having problems with proper memory allocation and access - build 628 is a bit better but not much)
Hi,
i need help with this indicator i was trying to write (Wilder trailing stop candles MTF).
First problem: my indicator draws buy signal 1 bar before of that one should be and i know this is due to the way the slope is calculated but i don't know how to fix it.
Second problem: Colors don't match, probably i messed up with buffers in this part but i'm garbling myself i can't fix it :
{
UpBodyBuffer = High;
DnBodyBuffer = Low;
UpWickBuffer = MathMax(Open,Close);
DnWickBuffer = MathMin(Open,Close);
}
else
{
DnBodyBuffer = High;
UpBodyBuffer = Low;
DnWickBuffer = MathMax(Open,Close);
UpWickBuffer = MathMin(Open,Close);wilders_trailing_stop_candles_mtf.mq4
wilders_trailing_stop_mtf_1.mq4
wilders_trailing_stop.mq4
Hi,
i need help with this indicator i was trying to write (Wilder trailing stop candles MTF).
First problem: my indicator draws buy signal 1 bar before of that one should be and i know this is due to the way the slope is calculated but i don't know how to fix it.
Second problem: Colors don't match, probably i messed up with buffers in this part but i'm garbling myself i can't fix it :
{
UpBodyBuffer = High;
DnBodyBuffer = Low;
UpWickBuffer = MathMax(Open,Close);
DnWickBuffer = MathMin(Open,Close);
}
else
{
DnBodyBuffer = High;
UpBodyBuffer = Low;
DnWickBuffer = MathMax(Open,Close);
UpWickBuffer = MathMin(Open,Close);wilders_trailing_stop_candles_mtf.mq4
wilders_trailing_stop_mtf_1.mq4
wilders_trailing_stop.mq4
mmmhh, colors match. Maybe i need to write first wickbuffers and then bodybuffers?
mmmhh, colors match. Maybe i need to write first wickbuffers and then bodybuffers?
thefxpros
The easiest way is to change the Wilders trailing stop indicator (otherwise you will be caught in some complicated if then else constructions). Here is a version with one internal buffer that you want : trend. If it is equal to 1, the trend is up, if it is equal to -1, the trend is down. Use this indicator instead of the original and simply read the value of buffer 4 - after that all is simple
thefxpros The easiest way is to change the Wilders trailing stop indicator (otherwise you will be caught in some complicated if then else constructions). Here is a version with one internal buffer that you want : trend. If it is equal to 1, the trend is up, if it is equal to -1, the trend is down. Use this indicator instead of the original and simply read the value of buffer 4 - after that all is simple
Like this ?
#property copyright "thefxpros"
#property link "thefxpros@katamail.com"
//------------------------------------------------------------------
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 LimeGreen
#property indicator_color2 Orange
#property indicator_color3 DarkGreen
#property indicator_color4 FireBrick
#property indicator_width1 1
#property indicator_width2 2
//
//
//
extern int TimeFrame = 0;
extern int Length = 2;
extern double Coeff = 1.75;
extern color UpBodyColor = LimeGreen;
extern color DnBodyColor = Orange;
extern color UpWickColor = DarkGreen;
extern color DnWickColor = FireBrick;
extern int WickWidth = 1;
extern int BodyWidth = 2;
//
double UpBodyBuffer[];
double DnBodyBuffer[];
double UpWickBuffer[];
double DnWickBuffer[];
double TrendBuffer[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(6);
SetIndexBuffer(0,UpWickBuffer); SetIndexStyle(0,DRAW_HISTOGRAM, EMPTY, WickWidth, UpWickColor);
SetIndexBuffer(1,DnWickBuffer); SetIndexStyle(1,DRAW_HISTOGRAM, EMPTY, WickWidth, DnWickColor);
SetIndexBuffer(2,UpBodyBuffer); SetIndexStyle(2,DRAW_HISTOGRAM, EMPTY, BodyWidth, UpBodyColor);
SetIndexBuffer(3,DnBodyBuffer); SetIndexStyle(3,DRAW_HISTOGRAM, EMPTY, BodyWidth, DnBodyColor);
SetIndexBuffer(4,TrendBuffer);
IndicatorShortName("Wilders trailing stop MTF candles("+Length+","+Coeff+")");
Length = MathMax(Length,1);
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period_M1"; break;
case 5 : TimeFrameStr="Period_M5"; break;
case 15 : TimeFrameStr="Period_M15"; break;
case 30 : TimeFrameStr="Period_M30"; break;
case 60 : TimeFrameStr="Period_H1"; break;
case 240 : TimeFrameStr="Period_H4"; break;
case 1440 : TimeFrameStr="Period_D1"; break;
case 10080 : TimeFrameStr="Period_W1"; break;
case 43200 : TimeFrameStr="Period_MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
IndicatorShortName("Wilders trailing stop MTF candles("+TimeFrameStr+")");
return(0);
}
//----
//+------------------------------------------------------------------+
//| MTF function |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plot defined time frame on to current time frame
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1);
for(i=0,y=0;i<limit;i++)
{
if (Time<TimeArray[y]) y++;
/*********************************************************************************************************
Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom.
Rule 1: Add extern inputs above for all neccesary values
Rule 2: Use 'TimeFrame' for the indicator time frame
Rule 3: Use 'y' for your indicator's shift value
********************************************************************************************************/
int slope=iCustom(Symbol(),TimeFrame,"Wilders trailing stop with trend",Length,Coeff,4,y);
if (slope == 1)
{
UpWickBuffer = High;
DnWickBuffer = Low;
UpBodyBuffer = MathMax(Open,Close);
DnBodyBuffer = MathMin(Open,Close);
}
if (slope == -1)
{
DnWickBuffer = High;
UpWickBuffer = Low;
DnBodyBuffer = MathMax(Open,Close);
UpBodyBuffer = MathMin(Open,Close);
}
}
return(0);
}
//+------------------------------------------------------------------+I can't believe, it works at first attempt .....Is there anything else i can write better (delete trendbuffer yes, i saw now) than i made?
thanks Mladen
You can not draw lines with length in inches on chart (it is completely impossible using metatrader and I doubt that it is possible in any trading platform). And those lines are horizontal lines objects not trend lines (trend lines can be limited but horizontal lines can not). If there is no exact mathematical rule how the lines should be drawn (depending on price, not inches) they simply can not be drawn, and from those sequence of numvers it seems that the rules are unique for each and every line
Ok thanks I found a better indy which you can edit. It was an unfinished project a coder did in forexfactory and can't locate him anymore. Please replace 00, 20, 50, 80 with my numbers. Lines are also cluster together instead of just placing on special numbers 5, 15, 31, 45 and 67.
Thanks