• Home
  • Forums
  • Trades
  • News
  • Calendar
  • Market
  • Brokers
  • Login
  • Join
  • User/Email: Password:
  • 1:31pm
Menu
  • Forums
  • Trades
  • News
  • Calendar
  • Market
  • Brokers
  • Login
  • Join
  • 1:31pm
Sister Sites
  • Metals Mine
  • Energy EXCH
  • Crypto Craft

Options

Bookmark Thread

First Page First Unread Last Page Last Post

Print Thread

Similar Threads

Need help to code EAs for MT4 and MT5 4 replies

I will code your scalping EAs for no charge 36 replies

I will code your pivot EAs for no charge 18 replies

EAs and indicators relating to moutaki... 22 replies

InterbankFX has loaded its MT4 platform with custom EAs, indicators and scripts 1 reply

  • Platform Tech
  • /
  • Reply to Thread
  • Subscribe
  • 37,087
Attachments: I will code your EAs and Indicators for no charge
Exit Attachments

I will code your EAs and Indicators for no charge

  • Last Post
  •  
  • 1 17181719Page 172017211722 2693
  • 1 Page 1720 2693
  •  
  • Post #34,381
  • Quote
  • Apr 29, 2020 7:23pm Apr 29, 2020 7:23pm
  •  enoeraew
  • | Joined Dec 2014 | Status: Member | 47 Posts
Ok thx. I'll look a bit more.
 
 
  • Post #34,382
  • Quote
  • Apr 29, 2020 8:56pm Apr 29, 2020 8:56pm
  •  livingsoul99
  • | Joined Jul 2019 | Status: Member | 58 Posts
Quoting BlueRain
Disliked
{quote} That is a long and I need time to digest what you are trying to say. Due to lack of sleeping, my concentration is a bit low. Anyway, Yes. Just change Color to Yellow and you will see whole currency pairs and Time frame. Also, you can turn off some of those higher time frame and you will get reduced columns, It is as same as removing those time frame. In addition, I removed those higher time frame except 1M and 5M. It works also. ( file attached) Other ones.. I have to understand what you are trying and will get back to you. {file} {image}...
Ignored
Greetings

I think it may be the mt4 build version Im using, because your chart window is showing it perfectly. I want to say its the mt4 build version of traders way and hugos way is not fully compatible with this particular indicator.

Try to get some rest.
Best wishes always...
 
 
  • Post #34,383
  • Quote
  • Apr 29, 2020 9:41pm Apr 29, 2020 9:41pm
  •  guttsman007
  • | Joined Feb 2018 | Status: Member | 74 Posts
Quoting Beerrun
Disliked
{quote} I think if you open the file in an editor you will feel pretty comfortable tackling this on your own. Mql is “C++” and I am confident even a mediocre C programmer could work the file to their needs. It is simple code, a template really. In fact the Bid and Ask already are OR, each independent if statements.
Ignored
Lovely. Yes I agree. I need to develop my programming skills anyway for a big python project I have in mind, not trading related so this will help get my feet wet a little bit in problem solving. You've basically already given me the framework so I just need to append an additional If statement. Just one question. What syntax would I use to get the "y" out of my earlier argument? Would that be by tick or tick volume? Again, thanks again for taking the time to respond to me. I'm not well versed in mql4 syntax but basic arguments I can manage like FOR,OR,IF and switch statements just need to know if I need to import a library or know what keyword I need to use. Thanks again for your help
 
1
  • Post #34,384
  • Quote
  • Apr 29, 2020 10:15pm Apr 29, 2020 10:15pm
  •  cja
  • Joined Feb 2007 | Status: Member | 1,848 Posts
Quoting Beerrun
Disliked
{quote} It seems to work okay for me, the line isn't moving when I change time frames. Perhaps there is another reason? Also trivial but you don't need UninitializeReason() if you are using OnDeinit(), the variable in OnDeinit(const int res) is the same thing.
Ignored
Often the issue is another indicator on the chart that has poor object delete code, have you tried the indicator by itself on a blank chart??
Trade what you see not what you hope
 
1
  • Post #34,385
  • Quote
  • Apr 29, 2020 10:36pm Apr 29, 2020 10:36pm
  •  Beerrun
  • Joined Jan 2016 | Status: Good Coder | Bad Trader | 461 Posts
