Kompilowanie mql4 w Notepadzie++

Forum poświęcone mojego autorstwa pluginowi stanowiacemu razem ze świetnym edytorem Notepad++ kompletne środowisko programistyczne w jezyku PHP.

Kompilowanie mql4 w Notepadzie++

Postby Kmicic » 2012-04-05, 08:48

Jeżeli chcesz uzywać edytora Notepad++ do kompilacji plików mq4 (języka mql4) używanego na platformach trader.
Utwórz w katalogu głównym gdzie znajduje sie plik metalang.exe plik BAT zawierający tekst:

Code: [Select all] [Expand/Collapse] [Download] (Untitled)

cd "C:\Program Files\GO4X\"
metalang.exe %1 > compile.log
cd "C:\Program Files\Notepad++\"
notepad++.exe "C:\Program Files\GO4X\compile.log"

GeSHi © Codebox Plus


Jeżeli Metatrader znajduje sie na innym dysku np E:
Code: [Select all] [Expand/Collapse] [Download] (Untitled)
E:
cd "E:\Program Files\GO4X\"
metalang.exe %1 > compile.log
C:
cd "C:\Program Files\Notepad++\"
notepad++.exe "E:\Program Files\GO4X\compile.log"
E:
cd "E:\Program Files\GO4X\"
terminal.exe
GeSHi © Codebox Plus


powyższy kod dodatkowo wywołuje okno programu gotowe do testów przekompilowanego pliku.

Wywołany plik uruchamia kompilator a wynik kompilacji zapisuje w pliku compile.log
plik logowania jest po kompilacji otwierany w Notepadzie++ i zawiera ewentualne błedy kompilacji.

Aby uruchamiać w menu RUN dodaj polecenie :
Code: [Select all] [Expand/Collapse] [Download] (Untitled)

"C:\Program Files\GO4X\compile.bat" "$(FULL_CURRENT_PATH)";

GeSHi © Codebox Plus


w pliku konfiguracji shortcut.xml bedzie to polecenie tag xml :
Code: [Select all] [Expand/Collapse] [Download] (Untitled)

      <Command name="mql4 Compile" Ctrl="no" Alt="no" Shift="no" Key="0">&quot;C:\Program Files\GO4X\compile.bat&quot; &quot;$(FULL_CURRENT_PATH)&quot;</Command>

GeSHi © Codebox Plus


aby szybko uruchamiać kompilację w konfigarcję menu kontekstowego (podręczne menu uruchamiane prawym przyciskiem myszki) dodaj polecenie
Code: [Select all] [Expand/Collapse] [Download] (Untitled)

      <Item id="0"/>
        <Item MenuEntryName="Run" MenuItemName="mql4 Compile"/>

GeSHi © Codebox Plus

Jako podświetlenie można użyć pliku XML
Code: [Select all] [Expand/Collapse] [Download] (Untitled)

