Ako vytvoriť vlastnú stratégiu pre počítač. Budovanie stratégie od nuly - komplexný sprievodca

V dnešnej dobe môžete ľahko nájsť množstvo obchodných stratégií, jediným problémom je, že väčšina buď nefunguje, alebo nie sú dostatočne účinné. V takejto situácii je vytvorenie stratégie od nuly vynikajúcim riešením problému.

A hoci v každej konkrétnej situácii bude vytvorenie vozidla iné, hlavné fázy zostanú rovnaké. To znamená, že môžete vytvoriť niečo ako univerzálny sprievodca, ktorý dôsledne prechádza všetkými fázami a na konci dostaneme úplne funkčný systém.

Aj keď zvážime možnosť vytvorenia stratégie od nuly, počnúc myšlienkou a končiac zavedením filtra a konečnou úpravou TS na mysli, neznamená to, že všetky pripravené systémy by mali byť okamžite vyradené, pretože vedome neúčinné. Ako základ je možné použiť niekoľko TS a jednoducho pridať niekoľko filtrov na odfiltrovanie falošných signálov.

Hlavné etapy vytvárania stratégie

Ak vezmete náhodne 5-7 indikátorov a pokúsite sa z nich vytvoriť funkčný TS, potom niečo vhodné bude sotva fungovať. Najprv si musíte premyslieť hlavnú myšlienku stratégie a až potom pristúpiť k výberu nástrojov. Môžete navrhnúť nasledujúcu postupnosť akcií:

  • ak je systém vytvorený od začiatku, prvým krokom je zapracovať na myšlienke. V tejto fáze sa stačí rozhodnúť, aký bude štýl obchodovania, napríklad obchody sa budú vykonávať podľa trendu alebo proti, alebo sa stratégia plánuje výlučne ako prelomová. Zatiaľ neuvažujeme o konkrétnostiach;
  • po výbere vhodného štýlu obchodovania môžete začať pracovať na podrobnostiach. Pred výberom nástrojov musíte jasne definovať fungujúce menové páry a časové rámce, čas obchodovania atď.;

Dôležité! Pri výbere časového rámca je nežiaduce byť príliš plytký, najmä ak obchodník nemá skúsenosti so špekuláciami na krátke časové intervaly. Pre začiatočníkov je spravidla lepšie neklesnúť pod H1-H4, o výbere optimálneho časového intervalu si môžete prečítať viac.

  • ďalšou fázou je výber vhodných nástrojov a tu si bohatstvo výberu môže s obchodníkom zahrať krutý vtip, pretože má k dispozícii desiatky indikátorov, schopnosť používať svietnik, vlnovú, technickú, zásadnú analýzu. Zo všetkej tejto rozmanitosti si musíte vybrať niekoľko nástrojov, ktoré najlepšie zodpovedajú zamýšľanému štýlu obchodovania;
  • jedným z hlavných pravidiel akejkoľvek stratégie je, že prijatý signál musí byť potvrdený niekoľkými filtrami, ale je žiaduce obmedziť ich počet. Napríklad pre indikačné stratégie je nežiaduce, aby počet indikátorov presiahol 3-4, inak dôjde k zmätku v signáloch a ak sa plánuje pracovať s použitím technickej analýzy, ukazovatele budú vôbec hrať pomocnú úlohu. ;
  • vypracujú sa pravidlá pre sledovanie polohy, v dôsledku čoho by sa mal získať algoritmus akcií pre každý scenár;
  • posledná fáza - spustenie vozidla, najskôr v histórii, a potom na demo účte, alebo lepšie na skutočnom centovom účte. Hlavným cieľom je otestovať životaschopnosť stratégie v reálnych podmienkach a skutočný účet (dokonca aj centový) vám umožní precítiť celú škálu emócií, od eufórie až po horkosť zo straty.

Môžete tiež odporučiť, aby ste sa nepozastavovali nad zložitosťou vozidla. Prax ukazuje, že prílišná zložitosť vôbec nie je ukazovateľom účinnosti. Ako jednoduchší systém, tým jednoduchšie je obchodovať.

Čo by malo byť súčasťou vozidla

Tvorba stratégie je trochu ako konštruktér, len si musíte dobre vybrať detaily. Pri vytváraní vozidla môžete a mali by ste použiť:

  • ukazovatele. Okrem toho by ste nemali stíhať ani ich počet, ani nadmernú zložitosť, dokonca ani v úplne mechanických vozidlách stačí 3 až 5 kusov;
  • schémy schém - známe vlajky, vlajky, trojuholníky, hlava a ramená, dvojité dná a topy stále fungujú dobre;
  • grafické stavby;
  • Fibo úrovne;
  • prvky zásadnej analýzy - teraz je ťažké zarobiť peniaze výlučne na správach, ale je potrebné vziať do úvahy ekonomický kalendár v obchodovaní. Pred zverejnením dôležitých štatistík pre USA alebo Európu prinajmenšom len usporiadajte obchody, aby ste boli rentabilné, alebo dokonca úplne zatvorte zisk.

