Autorius | Žinutė |
2012-11-02 08:41 #306460 | |
kati, v1.02 normaliai atidirbo ir Buy limit, ir Sell limit. Paleisiu į darbą prie progos.
Dėkui Taip ir vaikštau Paskutinis mamutas Tarp žmonių. |
|
2012-11-02 14:33 #306520 | |
Gal mql programuotojai galėtų man paaiškinti ką reiškia TickSize ir TickValue komandoje MarketInfo () ?
Individualios kelionės
Investicijos |
|
2012-11-02 14:49 #306522 | |
2012-11-02 15:04 #306524 | |
http://docs.mql4.com/constants/marketinfo
Gal netaip parašiau, ten yra MODE_TICKSIZE ir MODE_TICKVALUE TickValue tai kaip ir aišku: matyt pozicijos dydis padaugintas iš valiutos vertės vienam tikui? O "tiko dydis" tai nežinau kas. Pvz: Tck = MarketInfo(Symbol(), MODE_TICKSIZE) ... ir iškart dar klausimas: - kur ir koks turi būti scriptas indikatoriuje, kad jis skaičiuotų savo reikšmes tik naujam barui atsidarius, o ne po kiekvieno tiko ? Individualios kelionės
Investicijos |
|
2012-11-02 15:11 #306525 | |
Ticksize turbut maziausias kainos poslinkis. Jeigu pipas turetu grazint 0.0001 pagal valiuta ir t.t.
TickValue - parasyta aiskiai. Siaip jau issibandyt tiesiog reiktu ka grazina, ant experto ar indikatoriaus ir matysi.. |
|
2012-11-02 16:24 #306545 | |
Darriusk [2012-11-02 15:04]: ... ir iškart dar klausimas: - kur ir koks turi būti scriptas indikatoriuje, kad jis skaičiuotų savo reikšmes tik naujam barui atsidarius, o ne po kiekvieno tiko ? Atrodo radau atsakymą Reikia po start () įdėti tokią eilutę: if (Laikas != Time[0]) {.....programos tekstas...} Laikas = Time[0] Komentarų nebus ?? Individualios kelionės
Investicijos |
|
2012-11-02 16:30 #306546 | |
if (Volume[0] > 1)
return; |
|
2012-11-02 16:31 #306547 | |
Darriusk [2012-11-02 16:24]: Darriusk [2012-11-02 15:04]: ... ir iškart dar klausimas: - kur ir koks turi būti scriptas indikatoriuje, kad jis skaičiuotų savo reikšmes tik naujam barui atsidarius, o ne po kiekvieno tiko ? Atrodo radau atsakymą Reikia po start () įdėti tokią eilutę: if (Laikas != Time[0]) {.....programos tekstas...} Laikas = Time[0] Komentarų nebus ?? Bus. Tikrink, ar pasikeitė Bars reikšmė. Time yra kas kita. Kodas: int currentBar = 0; int init() { currentBar = Bars; } int start() { if(Bars > currentBar) { currentBar = Bars; // tavo kodas } } Šis kodas suveiks tik po kiekvieno naujo bar'o pirmo tick'o. Jei reikia su laiku susieto tikslumo, reikės naudoti while(true) { ... } ir TimeCurrent(). Common sense is not very common
|
|
2012-11-02 16:47 #306551 | |
Time grazina baro laika, naujo baro laikas kitoks, todel logiskai teisingas ir anas kodas, tik ten gal reiketu operatoriu > naudot. Bet siaip jau paprasciausias variantas yra patikrint baro Volume, naujo baro Volumas berods 1, o gal buna ir nulis, sito nezinau. Esme - virs 1 return ir adios amigos.
|
|
2012-11-02 16:53 #306553 | |
C# [2012-11-02 16:47]: Time grazina baro laika, naujo baro laikas kitoks, todel logiskai teisingas ir anas kodas, tik ten gal reiketu operatoriu > naudot. Bet siaip jau paprasciausias variantas yra patikrint baro Volume, naujo baro Volumas berods 1, o gal buna ir nulis, sito nezinau. Esme - virs 1 return ir adios amigos. Dėl Time[] tu teisus - galima naudoti ir taip, bet kodas bus sunkiau skaitomas. Dėl Volume[] tu neteisus. Common sense is not very common
|
|
2012-11-02 16:54 #306554 | |
Ačiū abiems. Palikau savo variantą, atrodo lyg ir veikia, bent jau klaidos nerodo jokios.
la: gal žinai, kas tas TickSize ? Žiūr. klausimą aukščiau. Individualios kelionės
Investicijos |
|
2012-11-02 16:56 #306555 | |
^la [2012-11-02 16:53]: Dėl Volume[] tu neteisus. Placiau. Nes ticko eventa turi gaut visa laika, nebent poshlas MT4 sugebetu imest nauja bara jau su Volume > 1. Nezinau ar buna tokios situacijos. |
|
2012-11-02 17:00 #306557 | |
C# [2012-11-02 16:56]: Placiau. Nes ticko eventa turi gaut visa laika, nebent poshlas MT4 sugebetu imest nauja bara jau su Volume > 1. Nezinau ar buna tokios situacijos. Štai čia tu ir klysti, nes tiek MQL4, tiek MQL5 neapdoroja visų kainos tick'ų. Apdoroja tiek, kiek spėja. Todėl pirma tavo pagauta Volume[0] reikšmė gali būti ir > 1. Darriusk [2012-11-02 16:54]: la: gal žinai, kas tas TickSize ? Žiūr. klausimą aukščiau. Paaiškinta juk dokumentacijoje. Tau jau ją kažkas nukopijavo. Common sense is not very common
|
|
2012-11-02 17:02 #306558 | |
Bet ant testerio speju tokiu situaciju nebuna niekad Gal todel taip ir atrode, nes neteko kazka rimto runnint live. Butu idomu isitikint..
|
|
2012-11-02 17:04 #306561 | |
Apie šį "privalumą" rašoma net dokumentacijoje:
<...> At incoming of new quotes, the start() function of the attached experts and custom indicators will be executed. If the start() function launched at the preceding quote was running when a new quote came, the new quote will be skipped by the expert. All new quotes income while the program was being executed are skipped by the program until the current execution of the start() function has been completed. After that, the start() function will be run only when a successive new quote incomes. For custom indicators, the start() function will be launched for recalculation after the current chart symbol or timeframe has been changed independently on new quotes incoming. The start() function will not be run when the expert properties window is open. The latter cannot be opened during the expert execution. <...> Vien jau dėl to aš niekad MQL4/5 nenaudosiu. Apie jų testerį mano nuomonė tokia: "blogiau nei blogai". PS. Tai tik mano nuomonė. Common sense is not very common
|
|
2012-11-02 17:09 #306562 | |
Nu jo. Tikrai kad shudu karalyste tas MT4, kol kodas nesibaigs ant nauju quote nusispjaut. O jei kodas sudetingas ir biski palaginantis ?.. Choice - not MT4..
"Apie jų testerį mano nuomonė tokia" Testeris ten pas juos idomus daiktas, speju su imontuotu AI |
|
2012-11-02 17:16 #306563 | |
Jei kodas sudėtingas... tu mane supratai teisingai. Todėl ir naudoju Java API, threadingą ir dar kai kokias gudrybes. Tiesa, perrašinėjų dabar savo bot'ą į C, kad viskas veiktų dar greičiau.
Kai OANDA aktyvių judesių metu išspjauna po 2000-2500 tick'ų per sekundę, būna gana linksma. Common sense is not very common
|
|
2012-11-02 17:26 #306564 | |
^la [2012-11-02 17:00]: la: gal žinai, kas tas TickSize ? Žiūr. klausimą aukščiau. Paaiškinta juk dokumentacijoje. Tau jau ją kažkas nukopijavo. Nu kad ne Taip kaip aiškina C# tai išeina, kad maždaug tas pats kas ir Digits ? Dokumentacijoje rašoma TickSize = Tick size in points. Kas tada yra point ? Tai jeigu 5 skaičių briokeris, tai tiko dydis 5, o jei 4 tai 4 ? Šiaip tai kaip ir logiška būtų, jei TickSize būtų 5 ženklų brokeriui 0.00001 arba Digits ^-1 Individualios kelionės
Investicijos |
|
2012-11-02 17:30 #306565 | |
Kiek aš suprantu tai kas yra parašytą:
Digits yra n TickSize yra 10^-n Nesigilinu per daug į tokias smulkmenas. Prekyboje jos aktualios tik tiek, kiek to reikia dirbant su slankaus kablelio reikšmėm. Common sense is not very common
|
|
2012-11-02 17:31 #306568 | |
Nu tada išeina, kad tas pats Digits tik kitaip.
Individualios kelionės
Investicijos |