MQL - МТ4 програмиране за начинаещи

Как се създава и тества forex система. Expert Advisors и бектестове на системи за автоматична търговия.

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот BDSM_Mistress » 21 Дек 2015, 19:19

Бяс, не пиши глупости. Средната заплата в България НЕ Е около 800 лв каквато я даваш при сравненията. В тази връзка и над 4 пъти повече вземате от средния българин, но не за това е думата. Знам, че тези дето си ги публикувал няма къде да мърдат и работят с официални данни, но ако си "причинно-следствен, тоест логичен" и сам можеш да се досетиш и без грам икономически знания, че това не е така. Просто утре се обади на 100 места без никакви занижени или завишени очаквания за работата и виж средно какво възнаграждение ще ти предложат.

Цитираната заплата е най-вероятно със следните условия-държавна и в София. Там може би е така, но това не просто не е представителна извадка, а дори не е най-голям дял от работните места в страната. Какъв процент от работните места според теб отговорят на условие И държавна И в София? Като на програмист съм ти го показал. Няма ИЛИ, само И.

И още нещо. Впечатлен съм от теб с това програмистите да имат "таргети", както и като споменаваш за новите и бързо нарастващи компании, пардон, старт-ъп-ите..........понякога можеш да използваш и българския език :-?
Аватар
BDSM_Mistress
 
Регистриран на: 31 Окт 2013, 07:22
Мнения: 2053
Бонус: 667 лв.
Благодарности: 8

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот avkch » 22 Дек 2015, 15:34

Марио Димитров написа:
avkch написа:Имам нужда от малко помощ със MQL4.
Как мога да проверя дали даден символ е Out of quotes?

Код: Избери целия код
MarketInfo(Symbol(),MODE_TRADEALLOWED));

http://docs.mql4.com/constants/environm ... oconstants

Разгледай има и други опции:
ENUM_SYMBOL_TRADE_MODE :

SYMBOL_TRADE_MODE_FULL


Мерси Марио, точно това ми трябваше :drinks: аз уж гледах MarketInfo какви опции иама ама ... :oops:
Аватар
avkch
 
Регистриран на: 11 Авг 2012, 15:29
Мнения: 215
Бонус: 63 лв.
Благодарности: 11

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот p_dim » 25 Дек 2015, 22:02

Само да допълня към поста на колегата Марио, че хич не е лошо да си правиш и допълнителна проверка да не са ти забранили автоматичната търговия от страна на брокера. Може IsTradeAllowed() за текущия символ или MarketInfo(Symbol(),MODE_TRADEALLOWED) за който и да е Символ да ти връщат 1-ница т.е. true, обаче ако робота изпрати поръчка ще получиш грешка 4112 = 'Automated trading by Expert Advisors/Scripts disabled by trade server'. Напоследък много на мода стана тихичко да те изрязват, ако например имаш наглостта да почнеш системно да печелиш (не говоря за БГ брокери, не живея в БГ и не са ми удобни за внасяне/теглене). За щастие отскоро, не знам от кой точно билд на МТ4 се появи възможност да я проверяваш тая работа с функцията: AccountInfoInteger(ACCOUNT_TRADE_EXPERT) та например може да си направиш да ти прати съобщение на мобилния Терминал ако се случи. Съвсем примерен код, за да не ти праща съобщения на всеки тик, му слагаш например едно флагче:

Код: Избери целия код
bool flagReznahaMeKatoKiselaKrastavi4ka = false;
...
void OnTick(void)
{
    if (MarketInfo(Symbol_LongLeg,MODE_TRADEALLOWED) &&       MarketInfo(Symbol_ShortLeg,MODE_TRADEALLOWED))
    {
        ...
        if (!AccountInfoInteger(ACCOUNT_TRADE_EXPERT) &&      !flagReznahaMeKatoKiselaKrastavi4ka)
        {
            flagReznahaMeKatoKiselaKrastavi4ka = true;
            SendNotification(ЕА_Name+" Мицо, изрезааме от сървъро, ко да праа?");
        }
        else { ... Правила за търговия и отваряне/затваряне на позиции...}
    }
}       


Pic1.png
Pic1.png (98.73 KiB) Прегледано 1944 пъти


Честита Коледа и Весели Новогодишни Празници! Лека, доходна и много успешна 2016г на всички!
Аватар
p_dim
 
