段階的な戦略の策定。 戦略の立て方。 仕事の準備

こんにちは、みんな! ここでは、簡単な RTS (RTS - Real Time Strategy、つまりリアルタイム ストラテジー) の作り方を説明します。 ハンモック 8.1 を開きます (8.0 では操作性は保証されません)。 objControl オブジェクトを作成します。つまり、これは次のようになります。メインオブジェクトとして、作成イベントを作成します (Create) イベントの追加 => 作成 (イベントの追加 => Create) 作成イベントは 1 回だけ実行されます - 作成時に、右側の垂直メニューのコントロール タブをクリックし、実行を右クリックしますcode (コードを実行) を実行し、コードを記述します (コードをコピーしないことをお勧めします。自分で記述したほうが覚えやすくなります)。

200?"200px":""+(this.scrollHeight+5)+"px");">startx=0; //x の開始点の変数を宣言
開始=0; // y による点の先頭の変数を宣言します
描画_rect=false; //選択四角形を描画しません


変数: 情報を含むメモリの一部。 彼らには連絡できる独自の名前があります。 GML の変数には、実数または文字列を含めることができます。 たとえば、テーブルは変数、木やガラスは値です。
次に、ステップ イベント (ステップ、イベントの追加 => ステップ) を作成し、操作を再度実行します (コードの実行を右クリックします)。

200?"200px":""+(this.scrollHeight+5)+"px");">
if Mouse_check_button_pressed(mb_left) //LMB が押された場合
{
描画_rect=true; // 長方形を描画します
スタートx=マウス_x; //開始 x 位置 = マウス x 位置
開始=マウス_y; //開始位置 = マウスの位置
すべて選択=false; //これはまだ宣言された変数ではないので、それが何をするかは後で調べます
}

Ifmouse_check_button_release(mb_left) //LMB が放された場合
{
描画_rect=false; // 長方形は描画しません
for(i=0;i<=instance_number(par);i+=1) //Читайте про цикл for ниже
{
ii=インスタンス_find(par,i); //まだ作成されていないオブジェクトを探しています
if(collision_rectangle(startx,starty,mouse_x,mouse_y,ii,true,false)) //これが衝突四角形(接触)です
{
ii.selected=true;
}
}
}

if 条件文について学習する間、コードは大きくて複雑です。
if を使用したコードは次のように実行されます。

200?"200px":""+(this.scrollHeight+5)+"px");">
if (条件)
{
アクション
}

また、else ステートメント (そうでない場合) を含めることもできます。例:

200?"200px":""+(this.scrollHeight+5)+"px");">if (条件)
{
アクション
}
それ以外
{
アクション2
}

for はループ演算子であり、次のように実行されます。

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


for ステートメントは非常に強力なもので、困難な状況で非常に役立ちます。

演算子 - 言語に組み込まれたアクション。たとえば、最も一般的なものは、int、if、else、string、switch、for、case、break、exit などです。

ここで、描画イベント (draw) も作成し、同じように記述します。

200?"200px":""+(this.scrollHeight+5)+"px");">ifdraw_rect=true
{
アルファ=.8;
draw_rectangle_color(startx,starty,mouse_x,mouse_y,c_green,c_green,c_green,c_green,true);
}

ここではすべてが簡単です。同じことをロシア語でのみ説明します。
長方形を描画する必要がある場合は、透明度を選択して長方形を描画します
ここに議論があります

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


アウトライン - エッジのみを描画するか (true)、塗りつぶされた四角形のみを描画するか (false)
新しい単語が見つかりました - 定数。これは単語に置き換えられた数値式またはコードです。ハンモックには定数が組み込まれています。

200?"200px":""+(this.scrollHeight+5)+"px");">true - 1
偽 - 0
円周率 - 3.1415...


さて、それはわかりました。次に、新しいオブジェクト、つまり子に接続する親オブジェクトを作成する必要があります。 これを par と呼びます (名前を変更するには、コントロール オブジェクトのステップ イベントのコードを変更する必要があります)。作成イベントに次のように記述します。

200?"200px":""+(this.scrollHeight+5)+"px");">selected=false; //オブジェクトが選択されているかどうかを示す変数です。

これですべてです。 もちろん、移動できるオブジェクトが必要です。それを objTest と呼び、作成イベントにコードを記述します。