Quoting guttsman007
Disliked
{quote} Lovely. Yes I agree. I need to develop my programming skills anyway for a big python project I have in mind, not trading related so this will help get my feet wet a little bit in problem solving. You've basically already given me the framework so I just need to append an additional If statement. Just one question. What syntax would I use to get the "y" out of my earlier argument? Would that be by tick or tick volume? Again, thanks again for taking the time to respond to me. I'm not well versed in mql4 syntax but basic arguments I can manage...
Ignored
I 100% believe in you I think you’ll feel a bit like riding a bike again.

The syntax is C based so it is something you know already, like variable and function data types: int, double, float, long, etc; for loops: “for(int i=0;i<20;i++)”; and if statements: “if(this||that)”.

Ask and Bid are independent of ticks, they can move without any price change tick coming in, so timer is the one to use to get the change in y. There is also a millisecond timer if needed. Also start() and OnCalculate() are tick events if you need to use those as well.

My recommendation to everyone coming into mql is to use MetaEditor for the F1 reference, it is immensely helpful. Just place your cursor on code and hit F1 to bring up the mql reference for that code, assuming it can be found in the mql reference.

Feel free to throw any questions at me here or pm, I will share whatever I know.
 
2
  • Post #34,386
  • Quote
  • Apr 29, 2020 10:37pm Apr 29, 2020 10:37pm
  •  Beerrun
  • Joined Jan 2016 | Status: Good Coder | Bad Trader | 461 Posts
Quoting cja
Disliked
{quote} Often the issue is another indicator on the chart that has poor object delete code, have you tried the indicator by itself on a blank chart??
Ignored
Yessir I did, only ever test on blank chart. Did you experience the same issue as the op?
 
1
  • Post #34,387
  • Quote
  • Edited at 11:19pm Apr 29, 2020 10:43pm | Edited at 11:19pm
  •  guttsman007
  • | Joined Feb 2018 | Status: Member | 74 Posts
Quoting Beerrun
Disliked
{quote} I 100% believe in you I think you’ll feel a bit like riding a bike again. The syntax is C based so it is something you know already, like variable and function data types: int, double, float, long, etc; for loops: “for(int i=0;i<20;i++)”; and if statements: “if(this||that)”. Ask and Bid are independent of ticks, they can move without any price change tick coming in, so timer is the one to use to get the change in y. There is also a millisecond timer if needed. Also start() and OnCalculate() are tick events if you need to use those...
Ignored
Thanks man, you're awesome! By the way when you said I'll use the timer to get the change in y the argument would change from this:
If Bid == Bid AFTER x seconds{
If Ask moves y times;
}
};

To this?
time = x,y;
int = counter, trigger = 4;
counter = 0;
If Bid == Bid AFTER x seconds{
If Ask != Ask AFTER y seconds;
counter = +1;
}
}; If counter = trigger SOUND THE ALARM

Then I have a feeling I'm going to need to write this under a for loop to make counter = trigger to sound the alarm on the condition
 
1
  • Post #34,388
  • Quote
  • Edited at 11:18pm Apr 29, 2020 11:07pm | Edited at 11:18pm
  •  Beerrun
  • Joined Jan 2016 | Status: Good Coder | Bad Trader | 461 Posts
Quoting guttsman007
Disliked
{quote} Thanks man, you're awesome! By the way when you said I'll use the timer to get the change in y the argument would change from this: If Bid == Bid AFTER x seconds{ If Ask moves y times; } }; To this? If Bid == Bid AFTER x seconds{ If Ask != Ask AFTER y seconds; } };
Ignored
Either can work, it depends on your intended outcome. In your first example y is a count of occurrences and in the second y is a time interval.

I mentioned the timer since the bid or ask can move without a tick, you'd probably want to run your code by time intervals. When you set EventSetTimer(x), this calls OnTimer() every x seconds.

The only issue with a straight Ask==Ask check is if the ask did move and then come back. Perhaps that might give you a different result than what you intend. My original code above does this as well, so it needs changes to suit your needs.
 
1
  • Post #34,389
  • Quote
  • Apr 29, 2020 11:14pm Apr 29, 2020 11:14pm
  •  guttsman007
  • | Joined Feb 2018 | Status: Member | 74 Posts
Quoting Beerrun
Disliked
{quote} Either can work, it depends on your intended outcome. In your first example y is a count of occurrences and in the second y is a time interval. I mentioned the timer since the bid or ask can move without a tick, you'd probably want to run your code by time intervals. When you set EventSetTimer(x), this calls OnTimer() every x seconds.
Ignored
ahw okay now I understand. Got it
 
1
  • Post #34,390
  • Quote
  • Apr 29, 2020 11:33pm Apr 29, 2020 11:33pm
  •  guttsman007
  • | Joined Feb 2018 | Status: Member | 74 Posts
Quoting Beerrun
Disliked
{quote} Either can work, it depends on your intended outcome. In your first example y is a count of occurrences and in the second y is a time interval. I mentioned the timer since the bid or ask can move without a tick, you'd probably want to run your code by time intervals. When you set EventSetTimer(x), this calls OnTimer() every x seconds. The only issue with a straight Ask==Ask check is if the ask did move and then come back. Perhaps that might give you a different result than what you intend. My original code above does this as well, so it...
Ignored
The only way to get around the straight Ask == Ask check dilemma using a timer is if the Ask !- Ask runs under a For loop x times. If all is true then the condition is set for the alarm to trigger. Thanks for bringing that to my attention since I agree if Ask !- Ask but Ask simply moved and came back then it'll throw what I intended out the window. Good lookin' out m8te!
 
1
  • Post #34,391
  • Quote
  • Apr 29, 2020 11:52pm Apr 29, 2020 11:52pm
  •  Beerrun
  • Joined Jan 2016 | Status: Good Coder | Bad Trader | 461 Posts
Quoting guttsman007
Disliked
{quote} The only way to get around the straight Ask == Ask check dilemma using a timer is if the Ask !- Ask runs under a For loop x times. If all is true then the condition is set for the alarm to trigger. Thanks for bringing that to my attention since I agree if Ask !- Ask but Ask simply moved and came back then it'll throw what I intended out the window. Good lookin' out m8te!
Ignored
If you run in a loop without exiting it might be helpful to also use RefreshRates() call.
 
1
  • Post #34,392
  • Quote
  • Apr 29, 2020 11:53pm Apr 29, 2020 11:53pm
  •  guttsman007
  • | Joined Feb 2018 | Status: Member | 74 Posts
Quoting Beerrun
Disliked
{quote} If you run in a loop without exiting it might be helpful to also use RefreshRates() call.
Ignored
Will do Beerun, thanx
 
1
  • Post #34,393
  • Quote
  • Edited at 2:16am Apr 30, 2020 1:24am | Edited at 2:16am
  •  RomualdaKey
  • | Joined Nov 2018 | Status: Member | 33 Posts
Hello everyone,

Is anyone willing to code an indicator that would display pairs (like a dashboard I guess) that are close to YH/YL by x pips, or have already crossed YH/YL? Thanks!
 
 
  • Post #34,394
  • Quote
  • Apr 30, 2020 3:34am Apr 30, 2020 3:34am
  •  sureshselva
  • | Joined Apr 2020 | Status: Junior Member | 1 Post
Quoting livingsoul99
Disliked
{quote} Greetings Jeanlouie, That's amazing, that's honestly one of the best crossover indicators I have seen. Thanks again, that's really nice. Best wishes, and must success to you always LivingSoul999 Livingsoul {file}
Ignored
hi sir,
the signal is moving when the market is up or down,it should not move when the market is up or down,once the signal is formed it should not move until the next target level...please make those changes ...the rest are good.
 
 
  • Post #34,395
  • Quote
  • Apr 30, 2020 4:39am Apr 30, 2020 4:39am
  •  kubervivek
  • | Joined Feb 2016 | Status: Member | 48 Posts
Hi Beerun

I hv set the following parameters:

prev_cdl_high = High[1];
prev_cdl_low = Low[1];

for buy
An orderdistance of xpips above the previous candle high
buy_price=prev_cdl_high+order_distance*trade_point;

for sell
An orderdistance of xpips below the previous candle low
sell_price=prev_cdl_low-order_distance*trade_point;


so buy order :
OrderSend(Symbol(),OP_BUYSTOP,Lots,buy_price,slippage,buy_stop_loss,
buy_take_profit, trades_comment, buy_magic_number, NULL, buy_arrow_color);

I have a basic question:
As prices move very fast, we will never get sell_price =
infact it will be > at most of the times

so my order is not getting executed
Pl. suggest the solution in the code sir ?