Регистриран на: 12 Фев 2013, 17:43
Мнения: 280
Бонус: 97 лв.
Благодарности: 22

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот 4un4o » 28 Дек 2015, 11:32

Привет Колеги!. Някой би ли ми помогнал, с инфо при кой читав брокер мога да открия платформа на която да мога да пускам роботи за търговия. Явно, никой няма да ми напише робот и ще трябва да запрятам ръкави на дърти години да уча нови програмни езици. Ще съм благодарен и за някакъв елементарен бот който да мога да стартирам за да видя как действа на практика с платформата.
Ако пък има мераклии(които са напред с материала) за съвместна работа, съм винаги насреща. Знам, какво искам от бота , но ще ми е трудно да го реализирам сам. Надявам се на малко помощ в началото.
Теория на вълните-резюме. Трейдър.бг- страница 2773; тренд стр.2783; мартингейл схема.xls стр. 2792 и 2897
Аватар
4un4o
 
Регистриран на: 21 Юли 2010, 21:22
Мнения: 2747
Бонус: 644 лв.
Благодарности: 19

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот avkch » 28 Дек 2015, 19:23

4un4o написа:Привет Колеги!. Някой би ли ми помогнал, с инфо при кой читав брокер мога да открия платформа на която да мога да пускам роботи за търговия. Явно, никой няма да ми напише робот и ще трябва да запрятам ръкави на дърти години да уча нови програмни езици. Ще съм благодарен и за някакъв елементарен бот който да мога да стартирам за да видя как действа на практика с платформата.
Ако пък има мераклии(които са напред с материала) за съвместна работа, съм винаги насреща. Знам, какво искам от бота , но ще ми е трудно да го реализирам сам. Надявам се на малко помощ в началото.


Всеки читав брокер който предлага платформа за автоматизирана търговия. Почти всички предлагат Meta Trader 4, Meta Trader 5 или cTrader. Въпросът е ти какво ще си избереш. За мен лично най-лесен за учене е MQL4, въпреки че в последните години и него доста го усложниха разработчиците от MetaQotes. Освен това най-много хора го използват така че из интернета (включително и в този форум) има доста експерти които можеш да свалиш и да им разгледаш кода. За останалото можеш да питаш тук, аз никога не съм оставал без отговор :wink:
Аватар
avkch
 
Регистриран на: 11 Авг 2012, 15:29
Мнения: 215
Бонус: 63 лв.
Благодарности: 11

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот saxsten » 30 Дек 2015, 01:56

p_dim написа:СAccountInfoInteger(ACCOUNT_TRADE_EXPERT)



С таз функцийка няма ли дя стане :wink:

Код: Избери целия код
   double Check() {
   bool flag=false;
  { if (MarketInfo(Symbol(),MODE_TRADEALLOWED)) flag =true;}
   
  {if (!AccountInfoInteger(ACCOUNT_TRADE_EXPERT) && flag==false)
    Alert(" Мицо, изрезаа ме от сървъро,ко да праа?");}
           return(0);}
Форекса е оръжие за масово поразяване
Аватар
saxsten
 
Регистриран на: 04 Апр 2010, 22:16
Мнения: 1284
Бонус: 128 лв.
Благодарности: 13

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот saxsten » 30 Дек 2015, 01:58

saxsten написа:
p_dim написа:СAccountInfoInteger(ACCOUNT_TRADE_EXPERT)



С таз функцийка няма ли да стане :wink:

Код: Избери целия код
   double Check() {
   bool flag=false;
  { if (MarketInfo(Symbol(),MODE_TRADEALLOWED)) flag =true;}
   
  {if (!AccountInfoInteger(ACCOUNT_TRADE_EXPERT) && flag==false)
    Alert(" Мицо, изрезаа ме от сървъро,ко да праа?");}
           return(0);}
Форекса е оръжие за масово поразяване
Аватар
saxsten
 
Регистриран на: 04 Апр 2010, 22:16
Мнения: 1284
Бонус: 128 лв.
Благодарности: 13

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот JDeel » 30 Дек 2015, 05:25

Че що, MQL4 си е същия + нововъведения от MQL5. Старата му функционалност нали още се поддържа.

