spacepaste

  1.  
  2. //+------------------------------------------------------------------+
  3. //| Dirty_Rat.mq4 |
  4. //| Agent86's Dirty Rat Trade |
  5. //| http://www.iclbiz.com/joomla |
  6. //+------------------------------------------------------------------+
  7. #property copyright "Agent86"
  8. #property link "www.iclbiz.com/joomla"
  9. //---- input parameters
  10. extern double TakeProfit=300.0;
  11. extern double Lots=0.1;
  12. extern double StopLoss=40.0;
  13. //++++ These are adjusted for 5 digit brokers.
  14. int pips2points; // slippage 3 pips 3=points 30=points
  15. double pips2dbl; // Stoploss 15 pips 0.0015 0.00150
  16. int Digits.pips; // DoubleToStr(dbl/pips2dbl, Digits.pips)
  17. // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl
  18. //+------------------------------------------------------------------+
  19. //| expert initialization function |
  20. //+------------------------------------------------------------------+
  21. int init()
  22. {
  23. if (Digits == 5 || Digits == 3)
  24. { // Adjust for five (5) digit brokers.
  25. pips2dbl = Point*10; pips2points = 10; Digits.pips = 1;
  26. }
  27. else
  28. {
  29. pips2dbl = Point; pips2points = 1; Digits.pips = 0;
  30. }
  31. // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl
  32. //----
  33. //----
  34. return(0);
  35. }
  36. //+------------------------------------------------------------------+
  37. //| expert deinitialization function |
  38. //+------------------------------------------------------------------+
  39. int deinit()
  40. {
  41. //----
  42. //----
  43. return(0);
  44. }
  45. //+------------------------------------------------------------------+
  46. //| expert start function |
  47. //+------------------------------------------------------------------+
  48. int start()
  49. {
  50. //----
  51. int ticket,i,total,result;
  52. double faster = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1), //MODE_MAIN
  53. slower = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1), //MODE_SIGNAL
  54. faster_2 = iMACD(NULL,PERIOD_H4,12,26,9,PRICE_CLOSE,MODE_MAIN,1), //MODE_MAIN
  55. slower_2 = iMACD(NULL,PERIOD_H4,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1); //MODE_SIGNAL
  56. //I'm going to have to create some loop
  57. total = OrdersTotal();
  58. if(total < 1){
  59. if(faster > slower)
  60. OrderSend(Symbol(),OP_BUY,Lots,Ask,3*pips2points,Bid-StopLoss*pips2dbl,Bid+TakeProfit*pips2dbl,"My EA",12345,0,Green);
  61. }
  62. /*
  63. if(total > 0){
  64. if(faster < slower)
  65. OrderSelect(SELECT_BY_POS, MODE_TRADES);
  66. if(OrderType() == OP_BUY && Symbol() == OrderSymbol()){
  67. result = OrderClose(OrderTicket(), OrderLots(), Bid*pips2dbl,3*pips2points, Red);
  68. if(result == false){
  69. Print("Order",OrderTicket()," failed to close Error ",GetLastError());
  70. return(0);
  71. }
  72. }
  73. }
  74. }
  75. */
  76. for(i = 0; i < OrdersTotal(); i++)
  77. OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
  78. if(OrderType() == OP_BUY && Symbol() == OrderSymbol()){
  79. if(faster < slower)
  80. result = OrderClose( OrderTicket(), OrderLots(), Bid,3, Red);
  81. if(result == false){
  82. Print("Order", OrderTicket()," failed to close Error ",GetLastError());
  83. return(0);
  84. }
  85. }
  86. }
  87. //+------------------------------------------------------------------+
  88.