200?"200px":""+(this.scrollHeight+5)+"px");">gox=x; //どこへ行く...
ゴイ=イ。 //yによる
選択済み = false; // 私たちは選ばれていません =)
object_set_parent(self,par) //ここで親を選択します

新しいアクション:

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

親オブジェクトを ind という名前のオブジェクトに設定します。
そして新しい演算子: self、これはアクションが自分自身に行くことを意味します
心配しないでください。ステップ イベントにはまだ少し残っています。

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=マウス_x;
ゴイ=マウス_y;

今日では、多くの取引戦略を簡単に見つけることができますが、唯一の問題は、それらのほとんどが機能しないか、十分な効果がないことです。 このような状況では、ゼロから戦略を作成することが問題に対する優れた解決策となります。

特定の状況ごとに車両の作成方法は異なりますが、主な段階は同じです。 つまり、すべての段階を順番に経て、普遍的なガイドのようなものを作成することができ、最終的には完全に実行可能なシステムが得られます。

アイデアから始まり、フィルターの導入と車両の最終開発に至る戦略をゼロから作成するというオプションも検討しますが、これは、既製のシステムをすべて明らかに効果がないとすぐに捨てるべきであるという意味ではありません。 多数の TS を基礎として使用し、偽の信号を取り除くためにいくつかのフィルターを追加するだけです。

戦略作成の主な段階

5〜7個の指標をランダムに取り出して、それらから機能する車両を作成しようとすると、有用なものが得られる可能性は低いです。 まず戦略の主なアイデアをよく考えてから、ツールの選択に進む必要があります。 次の一連のアクションを提案できます。

  • システムをゼロから作成する場合、最初のステップはアイデアに取り組むことです。 この段階では、自分の取引スタイルを決めるだけで済みます。たとえば、取引をトレンドに沿って実行するか、トレンドに逆らって実行するか、または戦略をブレイクアウト専用に計画するかなどです。 まだ具体的なことは考えていません。
  • 適切な取引スタイルを選択したら、詳細を検討し始めることができます。 金融商品を選択する前に、使用する通貨ペアと時間枠、取引時間などを明確に決定する必要があります。

重要! 時間枠を選択するとき、特にトレーダーに短い時間間隔での投機の経験がない場合は、あまり小さくすることはお勧めできません。 初心者の場合、一般に H1 ~ H4 を下回らないようにすることをお勧めします。最適な時間間隔の選択について詳しくは、こちらをご覧ください。

  • 次の段階は適切な金融商品の選択です。トレーダーは自由に使える数十のインジケーター、ローソク足、波動、テクニカル、ファンダメンタルズ分析を使用できるため、ここで選択肢の多さがトレーダーにとって残酷な冗談になる可能性があります。 このすべての種類の中から、意図する取引スタイルに最も適したいくつかの商品を選択する必要があります。
  • あらゆる戦略における主なルールの 1 つは、受信信号を複数のフィルターで確認する必要があるということですが、フィルターの数を制限することをお勧めします。 たとえば、インジケーター戦略の場合、インジケーターの数が 3 ~ 4 つを超えることは望ましくありません。そうしないとシグナルに混乱が生じます。また、テクニカル分析を使用して作業する予定の場合、インジケーターは補助的な役割を果たします。
  • ポジションサポートのルールが開発され、その結果、あらゆるシナリオに対応したアクションのアルゴリズムが得られます。
  • 最後の段階では、最初に履歴アカウントで車両を実行し、次にデモアカウント、またはさらに良いのは実際のセントアカウントで車両を実行します。 主な目的は、実際の状況で戦略の実行可能性をテストすることであり、リアルアカウント(1セントでも)を使用すると、幸福感から損失の苦しさまで、あらゆる感​​情を感じることができます。

車両の複雑さにこだわらないようにアドバイスすることもできます。 実際にやってみると、過度の複雑さは有効性の指標にはまったくならないことがわかっています。 システムがシンプルであればあるほど、取引は簡単になります。

車両に含めるべきもの

戦略の作成は構築セットに似ており、必要なのは適切なパーツを選択することだけです。 車両を作成するときは、以下を使用できますし、使用する必要があります。

  • インジケーター。 さらに、完全に機械式の車両であっても、その数や過度の複雑さを追求すべきではありません。3 ~ 5 個で十分です。
  • グラフィックパターン - よく知られたフラッグ、ペナント、トライアングル、ヘッドアンドショルダー、ダブルボトムとトップは依然としてうまく機能します。
  • グラフィック構造。
  • フィボレベル;
  • ファンダメンタルズ分析の要素 - 現在、ニュースだけでお金を稼ぐことは困難ですが、取引では経済カレンダーを考慮する必要があります。 少なくとも、米国または欧州の重要な統計が発表される前に取引を損益分岐点に移動するか、完全に利益を確定することさえできます。