Existuje niekoľko techník, ktorých použitie je diskutabilné:

  • martingale je spočiatku nerentabilná taktika, jedinou šancou na úspech je, že pred časom odlivu bude možné znova získať čiastku vkladu a trochu zarobiť;

  • zamykanie bez extrémnej potreby je tiež nežiaduce, potom je dosť ťažké sa dostať von zo zámku;
  • signály zvonku je tiež lepšie nepoužívať. Signály zvonku znamenajú napríklad porovnanie počtu predávajúcich / kupujúcich, rôzne indexy nálady väčšiny obchodníkov atď. Existuje však aj množstvo zdrojov, ktoré si môžete vypočuť, napríklad Autochartist dáva dobré signály v schémach grafu;
  • je tiež lepšie nepoužívať prvky vlnovej analýzy (aspoň pre začiatočníkov). Aj keď tu existujú výnimky, napríklad obchodovanie podľa Wolfe Waves je založené presne na vlnovej analýze, nelíši sa v zložitosti.

Vývoj najjednoduchšej stratégie ukazovateľov

Predpokladajme, že hlavnou myšlienkou stratégie je obchodovať výlučne v smere trendu. Navyše nebude možné vstúpiť na trh v okamihu vzniku trendu, čo je dosť riskantné, ale po dokončení malej korekcie.

Stratégia by mala fungovať takmer na každom menovom páre, je to nevyhnutné, pretože vzhľadom na veľký časový rámec sa signály nebudú objavovať príliš často. Situácia sa teda bude hodnotiť súčasne pre 5-7 menových párov. Pokiaľ ide o časový rámec, bude na tom D1, predpokladáme, že Forex je zapnutý počiatočná fáza- iba doplnok k hlavnej práci, preto budeme obchodovať s dennými sviečkami.

Teraz sa musíte rozhodnúť, ako presne bude určený okamih vstupu. Existuje mnoho možností na identifikáciu trendu:

  • vizuálne - ale hodnotenie zrakom vám nedovolí vypracovať jasné pravidlá obchodovania;
  • použitie jedného alebo viacerých kĺzavých priemerov;
  • hodnotou indikátora ADX, ak je viac ako 30 - potom silný trend, menej ako 20 - na trhu pokojný;
  • používanie grafických konštrukcií;
  • Bollinger Bands vám umožňuje posúdiť silu trendu podľa vzdialenosti medzi horným a dolným okrajom kanála.

Vo všeobecnosti existuje veľa možností, ale keďže stratégia je potrebná čo najjednoduchšia, zameriame sa na kĺzavé priemery. Presnejšie, jeden MA, budeme smer trendu posudzovať podľa polohy ceny voči nemu. Môžete začať s obdobiami, ktoré priemerujú cenu za celé časové obdobie (týždeň, mesiac, štvrťrok atď.), Napríklad 20 - bude priemerovať cenu za posledný mesiac. Najťažšie je vybrať si vhodné obdobie MA, ale tu budete musieť konať spôsobom pokus - omyl.

Hlavná myšlienka obchodovania bude nasledovná - čakáme na prejavenie trendového pohybu, po ktorom nasleduje korekcia do jedného dňa, po jeho dokončení je dohoda uzavretá. Ak je to všetko uvedené vo forme jasných pravidiel, potom algoritmus akcií bude vyzerať takto (napríklad pre nákupy):

  • najskôr skontrolujeme polohu ceny voči MA, cena musí byť nad čiarou;
  • potom musíme nájsť trendový pohyb, potrebujeme svietnik s veľkým telom a malými tieňmi (je žiaduce, aby veľkosť tieňa nepresiahla 10-15% veľkosti tela svietnika);
  • za ním by mal nasledovať svietnik s malým denným dosahom (vzdialenosť od Vysokého k Blízkemu). Cena Zavrieť by nemala dosiahnuť úroveň 50% predchádzajúceho dňa - v tento deň je cena opravená.

V takom prípade môže oprava prebehnúť v dvoch scenároch:

  • keď sa vytvorí svietnik s dlhým tieňom zospodu, môžete ihneď na konci dňa otvoriť obchod. Tento tvar svietnika naznačuje, že oprava sa už skončila;
  • je možný variant, keď sa korekčný svietnik zatvára na minimum, t.j. rollback ešte nie je dokončený, v tomto prípade musíte počkať, kým sa zatvorí ďalší svietnik, ak je biely, môžete otvoriť dlhú polohu.

Čo sa týka sledovania polohy a ochranných príkazov, stop loss by mal byť umiestnený aspoň v strede sviečky s veľkým telom. Na dosiahnutie cieľovej úrovne stačí odložiť hodnotu tej istej sviečky z úrovne nákupu; môžete použiť koncovú zarážku.