<NotepadPlus>
<UserLang name="mql4" ext="mq4">
<Settings>
<Global caseIgnored="no" escapeChar="\"/>
<TreatAsSymbol comment="yes" commentLine="no"/>
<Prefix words1="yes" words2="yes" words3="no" words4="no"/>
</Settings>
<KeywordLists>
<Keywords name="Delimiters">"00"00</Keywords>
<Keywords name="Folder+"/>
<Keywords name="Folder-"/>
<Keywords name="Operators">- ! " % & * ^ + < = ></Keywords>
<Keywords name="Comment">1/* 2*/ 0//</Keywords>
<Keywords name="Words1">
#define #import #include #property extern static int double string color datetime bool void while if for else return
</Keywords>
<Keywords name="Words2">
init deinit start AccountBalance
 AccountCredit
 AccountCompany
 AccountCurrency
 AccountEquity
 AccountFreeMargin
 AccountFreeMarginCheck
 AccountFreeMarginMode
 AccountLeverage
 AccountMargin
 AccountName
 AccountNumber
 AccountProfit
 AccountServer
 AccountStopoutLevel
 AccountStopoutMode
 Alert
 ArrayBsearch
 ArrayCopy
 ArrayCopyRates
 ArrayCopySeries
 ArrayDimension
 ArrayGetAsSeries
 ArrayInitialize
 ArrayIsSeries
 ArrayMaximum
 ArrayMinimum
 ArrayRange
 ArrayResize
 ArraySetAsSeries
 ArraySize
 ArraySort
 CharToStr
 Comment
 DayDayOfWeek
 DayOfYear
 DoubleToStr
 FileClose
 FileDelete
 FileFlush
 FileIsEnding
 FileIsLineEnding
 FileOpen
 FileOpenHistory
 FileReadArray
 FileReadDouble
 FileReadInteger
 FileReadNumber
 FileReadString
 FileSeek
 FileSize
 FileTell
 FileWrite
 FileWriteArray
 FileWriteDouble
 FileWriteInteger
 FileWriteString
 GetLastError
 GetTickCount
 GlobalVariableCheck
 GlobalVariableDel
 GlobalVariableGet
 GlobalVariableName
 GlobalVariableSet
 GlobalVariableSetOnCondition
 GlobalVariablesDeleteAll
 GlobalVariablesTotal
 HideTestIndicators
 Hour
 iAC
 iAD
 iAlligator
 iADX
 iATR
 iAO
 iBars
 iBarShift
 iBearsPower
 iBands
 iBandsOnArray
 iBullsPower
 iBWMFI
 iCCI
 iCCIOnArray
 iClose
 iCustom
 iDeMarker
 iEnvelopes
 iEnvelopesOnArray
 iForce
 iFractals
 iGator
 iIchimoku
 iMomentum
 iMomentumOnArray
 iMFI
 iMA
 iMACD
 iMAOnArray
 iHigh
 iHighest
 iLow
 iLowest
 iOBV
 iOpen
 iOsMA
 IndicatorBuffers
 IndicatorCounted
 IndicatorDigits
 IndicatorShortName
 iRSI
 iRSIOnArray
 iRVI
 iSAR
 IsConnected
 IsDemo
 IsDllsAllowed
 IsExpertEnabled
 IsLibrariesAllowed
 IsOptimization
 IsStopped
 iStdDev
 iStdDevOnArray
 iStochastic
 IsTesting
 IsTradeAllowed
 IsTradeContextBusy
 IsVisualMode
 iTime
 iVolume
 iWPR
 MarketInfo
 MathAbs
 MathArccos
 MathArcsin
 MathArctan
 MathCeil
 MathCos
 MathExp
 MathFloor
 MathLog
 MathMax
 MathMin
 MathMod
 MathPow
 MathRand
 MathRound
 MathSin
 MathSqrt
 MathSrand
 MathTan
 MessageBox
 Minute
 Month
 NormalizeDouble
 ObjectCreate
 ObjectDelete
 ObjectDescription
 ObjectFind
 ObjectGet
 ObjectGetFiboDescription
 ObjectGetShiftByValue
 ObjectGetValueByShift
 ObjectMove
 ObjectName
 ObjectsDeleteAll
 ObjectSet
 ObjectSetFiboDescription
 ObjectSetText
 ObjectsTotal
 ObjectType
 OrderClose
 OrderCloseBy
 OrderClosePrice
 OrderCloseTime
 OrderComment
 OrderCommission
 OrderDelete
 OrderExpiration
 OrderLots
 OrderMagicNumber
 OrderModify
 OrderOpenPrice
 OrderOpenTime
 OrderPrint
 OrderProfit
 OrderSelect
 OrderSend
 OrdersHistoryTotal
 OrderStopLoss
 OrdersTotal
 OrderSwap
 OrderSymbol
 OrderTakeProfit
 OrderTicket
 OrderType
 Period
 PlaySound
 Print
 RefreshRates
 Seconds
 SendFTP
 SendMail
 SetIndexArrow
 SetIndexBuffer
 SetIndexDrawBegin
 SetIndexEmptyValue
 SetIndexLabel
 SetIndexShift
 SetIndexStyle
 SetLevelStyle
 SetLevelValue
 Sleep
 StringConcatenate
 StringFind
 StringGetChar
 StringLen
 StringSetChar
 StringSubstr
 StringTrimLeft
 StringTrimRight
 StrToDouble
 StrToInteger
 StrToTime
 Symbol
 TerminalCompany
 TerminalName
 TerminalPath
 TimeCurrent
 TimeDay
 TimeDayOfWeek
 TimeDayOfYear
 TimeHour
 TimeLocal
 TimeMinute
 TimeMonth
 TimeSeconds
 TimeToStr
 TimeYear
 UninitializeReason
 WindowBarsPerChart
 WindowExpertName
 WindowFind
 WindowFirstVisibleBar
 WindowHandle
 WindowIsVisible
 WindowOnDropped
 WindowPriceMax
 WindowPriceMin
 WindowPriceOnDropped
 WindowRedraw
 WindowScreenShot
 WindowTimeOnDropped
 WindowsTotal
 WindowXOnDropped
 WindowYOnDropped
 Year
</Keywords>
<Keywords name="Words3"/>
<Keywords name="Words4"/>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="FOLDEROPEN" styleID="12" fgColor="000000" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="000000" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="KEYWORD1" styleID="5" fgColor="400080" bgColor="FFFFFF" fontStyle="1"/>
<WordsStyle name="KEYWORD2" styleID="6" fgColor="0000FF" bgColor="FFFFFF" fontStyle="1"/>
<WordsStyle name="KEYWORD3" styleID="7" fgColor="000000" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="KEYWORD4" styleID="8" fgColor="000000" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="NUMBER" styleID="4" fgColor="000000" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="OPERATOR" styleID="10" fgColor="0080C0" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="DELIMINER1" styleID="14" fgColor="0080FF" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="DELIMINER2" styleID="15" fgColor="000000" bgColor="FFFFFF" fontStyle="0"/>
<WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontStyle="0"/>
</Styles>
</UserLang>
</NotepadPlus>

GeSHi © Codebox Plus


powodzenia
AK
--
Wojtek
Audaces fortuna iuvat - śmiałym szczęście sprzyja
User avatar
Kmicic
Administrator
 
Posts: 704
Joined: 2006-11-28, 00:40
Location: Obywatel świata

Return to Notepad++ PHP Script Plugin

Who is online

Users browsing this forum: No registered users and 1 guest