Seperate Magic number control on Expert Advisor
what do I need to add so the EA focuses on 2 magic numbers, but focuses on them separately?
if( OrderMagicNumber()== magic_number1 ) { // Do something } else if( OrderMagicNumber()== magic_number2 ) { // Do something }
Thnx. will try it out.
Just wanna say thank you very much.
It worked 100%.
Regards Franzel
I ran into a small problem. now the EA closed magic number 2 but not magic number 1.
How do I fix this issue?
Sorry. I am new to the mql4 coding and still learning a lot.
double Profit(){ double Prof=0; for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if( OrderMagicNumber()== magic_number ){ } else if( OrderMagicNumber()== magic_number2 ) { Prof = Prof + OrderProfit()+ OrderCommission() + OrderSwap(); } } } return(Prof); } void CloseOrder(void) { int total = OrdersTotal(); for(int i=total-1;i>=0;i--){ OrderSelect(i, SELECT_BY_POS); int type = OrderType(); bool result = false; if(OrderMagicNumber()==magic_number){ else if( OrderMagicNumber()== magic_number2 ){ switch(type){ case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Red); break; case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5, Blue); } //switch if(result == false){ Print("Order ", OrderTicket(), " failed to close. Error:", GetLastError() ); } } } } void reset(void) {
Please use the </> button to insert your code.
ok. no prob. done
I ran into a small problem. now the EA closed magic number 2 but not magic number 1.
How do I fix this issue?
Sorry. I am new to the mql4 coding and still learning a lot.
To close both:
if(OrderMagicNumber()==magic_number || OrderMagicNumber()== magic_number2 ) { // Close code here }
I think you would gain quite a bit by reading this tutorial:
https://book.mql4.com/operators/if
- book.mql4.com

what do I need to add so the EA focuses on 2 magic numbers, but focuses on them separately?
Example
EA take profit = $5.0
magic number 1 = $2.5
magic number 2 = $5.0
EA closes magic number 2
EA does not close magic number 1 until Take profit has been reached of $5.0
Here is the coding I have for magic number 1
How do I add magic number 2?
double Profit(){
double Prof=0;
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if( OrderMagicNumber()== magic_number1 ){