Pravidlá stratégie boli sformované, zostáva len otestovať ich v akcii. Prax ukazuje, že aj taký jednoduchý algoritmus produkuje viac ako polovicu výnosných obchodov (a ak je obchod nastavený na nulu včas, pravdepodobnosť straty sa zníži).

Vstup na začiatku trendu

TS navrhnuté vyššie preskočí časť trendového pohybu, ale na analýzu trhu nevyžaduje veľa času. Ak je možné sledovať cenové správanie dňa, môžete sa pokúsiť jazdiť na trende na úplnom začiatku jeho formovania. Hlavnou myšlienkou stratégie je teda vstúpiť na trh potom, čo cena začne opúšťať horizontálny kanál.

A tu je veľmi dôležité prijať spoľahlivý signál včas, na samom začiatku vzniku trendu. Kĺzavé priemery môžu opäť prísť na záchranu, ale budú použité trochu inak ako v predchádzajúcej stratégii. Môžete vziať niekoľko RO s rôznymi obdobiami a posúdiť vytváranie trendu podľa ich vzájomnej polohy.

Nejde o žiadny prevratný prístup, niečo podobné použil Bill Williams vo svojom slávnom aligátore. Tento ukazovateľ môže byť dokonca považovaný za základ pre TS.

Ak pridáte aligátora pomocou štandardné nastavenia na H1 je zrejmé, že dáva veľa falošných signálov, našou úlohou je odstrániť ich. Aby sme to urobili, vstúpime na trh s čakajúcou objednávkou a úroveň jeho umiestnenia sa určí pomocou fraktálov.

V dôsledku toho bude schéma práce vyzerať takto (na príklade nákupov):

  • hľadanie plochej oblasti v grafe (všetky čiary aligátora sú navzájom náhodne prepletené);
  • potom je potrebná fraktálna sviečka (a mala by byť umiestnená nad čiarami, ani sa ich nedotýkať spodným tieňom);
  • príkaz na zastavenie nákupu je umiestnený tesne nad jeho maximum a ochranný príkaz je umiestnený mimo dolného okraja konsolidačnej zóny;
  • TR je buď pevný (50-70 p), alebo použite koncovú zarážku. Vo všeobecnosti je dosť ťažké predpovedať silu trendového pohybu, preto je lepšie použiť koncovú zastávku ako pevný TP alebo určiť cieľovú úroveň pomocou rovnakej technickej analýzy.

V tomto prípade nejde o vývoj stratégie od nuly, ale skôr o malú adaptáciu už známej stratégie pre moderný trh.

Príklad jednoduchého kombinovaného systému

Myšlienka je stále rovnaká - vstup je na konci opravy, ale tento problém vyriešime iným spôsobom. Cieľ zostáva rovnaký - určiť okamih dokončenia korekcie a vstúpiť v smere trendu, ale ak sme predtým používali kĺzavý priemer, teraz na určenie dokončenia rollbacku použije úrovne Fibo a oscilátor.

Nás bude zaujímať výrazný trendový pohyb, dá sa to aj vizuálne identifikovať. Potom k nemu stačí natiahnuť úrovne Fibo, čo je potrebné na určenie potenciálnych úrovní dokončenia opravy. Najvýznamnejšou je úroveň korekcie 38,2%, je dovolené obchodovať na odraze z 50%a 61,8%.

Ale samotný fakt, že cena Fibo sa dotýka úrovne, nestačí, potrebujete potvrdenie. Stochastic sa s touto úlohou dokáže vyrovnať celkom dobre (na ten istý účel sa môžete pokúsiť použiť aj RSI). Napríklad pri nákupe je potrebné, aby sa cena blížila úrovni korekcie, a Stochastic sa v tom čase nachádza v zóne prepredanosti.

Potom, čo sa cena dotkne úrovne, čakáme, kým Stochastic opustí prepredanú zónu a nakúpi. Za ďalšou úrovňou retracementu môže byť umiestnená zarážka a TP môže byť umiestnená najmenej na nedávnom maxime pred začiatkom sťahovania.

Fibo úrovne a oscilátor sú len minimum potrebné na príjem signálu. Ak je to žiaduce, môžete systém skomplikovať zavedením ďalších filtrov.

Stratégie založené na technickej analýze

Ak sa technická analýza bude používať v čistej forme, potom je úloha trochu zjednodušená, už nie je potrebné vyvíjať TS od začiatku. Existuje množstvo techník a nástrojov, ktorých účinnosť je rokmi preverená a obchodník si môže vybrať len tie vhodné a použiť ich pri konštrukcii.
Na úspešné obchodovanie v zásade stačí:

  • trendové čiary - staviame ich na rôznych časových rámcoch, začínajúc od staršieho a postupne klesáme k pracovnému;
  • Fibo úrovne, mali by byť natiahnuté kvôli významným cenovým pohybom v histórii. Kľúčový význam budú mať úrovne korekcie 38,2, 50 a 61,8%, prax ukazuje, že korekcia sa najčastejšie končí práve na týchto úrovniach;
  • MT4 implementuje aj množstvo ďalších nástrojov technickej analýzy, napríklad Andrewsovu vidlicu, sadu nástrojov Gann, niekoľko typov kanálov atď.

