fork download
  1. var $externalParameters = [{
  2. ProvidedFreeBy: {
  3. 'type': 'string',
  4. defaultValue: "www.fxautomated.com"
  5. }
  6. }, {
  7. AboutAutostop: {
  8. 'type': 'string',
  9. defaultValue: "Automatically sets take profit and stop loss."
  10. }
  11. }, {
  12. MonitorTakeProfit: {
  13. 'type': 'bool',
  14. defaultValue: true
  15. }
  16. }, {
  17. MonitorStopLoss: {
  18. 'type': 'bool',
  19. defaultValue: true
  20. }
  21. }, {
  22. TakeProfit: {
  23. 'type': 'double',
  24. defaultValue: 30
  25. }
  26. }, {
  27. StopLoss: {
  28. 'type': 'double',
  29. defaultValue: 30
  30. }
  31. }];
  32. var $parameters = {
  33. ProvidedFreeBy: "www.fxautomated.com",
  34. AboutAutostop: "Automatically sets take profit and stop loss.",
  35. MonitorTakeProfit: true,
  36. MonitorStopLoss: true,
  37. TakeProfit: 30,
  38. StopLoss: 30
  39. };
  40. // END Script Parameters
  41.  
  42. // NOT SUPPORTED
  43. //#property copyright "Copyright � 2012, www.FxAutomated.com"
  44.  
  45. // NOT SUPPORTED
  46. //#property link "http://w...content-available-to-author-only...d.com"
  47.  
  48. //extern string ProvidedFreeBy="www.fxautomated.com"
  49. var /*<string>*/ ProvidedFreeBy = $parameters.ProvidedFreeBy;
  50. //extern string AboutAutostop="Automatically sets take profit and stop loss."
  51. var /*<string>*/ AboutAutostop = $parameters.AboutAutostop;
  52. //extern bool MonitorTakeProfit=true
  53. var /*<bool>*/ MonitorTakeProfit = $parameters.MonitorTakeProfit;
  54. //extern bool MonitorStopLoss=true
  55. var /*<bool>*/ MonitorStopLoss = $parameters.MonitorStopLoss;
  56. //extern double TakeProfit=30
  57. var /*<double>*/ TakeProfit = $parameters.TakeProfit;
  58. //extern double StopLoss=30
  59. var /*<double>*/ StopLoss = $parameters.StopLoss;
  60. var /*<int>*/ start = function() {
  61. //int digits=MarketInfo("EURUSD",MODE_DIGITS);
  62. //int digits=MarketInfo("EURUSD",MODE_DIGITS)
  63. var /*<int>*/ digits = MarketInfo("EURUSD", MQL4.MODE_DIGITS);
  64. //if(digits==5){int StopMultd=10;} else{StopMultd=1;}
  65. if (digits === 5) {
  66. //int StopMultd=10;
  67. //int StopMultd=10
  68. var /*<int>*/ StopMultd = 10;
  69. } else {
  70. //StopMultd=1;
  71. StopMultd = 1;
  72. }
  73. //double TP=NormalizeDouble(TakeProfit*StopMultd,Digits);
  74. //double TP=NormalizeDouble(TakeProfit*StopMultd,Digits)
  75. var /*<double>*/ TP = mql4.normalizeDouble(TakeProfit * StopMultd, Digits);
  76. //double SL=NormalizeDouble(StopLoss*StopMultd,Digits);
  77. //double SL=NormalizeDouble(StopLoss*StopMultd,Digits)
  78. var /*<double>*/ SL = mql4.normalizeDouble(StopLoss * StopMultd, Digits);
  79. //double slb=NormalizeDouble(Ask-SL*Point,Digits);
  80. //double slb=NormalizeDouble(Ask-SL*Point,Digits)
  81. var /*<double>*/ slb = mql4.normalizeDouble(Ask - SL * Point, Digits);
  82. //double sls=NormalizeDouble(Bid+SL*Point,Digits);
  83. //double sls=NormalizeDouble(Bid+SL*Point,Digits)
  84. var /*<double>*/ sls = mql4.normalizeDouble(Bid + SL * Point, Digits);
  85. //double tpb=NormalizeDouble(Ask+TP*Point,Digits);
  86. //double tpb=NormalizeDouble(Ask+TP*Point,Digits)
  87. var /*<double>*/ tpb = mql4.normalizeDouble(Ask + TP * Point, Digits);
  88. //double tps=NormalizeDouble(Bid-TP*Point,Digits);
  89. //double tps=NormalizeDouble(Bid-TP*Point,Digits)
  90. var /*<double>*/ tps = mql4.normalizeDouble(Bid - TP * Point, Digits);
  91. //if(OrdersTotal()>0){
  92. // for(int i=1; i<=OrdersTotal(); i++) // Cycle searching in orders
  93. // {
  94. // if (OrderSelect(i-1,SELECT_BY_POS)==true) // If the next is available
  95. // {
  96. // if(MonitorTakeProfit==true){ // monitor tp
  97. //
  98. // if((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tpb,0,CLR_NONE); }
  99. // if((OrderType()==OP_SELL)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tps,0,CLR_NONE); }
  100. //
  101. // } // monitor tp
  102. //
  103. // if(MonitorStopLoss==true){ // monitor sl
  104. //
  105. // if((OrderType()==OP_BUY)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,slb,OrderTakeProfit(),0,CLR_NONE); }
  106. // if((OrderType()==OP_SELL)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,sls,OrderTakeProfit(),0,CLR_NONE); }
  107. //
  108. // }// monitor sl
  109. //
  110. // }
  111. // }
  112. //}
  113. if (mql4.ordersTotal() > 0) {
  114. //for(int i=1; i<=OrdersTotal(); i++) // Cycle searching in orders
  115. // {
  116. // if (OrderSelect(i-1,SELECT_BY_POS)==true) // If the next is available
  117. // {
  118. // if(MonitorTakeProfit==true){ // monitor tp
  119. //
  120. // if((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tpb,0,CLR_NONE); }
  121. // if((OrderType()==OP_SELL)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tps,0,CLR_NONE); }
  122. //
  123. // } // monitor tp
  124. //
  125. // if(MonitorStopLoss==true){ // monitor sl
  126. //
  127. // if((OrderType()==OP_BUY)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,slb,OrderTakeProfit(),0,CLR_NONE); }
  128. // if((OrderType()==OP_SELL)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,sls,OrderTakeProfit(),0,CLR_NONE); }
  129. //
  130. // }// monitor sl
  131. //
  132. // }
  133. // }
  134. for ( //int i=1
  135. var /*<int>*/ i = 1; i <= mql4.ordersTotal(); i++) {
  136. //if (OrderSelect(i-1,SELECT_BY_POS)==true) // If the next is available
  137. // {
  138. // if(MonitorTakeProfit==true){ // monitor tp
  139. //
  140. // if((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tpb,0,CLR_NONE); }
  141. // if((OrderType()==OP_SELL)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tps,0,CLR_NONE); }
  142. //
  143. // } // monitor tp
  144. //
  145. // if(MonitorStopLoss==true){ // monitor sl
  146. //
  147. // if((OrderType()==OP_BUY)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,slb,OrderTakeProfit(),0,CLR_NONE); }
  148. // if((OrderType()==OP_SELL)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,sls,OrderTakeProfit(),0,CLR_NONE); }
  149. //
  150. // }// monitor sl
  151. //
  152. // }
  153. if (mql4.orderSelect(i - 1, MQL4.SELECT_BY_POS) === true) {
  154. //if(MonitorTakeProfit==true){ // monitor tp
  155. //
  156. // if((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tpb,0,CLR_NONE); }
  157. // if((OrderType()==OP_SELL)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tps,0,CLR_NONE); }
  158. //
  159. // }
  160. if (MonitorTakeProfit === true) {
  161. //if((OrderType()==OP_BUY)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tpb,0,CLR_NONE); }
  162. if ((mql4.orderType() === MQL4.OP_BUY) && (mql4.orderTakeProfit() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
  163. //OrderModify(OrderTicket(),0,OrderStopLoss(),tpb,0,CLR_NONE);
  164. mql4.orderModify(mql4.orderTicket(), 0, mql4.orderStopLoss(), tpb, 0);
  165. }
  166. //if((OrderType()==OP_SELL)&&(OrderTakeProfit()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,OrderStopLoss(),tps,0,CLR_NONE); }
  167. if ((mql4.orderType() === MQL4.OP_SELL) && (mql4.orderTakeProfit() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
  168. //OrderModify(OrderTicket(),0,OrderStopLoss(),tps,0,CLR_NONE);
  169. mql4.orderModify(mql4.orderTicket(), 0, mql4.orderStopLoss(), tps, 0);
  170. }
  171. }
  172. //if(MonitorStopLoss==true){ // monitor sl
  173. //
  174. // if((OrderType()==OP_BUY)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,slb,OrderTakeProfit(),0,CLR_NONE); }
  175. // if((OrderType()==OP_SELL)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,sls,OrderTakeProfit(),0,CLR_NONE); }
  176. //
  177. // }
  178. if (MonitorStopLoss === true) {
  179. //if((OrderType()==OP_BUY)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,slb,OrderTakeProfit(),0,CLR_NONE); }
  180. if ((mql4.orderType() === MQL4.OP_BUY) && (mql4.orderStopLoss() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
  181. //OrderModify(OrderTicket(),0,slb,OrderTakeProfit(),0,CLR_NONE);
  182. mql4.orderModify(mql4.orderTicket(), 0, slb, mql4.orderTakeProfit(), 0);
  183. }
  184. //if((OrderType()==OP_SELL)&&(OrderStopLoss()==0)&&(OrderSymbol()==Symbol())){ OrderModify(OrderTicket(),0,sls,OrderTakeProfit(),0,CLR_NONE); }
  185. if ((mql4.orderType() === MQL4.OP_SELL) && (mql4.orderStopLoss() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
  186. //OrderModify(OrderTicket(),0,sls,OrderTakeProfit(),0,CLR_NONE);
  187. mql4.orderModify(mql4.orderTicket(), 0, sls, mql4.orderTakeProfit(), 0);
  188. }
  189. }
  190. }
  191. }
  192. }
  193. //int Error=GetLastError();
  194. //int Error=GetLastError()
  195. var /*<int>*/ Error = mql4.throwNotSupportedFunction('GetLastError');
  196. //if(Error==130){Alert("Wrong stops. Retrying."); RefreshRates();}
  197. if (Error === 130) {
  198. //Alert("Wrong stops. Retrying.");
  199. console.log('Mt4 Alert :' + "Wrong stops. Retrying.");
  200. //RefreshRates();
  201. mql4.refreshRates();
  202. }
  203. //if(Error==133){Alert("Trading prohibited.");}
  204. if (Error === 133) {
  205. //Alert("Trading prohibited.");
  206. console.log('Mt4 Alert :' + "Trading prohibited.");
  207. }
  208. //if(Error==2){Alert("Common error.");}
  209. if (Error === 2) {
  210. //Alert("Common error.");
  211. console.log('Mt4 Alert :' + "Common error.");
  212. }
  213. //if(Error==146){Alert("Trading subsystem is busy. Retrying."); Sleep(500); RefreshRates();}
  214. if (Error === 146) {
  215. //Alert("Trading subsystem is busy. Retrying.");
  216. console.log('Mt4 Alert :' + "Trading subsystem is busy. Retrying.");
  217. //Sleep(500);
  218. /* Deprecated */
  219. getRuntime().sleep(500);
  220. //RefreshRates();
  221. mql4.refreshRates();
  222. }
  223. //return(0);
  224. return 0;
  225. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Main.java:1: error: class, interface, or enum expected
var $externalParameters = [{
^
Main.java:3: error: unclosed character literal
        'type': 'string',
        ^
Main.java:3: error: unclosed character literal
        'type': 'string',
             ^
Main.java:3: error: unclosed character literal
        'type': 'string',
                ^
Main.java:3: error: unclosed character literal
        'type': 'string',
                       ^
Main.java:8: error: unclosed character literal
        'type': 'string',
        ^
Main.java:8: error: unclosed character literal
        'type': 'string',
             ^
Main.java:8: error: unclosed character literal
        'type': 'string',
                ^
Main.java:8: error: unclosed character literal
        'type': 'string',
                       ^
Main.java:13: error: unclosed character literal
        'type': 'bool',
        ^
Main.java:13: error: unclosed character literal
        'type': 'bool',
             ^
Main.java:13: error: unclosed character literal
        'type': 'bool',
                ^
Main.java:13: error: unclosed character literal
        'type': 'bool',
                     ^
Main.java:18: error: unclosed character literal
        'type': 'bool',
        ^
Main.java:18: error: unclosed character literal
        'type': 'bool',
             ^
Main.java:18: error: unclosed character literal
        'type': 'bool',
                ^
Main.java:18: error: unclosed character literal
        'type': 'bool',
                     ^
Main.java:23: error: unclosed character literal
        'type': 'double',
        ^
Main.java:23: error: unclosed character literal
        'type': 'double',
             ^
Main.java:23: error: unclosed character literal
        'type': 'double',
                ^
Main.java:23: error: unclosed character literal
        'type': 'double',
                       ^
Main.java:28: error: unclosed character literal
        'type': 'double',
        ^
Main.java:28: error: unclosed character literal
        'type': 'double',
             ^
Main.java:28: error: unclosed character literal
        'type': 'double',
                ^
Main.java:28: error: unclosed character literal
        'type': 'double',
                       ^
Main.java:32: error: class, interface, or enum expected
var $parameters = {
^
Main.java:49: error: class, interface, or enum expected
var /*<string>*/ ProvidedFreeBy = $parameters.ProvidedFreeBy;
^
Main.java:51: error: class, interface, or enum expected
var /*<string>*/ AboutAutostop = $parameters.AboutAutostop;
^
Main.java:53: error: class, interface, or enum expected
var /*<bool>*/ MonitorTakeProfit = $parameters.MonitorTakeProfit;
^
Main.java:55: error: class, interface, or enum expected
var /*<bool>*/ MonitorStopLoss = $parameters.MonitorStopLoss;
^
Main.java:57: error: class, interface, or enum expected
var /*<double>*/ TakeProfit = $parameters.TakeProfit;
^
Main.java:59: error: class, interface, or enum expected
var /*<double>*/ StopLoss = $parameters.StopLoss;
^
Main.java:60: error: class, interface, or enum expected
var /*<int>*/ start = function() {
^
Main.java:65: error: class, interface, or enum expected
    if (digits === 5) {
    ^
Main.java:69: error: class, interface, or enum expected
    } else {
    ^
Main.java:72: error: class, interface, or enum expected
    }
    ^
Main.java:78: error: class, interface, or enum expected
    var /*<double>*/ SL = mql4.normalizeDouble(StopLoss * StopMultd, Digits);
    ^
Main.java:81: error: class, interface, or enum expected
    var /*<double>*/ slb = mql4.normalizeDouble(Ask - SL * Point, Digits);
    ^
Main.java:84: error: class, interface, or enum expected
    var /*<double>*/ sls = mql4.normalizeDouble(Bid + SL * Point, Digits);
    ^
Main.java:87: error: class, interface, or enum expected
    var /*<double>*/ tpb = mql4.normalizeDouble(Ask + TP * Point, Digits);
    ^
Main.java:90: error: class, interface, or enum expected
    var /*<double>*/ tps = mql4.normalizeDouble(Bid - TP * Point, Digits);
    ^
Main.java:113: error: class, interface, or enum expected
    if (mql4.ordersTotal() > 0) {
    ^
Main.java:135: error: class, interface, or enum expected
            var /*<int>*/ i = 1; i <= mql4.ordersTotal(); i++) {
                                 ^
Main.java:135: error: class, interface, or enum expected
            var /*<int>*/ i = 1; i <= mql4.ordersTotal(); i++) {
                                                          ^
Main.java:162: error: unclosed character literal
                    if ((mql4.orderType() === MQL4.OP_BUY) && (mql4.orderTakeProfit() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
                                                                                                                                                       ^
Main.java:162: error: unclosed character literal
                    if ((mql4.orderType() === MQL4.OP_BUY) && (mql4.orderTakeProfit() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
                                                                                                                                                              ^
Main.java:165: error: class, interface, or enum expected
                    }
                    ^
Main.java:167: error: unclosed character literal
                    if ((mql4.orderType() === MQL4.OP_SELL) && (mql4.orderTakeProfit() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
                                                                                                                                                        ^
Main.java:167: error: unclosed character literal
                    if ((mql4.orderType() === MQL4.OP_SELL) && (mql4.orderTakeProfit() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
                                                                                                                                                               ^
Main.java:170: error: class, interface, or enum expected
                    }
                    ^
Main.java:180: error: unclosed character literal
                    if ((mql4.orderType() === MQL4.OP_BUY) && (mql4.orderStopLoss() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
                                                                                                                                                     ^
Main.java:180: error: unclosed character literal
                    if ((mql4.orderType() === MQL4.OP_BUY) && (mql4.orderStopLoss() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
                                                                                                                                                            ^
Main.java:183: error: class, interface, or enum expected
                    }
                    ^
Main.java:185: error: unclosed character literal
                    if ((mql4.orderType() === MQL4.OP_SELL) && (mql4.orderStopLoss() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
                                                                                                                                                      ^
Main.java:185: error: unclosed character literal
                    if ((mql4.orderType() === MQL4.OP_SELL) && (mql4.orderStopLoss() === 0) && (mql4.orderSymbol() === mql4.throwNotSupportedFunction('Symbol'))) {
                                                                                                                                                             ^
Main.java:188: error: class, interface, or enum expected
                    }
                    ^
Main.java:195: error: unclosed character literal
    var /*<int>*/ Error = mql4.throwNotSupportedFunction('GetLastError');
                                                         ^
Main.java:195: error: unclosed character literal
    var /*<int>*/ Error = mql4.throwNotSupportedFunction('GetLastError');
                                                                      ^
Main.java:197: error: class, interface, or enum expected
    if (Error === 130) {
    ^
Main.java:199: error: unclosed character literal
        console.log('Mt4 Alert :' + "Wrong stops. Retrying.");
                    ^
Main.java:199: error: unclosed character literal
        console.log('Mt4 Alert :' + "Wrong stops. Retrying.");
                                ^
Main.java:201: error: class, interface, or enum expected
        mql4.refreshRates();
        ^
Main.java:202: error: class, interface, or enum expected
    }
    ^
Main.java:206: error: unclosed character literal
        console.log('Mt4 Alert :' + "Trading prohibited.");
                    ^
Main.java:206: error: unclosed character literal
        console.log('Mt4 Alert :' + "Trading prohibited.");
                                ^
Main.java:207: error: class, interface, or enum expected
    }
    ^
Main.java:211: error: unclosed character literal
        console.log('Mt4 Alert :' + "Common error.");
                    ^
Main.java:211: error: unclosed character literal
        console.log('Mt4 Alert :' + "Common error.");
                                ^
Main.java:212: error: class, interface, or enum expected
    }
    ^
Main.java:216: error: unclosed character literal
        console.log('Mt4 Alert :' + "Trading subsystem is busy. Retrying.");
                    ^
Main.java:216: error: unclosed character literal
        console.log('Mt4 Alert :' + "Trading subsystem is busy. Retrying.");
                                ^
Main.java:219: error: class, interface, or enum expected
        getRuntime().sleep(500);
        ^
Main.java:221: error: class, interface, or enum expected
        mql4.refreshRates();
        ^
Main.java:222: error: class, interface, or enum expected
    }
    ^
Main.java:225: error: class, interface, or enum expected
}
^
75 errors
stdout
Standard output is empty