また、その利点が疑わしいテクニックも数多くあります。

  • マーチンゲール法は最初は採算が合わない戦術ですが、唯一成功する可能性があるのは、損失が出る前にデポジット額を取り戻して少し利益を得ることができるかどうかです。

  • また、どうしても必要な場合を除き、ロックを使用することは望ましくありません。その場合、城から出るのは非常に困難になります。
  • また、外部からの信号も使用しない方が良いでしょう。 外部からのシグナルとは、たとえば、売り手と買い手の数の比較、大多数のトレーダーの気分を示すさまざまな指標などを意味します。しかし、たとえば Autochartist など、聞くことができるリソースも多数あります。グラフィックパターンに基づいて良好な信号を提供します。
  • また、(少なくとも初心者にとっては)波動分析の要素を使用しない方がよいでしょう。 ここには例外もありますが、たとえば、Wolfe Waves での取引は正確に波動分析に基づいていますが、特に複雑ではありません。

シンプルな指標戦略の開発

戦略の主なアイデアは、トレンドの方向にのみトレードすることであると仮定しましょう。 さらに、トレンドの出現の瞬間ではなく、小さな調整が完了した後に市場に参入することになりますが、これは非常に危険です。

この戦略はほぼすべての通貨ペアで機能するはずですが、時間枠が長いため、シグナルはあまり頻繁には発生しないため、これが必要です。 したがって、同時に5〜7の通貨ペアを使用して状況を評価することになります。 時間枠に関しては、D1 が適切です。初期段階での外国為替は主な作業の追加にすぎないため、毎日のローソク足で取引します。

次に、入力する瞬間をどのように正確に決定するかを決定する必要があります。 傾向を特定するには多くのオプションがあります。

  • 視覚的に - しかし、目視では明確な取引ルールを開発することはできません。
  • 1 つ以上の移動平均を使用します。
  • ADX 指標の値によると、30 を超える場合は強い傾向があり、20 未満の場合は市場は穏やかです。
  • グラフィック構造を使用する。
  • ボリンジャーバンドを使用すると、チャネルの上限と下限の間の距離によってトレンドの強さを判断できます。

一般に、多くのオプションがありますが、戦略はできるだけシンプルにする必要があるため、移動平均に焦点を当てます。 というか、1つのMA、それに対する価格の位置によってトレンドの方向を判断します。 全期間 (週、月、四半期など) の価格を平均する期間から始めることができます。たとえば、20 を指定すると、過去 1 か月の価格が平均されます。 最も難しいのは適切なMA期間を選択することですが、ここでは試行錯誤して進める必要があります。

取引の主な考え方は次のとおりです。トレンドの動きが現れるのを待ち、その後 1 日以内に調整が続き、終了後に取引が成立します。 これらすべてが明確なルールの形で提示される場合、アクションのアルゴリズムは次のようになります (購入の例を使用)。

  • まず、MA に対する価格の位置を確認します。価格はラインの上にあるはずです。
  • 次に、トレンドの動きを見つける必要があります。実体が大きく、影が小さいローソク足が必要です(影の値がローソク体のサイズの 10 ~ 15% を超えないことをお勧めします)。
  • その後に、日幅が小さいローソク足(高値から終値までの距離)が続く必要があります。 終値は前日の 50% のレベルに達してはなりません。この日は価格修正が発生します。

この場合、修正は 2 つのシナリオに従って実行できます。

  • 下に長い影のあるローソク足が形成されたら、その日の終わりにすぐに取引を開始できます。 ローソクのこの形状は、修正がすでに完了していることを示しています。
  • 考えられるオプションは、修正ローソク足が最小で閉じるとき、つまり、 ロールバックはまだ完了していません。この場合、次のローソク足が閉じるまで待つ必要があります。ローソク足が白であれば、ロングポジションを開くことができます。

ポジションの維持と保護注文に関しては、ストップロスは少なくとも実体が大きいローソク足の中央を超えた位置に配置する必要があります。 ターゲットレベルを取得するには、トレーリングストップを使用して、購入レベルから同じローソクの値を確保するだけで十分です。