Ale na celkom správnu predpoveď stačia úrovne Fibo a trendové čiary, oblasti úrovní a zoskupení čiar zvyčajne pôsobia ako podpora / odpor. Obchodovanie je možné vykonávať tak pri úniku, ako aj pri odskoku od úrovní a línií.

Pokiaľ ide o ďalšie filtre, môžete pridať vzory na svietniky a nejaký indikátor na nájdenie rozdielov (rovnaký Stochastic alebo MACD). Môžete si prečítať viac o aplikácii technickej analýzy.

Filtre pre obchodné systémy

Akýkoľvek TS, aj keď myšlienka funguje a obchodovanie je vo všeobecnosti ziskové, generuje veľa signálov a niektoré z nich sú nerentabilné. Po vytvorení pravidiel systému môžete použiť množstvo univerzálnych filtrov, ktoré pomôžu sprísniť pomer výnosných / nerentabilných obchodov.

Existuje niekoľko filtrov, ktoré vyhovujú takmer akejkoľvek stratégii:

  • situácia vo vyšších časových rámcoch. Ak je napríklad stratégia vedená na H1 podľa mechanickej stratégie, potom nebude nadbytočné pozrieť sa na to, čo sa deje na H4 a D1;
  • priemerný denný rozsah, čo znamená vzdialenosť, ktorú cena prejde v priemere za deň; pri vnútrodennom obchodovaní to pomôže odfiltrovať množstvo signálov. Predstavte si, že cena v priemere prejde 100-120 bodov za deň, ak v jeden z dní už cena do večera prekročila 90-100 bodov v jednom smere a TS dáva signál, aby vstúpil na trh rovnakým smerom. , to znamená, že má zmysel to ignorovať, štatistiky hovoria, že hnutie v tento deň pravdepodobne nebude pokračovať;

Dôležité! Dodržiavanie tohto pravidla povedie k tomu, že niektoré zo ziskových obchodov budú vynechané, ale pomer výnosných / nerentabilných obchodov sa zvýši.

  • dôležitý je aj počet sviečok po vytvorení signálu, dokonca je tu aj filter 5 sviečok, nad tým sa ešte pozastavíme.

Keď TS dáva signál, v ideálnom prípade by sa situácia mala začať vyvíjať v náš prospech takmer okamžite po uzavretí obchodu (to znamená na ďalších 1-3 sviečkach). Ak sa tak nestane, potom čím viac času uplynie od okamihu transakcie, tým menší vplyv na trh budú mať tie faktory, ktoré boli dôležité pri vstupe obchodníka na trh. Ich vplyv časom mizne.

Kritériom môže byť 5 sviečok, ak po uzavretí obchodu neprešla cena 5 sviečok výnosným smerom, je lepšie uzavrieť obchod ručne. Vzťahuje sa to na scenár, keď graf zostane na svojom mieste, ale ak sa cena presunie na nerentabilnú stranu, tento filter sa nepoužije.

Táto podmienka platí pre takmer všetky časové rámce (okrem m1-m5). Samozrejme, stále existuje možnosť, že cena po dupnutí okolo jednej značky pôjde správnym smerom, ale našou voľbou je stabilita. Je lepšie obetovať pár výnosných obchodov, ale vyhnite sa 3-5 nerentabilným.

Zhrnutie

Začať pracovať bez obchodného systému je ako smrť, na to by si mal každý obchodník pamätať. Vyčerpanie vkladu je v tomto prípade len otázkou času.

Vybrať vhodné vozidlo nebude ťažké, navyše dobré pracovné systémy nájdete vo verejnej sfére. Môžete sa tiež postarať o vytvorenie vlastnej stratégie, najmä preto, že na to nepotrebujete znalosti programovacích jazykov, stačí mať predstavu a aspoň základné znalosti o tom, ako funguje trh a aké ukazovatele a na aké účely sa používajú.

Samotný proces pripomína zostavenie konštruktéra - najskôr si zadáme úlohu a potom jednoducho vyberieme potrebné nástroje na jej vyriešenie. Po kontrole histórie môžete prejsť na test TS na demo alebo centovom účte.

Vašu firmu považujem za jednu z najsilnejších na trhu poradenských služieb u nás. Páči sa mi, že sa dotknete širokého spektra problémov manažmentu a pokryjete ich dostatočnou kvalitou a hĺbkou. V publikáciách vašej spoločnosti nachádzam veľa užitočných vecí pre seba, pretože je vždy zaujímavé zoznámiť sa so skúsenosťami profesionálov, poučiť sa z nich.

Borisyuk Yuri Alexandrovich, konzultant manažmentu, doktor technických vied

