Welcome to Forex-TSD!, one of the largest Forex forums worldwide, where you will be able to find the most complete and reliable Forex information imaginable.
From the list below, select the forum that you want to visit and register to post, as many times you want. It’s absolutely free. Click here for registering on Forex-TSD.
Exclusive Forum
The Exclusive Forum is the only paid section. Once you subscribe, you will get free access to real cutting-edge Trading Systems (automated and not), Indicators, Signals, Articles, etc., that will help and guide you, in ways that you could only imagine, with your Forex trading.
Elite Section
Get access to private discussions, specialized support, indicators and trading systems reported every week.
Advanced Elite Section
For professional traders, trading system developers and any other member who may need to use and/or convert, the most cutting-edge exclusive indicators and trading systems for MT4 and MT5.
I hope you don't mind me butting in here, I'm looking at a similar situation and I have a thaught on the issue... what about if you code a loop at the end of your program that says "if no order is open run through again". and let it loop maybe 3 or 4 times.
If it does that then any missed orders (which happens quite often) should surely get picked up. or is there something wrong with my thinking.
I think it would look something like this...
I'm still new to this so if it doesn't make sense please explain to me why.
Hey, that's a good idea!
I could check the time and if X seconds or minutes have elapsed then exit the loop.
:: it will not work with indicators like that, even if you loop 1.000.000 times, it will stall everything else, nothing other then that loop will be processed, when the loop is finished then your terminal will continue her normal processes before a new tick.
:: in that 1.000.000 loop it's useless to check/control something else, that's why sleep() function doesn't work.
Quote:
Originally Posted by TheRumpledOne
Hey, that's a good idea!
I could check the time and if X seconds or minutes have elapsed then exit the loop.
I want to be able to run a script or program from the command line that will execute a buy order. There aren't any rules. When I type it in from the command line, it should buy 1 EURUSD Long position.
Recently I was trying to make a simple EA that would work on an arrow-based indicator. I am trying to make the EA to maintain one order at any given time. If the arrow points down, the previous buy order is closed and sell order is opened. If the arrow points up, the previous sell order is closed and buy order is opened. I am using the tester (visualization mode) to verify my code. It seems that no matter how I try, the EA does not close and open the positions when arrow indicator points up or down. The back test confirms that the EA is not working properly. Instead of opening and closing the orders at the arrow points shown by the indicator, the EA closes/opens order at some different time. I cannot understand why my code doesn't work.
In the beginning of start statement, I have the following code:
if (Time[0] == savedTime) {
return (0);
} else {
savedTime = Time [0];
}
This (I hope) will ensure that the code in the start statement is executed only when new bar has formed. Later in the body of the start subroutine, I query the indicator with iCustom function. The request looks as below:
iCustom (... 1)
The last argument of one specifies the previous formed bar, which is why it is not 0. Yet later I close the opened order with OrderClose and open new one with OrderSend. I suppose that both functions must be able to execute instantaneously.
The bottom line is: I am trying to create an EA based on arrow indicator. The indicator points either up or down. The way I see it (and I am probably incorrect), the only thing that I need to do is to close previous order and open new one when the next bar has formed. I would greatly appreciate any input into this problem.
I was just wondering if anyone could help me create an EA that just opens 4 different orders at 00:00AM GMT for any pair.
1 lot buy
1 lot buy
1 lot sell
1 lot sell
to be opened all at 00:00GMT