kajironpu:
double buy = iCustom(NULL,0,"called2candles 1 pilot331",0,0);
double sell = iCustom(NULL,0,"called2candles 1 pilot331",1,0);
However, I can not get any signals.
It looks like arrowup is buffer0(index0) and arrowdown is buffer1(index2).
SetIndexBuffer(0,buf_1); //Arrow Up SetIndexBuffer(1,buf_2); //Arrow Down
It seems there is no mistake.
Is there any mistake in other places?
PS: Certainly the file name is different as the person below says.
kajironpu: The indicator is "called2candles 1 pilot331" and it is MQL4 file.
double buy = iCustom(NULL,0,"called2candles 1 pilot331",0,0); double sell = iCustom(NULL,0,"called2candles 1 pilot331",1,0);
- When you post code please use the CODE button (Alt-S)!
(For large amounts of code, attach it.) Please edit your post.
General rules and best pratices of the Forum. - General - MQL5 programming forum
Messages Editor - When I download your link I get a file named "2··candles·1·pilot331.mq4" (No "called," plus leading "2" with two spaces.) Verify your filename. Verify you compiled it.
- You should encapsulate your iCustom calls to make your code
self-documenting.
Detailed explanation of iCustom - MQL4 and MetaTrader 4 - MQL4 programming forum
HI, Thank you for your reply and sorry for my mistake. I have just edit my post. I made a mistake for the file name.
so, I have changed the file name for indicator and code also.
But the result was the same. I still can not get any signals from the indicator.....
So I have just coded simply to see if I can get indicator signal by using iCustom.
//+------------------------------------------------------------------+ //| icustom test EA //+------------------------------------------------------------------+ int start() { // icustom indicator reading double buy = iCustom(NULL,0,"indicator",0,0); double sell = iCustom(NULL,0,"indicator",1,0); if( buy!= EMPTY_VALUE ) { Print("Arrow up"+buy); } if( sell!= EMPTY_VALUE ) { Print("Arrow down"+sell); } return(0); }
If the EA catch the buffer0 and buffer1 signal from the indicator, it should make output in the terminal (MT4) but it did not...
I have no ideas what the problem is. It is very strange. I have used iCustom in other original EAs and they worked perfect!
Can anyone give me any advices? I will attach the indicator file and EA .
Thanks!
HI, Thank you for your reply and sorry for my mistake. I have just edit my post. I made a mistake for the file name.
so, I have changed the file name for indicator and code also.
But the result was the same. I still can not get any signals from the indicator.....
So I have just coded simply to see if I can get indicator signal by using iCustom.
If the EA catch the buffer0 and buffer1 signal from the indicator, it should make output in the terminal (MT4) but it did not...
I have no ideas what the problem is. It is very strange. I have used iCustom in other original EAs and they worked perfect!
Can anyone give me any advices? I will attach the indicator file and EA .
Thanks!
The reason your code isn't working is both due to file name and you aren't satisfying the args requirement for the indicator. If you look at the indicators code you will see that you have missed four args in your iCustom call. Here is how it should look.
void OnStart() { printf( "Up= %d | Dn = %d", get_last_signal(0), get_last_signal(1) ); } //+------------------------------------------------------------------+ int get_last_signal(int buffer) { for(int i=0;i<Bars;i++) { if( iCustom(_Symbol, _Period, "2_candles_1_pilot331", //name with underscores instead of spaces - RENAME YOUR INDICATOR IN THE SAME WAY false, // needs to satisfy args for all extern/input vars false, // input false, // input false, // input buffer,// buffer number i // shift ) != 0.0 // not empty-value (as set by programmer in this indicator) ){ return i; } } return -1; }
The reason your code isn't working is both due to file name and you aren't satisfying the args requirement for the indicator. If you look at the indicators code you will see that you have missed four args in your iCustom call. Here is how it should look.
If the values of input parameters are not specified, the default values will be used. In this case, these args are not required.
kajironpu:
But the result was the same. I still can not get any signals from the indicator.....
I tried it with my sample indicator, and I confirmed it works perfectly.
Maybe you couldn't get signals on your timing, ie there was no signal on the buffer number 0.
Thank you so much for many advices.
I guess the input parameters is not necessary in this case??
It seems like I got signals from the indicator!!
However, I got some problems. The EA open trade (buy /sell) in every single bar!!!
In terminal it says signal is not on every single bar but I don't know why EA open trade all bars!?
I will attach the code and appreciate for your advices.
This is just for test. I just want to check to see if the EA receive the indicator signal correctly and open orders!
Can anyone know what the problems?
//+------------------------------------------------------------------+ //| indicator.mq4 icustom EA //+------------------------------------------------------------------+ extern double lots=0.01; int cbars=0; extern int magic=8338; int start() { // icustom data read double buy = iCustom(NULL,0,"indicator",0,0); double sell = iCustom(NULL,0,"indicator",1,0); if( cbars!=Bars&& buy!=EMPTY_VALUE ) { RefreshRates(); OrderSend(Symbol(),OP_BUY,lots,Ask,3,0,0,"buy",magic,0,Blue); } if( cbars!=Bars&& sell!=EMPTY_VALUE ) { RefreshRates(); OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,0,"sell",magic,0,Magenta); } cbars=Bars; return(0); }
It returns 0.0, not EMPTY_VALUE.
I think you don't need put the "RefreshRates();".
Thank you so much for many advices.
I guess the input parameters is not necessary in this case??
It seems like I got signals from the indicator!!
However, I got some problems. The EA open trade (buy /sell) in every single bar!!!
In terminal it says signal is not on every single bar but I don't know why EA open trade all bars!?
I will attach the code and appreciate for your advices.
This is just for test. I just want to check to see if the EA receive the indicator signal correctly and open orders!
Can anyone know what the problems?
Unada san
Thank you.What do you mean "It return 0.0" ?
You mean if BUY signal, it return 0.0?
if( cbars!=Bars&& buy==0.0 )
Is this what you mention?
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi, I am having a trouble to use iCustom to get signal from an indicator.
The indicator is "called2candles 1 pilot331" and it is MQL4 file.
You can download from here.
https://forex-station.com/download/file.php?id=3324510
I want to get arrow up /down signal from the indicator by using iCustom and use in my EA.
However, I can not get any signals.
It looks like arrowup is buffer0(index0) and arrowdown is buffer1(index2).
Can anyone help to point out what the problem is.
What is the wrong code for my iCustom use?
Thanks!