Малко принципна оптимизация да предложа за последния код дето сте показали. При втория "if" проверката "flag == false" би било по-добре да е преди проверката с функцията. Много по-бързо ще се провери една булева променлива отколкото да се стартира цяла функция. При && е най-добре първо да проверяваме по-бързите неща. Да, може конкретно за тази функция да не е от голямо значение ако ще се задейства само веднъж, но по-важен е принципа :)

Иначе не виждам смисъл и от това да се ползва променливата flag. Такава функция би трябвало да е тип bool и да връща true или false. Вместо да се слага "flag=true" и да се правят още абсолютно ненужни проверки, може да се сложи просто "return true" на това място. А дали да го има този Alert вътре във функция с такова име... спорно.
Аватар
JDeel
 
Регистриран на: 16 Дек 2010, 17:24
Мнения: 518
Бонус: 26 лв.
Благодарности: 5

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот saxsten » 30 Дек 2015, 10:55

JDeel написа:Че що, MQL4 си е същия + нововъведения от MQL5. Старата му функционалност нали още се поддържа.

Малко принципна оптимизация да предложа за последния код дето сте показали. При втория "if" проверката "flag == false" би било по-добре да е преди проверката с функцията. Много по-бързо ще се провери една булева променлива отколкото да се стартира цяла функция. При && е най-добре първо да проверяваме по-бързите неща. Да, може конкретно за тази функция да не е от голямо значение ако ще се задейства само веднъж, но по-важен е принципа :)

Иначе не виждам смисъл и от това да се ползва променливата flag. Такава функция би трябвало да е тип bool и да връща true или false. Вместо да се слага "flag=true" и да се правят още абсолютно ненужни проверки, може да се сложи просто "return true" на това място. А дали да го има този Alert вътре във функция с такова име... спорно.


Стига па ти бе :grin: На три реда функция кусур намери
И ко ти пречи алерта :lol:
Как ще разбереш че брокито ти е отключило експерта ко махнеш и алерта :lol:
променливата"flag=true" е поставена с учебва цел и за повече прегледност а иначе другого е много грозно и непедагогично :wink:
if (!AccountInfoInteger(ACCOUNT_TRADE_EXPERT) && ! MarketInfo(Symbol(),MODE_TRADEALLOWED))
Форекса е оръжие за масово поразяване
Аватар
saxsten
 
Регистриран на: 04 Апр 2010, 22:16
Мнения: 1284
Бонус: 128 лв.
Благодарности: 13

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот JDeel » 30 Дек 2015, 14:56

Ами текста по-скоро се пише извън функцията или може да е като входен параметър. Нали идеята на функцията е да се преизползва. Може който я ползва да не иска да види точно тоя текст вътре в нея и да си сложи негов :smile:

Е, ако функцията се казва нещо като AlertIfTradingIsDisabled() вече има логика да има алерт в нея и даже е още по-добре да са няколко заради различните варианти един експерт да е забранен :smile:

Ама много педагогически ползваш скобките { } иначе :lol:
Аватар
JDeel
 
Регистриран на: 16 Дек 2010, 17:24
Мнения: 518
Бонус: 26 лв.
Благодарности: 5

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот saxsten » 30 Дек 2015, 22:34

JDeel написа:Ами текста по-скоро се пише извън функцията или може да е като входен параметър. Нали идеята на функцията е да се преизползва. Може който я ползва да не иска да види точно тоя текст вътре в нея и да си сложи негов :smile:

Е, ако функцията се казва нещо като AlertIfTradingIsDisabled() вече има логика да има алерт в нея и даже е още по-добре да са няколко заради различните варианти един експерт да е забранен :smile:

Ама много педагогически ползваш скобките { } иначе :lol:

За вкус и цвят не се спори както и за стил на програмиране
Форекса е оръжие за масово поразяване
Аватар
saxsten
 
Регистриран на: 04 Апр 2010, 22:16
Мнения: 1284
Бонус: 128 лв.
Благодарности: 13

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот p_dim » 04 Яну 2016, 00:16