Mám veľmi rád cyklus majstrovských kurzov, ktoré učíte. Osobne ako vedúci továrne som začal meniť svoje prístupy k manažmentu, vč. vďaka informáciám, ktoré od vás dostali. Akosi reagovala na to, čo som robil a pozoroval v továrni. Odvtedy som mal predstavu o tom, ako neefektívna je priemyselná kapacita Ruska a aký obrovský potenciál je a ako ho možno realizovať. Keď sa osobne zoznámim s problémami rôznych podnikov (niekedy ich priatelia pozvú ako expertov), ​​vidím, ako veľa sa dá urobiť, ako zvýšiť efektivitu a efektivitu.

Dryagin Oleg Borisovič

Áno, mám rád vaše majstrovské kurzy, veľmi systematický prístup, znalosť materiálu na vysokej úrovni a, samozrejme, človek cíti veľa praktických skúseností s problémami, ktoré sa zvažujú. Láka ma skutočnosť, že profesionalita a vysoký stupeň profesionálne vlastníctvo predmetu Alexandrom, mi umožňuje pozrieť sa inak na už známe veci. Z môjho pohľadu je je veľmi dôležité a nevyhnutné pozrieť sa na veci, ktoré sú vám známe, novým spôsobom, tk. počas operačné práce oko sa veľmi často „rozmazáva“ a v skutočnosti prestanete vidieť zrejmé veci.

Elena Fedash, riaditeľka ľudských zdrojov, ATB Corporation, Dnepropetrovsk.

V tomto článku je nepravdepodobné, že sa dotknem niečoho neznámeho. Všetky výpočty sú jednoduché a zrozumiteľné pre každého, kto vie, čo je Ajax. Už som napísal článok o tom, ako kombinovať klienta a server v hrách v reálnom čase (). V tomto článku riešim rovnaké problémy pri aplikácii na ťahové hry.

Tak čo je ťahová hra? Nasledujúcu definíciu nájdete na wikipédii ťahová stratégia - toto je žáner počítačové hry, ktorého hlavnou črtou je, že hráči sa striedajú, na rozdiel od stratégie v reálnom čase... Túto definíciu by som trochu zjednodušil:

  • Stratégia krok za krokom - je to strategická ťahová hra.
  • Strategická hra - je žáner hier, v ktorých je plánovanie a strategické myslenie kľúčové pre dosiahnutie víťazstva.
  • Ťahová hra - je žáner hier, ktorého hlavnou črtou je, že sa hráči striedajú.
Ťahové hry zahŕňajú:
  • Ťahové stratégie
  • Kartové hry
  • Spoločenské hry (šach, go, monopol atď.)
Tahové hry v porovnaní s hrami v reálnom čase ukladajú menej obmedzení na zložitosť interakčného protokolu. Totiž, reakčný čas na konkrétnu udalosť nehrá kľúčovú úlohu... Hráč má spravidla najmenej 10 sekúnd času na rozhodnutie. Aj keď je ping obrovský, povedzme, 3 sekundy, hráč má stále celých 7 sekúnd na premýšľanie. Ping navyše môže skákať a skákať a to nás vôbec nezaujíma (v hrách v reálnom čase táto situácia takmer zabíja akýkoľvek protokol).

Obvykle (v 95% ťahových hier) sa v danom čase rozhodne presne jeden hráč. V dôsledku toho sa zužuje súbor žiadostí, na ktoré musíme adekvátne reagovať.

Pri tvorbe protokolu sa preto zameriame predovšetkým na jednoduchosť jeho implementácie a podpory. To nám umožní vytvárať vyšší zisk za kratší čas.

Vyššie uvedené odôvodnenie je založené na dvojmesačnom vývoji niektorých kartových hier.

Šikovný alebo hlúpy zákazník?

Najprv definujme, aký „múdry“ môže byť náš klient. Špekulujem o tom, či sa mi oplatí duplikovať aplikačnú logiku (pravidlá hry) na klientovi. Server musí byť samozrejme inteligentný, aby zabránil potenciálnemu hacknutiu aplikácie. Oplatí sa však klienta naučiť obchodnej logike?

To priamo závisí od toho, koľko váži úplné množstvo údajov o stave vašej hry. Ak je toto množstvo údajov veľké, zhromažďovanie na serveri trvá dlho a je odoslané klientovi, potom má zmysel implementovať časť logiky na klienta, aby sa server uvoľnil. Napríklad v Civilizácii je ukazovateľ využitia pamäte vždy mimo stupnice. Vedeli by ste niečo také vytvoriť iba pomocou používateľského rozhrania na klientovi?

Na druhej strane, čím je klient múdrejší, tým bude vývoj hry drahší. Všimnite si toho, že čas vývoja servera nezávisí od erudície klienta. Aj keď je klient super-duper-mega inteligentný, ak chce používateľ znova načítať okno prehliadača, server bude musieť zhromaždiť a zhromaždiť všetky údaje o hre, aby ich mohol preniesť do klienta. La „Načítavanie uloženej hry“. Takeaway: Inteligentný klient môže urýchliť aplikáciu, ale na vývoj aplikácie bude vždy potrebovať ďalšie zdroje.

