Съветник шаблон за автоматизирана търговия

Много търговци са изправени пред проблема за написването им експерти.

Откъде да започнем?
Как да настроите код съветник взема печалба, спрете загуба или пълзящ стоп?
Как мога да проверява ефективността на стратегията?
Вие не искате да поръчате при програмистите, които дълго време са направени за вас?
Намерили сте подобна стратегия и искате да го подобрите? Като програмист искам да кажа, че всеки ред 3 е подобно на предшественика си в своята логика.
Такива поръчки обикновено са по-евтини.

Всеки програмист има в определен брой функции и библиотеки, за да пиша и се радва на съветници

тях в писмен вид на заповед.

С тази статия и шаблони, вие ще бъдете в състояние да напишете първата си код в MQL4.

Съветник шаблон за автоматизирана търговия


Този шаблон е предназначен за обща цел на създаването на експерти в този шаблон положи най-

важни и необходими функции за работа с експерт

Сред характеристиките на този шаблон е:

Използвайте / неизползване - Stop Loss / Take Profit
Използвайте / неизползване - Търговия време
Използвайте / неизползване - MarketWatch технология за правене на бизнес (включване - само за тези, които знаят)
Използвайте / неизползване - чакащи поръчки / Market позиция - избор
Използвайте / неизползване - Avtolota, или друг да ползва фиксирано много
Използвайте / неизползване - на затваряне на позицията на обратен сигнал
Използвайте / неизползване - Treylingstopa

Външно шаблон:

основен модел кодът затворени в началото ()

  • IAC
  • IAD
  • iAlligator
  • iADX
  • iATR
  • Иао
  • iBearsPower
  • iBands
  • iBandsOnArray
  • iBullsPower
  • ICCI
  • iCCIOnArray
  • iDeMarker
  • iEnvelopes
  • iEnvelopesOnArray
  • iForce
  • iFractals
  • iGator
  • iIchimoku
  • iBWMFI
  • iMomentum
  • iMomentumOnArray
  • iMFI
  • IMA
  • iMAOnArray
  • iOsMA
  • iMACD
  • iOBV
  • Изар
  • IRSI
  • iRSIOnArray
  • iRVI
  • iStdDev
  • iStdDevOnArray
  • iStochastic
  • IWPR

* --- Използването на външни показатели (по поръчка) --- *

двойно iCustom (низ символ, вътр срок, низ име. режим вътр, вътр смяна)

Изчисление на потребителя на посочения показател. потребителския индикатор

Сигнал определяне единица

В този блок, и трябва да попитате за сигнали за търговия. Като пример, тук

пример за използване на индикатора MACD

заключение

изчезне въпроси по форуми

- как да се направи една проста система за търговия, както и програмисти ще могат да вземат това

шаблон, за да развиват своите сложни системи.

опциите са много.
функция за търсене последно позиция и затваряне на флага на м:

? 200 "200px ':' '+ (this.scrollHeight + 5) +' пиксела"); "> BOOL isCloseLastPosByTake (низ SY =" ", Int ОП = -1, Int Мп = -1 # 41; <
дата и час т;
двойно ОСР, ОТП;
Int DG, I, J = 1, к = OrdersHistoryTotal (# 41 ;;

ако (SY == "0" # 41; SY = Символ (# 41 ;;
за (I = 0; и ако (OrderSelect (I, SELECT_BY_POS, MODE_HISTORY # 41; # 41; <
ако (OrderSymbol (# 41; == SY # 124; # 124; Сай == "" # 41; <
ако (OrderType (# 41; == OP_BUY # 124; # 124; OrderType (# 41; == OP_SELL # 41; <
ако (оп<0 || OrderType()==op) <
ако (млн<0 || OrderMagicNumber()==mn) <
ако (т т = OrderCloseTime (# 41 ;;
J =;
>
>
>
>
>
>
>
ако (OrderSelect (й, SELECT_BY_POS, MODE_HISTORY # 41; # 41; <
DG = MarketInfo (OrderSymbol (# 41;, MODE_DIGITS # 41 ;;
ако (ГД == 0 # 41; ако (StringFind (OrderSymbol (# 41; "JPY" # 41;<0) dg=4; else dg=2;
OCP = NormalizeDouble (OrderClosePrice (# 41; ГД # 41 ;;
ОТП = NormalizeDouble (OrderTakeProfit (# 41; ГД # 41 ;;
ако (OCP == OTP # 41; връщане (True # 41 ;;
>
се върне (False # 41 ;;
>

Ние я наричаме така:
ако (isCloseLastPosByTake (Symbol (), - 1, магия))

допълнително функция вид на последната позиция

? 200 '200px': '' + (this.scrollHeight + 5) + 'пиксела ");"> INT GetTypeLastClosePos (низ SY = "", Int Мп = -1 # 41; <
дата и час т;
Int I, к = OrdersHistoryTotal (# 41, R = 1;

ако (SY == "0" # 41; SY = Символ (# 41 ;;
за (I = 0; и ако (OrderSelect (I, SELECT_BY_POS, MODE_HISTORY # 41; # 41; <
ако ((OrderSymbol (# 41; == SY # 124; # 124; Сай == "" # 41; (млн<0 || OrderMagicNumber()==mn)) <
ако (OrderType (# 41; == OP_BUY # 124; # 124; OrderType (# 41; == OP_SELL # 41; <
ако (т т = OrderCloseTime (# 41 ;;
R = OrderType (# 41 ;;
>
>
>
>
>
връщане (R # 41 ;;
>

Можете да се определи вида на последната позиция, както следва:
тип Int = GetTypeLastClosePos (символ (), Магически);