Колега avkch, всъщност се оказва че с право се чудиш как да проверяваш дали пазара е отворен за даден Символ. Днес е неделя и пазара си е затворен, обаче IsTradeAllowed() връща true, a MarketInfo(_Symbol,MODE_TRADEALLOWED) връща 1.0 (защото е от тип double) т.е. пак true :shock: ! Е няма такава простотия :x ...
Ами щом е разрешена търговията, що не мога да отворя позиция бре метакуотски великани? Та накратко с нищо не сме ти помогнали до тук и така и не открих начин да проверяваш дали всъщност пазара е отворен за даден Символ или не. Явно считат че щом не получаваш тикове - не ти трябва друго :lol:
Освен пробвай да филтрираш по време, с начален час работното време на Символа който отваря по-късно и краен час Символа който затваря по-рано. Така да ги хванеш и двата Инструмента кога са в работно време, нещо такова :-? Това разбира се не решава проблема ако се случи за единия Символ пазара да е затворен заради някакви национални празници да кажем, а на другия си е отворен защото е релативен към друга държава. Абе това MQL - си е куцо та дрънка. Единственото което можеш да извадиш за даден Символ като статус е това: (Скрипт)
Код: Избери целия код
void OnStart()
{
         string symbolStatus = "N/A";

         switch (SymbolInfoInteger(_Symbol,SYMBOL_TRADE_MODE))
         { 
            case SYMBOL_TRADE_MODE_FULL: symbolStatus = "Търговията е разрешена за "+_Symbol; break;
            case SYMBOL_TRADE_MODE_DISABLED: symbolStatus = "Търговията е забранена за "+_Symbol+"!"; break;
            case SYMBOL_TRADE_MODE_LONGONLY: symbolStatus = "Разрешени са само дълги позиции за "+_Symbol+"!"; break;     
            case SYMBOL_TRADE_MODE_SHORTONLY: symbolStatus = "Разрешени са само къси позиции за "+_Symbol+"!"; break;
            case SYMBOL_TRADE_MODE_CLOSEONLY: symbolStatus = "Разрешено е само затваряне на  позиции за "+_Symbol+"!"; break;
         } 
         Print(symbolStatus);
   
}


Само че това е по-скоро за фючърси, да ти покаже например дали е изтекъл контракта и няма да ти реши проблема - и при затворен пазар казва че търговията е разрешена. А за капак това за "само дългите" или "само късите позиции" не се поддържало от MQL4 ами само от MQL5. Чак не ми е смешно вече някакси...
Сори че нищо не помогнах реално, по-скоро и аз се подведох по имената на функциите.
Аватар
p_dim
 
Регистриран на: 12 Фев 2013, 17:43
Мнения: 280
Бонус: 97 лв.
Благодарности: 22

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот StoneHeart » 04 Яну 2016, 07:13

Може би по някакъв начин трябва да се провери
ДАЛИ пазара е отворен ???
Например след като пратите поръчка, трябва да проверите дали :
Код: Избери целия код
if ( GetLastError()==132 ) Alert("Market is closed ");
Аватар
StoneHeart
 
Регистриран на: 05 Авг 2009, 11:00
Мнения: 1160
Бонус: 243 лв.
Благодарности: 51
Местоположение: В.Търново

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот avkch » 04 Яну 2016, 11:57

@ p_dim - Правим каквото можем, т.е каквото MQL-a позволява :-? Благодаря ти за отделеното време.