戦略のルールは形成されました。あとはそれを実際にテストするだけです。 実際にやってみると、このような単純なアルゴリズムでも、収益性の高い取引の半分以上が得られることがわかります (そして、取引を早期にゼロに移せば、損失の可能性は減少します)。

トレンドの始まりでエントリー

上記で提案されたTSはトレンドの動きの一部を見逃していますが、市場分析に多くの時間を必要としません。 その日の価格の動きを追跡することが可能であれば、トレンド形成の初期段階でトレンドに乗ってみることができます。 したがって、戦略の主なアイデアは、価格が水平チャネルから離れ始めた後に市場に参入することです。

そしてここでは、トレンドの始まりに時間通りに信頼できるシグナルを受け取ることが非常に重要です。 移動平均が再び役に立ちますが、その使用方法は前の戦略とは多少異なります。 期間の異なる複数の MA を取得し、相互の位置によってトレンドの形成を判断できます。

これは革新的なアプローチではありません。ビル ウィリアムズは有名な『アリゲーター』で同様のアプローチを使用しました。 したがって、この指標は TS の基礎として捉えることもできます。

標準設定の Alligator を H1 に追加すると、多くの誤った信号が発生することがわかります。私たちの仕事は、それらを取り除くことです。 これを行うには、未決注文を持って市場に参入し、その配置レベルはフラクタルを使用して決定されます。

その結果、ワークフローは次のようになります (購入の例を使用)。

  • チャート上の平らな領域を探しています (すべてのアリゲーター線が互いに無秩序に絡み合っています)。
  • 次に、フラクタル キャンドルが必要です (これは、下の影に触れることさえせずに、ラインの上に配置する必要があります)。
  • 買いストップ注文はその最高値のすぐ上に出され、保護注文は統合ゾーンの下限を超えて出されます。
  • TP は固定 (50 ~ 70 p) か、トレーリング ストップを使用します。 一般に、トレンドの動きの強さを予測することは非常に困難であるため、固定TPよりもトレーリングストップを使用するか、同じテクニカル分析を使用して目標レベルを決定する方が適しています。

この例は、ゼロから戦略を開発するのではなく、すでに知られている戦略を現代の市場に少し適応させたものです。

簡単な組み合わせシステムの例

考え方は同じで、修正の最後にエントリを追加しますが、この問題を別の方法で解決します。 目標は同じです - 調整が完了する瞬間を判断し、トレンドの方向に入るということですが、以前は移動平均を使用していましたが、今回はフィボレベルとオシレーターを使用してロールバックの完了を判断します。

顕著なトレンドの動きに注目します。これは視覚的に判断することもできます。 この後、Fibo レベルをそれにストレッチするだけです。これは、修正を完了するための潜在的なレベルを決定するために必要です。 最も重要な調整レベルは 38.2% で、50% と 61.8% からの反発で取引することが許可されています。

しかし、価格がフィボ水準に達したという事実だけでは十分ではありません。 Stochastic はこのタスクに非常にうまく対処できます (同じ目的で RSI を使用してみることもできます)。 たとえば、買い取引の場合、価格は修正レベルに近く、その時点のストキャスティクスが売られすぎゾーンにある必要があります。

価格がそのレベルに達した後、ストキャスティクスが売られ過ぎゾーンを抜けて購入するまで待ちます。 ストップは次の修正レベルを超えて配置することができ、TP は少なくともプルバック開始前の最近の高値に配置することができます。

Fibo レベルとオシレーターは、信号を受信するために最低限必要なものです。 必要に応じて、追加のフィルターを導入してシステムを複雑にすることができます。

テクニカル分析に基づいた戦略

テクニカル分析をそのままの形式で使用すると、作業がいくらか単純になり、車両を最初から開発する必要がなくなります。 数多くの技術やツールがあり、その有効性は長年にわたってテストされており、トレーダーは適切なものを選択して構築に使用することしかできません。
原則として、取引を成功させるには以下で十分です。

  • トレンドライン - 最も高い時間枠から始めて、実際の時間枠まで徐々に下降する、さまざまな時間枠に基づいてトレンドラインを作成します。
  • Fibo レベルは、歴史上の重大な値動きまで拡張される必要があります。 38.2、50、および 61.8% の修正レベルが非常に重要になります。実際の練習では、修正がこれらのマークで終了することがほとんどであることがわかります。
  • MT4 は、他の多くのテクニカル分析ツール (たとえば、Andrews ピッチフォーク、Gann ツールのセット、数種類のチャネルなど) も実装しています。

しかし、かなり正確な予測をするには、Fibo レベルとトレンド ラインで十分です。通常、レベルとラインが集中している領域がサポート/レジスタンスとして機能します。 取引は、ブレイクアウトとレベルやラインからのリバウンドの両方を目的として実行できます。

追加のフィルターとして、ローソク足パターンと発散を検索するための何らかのインジケーター (同じストキャスティクスまたは MACD) を追加できます。 テクニカル分析の使用について詳しく読むことができます。

取引システム用のフィルター

たとえそのアイデアがうまく機能し、取引が一般的に利益を生むとしても、どの取引手段でも多くのシグナルが生成され、そのうちのいくつかは利益を生みません。 システム ルールが形成されたら、収益性の高いトランザクションと不利益なトランザクションの比率を改善するのに役立ついくつかの汎用フィルターを使用できます。

ほぼすべての戦略に適したフィルターが多数あります。

  • より高い時間枠での状況。 たとえば、戦略が機械的な戦略に従って H1 で実行される場合、H4 と D1 で何が起こっているかを確認することは間違いではありません。
  • 平均日幅、つまり 1 日あたりの価格の平均移動距離を意味し、日中取引の場合、これは多数のシグナルをフィルターするのに役立ちます。 日中、価格が平均100〜120ピップスで動いていると想像してみましょう。ある日、夕方までに価格が一方向にすでに90〜100ピップスを超えていて、TSが市場に参入するシグナルを出したとします。同じ方向であれば、無視するのが理にかなっています。統計によると、この日は交通量が続く可能性は低いです。

重要! このルールに従うと、一部の有利な取引が見逃されることになりますが、利益のある取引と損失のある取引の比率は増加します。

  • シグナルが形成された後のローソクの数も重要です。5 つのローソクのフィルターもありますが、これについては後で詳しく説明します。

TS がシグナルを発した場合、理想的には、取引が完了した直後 (つまり、次の 1 ~ 3 本のローソク足) に状況が有利に展開し始めるはずです。 これが起こらない場合、取引が完了してから時間が経てば経つほど、トレーダーが市場に参入したときに重要だった要素が市場に及ぼす影響は小さくなります。 彼らの影響力は時間の経過とともに薄れていきます。

5 つのローソク足を基準として使用できますが、取引を締結した後、価格が 5 つのローソク足に対して利益をもたらす方向に動かなかった場合は、手動で取引を終了することをお勧めします。 これは、チャートがそのままのシナリオを意味しますが、価格が収益性の低い側に下がった場合、このフィルターは適用されません。

この条件は、ほぼすべてのタイムフレームに適用されます (m1 ~ m5 を除く)。 もちろん、1マルク付近で推移していた価格が正しい方向に動く可能性はまだありますが、私たちの選択は安定です。 いくつかの収益性の高い取引を犠牲にする方が良いですが、3 ~ 5 個の収益性の低い取引は避ける方が良いでしょう。

要約する

取引システムなしで仕事を始めることは死のようなものです、すべてのトレーダーはこれを覚えておく必要があります。 この場合、デポジットが失われるのは時間の問題です。

適切な車両を選択することは難しくありません。さらに、パブリックドメインで適切に動作するシステムを見つけることができます。 また、独自の戦略を作成することについて心配することもできます。特に、これにはプログラミング言語の知識は必要ありません。市場がどのように機能するか、どの指標がどのような目的で使用されるかについてのアイデアと、少なくとも基本的な知識があれば十分です。

プロセス自体は建設キットの組み立てを彷彿とさせます。最初に問題を設定し、次にそれを解決するために必要なツールを選択するだけです。 履歴を確認した後、デモ口座またはセント口座で TS テストに進むことができます。

この記事では、未知のものについては触れないと思います。 すべての計算は単純で、Ajax が何であるかを知っている人なら誰でも理解できます。 私はすでに、リアルタイム ゲームでクライアントとサーバーを組み合わせる方法に関する記事を書きました ()。 この記事では、ターンベース ゲームに当てはまるのと同じ問題について取り上げます。

