Hello MQL4 forum,
Mon.Dec 24, 2012, 6:25 pm. Market Watch reads, 19:59:59. As far as I can recall, the FOREX trading week begins sunday and ends friday. I've connected My MT4 terminal to demo, live, default and different servers with 76/1 kb ratio server connection, but the market watch still does not move nor the currencies.
What is going on?
Hello MQL4 forum,
Mon.Dec 24, 2012, 6:25 pm. Market Watch reads, 19:59:59. As far as I can recall, the FOREX trading week begins sunday and ends friday. I've connected My MT4 terminal to demo, live, default and different servers with 76/1 kb ratio server connection, but the market watch still does not move nor the currencies.
What is going on?
Thank you.
******* Merry Christmas *******
-hope everyone's enjoying their day off, and spending time with their love ones.
I would not even have known it was Christmas if you both didn't post responses.
Merry Christmas MQL4 community.
Thank you.
Time to bring this exercise to an end . . . here is my code, criticise, discuss, ask questions all you like.
//place one market order for 0.1 lots with no TP or SL on GBPUSD, one on USDJPY and one on EURUSD . . . // forget the order in which you placed these Orders //without any consideration of the order in which the trades were placed and assuming no prior knowledge // of the number of orders placed write some code that will find the correct ticket number for the order placed on USDJPY //print the ticket number to the log in the form "Ticket number for USDJPY = " //then use the ticket number to select the order, then modify it so that it has a TP & SL and finally close it. extern double TakeProfit = 400; // number of points TP is plced away from entry price extern double StopLoss = 400; // number of points SL is plced away from entry price extern int Slippage = 10; int start() { int PositionIndex; // <-- this variable is the index used for the loop int Direction; double UJPoint; // point value for USDJPYi UJPoint = MarketInfo("USDJPYi", MODE_POINT); // gets the point value for USDJPYi for(PositionIndex = OrdersTotal() - 1; PositionIndex >= 0 ; PositionIndex --) // <-- for loop to loop through all Orders . . COUNT DOWN TO ZERO ! { if( ! OrderSelect(PositionIndex, SELECT_BY_POS, MODE_TRADES) ) continue; // <-- if the OrderSelect fails advance the loop to the next PositionIndex Direction = ( ( -2 * OrderType() ) + 1 ); // for a Sell = -1 for a Buy = 1 if( OrderSymbol() == "USDJPYi" // <-- does the Order's Symbol match USDJPYi ? && ( OrderType() == OP_BUY // <-- is the Order a Buy Order ? || OrderType() == OP_SELL ) ) // <-- or is it a Sell Order ? { Print("Ticket number for USDJPYi = ", OrderTicket()); // print the ticket number if(! OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - ( StopLoss * Direction * UJPoint), OrderOpenPrice() + ( TakeProfit * Direction * UJPoint ), 0 ) ) { Print("Order Modify failed, order number: ", OrderTicket(), " Error: ", GetLastError(), " SL: ", DoubleToStr(OrderOpenPrice() - ( StopLoss * Direction * UJPoint), Digits), " TP: ", DoubleToStr(OrderOpenPrice() + ( TakeProfit * Direction * UJPoint ), Digits) ); continue; // don't close the order if the Modify fails } if ( ! OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(), Slippage ) ) // <-- try to close the order Print("Order Close failed, order number: ", OrderTicket(), " Error: ", GetLastError() ); // <-- if the Order Close failed print some helpful information } // end of if( OrderSymbol() == "USDJPY" } // end of for loop } // end of start
Simon, just by eyeballin' this, it seems to be a very similar method I am also using. There are some differences, but overall, it is doing the same thing as the code below. The code below uses no functions for modification of the USDJPY order's TP,SL, and closing the order, BUT ;) if the order is currently selected, all the rest is straight forward.
int start() { int i; if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) OrderPrint(); else i++; // Print(GetLastError()); Comment("i = " ,i); return(0); }
The only problem is this code only increases variable i by 1, the "i++;" does not continue increasing i until the OrderSymbol() function is "USDJPY".
Question: Why is the "i++;" increasing i's value one time only?
https://www.mql5.com/en/forum/142641/page6
I am also working on this, but I would appreciate your feedback also.
Thank you.
Simon, just by eyeballin' this, it seems to be a very similar method I am also using. There are some differences, but overall, it is doing the same thing as the code below. The code below uses no functions for modification of the USDJPY order's TP,SL, and closing the order, BUT ;) if the order is currently selected, all the rest is straight forward.
The only problem is this code only increases variable i by 1, the "i++;" does not continue increasing i until the OrderSymbol() function is "USDJPY".
Question: Why is the "i++;" increasing i's value one time only?
https://www.mql5.com/en/forum/142641/page6
I am also working on this, but I would appreciate your feedback also.
Thank you.
Hello MQL4 comunity,
I was doing a little reading on for and while loops. Many posts have been made stating Volume I uses unnecessary "{ }" (braces). I believe I now understand correct use of braces. I will provide an example of correct use of braces AND explanation.
// Example: while loop. while(k<n) { y=y*x; k++; }
Explanation: It seems braces are used when multiple operations are included in a function call. If there is a single operation contained within the function call, there is no need for braces. I'll keep this in mind and await response from the community for confirmation of this rediscovery.
Thank you.
Hello MQL4 comunity,
I was doing a little reading on for and while loops. Many posts have been made stating Volume I uses unnecessary "{ }" (braces). I believe I now understand correct use of braces. I will provide an example of correct use of braces AND explanation.
Explanation: It seems braces are used when multiple operations are included in a function call. If there is a single operation contained within the function call, there is no need for braces. I'll keep this in mind and await response from the community for confirmation of this rediscovery.
Hello MQL4 comunity,
I was doing a little reading on for and while loops. Many posts have been made stating Volume I uses unnecessary "{ }" (braces). I believe I now understand correct use of braces. I will provide an example of correct use of braces AND explanation.
Explanation: It seems braces are used when multiple operations are included in a function call. If there is a single operation contained within the function call, there is no need for braces. I'll keep this in mind and await response from the community for confirmation of this rediscovery.
Thank you.
while is more an operator than a function call. However, I think you mean the right thing. Checkt this https://book.mql4.com/operators/while it gives you confirmation.
Simon, I appreciate your post. Thank you.
Phil, I'll read this page of the book. Thank you.
Thank you.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello MQL4 forum,
Monday, Dec 24, 2012, 6:25 pm. Market Watch reads, 19:59:59. As far as I can recall, the FOREX trading week begins sunday and ends friday. I've connected My MT4 terminal to demo, live, default and different servers with 76/1 kb ratio server connection, but the market watch still does not move nor the currencies.
What is going on?
Thank you.