mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
add support for MQL4 and MQL5
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -791,3 +791,6 @@
|
|||||||
[submodule "vendor/grammars/language-babel"]
|
[submodule "vendor/grammars/language-babel"]
|
||||||
path = vendor/grammars/language-babel
|
path = vendor/grammars/language-babel
|
||||||
url = https://github.com/github-linguist/language-babel
|
url = https://github.com/github-linguist/language-babel
|
||||||
|
[submodule "vendor/grammars/MQL5-sublime"]
|
||||||
|
path = vendor/grammars/MQL5-sublime
|
||||||
|
url = https://github.com/mqsoft/MQL5-sublime
|
||||||
|
|||||||
@@ -47,6 +47,8 @@ vendor/grammars/Lean.tmbundle:
|
|||||||
- source.lean
|
- source.lean
|
||||||
vendor/grammars/LiveScript.tmbundle:
|
vendor/grammars/LiveScript.tmbundle:
|
||||||
- source.livescript
|
- source.livescript
|
||||||
|
vendor/grammars/MQL5-sublime:
|
||||||
|
- source.mql5
|
||||||
vendor/grammars/MagicPython:
|
vendor/grammars/MagicPython:
|
||||||
- source.python
|
- source.python
|
||||||
- source.regexp.python
|
- source.regexp.python
|
||||||
|
|||||||
@@ -2208,6 +2208,24 @@ MAXScript:
|
|||||||
tm_scope: source.maxscript
|
tm_scope: source.maxscript
|
||||||
ace_mode: text
|
ace_mode: text
|
||||||
language_id: 217
|
language_id: 217
|
||||||
|
MQL4:
|
||||||
|
type: programming
|
||||||
|
color: "#62A8D6"
|
||||||
|
extensions:
|
||||||
|
- ".mq4"
|
||||||
|
- ".mqh"
|
||||||
|
tm_scope: source.mql5
|
||||||
|
ace_mode: c_cpp
|
||||||
|
language_id: 422
|
||||||
|
MQL5:
|
||||||
|
type: programming
|
||||||
|
color: "#4A76B8"
|
||||||
|
extensions:
|
||||||
|
- ".mq5"
|
||||||
|
- ".mqh"
|
||||||
|
tm_scope: source.mql5
|
||||||
|
ace_mode: c_cpp
|
||||||
|
language_id: 423
|
||||||
MTML:
|
MTML:
|
||||||
type: markup
|
type: markup
|
||||||
color: "#b7e1f4"
|
color: "#b7e1f4"
|
||||||
|
|||||||
47
samples/MQL4/header-sample.mqh
Normal file
47
samples/MQL4/header-sample.mqh
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| header-sample.mqh |
|
||||||
|
//| Copyright 2016, Andrey Osorgin |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| The MIT License (MIT) |
|
||||||
|
//| |
|
||||||
|
//| Permission is hereby granted, free of charge, to any person |
|
||||||
|
//| obtaining a copy of this software and associated documentation |
|
||||||
|
//| files (the "Software"), to deal in the Software without |
|
||||||
|
//| restriction, including without limitation the rights to use, |
|
||||||
|
//| copy, modify, merge, publish, distribute, sublicense, and/or sell|
|
||||||
|
//| copies of the Software, and to permit persons to whom the |
|
||||||
|
//| Software is furnished to do so, subject to the following |
|
||||||
|
//| conditions: |
|
||||||
|
//| |
|
||||||
|
//| The above copyright notice and this permission notice shall be |
|
||||||
|
//| included in all copies or substantial portions of the Software. |
|
||||||
|
//| |
|
||||||
|
//| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|
||||||
|
//| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
|
||||||
|
//| OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
||||||
|
//| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
||||||
|
//| HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
|
||||||
|
//| WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
||||||
|
//| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
|
||||||
|
//| OTHER DEALINGS IN THE SOFTWARE. |
|
||||||
|
//| |
|
||||||
|
//| A copy of the MIT License (MIT) is available at |
|
||||||
|
//| https://opensource.org/licenses/MIT |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
#property strict
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
class CSomeObject
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
int m_someproperty;
|
||||||
|
private:
|
||||||
|
bool SomeFunction() {return true;}
|
||||||
|
public:
|
||||||
|
CSomeObject(void): m_someproperty(0) {}
|
||||||
|
~CSomeObject(void) {}
|
||||||
|
void SetName(int n){m_someproperty=n;}// sets somepropery
|
||||||
|
int GetName(){return(m_someproperty);} // returns someproperty
|
||||||
|
};
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
61
samples/MQL4/indicator-sample.mq4
Normal file
61
samples/MQL4/indicator-sample.mq4
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| indicator-sample.mq4 |
|
||||||
|
//| Copyright 2016, Andrey Osorgin |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| The MIT License (MIT) |
|
||||||
|
//| |
|
||||||
|
//| Permission is hereby granted, free of charge, to any person |
|
||||||
|
//| obtaining a copy of this software and associated documentation |
|
||||||
|
//| files (the "Software"), to deal in the Software without |
|
||||||
|
//| restriction, including without limitation the rights to use, |
|
||||||
|
//| copy, modify, merge, publish, distribute, sublicense, and/or sell|
|
||||||
|
//| copies of the Software, and to permit persons to whom the |
|
||||||
|
//| Software is furnished to do so, subject to the following |
|
||||||
|
//| conditions: |
|
||||||
|
//| |
|
||||||
|
//| The above copyright notice and this permission notice shall be |
|
||||||
|
//| included in all copies or substantial portions of the Software. |
|
||||||
|
//| |
|
||||||
|
//| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|
||||||
|
//| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
|
||||||
|
//| OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
||||||
|
//| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
||||||
|
//| HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
|
||||||
|
//| WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
||||||
|
//| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
|
||||||
|
//| OTHER DEALINGS IN THE SOFTWARE. |
|
||||||
|
//| |
|
||||||
|
//| A copy of the MIT License (MIT) is available at |
|
||||||
|
//| https://opensource.org/licenses/MIT |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
#property version "1.00"
|
||||||
|
#property strict
|
||||||
|
|
||||||
|
#property indicator_chart_window
|
||||||
|
#property indicator_plots 0
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| Custom indicator initialization function |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
void OnInit(void)
|
||||||
|
{
|
||||||
|
//---
|
||||||
|
}
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| Bears Power |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
int OnCalculate(const int rates_total,
|
||||||
|
const int prev_calculated,
|
||||||
|
const datetime &time[],
|
||||||
|
const double &open[],
|
||||||
|
const double &high[],
|
||||||
|
const double &low[],
|
||||||
|
const double &close[],
|
||||||
|
const long &tick_volume[],
|
||||||
|
const long &volume[],
|
||||||
|
const int &spread[])
|
||||||
|
{
|
||||||
|
Print("The number of bars on the current chart: ",iBars(Symbol(),Period()));
|
||||||
|
//---
|
||||||
|
return(rates_total);
|
||||||
|
}
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
51
samples/MQL4/script-sample.mq4
Normal file
51
samples/MQL4/script-sample.mq4
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| script-sample.mq4 |
|
||||||
|
//| Copyright 2016, Andrey Osorgin |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| The MIT License (MIT) |
|
||||||
|
//| |
|
||||||
|
//| Permission is hereby granted, free of charge, to any person |
|
||||||
|
//| obtaining a copy of this software and associated documentation |
|
||||||
|
//| files (the "Software"), to deal in the Software without |
|
||||||
|
//| restriction, including without limitation the rights to use, |
|
||||||
|
//| copy, modify, merge, publish, distribute, sublicense, and/or sell|
|
||||||
|
//| copies of the Software, and to permit persons to whom the |
|
||||||
|
//| Software is furnished to do so, subject to the following |
|
||||||
|
//| conditions: |
|
||||||
|
//| |
|
||||||
|
//| The above copyright notice and this permission notice shall be |
|
||||||
|
//| included in all copies or substantial portions of the Software. |
|
||||||
|
//| |
|
||||||
|
//| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|
||||||
|
//| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
|
||||||
|
//| OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
||||||
|
//| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
||||||
|
//| HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
|
||||||
|
//| WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
||||||
|
//| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
|
||||||
|
//| OTHER DEALINGS IN THE SOFTWARE. |
|
||||||
|
//| |
|
||||||
|
//| A copy of the MIT License (MIT) is available at |
|
||||||
|
//| https://opensource.org/licenses/MIT |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
#property version "1.00"
|
||||||
|
#property strict
|
||||||
|
#property script_show_inputs
|
||||||
|
|
||||||
|
input int StopLoss=100; //Stop Loss
|
||||||
|
input int TakeProfit=100; //Take Profit
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| Script program start function |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
void OnStart()
|
||||||
|
{
|
||||||
|
double minstoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
|
||||||
|
Print("Minimum Stop Level=",minstoplevel," points");
|
||||||
|
//---
|
||||||
|
double sl=NormalizeDouble(Bid-StopLoss*Point,Digits);
|
||||||
|
double tp=NormalizeDouble(Ask+TakeProfit*Point,Digits);
|
||||||
|
//---
|
||||||
|
int result=OrderSend(Symbol(),OP_BUY,0.01,Ask,1,sl,tp,"Test",0,0,clrNONE);
|
||||||
|
Print("Success? ",result);
|
||||||
|
}
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
1390
samples/MQL5/Regex.mqh
Normal file
1390
samples/MQL5/Regex.mqh
Normal file
File diff suppressed because it is too large
Load Diff
64
samples/MQL5/indicator-sample.mq5
Normal file
64
samples/MQL5/indicator-sample.mq5
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| indicator-sample.mq5 |
|
||||||
|
//| Copyright 2016, Andrey Osorgin |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| The MIT License (MIT) |
|
||||||
|
//| |
|
||||||
|
//| Permission is hereby granted, free of charge, to any person |
|
||||||
|
//| obtaining a copy of this software and associated documentation |
|
||||||
|
//| files (the "Software"), to deal in the Software without |
|
||||||
|
//| restriction, including without limitation the rights to use, |
|
||||||
|
//| copy, modify, merge, publish, distribute, sublicense, and/or sell|
|
||||||
|
//| copies of the Software, and to permit persons to whom the |
|
||||||
|
//| Software is furnished to do so, subject to the following |
|
||||||
|
//| conditions: |
|
||||||
|
//| |
|
||||||
|
//| The above copyright notice and this permission notice shall be |
|
||||||
|
//| included in all copies or substantial portions of the Software. |
|
||||||
|
//| |
|
||||||
|
//| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|
||||||
|
//| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
|
||||||
|
//| OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
||||||
|
//| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
||||||
|
//| HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
|
||||||
|
//| WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
||||||
|
//| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
|
||||||
|
//| OTHER DEALINGS IN THE SOFTWARE. |
|
||||||
|
//| |
|
||||||
|
//| A copy of the MIT License (MIT) is available at |
|
||||||
|
//| https://opensource.org/licenses/MIT |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
#property version "1.00"
|
||||||
|
|
||||||
|
#property indicator_chart_window
|
||||||
|
#property indicator_plots 0
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| Custom indicator initialization function |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
int OnInit()
|
||||||
|
{
|
||||||
|
//---
|
||||||
|
return(INIT_SUCCEEDED);
|
||||||
|
}
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| Custom indicator iteration function |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
int OnCalculate(const int rates_total,
|
||||||
|
const int prev_calculated,
|
||||||
|
const datetime &time[],
|
||||||
|
const double &open[],
|
||||||
|
const double &high[],
|
||||||
|
const double &low[],
|
||||||
|
const double &close[],
|
||||||
|
const long &tick_volume[],
|
||||||
|
const long &volume[],
|
||||||
|
const int &spread[])
|
||||||
|
{
|
||||||
|
//---
|
||||||
|
int bars=Bars(Symbol(),0);
|
||||||
|
Print("Bars = ",bars,", rates_total = ",rates_total,", prev_calculated = ",prev_calculated);
|
||||||
|
Print("time[0] = ",time[0]," time[rates_total-1] = ",time[rates_total-1]);
|
||||||
|
//--- return value of prev_calculated for next call
|
||||||
|
return(rates_total);
|
||||||
|
}
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
56
samples/MQL5/script-sample.mq5
Normal file
56
samples/MQL5/script-sample.mq5
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| script-sample.mq5 |
|
||||||
|
//| Copyright 2016, Andrey Osorgin |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| The MIT License (MIT) |
|
||||||
|
//| |
|
||||||
|
//| Permission is hereby granted, free of charge, to any person |
|
||||||
|
//| obtaining a copy of this software and associated documentation |
|
||||||
|
//| files (the "Software"), to deal in the Software without |
|
||||||
|
//| restriction, including without limitation the rights to use, |
|
||||||
|
//| copy, modify, merge, publish, distribute, sublicense, and/or sell|
|
||||||
|
//| copies of the Software, and to permit persons to whom the |
|
||||||
|
//| Software is furnished to do so, subject to the following |
|
||||||
|
//| conditions: |
|
||||||
|
//| |
|
||||||
|
//| The above copyright notice and this permission notice shall be |
|
||||||
|
//| included in all copies or substantial portions of the Software. |
|
||||||
|
//| |
|
||||||
|
//| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|
||||||
|
//| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
|
||||||
|
//| OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
||||||
|
//| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
||||||
|
//| HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
|
||||||
|
//| WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
||||||
|
//| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
|
||||||
|
//| OTHER DEALINGS IN THE SOFTWARE. |
|
||||||
|
//| |
|
||||||
|
//| A copy of the MIT License (MIT) is available at |
|
||||||
|
//| https://opensource.org/licenses/MIT |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
#property version "1.00"
|
||||||
|
#property script_show_inputs
|
||||||
|
|
||||||
|
#include <Trade\Trade.mqh>
|
||||||
|
|
||||||
|
input int StopLoss=100; // Stop Loss
|
||||||
|
input int TakeProfit=100; // Take Profit
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
//| Script program start function |
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
|
void OnStart()
|
||||||
|
{
|
||||||
|
CTrade trade;
|
||||||
|
//---
|
||||||
|
long stoplevel=SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
|
||||||
|
Print("Minimum stop level is: ",stoplevel);
|
||||||
|
double ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
|
||||||
|
double bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
|
||||||
|
double sl = NormalizeDouble(bid - StopLoss*Point(),Digits());
|
||||||
|
double tp = NormalizeDouble(ask + TakeProfit*Point(),Digits());
|
||||||
|
//---
|
||||||
|
bool result=trade.Buy(0.01,Symbol(),ask,sl,tp,"test");
|
||||||
|
//---
|
||||||
|
Print("Success? ",result);
|
||||||
|
}
|
||||||
|
//+------------------------------------------------------------------+
|
||||||
1
vendor/grammars/MQL5-sublime
vendored
Submodule
1
vendor/grammars/MQL5-sublime
vendored
Submodule
Submodule vendor/grammars/MQL5-sublime added at a41ed3b5e5
26
vendor/licenses/grammar/MQL5-sublime.txt
vendored
Normal file
26
vendor/licenses/grammar/MQL5-sublime.txt
vendored
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
type: grammar
|
||||||
|
name: MQL5-sublime
|
||||||
|
license: mit
|
||||||
|
---
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2016 mqsoft
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
Reference in New Issue
Block a user