それで、何ですか ターン制ゲーム? 次の定義はウィキペディアで見つけることができます ターン制戦略 - コンピュータ ゲームのジャンルであり、その主な特徴は、リアルタイム ストラテジーとは対照的に、プレーヤーが順番に行動することです。。 この定義を少し単純化します。

  • 段階的な戦略 - ターンベースの戦略ゲームです.
  • 戦略ゲーム - これは、計画と戦略的思考が勝利の鍵となるゲームのジャンルです。.
  • ターン制ゲーム - プレーヤーが順番に行動することを主な特徴とするゲームのジャンルです.
ターンベースのゲームには次のようなものがあります。
  • ターン制戦略
  • トランプ
  • ボードゲーム(チェス、囲碁、モノポリーなど)
ターンベース ゲームでは、リアルタイム ゲームに比べてインタラクション プロトコルの複雑さに対する制限が少ないことに注意してください。 つまり、 特定のイベントに対する反応時間は重要な役割を果たさない。 通常、プレイヤーには決断を下すまでに 10 秒の時間が与えられます。 たとえ ping が 3 秒など巨大な場合でも、プレーヤーにはまだ 7 秒の思考時間が与えられます。 さらに、ping は飛び跳ねることがありますが、これについてはまったく気にしません (リアルタイム ゲームでは、この状況は事実上あらゆるプロトコルを無効にします)。

通常 (ターンベース ゲームの 95% では) 常に 1 人のプレイヤーが決定を下します。 したがって、適切に対応しなければならない要請の数は絞られます。

したがって、プロトコルを作成するときは、その実装とサポートの容易さに主に焦点を当てます。 これにより、より短い時間でより多くの利益を得ることができます。

上記の推論は、あるカード ゲームの 2 か月の開発に基づいています。

クライアントは賢いのか、愚かなのか?

まず、クライアントがどの程度「賢く」なれるかを判断しましょう。 クライアント上でアプリケーション ロジック (ゲーム ルール) を複製する価値があるかどうかについて議論しています。 もちろん、サーバーはアプリケーションの潜在的なハッキングを防ぐために賢くなければなりません。 しかし、クライアントにビジネス ロジックを教える価値はあるのでしょうか?

これは、ゲームの状態に関するデータの全量がどれだけの重みを占めるかに直接依存します。 この量のデータが大きく、サーバーでの収集とクライアントへの転送に長い時間がかかる場合、サーバーの負担を軽減するためにロジックの一部をクライアントに実装するのが合理的です。 たとえば、Civilization では、メモリ使用量ゲージが常にチャートから外れています。 クライアントに UI だけを残して、同様のものを作成できますか?

一方で、クライアントが賢ければ賢いほど、ゲーム開発の費用は高くなります。 サーバーの開発時間はクライアントの知識にはまったく依存しないことに注意してください。 クライアントが非常に優れたスマート性を備えている場合でも、ユーザーがブラウザ ウィンドウをリロードしたい場合、サーバーはゲームに関するすべてのデータを収集して組み立ててクライアントに転送する必要があります。 「保存したゲームをロードする」です。 結論: スマート クライアントはアプリケーションを高速化できますが、アプリケーションの開発には常に追加のリソースが必要になります。

以下をお勧めします テスト:

1. チャンネルの音量は許容されますか?

ゲーム状態データ全体の平均重みを推定します。 次に、1 秒あたりのサーバーへの平均リクエスト数を掛けます。 結果の数値が送信データ チャネルの容量を超える場合、愚かなクライアントは受け入れられません。 この数値が送信チャネルの 20% を超えている場合、それが機能するかどうかを検討する必要があります。

2. 労働集約的ですか?

ゲーム データ収集アルゴリズムの複雑さを (数分の一秒で) 推定します。 ここでは、データベースに対するすべてのクエリを考慮します。 次に、1 秒あたりのサーバーへの平均リクエスト数を掛けます。 時間が 1 秒を超える場合は、愚かなクライアントは受け入れられません。 この数値が 200 ミリ秒を超える場合は、それが持続するかどうかを検討する必要があります。

継続:

テーマパーク:
I次のものが必要になります。
建物のスプライト
スプライトメニュー
次のようなさまざまなボタンのスプライト:
碑文(建設、建設、構築など)が記載された文字
表示されるウィンドウ
建物の図面、
1) 残りは自分で追加します
2) 偽造という言葉 - 私が作ったものです。 ソースと一致するように偽装する必要があります)
II始めましょう:
1) 1) を除き、ポイント I に書かれているものをすべて作成します。
Money というグローバル変数を作成し、任意の初期金額を設定しましょう
マウスとキーボードのオブジェクトも作成します
テキストを作成し、それを info と呼び、always イベントを作成し、その中にアクションを作成しましょう。
アクション選択で情報を選択 テキストでテキストを選択 これを書きます:
"お金: " &(global("お金".
2) メニューを追加します。メニューの主なタスクは干渉することではなく、プレイヤーのナビゲーションを支援することです (どうやって干渉するのでしょうか? - メニューを作成する前にゲームの中央に配置すると簡単です)。作成した表示項目の比率 (設定、オプション) に合わせて、メニューと呼ぶ新しいレイヤーを作成します。


そこにスプライトを追加し、プリプロダクションマテリアル (ポイント I) にあったメニューの画像を取得し、邪魔にならないが画面上に表示される人里離れた場所にメニューを配置します。
また、「BUILD」(またはそのようなもの)と書かれた、仕上げ前の材料で作られたボタン(ポイント I)を配置しましょう。
メニューに入れてみましょう
次に、イベントシートエディターに移動します
イベントを作成します (#何とか何とか# - これはあなたへの私のメッセージ (説明) です。何とか何とかの代わりに、あなたへの私のコメントがあります; >> - アクション; ll - ウィンドウの分割 たとえば:

マウスとキーボード ll オブジェクトをクリック ll 左クリックしてオブジェクト #BUILD (またはそのようなもの) と書かれたメニュー ボタン##残りは後で (ポイント 3 を参照)#
3)今が最も難しい部分です(それほど複雑にならないように、これを 2 つのポイントに分けました)、
仕上げ前のマテリアルからスプライトを作成「表示されるウィンドウ」
次に、p1 という空のスプライトを作成し、ウィンドウを画面外に移動し、ビルド ボタン (または CHVER のようなもの) を押したときにウィンドウが表示される場所に p1 を配置します。
素晴らしいです。イベント シート エディターに移動します。
未完了のイベントを最後まで書き留めてみましょう。
テキスト ll テキスト ll を設定します (bla-bla-bla)
マウスとキーボード オブジェクトをクリックした オブジェクトを左クリックした #BUILD (またはそのようなもの) というラベルの付いたメニュー ボタン #>>
4)最も難しい部分の 2 番目の部分:
建物(仕上げ前のマテリアル)の画像を描画するスプライトを作成しましょう。それを h1 と呼びます。
空のスプライトを作成して p2 と呼び、ウィンドウが開く場所に配置しましょう。
スプライトとウィンドウ (仕上げ前のマテリアル) を作成しましょう。ウィンドウに建物の名前、コスト、説明 (オプション) を美しく書き込み、i1 と呼びます。
p3 という名前の別の空のスプライトを作成し、p2 の左上隅のみが p2 に接するように、p2 の隣に配置します。
次に、いくつかのイベントを作成しましょう。ただし、最初に前のイベントを 1 つの新しいアクションにします。
マウスとキーボード クリックされたオブジェクト上で ll オブジェクトに対して左クリック #BUILD (またはそのようなもの) という文字が入ったメニューのボタン#>> システムは、オブジェクトに対して相対的にオブジェクトを作成します ll #あなたのウィンドウ# #menu という名前の下のレイヤー番号# # X ;Y-オブジェクト p1 に変更しない#
>>システムはオブジェクトllを基準にしてオブジェクトを作成します #2番目のウィンドウ# #名前メニューの下のレイヤー番号# #X;Y-変更しないでください# オブジェクトp2に
また、彼にイベントを返す必要があります。
イベントをコピーして反転する
新しいイベント
マウスとキーボード ll はオブジェクト ll h1 上にあります >> システム ll オブジェクト ll i1 を基準にしてオブジェクトを作成します #名前の下のレイヤー番号 menu# #X;Y-変更しないでください# オブジェクト p3 に
建物を含むスプライトを作成し (事前制作マテリアルを使用)、それを「家」と呼びましょう
メニューで建物が選択されたときに建物が表示されるウィンドウを作成しましょう。これを「rlo」と呼びます。
イベント:
マウス&キーボード オブジェクトをクリックした ll 左クリックして h1>>システム ll オブジェクトを基準にしてオブジェクトを作成 ll ハウス #名前の下のレイヤー番号 menu# #X;Y-変更しない# オブジェクト rlo
>> システムは価値 ll から#建設中に持ち去られるべき金額#を差し引きます
イベントを構築することは不可能になりました
私の以前の禁止法をお話します(書き終わったら、ゲームのテーマパークの世界を思い出して青くなった別の方法を検討します)
イベント:
別の物体との衝突で家 ll 家へ ll
>>家が壊れるよ
>> システムは値 ll から差し引きます - #建設中に持ち去られた金額の 2 倍##入れなければならないことに注意してください - 数量#
基本的にすべて。
Ⅲ 言いたいこと:

私は自分のゲームが崩壊したことに非常に動揺しました、そしてこの記事はそのスキームに従ってまとめられました、私は長々と書きました、スピーチの間違いを見つけたら書いてください。そしてそれらを修正してください
また、ここにソースコードがありますので、ご覧ください。基本的にはすべてここに書かれているものと同じです。ただ、これはゲームのデモ版でした。重要なことは何も変更しないことです。変更しないとバグが発生します。 !
使って、試して、調べて、やりたいようにやっても大丈夫です

カミカザ:
すべての「システム」式は「コード」タグに含める必要があります。
そうしたらもっと良くなると思いますよ。
また、ここではスクリーンショットを撮っても問題ないと思われます。 初心者向けのソースコードもあります。

テーマパーク:
イベントのスクリーンショットの撮り方がわかりません。

まあ、それは必要ありません。

iamnp:
theme_park 、キーボードには特別なボタンがあります - PrintScreen

テーマパーク:
さらに、誰もが独自のスプライトを持っているだけです。
これらすべてのスプライトを設定しても、理解できる人はほとんどいないでしょう。
まあ、誰かがプラスしてくれるかも? 私が苦労したのも不思議ではありませんか?

ブルラチェンコ:
そのようなレッスンが誰にとっても興味深いものになるためには、それに応じてフォーマットする必要がありますが、ここでは「とにかく」でした。
それでもよかったら、時間のあるときに少しずつ「美化」してください。

テーマパーク:
よし、学校から帰って準備するよ。
PS. ソースを追加しました

セレガ・レベデフ:

iamnp、これらのスクリーンショットは後でどこに行きますか?

カミカザ:

クリップボードへ。
任意のテキスト エディタに移動して「貼り付け」操作を実行するか、Ctrl+V を押します。

御社は我が国のコンサルティングサービス市場において最も強力な会社の一つであると考えております。 経営上の問題を幅広く取り上げ、十分な質と深さで取り上げている点が好感が持てます。専門家の経験を知り、そこから学ぶことは常に興味深いので、御社の出版物には有益な情報がたくさんあります。

ボリシュク・ユーリ・アレクサンドロヴィッチ、経営コンサルタント、技術科学博士

私はあなたが教える一連のマスタークラスがとても好きです。私自身、以前は工場長を務めていたこともあり、経営へのアプローチを変え始めました。 あなたから受け取った情報に感謝します。 彼女は私が工場で行ったことや観察したことにどういうわけか反応してくれました。 それ以来、私はロシアの工業能力がいかに非効率的であるか、そして潜在力がいかに巨大であるか、そしてそれをどのように実現できるかについて考えるようになりました。 さまざまな企業の問題を​​個人的に知るようになり(友人が専門家として私を招待してくれることもあります)、どれだけのことができるか、効果と効率の両方を高めるにはどうすればよいかがわかりました。

ドリャギン・オレグ・ボリソビッチ

はい、あなたのマスタークラスが好きです。非常に体系的なアプローチ、高いレベルでの内容の知識、そしてもちろん、検討されている問題に関する多くの実践的な経験。 私が惹かれるのは、アレクサンダーのプロフェッショナリズムとこの主題に関する高度な専門知識のおかげで、すでに見慣れたものを別の視点から見ることができます。 私の観点からすると、これは自分が知っているものを新しい方法で見ることは非常に重要であり、必要です。なぜなら... 外科手術中に、目が「かすみ」、実際には明白なものが見えなくなることがよくあります。

Elena Fedash 氏、ATB Corporation、ドネプロペトロウシクの人事ディレクター。

トピックの続き:
その他

最近では、たとえばコンピュータからオシロスコープを作成する代わりに、単純にデジタル USB オシロスコープを購入することを好む人が多くいます。 ところが歩いた後は・・・