Navrhujem nasledujúce test:

1. Umožňuje to hlasitosť kanála?

Odhadnite priemernú hmotnosť celkového množstva údajov o stave hry. Ďalej vynásobte priemernými požiadavkami servera za sekundu. Ak prijaté číslo presiahne objem odchádzajúceho kanála prenosu údajov, hlúpy klient je neplatný. Ak toto číslo presahuje 20% odchádzajúceho kanála, mali by ste premýšľať o tom, či bude ťahať?

2. Je to náročné na prácu?

Odhadnite zložitosť algoritmu zberu údajov o hre (v zlomkoch sekundy). Tu zvážte všetky databázové dotazy. Ďalej vynásobte priemernými požiadavkami servera za sekundu. Ak čas presiahne jednu sekundu, potom je hlúpy klient neprijateľný. Ak toto číslo presahuje 200 ms, mali by ste premýšľať o tom, či bude ťahať?

Pokračovanie:

Ahoj všetci! Teraz vám poviem, ako vytvoriť jednoduchý RTS -ku (RTS - RTS - stratégia v reálnom čase, to znamená stratégia v reálnom čase), otvoriť hojdaciu sieť 8.1 (pri 8.0 nie je zaručený výkon) vytvoriť objekt objControl, to znamená, že to bude náš hlavný objekt, vytvorte udalosť vytvorenia (Vytvoriť) Pridať udalosť => Vytvoriť (Pridať udalosť => Vytvoriť) Vytvorenie udalosti sa vykoná iba raz - pri vytváraní kliknite na kartu ovládania v pravej zvislej ponuke a kliknite pravým tlačidlom myši na položku Spustiť kód a napíšte kód (najlepšie je kód nekopírovať, ale napísať ho sami je oveľa jednoduchšie zapamätať si):

200? "200px": "" + (this.scrollHeight + 5) + "px"); "> startx = 0; // Deklaruje premennú pre začiatok bodu na x
počiatočný = 0; // Deklarujte premennú pre začiatok bodu y
draw_rect = false; // Nevykreslite výberový obdĺžnik


Premenná: kus pamäte, ktorý obsahuje informácie. Majú meno, pomocou ktorého sa na ne môžete obrátiť. Premenné v GML môžu obsahovať skutočné číslo alebo reťazec. Napríklad stôl je premenná, drevo alebo sklo je hodnota
Teraz vytvoríme krokovú udalosť (Krok, Pridať udalosť => Krok) a operáciu vykonáme znova (pravým tlačidlom myši kliknite na Spustiť kód):

200? "200 pixelov": "" + (this.scrollHeight + 5) + "px"); ">
if mouse_check_button_pressed (mb_left) // Ak je stlačené LMB
{
draw_rect = true; // Nakreslíme obdĺžnik
startx = myš_x; // Začiatok x pozícia = x pozícia myši
starty = mouse_y; // Počiatočná pozícia = pozícia myši
so všetkými vybranými = false; // Toto ešte nie je deklarovaná premenná, čo bude robiť, sa dozvieme neskôr
}

If mouse_check_button_released (mb_left) // If LMB Released
{
draw_rect = false; // Nenakreslíme obdĺžnik
pre (i = 0; i<=instance_number(par);i+=1) //Читайте про цикл for ниже
{
ii = instance_find (par, i); // Hľadáme ešte nevyrobený predmet
if (Collision_rectangle (startx, starty, mouse_x, mouse_y, ii, true, false)) // // Tu je náš kolízny obdĺžnik
{
ii.selected = true;
}
}
}

Kód je veľký a zložitý, kým sa nedozvieme o príkaze if podmienka:
Kód if beží takto:

200? "200 pixelov": "" + (this.scrollHeight + 5) + "px"); ">
ak (podmienka)
{
akcie
}

Môže tiež obsahovať príkaz else (inak), napríklad:

200? "200 pixelov": "" + (this.scrollHeight + 5) + "px"); "> if (podmienka)
{
akcie
}
inak
{
akcia 2
}

A pretože je operátor slučky, vykoná sa takto:

200? "200 pixelov": "" + (this.scrollHeight + 5) + "px"); ">
pre (<переменная> ; <выражение> ;<действие переменной>)
{
<действия>
}


vyhlásenie for je veľmi silné, veľmi pomáha v ťažkých situáciách

Operátor - akcie zabudované do PL, napríklad najbežnejšie sú int, if, else, string, switch, for, case, break, exit, atď.

Teraz tiež vytvoríme udalosť kreslenia a napíšeme rovnakým spôsobom:

200? "200px": "" + (this.scrollHeight + 5) + "px"); "> if draw_rect = true
{
alfa = 0,8;
draw_rectangle_color (startx, starty, mouse_x, mouse_y, c_green, c_green, c_green, c_green, true);
}