@ StoneHeart - проверяването е лесна работа но не ми решава проблема :( . Става въпрос за ЕА която отваря поръчки поръчки едновременно на няколко символа, когато единият от тях няма котировки системата отваря поръчки на останалите и продължава, което разбива цялата система. Аз искам да проверя дали всички символи имат котировки преди да почне да отваря позиции. Може би ако пратя отложени поръчки далече от текущата цена, само зада проверя дали ще ги изпълни и ако да, да пусне поръчки на текущите цени и да изтрие отложените. :-?
Аватар
avkch
 
Регистриран на: 11 Авг 2012, 15:29
Мнения: 215
Бонус: 63 лв.
Благодарности: 11

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот StoneHeart » 12 Яну 2016, 09:10

Здравейте,
уж не съм начинаещ , а не мога да си обясня следното :
Защо САМО ПОНЯКОГА този код не ми затваря поръчката ???
Код: Избери целия код
  if ( OrderSelect(TicketToClose,SELECT_BY_TICKET,MODE_TRADES) )
  { OrderSend(..OP_BUYSTOP..);
    OrderSend(..OP_BUYSTOP..);
   // тези OrderSend се изпълняват, а по-долу OrderClose не се изпълнява 19 пъти
    j=0; Sleep(555); RefreshRates();
    while ( !OrderClose(TicketToClose,OrderLots(),OrderClosePrice(),5) && j<19 )
    { Sleep(5555); RefreshRates(); j++;
      Print(DoubleToStr(OrderClosePrice(),_Digits)," CLOSE_try=",j," error=",GetLastError()); }
    return(true);
  }

Ето лог от експерта :
Код: Избери целия код
2016.01.12 08:10:57.088   ... EURUSD,M15: ==>  Accept loss BUY
2016.01.12 08:10:57.088   ... EURUSD,M15: 1.0880 CLOSE_try=19 error=129
2016.01.12 08:10:51.521   ,,, EURUSD,M15: 1.0880 CLOSE_try=18 error=129
2016.01.12 08:10:45.963   ... EURUSD,M15: 1.0880 CLOSE_try=17 error=129
2016.01.12 08:10:40.382   ... EURUSD,M15: 1.0880 CLOSE_try=16 error=129
2016.01.12 08:10:34.814   ... EURUSD,M15: 1.0880 CLOSE_try=15 error=129
2016.01.12 08:10:29.222   ... EURUSD,M15: 1.0880 CLOSE_try=14 error=129
2016.01.12 08:10:23.654   ... EURUSD,M15: 1.0880 CLOSE_try=13 error=129
2016.01.12 08:10:18.092   ... EURUSD,M15: 1.0880 CLOSE_try=12 error=129
2016.01.12 08:10:12.532   ... EURUSD,M15: 1.0880 CLOSE_try=11 error=129
2016.01.12 08:10:06.968   ... EURUSD,M15: 1.0880 CLOSE_try=10 error=129
2016.01.12 08:10:01.383   ... EURUSD,M15: 1.0880 CLOSE_try=9 error=129
2016.01.12 08:09:55.813   ... EURUSD,M15: 1.0880 CLOSE_try=8 error=129
2016.01.12 08:09:50.248   ... EURUSD,M15: 1.0880 CLOSE_try=7 error=129
2016.01.12 08:09:44.674   ... EURUSD,M15: 1.0880 CLOSE_try=6 error=129
2016.01.12 08:09:39.090   ... EURUSD,M15: 1.0880 CLOSE_try=5 error=129
2016.01.12 08:09:33.471   ... EURUSD,M15: 1.0880 CLOSE_try=4 error=129
2016.01.12 08:09:27.905   ... EURUSD,M15: 1.0880 CLOSE_try=3 error=129
2016.01.12 08:09:22.338   ... EURUSD,M15: 1.0880 CLOSE_try=2 error=129
2016.01.12 08:09:16.780   ... EURUSD,M15: 1.0880 CLOSE_try=1 error=129
2016.01.12 08:09:10.625   ... EURUSD,M15: open #143205283 buy stop 0.02 EURUSD at 1.1100 tp: 1.1275 ok
2016.01.12 08:09:08.810   ... EURUSD,M15: open #143205272 buy stop 0.01 EURUSD at 1.1208 tp: 1.1600 ok
... почти 2 минути ... нищо !!!
А ето и журнала за същото време ( няма OrderClose ??? )
Код: Избери целия код
2016.01.12 08:09:11.806   '....': действие от паралелно работещ скрипт
2016.01.12 08:09:10.625   '....': order was opened : #143205283 buy stop 0.02 EURUSD at 1.1100 sl: 0.0000 tp: 1.1275
2016.01.12 08:09:10.068   '....': действие от паралелно работещ скрипт
2016.01.12 08:09:08.810   '....': pending order buy stop 0.02 EURUSD at 1.1100 sl: 0.0000 tp: 1.1275
2016.01.12 08:09:08.810   '....': order was opened : #143205272 buy stop 0.01 EURUSD at 1.1208 sl: 0.0000 tp: 1.1600
2016.01.12 08:09:07.000   '....': pending order buy stop 0.01 EURUSD at 1.1208 sl: 0.0000 tp: 1.1600

Както се вижда , ползвам 4-цифров брокер.
Аз предполагам, че това се случва в моменти на ниска активност,
когато няма никаква промяна на цената.
Но защо RefreshRates не ми връща котировки ?
... според хелпа това се случва , ако те същите като текущите.
А в същото време пуснатите чакащи са на същия експерт
... за поставянето на чакаща поръчка котировки не са необходими.
Аватар
StoneHeart
 
Регистриран на: 05 Авг 2009, 11:00
Мнения: 1160
Бонус: 243 лв.
Благодарности: 51
Местоположение: В.Търново

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот Bessen » 12 Яну 2016, 10:03

OrderClosePrice() е цената на затваряне на вече затворени ордери в историята.
Bessen
 
Регистриран на: 03 Юни 2013, 13:46
Мнения: 13
Бонус: 3 лв.

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот StoneHeart » 12 Яну 2016, 11:27

Bessen написа:OrderClosePrice() е цената на затваряне на вече затворени ордери в историята.
... или цената по която е МОЖЕЛО да бъде затворена поръчката
в момента на изпълнение на OrderSelect() !!!
Проблема се появява, ако между OrderSelect() и OrderClose() мине много време.
Тогава OrderClosePrice() връща "остаряла" котировка.
... дори ако тя не се е променила !!!

Междувременно намерих описание на този проблем
във руския форум за MQL4.
В моя случай изглежда най-лесно да заменя RefreshRates() с if ( OrderSelect() )
Аватар
StoneHeart
 
Регистриран на: 05 Авг 2009, 11:00
Мнения: 1160
Бонус: 243 лв.
Благодарности: 51
Местоположение: В.Търново

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот saxsten » 12 Яну 2016, 23:33

Ей ама тва новите билдове отврат работа бря
Онзи ден модито от руския маркет ми намерило някакава грешка
Стартираш си значи тестера и идиотския билд 940 ти разправя
array out of range in '! (69,22)
Брей изприщих се да я търся тая грешка
Никъде я няма
Ни по таблиците за грешки нито в интернетя
На всичкото отгоре,ако не се броят служебните масиви като Open Close и т.н. , в кода на експерта няма никакъв масив :shock:
Форекса е оръжие за масово поразяване
Аватар
saxsten
 
Регистриран на: 04 Апр 2010, 22:16
Мнения: 1284
Бонус: 128 лв.
Благодарности: 13

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот Bessen » 13 Яну 2016, 08:14

69-ти ред , 22-ри символ
Bessen
 
Регистриран на: 03 Юни 2013, 13:46
Мнения: 13
Бонус: 3 лв.

Re: MQL - МТ4 програмиране за начинаещи

Мнениеот p_dim » 17 Яну 2016, 12:38

avkch написа:@ p_dim - Правим каквото можем, т.е каквото MQL-a позволява :-? Благодаря ти за отделеното време.

@ StoneHeart - проверяването е лесна работа но не ми решава проблема :( . Става въпрос за ЕА която отваря поръчки поръчки едновременно на няколко символа, когато единият от тях няма котировки системата отваря поръчки на останалите и продължава, което разбива цялата система. Аз искам да проверя дали всички символи имат котировки преди да почне да отваря позиции. Може би ако пратя отложени поръчки далече от текущата цена, само зада проверя дали ще ги изпълни и ако да, да пусне поръчки на текущите цени и да изтрие отложените. :-?


@avkch, не открих друг начин освен освен да филтрираш по работно време на Символите и това си е. Може да разгледаш например:
1. SymbolInfoSessionQuote(), за да извадиш работното време когато получаваш котировки за всеки ден от седмицата.
2. SymbolInfoSessionTrade(), за да извадиш работното време когато можеш и да търгуваш.
Т.е. като резюме: може да получаваш вече котировки, но още да не ти е разрешено да търгуваш. На тая база си правиш филтър според логиката на твоя алгоритъм. Обърни внимание че горните функции не решават случая когато пазара е затворен за някой от Инструментите поради национални празници да кажем. Те ти дават само генерално какво е работното време за Символа, не очаквай че за еди-коя си дата ще ти покаже различно работно време защото било национален празник, както например нали утре е Мартин Лутер Кинг и пазара на акции в САЩ ще е затворен. Функциите пак ще ти върнат че ще получаваш котировки и можеш да търгуваш. Само дето не можеш... :lol:
Ама все пак е нещо дето може да свърши работа...
Айде успех!
Аватар
p_dim
 
Регистриран на: 12 Фев 2013, 17:43
Мнения: 280
Бонус: 97 лв.
Благодарности: 22

ПредишнаСледваща



Назад към FOREX СИГНАЛИ, СИСТЕМИ И СТРАТЕГИИ

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта