メインコンテンツへスキップ
見出し画像
Photo byhappy_recipes

EAの品質について考える|開発者と購入者の間にある埋められない溝とは?

    EAとはExpertAdvisorの略称で、MT4/MT5という世界標準となったFX個人投資家向けのプラットフォームで動く自動売買プログラムです。

    今回はEAの品質について考えていきたいと思います。

    最初に結論から。

    💡EAの品質に対する考え方は開発者と購入者で違ってくる

    💡EAの品質は「狭義の品質」と「広義の品質」の2つに別れる



    1.EAの品質に対する考え方は開発者と購入者の違い

    (1)品質に対する考えの違い

    EA開発者は、
    『品質=バグのないプログラムコード』
    『品質=仕様通りに動作すること』

    と考えている方が多いです。

    一方、EA購入者は、
    『品質=EAの実績(フォワードがバックテストとニアになること)』
    と考えます。

    (2)なぜ品質に対する考え方が違ってくるのか?

    EA開発者は、
    バグなく仕様通りに動くことが品質であり、フォワードがバックテストとニアになるのは運要素が強いと考えるため、EAの品質とは考えない傾向があります。
    ⚠️EA開発者がリアルフォワードを公開しない理由の1つでもあります

    EA購入者は、
    EAの品質は「実績」であり「バックテストとフォワードが乖離が少ないこと」になります。なぜそうなるかは明確で、EA購入者にとってEAは、プログラムコードが見えないブラックボックスだからです。
    故に、EA開発者がどんなに「バグのないコード」「高速動作するコード」「綺麗なコード」を訴求しても、ピンとくることはありません。
    だって自分の目にはそれは見えないですから。
    例え見えたとしても、何が良いコードなのかわかりませんから。
    良いコードを理解するには、悪いコードも知り・理解する必要があります。そんな事はかなりな物好きじゃないとしないはずです。

    あと、「バグのないコード」「高速動作するコード」「綺麗なコード」は、そんなのお金取ってるんだから当りまえでしょ。という感覚なはずです。

    画像
    EAの品質に対する考え方は開発者と購入者の違い

    2.「狭義の品質」と「広義の品質」

    これは一般的なソフトウェア開発と同じだと思います。

    (1)狭義の品質(プログラマーの視点)

    • EAがバグなく動作すること

    • EAが仕様通りに動作すること(機能要件、非機能要件)
      ▶機能要件 :決められた条件でオープン、クローズする等
      ▶非機能要件:受信したTick全てでイベント動作できること等

    (2)広義の品質(顧客の視点)

    • EAのフォワードがバックテストとの乖離が少ないこと
      ※つまり勝てること

    (3)「顧客の視点」にフォーカス

    顧客視点の前提として

    • 顧客はEAのプログラムコードが見えないブラックボックス

    • 顧客はEAのプログラムコードを見ても良し悪しはわからない

    よって顧客のEA品質に対する優先順位は(シンプルに2軸に絞る)
    ①勝てる、バグなし
    ②勝てる、バグあるけど爆発せず
    ③勝てる、バグあって爆発したけどトータルで勝てる
    ➍勝てない、バグなし
    ➎勝てない、バグあり

    つまり、勝てないEAの場合、バグがあろうと、なかろうと顧客にとっては低品質になります。高速動作、綺麗なコードについても同様です。

    画像
    EAの品質:狭義と広義の視点

    商材屋に突き付けられる厳しい現実

    つまり、どんなに時間をかけて、動作検証して、試行錯誤を繰り返して開発したEAだとしても、フォワードで勝てないEAは顧客にとって低品質なEAなのです。

    私も1人の商材屋として、厳しい・・・そう感じます。
    リアルフォワードを公開しない商材屋さんの気持ちもわかります。

    しかし物を売る者として、顧客の視点は最重視しなければなりません。
    「広義の品質」から目を背けないようにしていきたいですね。

    あなたへのおすすめ