Všetko je tu jednoduché, tu je to isté iba v ruštine:
ak potrebujeme nakresliť obdĺžnik, potom vyberieme priehľadnosť a nakreslíme obdĺžnik
tu sú argumenty

200? "200 pixelov": "" + (this.scrollHeight + 5) + "px"); "> draw_rectangle_color (x1, y1, x2, y2, color 1, color 2, color 3, color 4, outline)


obrys - či sa má nakresliť iba tvár (pravda) alebo vyplnený obdĺžnik (nepravda)
Našli sme nové slovo - konštanta, toto je číselný výraz alebo kód nahradený slovom, v hojdacej sieti sú vstavané konštanty:

200? "200px": "" + (this.scrollHeight + 5) + "px"); "> true - 1
nepravda - 0
pi - 3,1415 ...


No, prišli sme na to, teraz musíme vytvoriť nový objekt - rodičovský objekt, ktorý sa bude spájať s deťmi. Nazvime to par (ak chcete zmeniť názov, musíte zmeniť kód v krokovej udalosti riadiaceho objektu), napíšte do udalosti vytvorenia:

200? "200px": "" + (this.scrollHeight + 5) + "px"); "> selected = false; // Tu je naša premenná, je vybratý objekt?

To je všetko. Teraz však samozrejme potrebujeme objekt, ktorý je možné premiestniť, nazývame ho objTest a napíšeme kód do udalosti vytvorenia:

200? "200px": "" + (this.scrollHeight + 5) + "px"); "> gox = x; // Kam ďalej x ...
goy = y; // od y
vybrané = nepravda; // Nie sme vybraní =)
object_set_parent (self, par) // Tu je rodičovský výber

Nová akcia:

200? "200px": "" + (this.scrollHeight + 5) + "px"); "> object_set_parent (ind, obj)

Nastaví nadradenú položku objektu s názvom ind.
A nový operátor: self, to znamená, že akcia prejde sama
Nebojte sa, v krokovej udalosti ešte niečo málo zostáva:

200? "200px": "" + (this.scrollHeight + 5) + "px"); "> if distance_to_point (gox, goy)> 20
{
mp_potential_step (gox, goy, 6, solid);
}
if (selected = true) && mouse_check_button_pressed (mb_right)
{
gox = mouse_x;
goy = mouse_y;

tematický park:
Potrebujeme:
stavanie škriatka
sprite menu
sprity rôznych tlačidiel, ako napríklad:
srite s nápisom (konštrukcia, konštrukcia, stavba atď.)
okno, ktoré sa prebudí, aby sa objavilo
kreslenie s budovou,
1) Ostatné si pridáme sami
2) slovo je falošné, vytvoril som ho sám, tk. musíme to predstierať pre náš zdroj)
II Začnime:
1) vytvoríme všetko, čo je napísané v bode I, okrem 1)
Vytvorme globálnu premennú s názvom peniaze, nastavme ľubovoľný počiatočný objem peňazí
Urobme tiež predmet pre myš a klávesnicu.
Vytvorte text, pomenujte ho, vytvorte vždy udalosť a v nej vytvorte akciu:
vyberte informácie pri výbere akcií, vyberte nastavený text v texte, napíšte toto:
"money:" & (global ("peniaze".
(nastavenia, možnosti) do položky displeja napíšte:


pridajte doň sprite a urobte si obrázok menu, ktoré bolo v materiáloch na predbežné dokončenie (bod I), a umiestnite naše menu na odľahlé miesto, kde nebude prekážať, ale bude viditeľné na obrazovke
tiež umiestnime tlačidlo z materiálov na predbežnú úpravu (bod I) s nápisom BUILD (alebo niečo také)
dajte to do ponuky
teraz prejdite na editor hárkov udalostí
vytvoríme udalosť ( # blah-blah-blah # je moja správa (vysvetlenie) pre vás iba namiesto bla-bla-bla bude pre vás môj komentár; >>-akcia; napríklad delenie s oknami:

myš a klávesnica klikneme na objekt, klikneme ľavým tlačidlom myši na objekt # tlačidlo vašej ponuky s nápisom BUILD (alebo niečo podobné) ## ostatné neskôr (pozri odsek 3) #
3)teraz najťažšia časť(Rozdelil som to na dva body, aby to nebolo také zložité),
vytvárame sprite z materiálov na predbežnú úpravu „okno, ktoré sa prebúdza“
potom vytvoríme prázdny sprite s názvom p1, presunieme okno mimo obrazovku a umiestnime p1 na miesto, kde by sa malo objaviť tvoje okno, keď stlačíš tlačidlo zostavenia (alebo niečo podobné)
skvelé! Teraz prejdite do editora hárkov udalostí
Zapíšte nedokončenú udalosť do konca:
Text nastaví text ll bla-bla-bla)
myš a klávesnica klikneme na objekt, klikneme ľavým tlačidlom myši na objekt # tlačidlo ponuky označené BUILD (alebo niečo podobné) # >>
4)Druhá časť najťažšej časti:
vytvorte sprite sprite, kde bude nakreslený obraz budovy (materiály pre predbežnú úpravu), nazveme to h1
vytvorte prázdny sprite, nazvite ho p2, teraz ho umiestnite na miesto, kde by sa malo otvoriť okno,
vytvoríme sprite-tiež okno (materiály na predbežnú úpravu), do okna krásne napíšeme názov budovy, jej náklady a popis (ak je to žiaduce) zavoláme i1
vytvorte ďalší prázdny sprite s názvom p3, umiestnite ho vedľa p2, iba tak, aby sa dotkol p2 iba ľavým horným rohom
Teraz vytvoríme niekoľko udalostí, ale najskôr urobíme predchádzajúcu udalosť pomocou jednej novej akcie:
myš a klávesnica klikneme na objekt, naň klikneme ľavým tlačidlom myši na objekt # tlačidlo našej ponuky s označením BUILD (alebo niečo podobné) # >> systém ll vytvoríme objekt vzhľadom na objekt ll # vaše okno # # číslo vrstvy pod názvom ponuky # #X; Y-nemeňte # na objekt p1
>> systém ll vytvorte objekt vzhľadom na objekt ll # vaše druhé okno # # číslo vrstvy v ponuke s názvom # # X; Y-nemeňte # na objekt p2
Musíme k tomu tiež vrátiť udalosť:
skopírujte udalosť a prevráťte ju
nová udalosť
myš a klávesnica prejde nad objektom ll h1 >> systém bude vytvárať objekt vzhľadom na objekt ll i1 # číslo vrstvy v ponuke s názvom # #X; Y-nemeňte # na objekt p3
Urobme si škriatka so stavbou (použijeme materiály na predbežnú úpravu) nazvime to dom
Vytvorme okno, kde sa naše budovy objavia, keď sú vybraté v ponuke, nazvime ich rlo
vývoj:
myš a klávesnica klikneme na objekt, klikneme ľavým tlačidlom myši na h1 >> systém vytvoríme k objektu vzhľadom na objekt dom # číslo vrstvy v ponuke s názvom # #X; Y-nezmeníme # na objekt rlo
>> systém bude odpočítavať od hodnoty ll # množstvo peňazí, ktoré by mali byť odobraté počas výstavby #
teraz sa udalosť nedá postaviť
Poviem vám svoju bývalú zákazovú metódu (keď skončím s písaním, preskúmam ďalší spôsob, ktorý ma zmodral, keď som si spomenul na svetovú hru v zábavnom parku)
vývoj:
dôjde k zrážke domu s iným objektom
>> dom zničí
>> systém bude odpočítavať od hodnoty ll - # dvojnásobok peňazí, ktoré boli odobraté počas výstavby ## poznámka, ktorú musíte uviesť - suma #
v podstate všetko.
III, čo chcem povedať:

Bol som veľmi rozrušený kolapsom svojej hry. Bola to stratégia a tento článok bol zostavený podľa jeho schémy. Žiadam vás, aby ste veľa nekritizovali, písal som dlho, ak nájdete chyby reči, napíšte, Opravím
a tiež tu je zdrojový kód na roztrhanie, smltrite, v zásade je všetko rovnaké, ako sa tu píše, iba to bola demo verzia hry. Hlavnou vecou nie je nič meniť, inak je to buggy!
presne používaj, experimentuj, kontroluj, rob, čo chceš, všetko

KaMiKaZa:
Všetky výrazy „systému“ je potrebné pridať do značky „Kód“.
Potom si myslím, že to bude lepšie.
Tiež sa mi zdá, že screenshoty by tu neboli na škodu. A tiež zdroj pre začiatočníkov.

tematický park:
Neviem, ako vytvárať screenshoty udalostí.

no nie je to potrebné.

iamnp:
theme_park, na klávesnici je špeciálne tlačidlo - PrintScreen

tematický park:
Viem, že niektorí ľudia to robia inak. Každý z nich má navyše svojho škriatka
a keď dám všetky tieto škriatky, málokto to pochopí.
no, možno bude niekto plus? Nie nadarmo som sa šklbal?

burlachenko:
Aby taká lekcia niekoho zaujala, musí byť podľa toho formalizovaná, ale tu „každopádne bola“.
A napriek tomu, ak existuje túžba, trochu, keď je čas, „krajší“ ho prosím.

tematický park:
Dobre, budem dobrý zo školy.
PS. pridaný zdroj

Serega Lebedev:

iamnp a kam potom idú tieto snímky obrazovky?

KaMiKaZa:

Do schránky.
Choďte na akékoľvek textový editor, a vykonajte operáciu „Prilepiť“ alebo stlačte kombináciu klávesov Ctrl + V.