thanx
vivek
 
 
  • Post #34,396
  • Quote
  • Apr 30, 2020 4:56am Apr 30, 2020 4:56am
  •  nanacarter
  • | Joined Aug 2016 | Status: Member | 111 Posts
Quoting nanacarter
Disliked
This is the Mq4 version.Can it be converted to MT5? Thanks {file}
Ignored
Can someone please convert this indicator to MT4 for me? Thanks
 
 
  • Post #34,397
  • Quote
  • Apr 30, 2020 5:01am Apr 30, 2020 5:01am
  •  Beerrun
  • Joined Jan 2016 | Status: Good Coder | Bad Trader | 461 Posts
Quoting kubervivek
Disliked
Hi Beerun I hv set the following parameters: prev_cdl_high = High[1]; prev_cdl_low = Low[1]; for buy An orderdistance of xpips above the previous candle high buy_price=prev_cdl_high+order_distance*trade_point; for sell An orderdistance of xpips below the previous candle low sell_price=prev_cdl_low-order_distance*trade_point; so buy order : OrderSend(Symbol(),OP_BUYSTOP,Lots,buy_price,slippage,buy_stop_loss, buy_take_profit, trades_comment, buy_magic_number, NULL, buy_arrow_color); I have a basic question: As prices move very fast, we will never...
Ignored
I am likely not the best source for this information. However, if your prices are moving too fast then perhaps slippage would be the first thing to adjust.

If you have actually used the program and your orders won’t send, the first place to look is the experts tab of your terminal to see what error number you get.
 
 
  • Post #34,398
  • Quote
  • Apr 30, 2020 5:29am Apr 30, 2020 5:29am
  •  dato896
  • | Commercial Member | Joined Sep 2015 | 89 Posts
hello, I found someone on other forum who helps me with building my EA but he is not very good programer so can not code some functins. can you please write in this EA "Time Out" function? if it close in loss writen in options 500$ for example (there is "loss in money option" for all orders)Stop trading for next 10 hours. (hours must be changeable). is it possible? thanks a lot
Attached Files
File Type: ex4 EA_TMA (2_2).ex4   25 KB | 53 downloads
File Type: mq4 EA_TMA (2_2).mq4   28 KB | 86 downloads
 
 
  • Post #34,399
  • Quote
  • Apr 30, 2020 7:54am Apr 30, 2020 7:54am
  •  yobiingon
  • | Joined Dec 2016 | Status: Member | 14 Posts
Any body have indicator like this ? False Break Indicator ?
Attached Image
 
 
  • Post #34,400
  • Quote
  • Apr 30, 2020 8:09am Apr 30, 2020 8:09am
  •  pipsographer
  • | Joined Sep 2019 | Status: Member | 21 Posts
Hi Guys,

I am looking to adjust the RSI.mqh code in order to be able to view the RSI of another currency pair on the current chart I'm working on.

Currently, based on the RSI code:
I think that the current RSI indicator reads from an array on this line:
Inserted Code
 const double &close[],
However, I don't know how to change the close values in there to the close values of the other currency pair I wish to view.
What does &close[] mean? I tried replacing that line with
Inserted Code
 iClose("XxxXxx",60,1);
but that did not work, the values were incorrect.

Would appreciate any help and pointers.
Thanks

Inserted Code
 
//+------------------------------------------------------------------+
//|                                                          RSI.mq4 |
//|                   Copyright 2005-2014, MetaQuotes Software Corp. |
//|                                              http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright   "2005-2014, MetaQuotes Software Corp."
#property link        "http://www.mql4.com"
#property description "Relative Strength Index"
#property strict
#property indicator_separate_window
#property indicator_minimum    0
#property indicator_maximum    100
#property indicator_buffers    1
#property indicator_color1     DodgerBlue
#property indicator_level1     30.0
#property indicator_level2     70.0
#property indicator_levelcolor clrSilver
#property indicator_levelstyle STYLE_DOT
//--- input parameters
input int InpRSIPeriod=14; // RSI Period
//--- buffers
double ExtRSIBuffer[];
double ExtPosBuffer[];
double ExtNegBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit(void)
  {
   string short_name;
//--- 2 additional buffers are used for counting.
   IndicatorBuffers(3);
   SetIndexBuffer(1,ExtPosBuffer);
   SetIndexBuffer(2,ExtNegBuffer);
//--- indicator line
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtRSIBuffer);
//--- name for DataWindow and indicator subwindow label
   short_name="RSI("+string(InpRSIPeriod)+")";
   IndicatorShortName(short_name);
   SetIndexLabel(0,short_name);
//--- check for input
   if(InpRSIPeriod<2)
     {
      Print("Incorrect value for input variable InpRSIPeriod = ",InpRSIPeriod);
      return(INIT_FAILED);
     }
//---
   SetIndexDrawBegin(0,InpRSIPeriod);
//--- initialization done
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Relative Strength Index                                          |
//+------------------------------------------------------------------+
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    i,pos;
   double diff;
//---
   if(Bars<=InpRSIPeriod || InpRSIPeriod<2)
      return(0);
//--- counting from 0 to rates_total
   ArraySetAsSeries(ExtRSIBuffer,false);
   ArraySetAsSeries(ExtPosBuffer,false);
   ArraySetAsSeries(ExtNegBuffer,false);
   ArraySetAsSeries(close,false);
//--- preliminary calculations
   pos=prev_calculated-1;
   if(pos<=InpRSIPeriod)
     {
      //--- first RSIPeriod values of the indicator are not calculated
      ExtRSIBuffer[0]=0.0;
      ExtPosBuffer[0]=0.0;
      ExtNegBuffer[0]=0.0;
      double sump=0.0;
      double sumn=0.0;
      for(i=1; i<=InpRSIPeriod; i++)
        {
         ExtRSIBuffer[i]=0.0;
         ExtPosBuffer[i]=0.0;
         ExtNegBuffer[i]=0.0;
         diff=close[i]-close[i-1];
         if(diff>0)
            sump+=diff;
         else
            sumn-=diff;
        }
      //--- calculate first visible value
      ExtPosBuffer[InpRSIPeriod]=sump/InpRSIPeriod;
      ExtNegBuffer[InpRSIPeriod]=sumn/InpRSIPeriod;
      if(ExtNegBuffer[InpRSIPeriod]!=0.0)
         ExtRSIBuffer[InpRSIPeriod]=100.0-(100.0/(1.0+ExtPosBuffer[InpRSIPeriod]/ExtNegBuffer[InpRSIPeriod]));
      else
        {
         if(ExtPosBuffer[InpRSIPeriod]!=0.0)
            ExtRSIBuffer[InpRSIPeriod]=100.0;
         else
            ExtRSIBuffer[InpRSIPeriod]=50.0;
        }
      //--- prepare the position value for main calculation
      pos=InpRSIPeriod+1;
     }
//--- the main loop of calculations
   for(i=pos; i<rates_total && !IsStopped(); i++)
     {
      diff=close[i]-close[i-1];
      ExtPosBuffer[i]=(ExtPosBuffer[i-1]*(InpRSIPeriod-1)+(diff>0.0?diff:0.0))/InpRSIPeriod;
      ExtNegBuffer[i]=(ExtNegBuffer[i-1]*(InpRSIPeriod-1)+(diff<0.0?-diff:0.0))/InpRSIPeriod;
      if(ExtNegBuffer[i]!=0.0)
         ExtRSIBuffer[i]=100.0-100.0/(1+ExtPosBuffer[i]/ExtNegBuffer[i]);
      else
        {
         if(ExtPosBuffer[i]!=0.0)
            ExtRSIBuffer[i]=100.0;
         else
            ExtRSIBuffer[i]=50.0;
        }
     }
//---
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
 
  • Platform Tech
  • /
  • I will code your EAs and Indicators for no charge
  • Reply to Thread
    • 1 17181719Page 172017211722 2693
    • 1 Page 1720 2693
15 traders viewing now, 4 are members:
mag00
,
Samokeliso
,
Christolab
,
Tjaart1
  • More
Top of Page
  • Facebook
  • Twitter
About FF
  • Mission
  • Products
  • User Guide
  • Media Kit
  • Blog
  • Contact
FF Products
  • Forums
  • Trades
  • Calendar
  • News
  • Market
  • Brokers
  • Trade Explorer
FF Website
  • Homepage
  • Search
  • Members
  • Report a Bug
Follow FF
  • Facebook
  • Twitter

FF Sister Sites:

  • Metals Mine
  • Energy EXCH
  • Crypto Craft

Forex Factory® is a brand of Fair Economy, Inc.

Terms of Service / ©2022