chatGPT 3.5(無料版)でプログラム論理設計書を書かせて、使えるプロンプトが出来上がり

chatGPT3.5への設計指示書


あなたは一流のシステムエンジニアで論理設計が得意です。
次の文章をもとにコードを書き起こせるよう、設計書を書いて下さい。
実際のコードは不要です。

これから為替トレードで利用するプログラム論理設計書を書きます。
変化期でのエントリーは、
転換日を含む前後2日(2+1+2=5日)を基準とし、前後日数は変数Aとする。日足始値でエントリー。
変数A=0 ならば、当日のみ。 =1ならば、3日。 =2 ならば、5日。minval=0 , maxval=3
上げ変化期間は買いエントリー、下げ変化期間は下げエントリー。

ストップ注文は転換日を含む前後n日の高値安値の値幅の2倍を、期間中の高値安値の先に置く。
クローズ注文は変化期の終わりm日前からとし、終わりm日前=前後日数合計数である。1日1ポジションを日足始値でクローズする。

この後に、ドル円で想定される動きを説明例として記述して下さい。
論理設計書の書き起こし、ならびに、ドル円で想定される動きの説明例の書き起こしにあたり、不明な点があれば、先に私に質問をして下さい。
では、始めてください。

(これをchatGPTに食わせてみました、質問を私に返すことなく、回答が返ってきました)

chatGPT無料版の回答その1

為替トレードで利用するプログラムの論理設計書

【エントリー条件】

  • 変化期でのエントリー

  • 転換日を含む前後2日(2+1+2=5日)を基準とし、前後日数は変数Aとする。

  • 日足始値でエントリーする。

  • 変数Aの値に応じて、エントリー基準日数を変更する。

    • 変数A=0ならば、当日のみエントリー。

    • 変数A=1ならば、3日間の中でエントリー。

    • 変数A=2ならば、5日間の中でエントリー。

    • 変数Aの取りうる値の範囲は0~3とする。

  • 上げ変化期間は買いエントリー、下げ変化期間は売りエントリーとする。

【ストップ注文条件】

  • 転換日を含む前後n日の高値安値の値幅の2倍を、期間中の高値安値の先に置く。

  • nの値は任意とする。

【クローズ注文条件】

  • 変化期の終わりm日前からとし、終わりm日前=前後日数合計数である。

  • 1日1ポジションを日足始値でクローズする。

  • mの値は任意とする。

【想定される動きの説明例(ドル円)】
例えば、ドル円が上昇トレンドにあると仮定する。

  • 転換日を含む前後5日のうち、日足始値が最も安い日に買いエントリーする。

  • ストップ注文は、転換日を含む前後n日の高値安値の値幅の2倍を、期間中の高値安値の先に置く。

  • 変化期の終わりm日前からクローズ注文を出し、1日1ポジションを日足始値でクローズする。

  • 上昇トレンドが継続している場合は、次の転換日を含む前後5日のうち、日足始値が最も安い日に再度買いエントリーする。

  • 下降トレンドに転じた場合は、売りエントリーに切り替える。

説明例が悪いので、訂正するよう次の通り指示しました。

説明例が適切ではありません、日足始値が最も安い日というのは事前にわかりませんので、「最も安い日」という記述を削除して書き直してください。

chatGPT無料版の回答その2

承知しました。以下が訂正後の説明例となります。

ドル円の場合、直近10日間の価格変動を考慮した上で、以下のような取引シナリオが考えられます。

  1. 上げ変化期間の場合
     - 変数Aが0の場合:転換日当日の日足始値で買いエントリー
     - 変数Aが1の場合:転換日を含む前後3日間の日足始値の最安値で買いエントリー
     - 変数Aが2の場合:転換日を含む前後5日間の日足始値の最安値で買いエントリー

  2. 下げ変化期間の場合
     - 変数Aが0の場合:転換日当日の日足始値で売りエントリー
     - 変数Aが1の場合:転換日を含む前後3日間の日足始値の最高値で売りエントリー
     - 変数Aが2の場合:転換日を含む前後5日間の日足始値の最高値で売りエントリー

  3. ストップ注文の設定
     - 転換日を含む前後n日間の価格幅の2倍をストップ注文の価格とする
     - 価格幅の算出には高値と安値を用いる

  4. クローズ注文の設定
     - 変化期の終わりm日前からクローズ注文を出す
     - 変数Aの値に応じて、m日間とする日数を設定する
     - 1日につき1ポジションのみクローズ注文を出す
     - クローズ注文の価格は日足始値とする

以上が、為替トレードプログラムの論理設計書とドル円の取引シナリオの説明例となります。何かご不明点があればお知らせください。

バックテストなら「前後3日間の日足始値の最安値」はわかりますが、フォワードテストでは、これはわかりません。なんども説明するのは時間の無駄なので該当箇所を手動で削除します。

手動削除の訂正例は次の通り。

ドル円の場合

  1. 上げ変化期間の場合
     - 変数Aが0の場合:転換日当日の日足始値で買いエントリー
     - 変数Aが1の場合:転換日を含む前後3日間の日足始値で買いエントリー
     - 変数Aが2の場合:転換日を含む前後5日間の日足始値で買いエントリー

  2. 下げ変化期間の場合
     - 変数Aが0の場合:転換日当日の日足始値で売りエントリー
     - 変数Aが1の場合:転換日を含む前後3日間の日足始値で売りエントリー
     - 変数Aが2の場合:転換日を含む前後5日間の日足始値で売りエントリー

  3. ストップ注文の設定
     - 転換日を含む前後n日間の価格幅の2倍をストップ注文の価格とする
     - 価格幅の算出には高値と安値を用いる

  4. クローズ注文の設定
     - 変化期の終わりm日前からクローズ注文を出す
     - 変数Aの値に応じて、m日間とする日数を設定する
     - 1日につき1ポジションのみクローズ注文を出す
     - クローズ注文の価格は日足始値とする

以上が、為替トレードプログラムの論理設計書とドル円の取引シナリオの説明例となります。

使えるプロンプトができました。

その後、いくつか試行錯誤して、最適と思われるプロンプトがこちら。
これでザクッと論理設計書いたのをきれいに整形整理し文章化する工程を無料で使えるchatGPT3.5にお任せできます。

これまでの指示は忘れて下さい。
あなたは一流のシステムエンジニアで論理設計が得意です。
次の文章をもとにコードを書き起こせるよう、設計書を書いて下さい。
実際のコードは不要です。
概要を簡単にまとめて、設計書の初めに書いて下さい。

(内容)

論理設計書の書き起こしにあたり、不明な点があれば、先に私に質問をして下さい。
あなた独自の推測は不要です。
では、始めてください。

指示プロンプトだけ、英語にしてみました。

Forget the previous instructions.
You are a top-notch systems engineer and good at logic design.
Please write a design so that we can transcribe the code based on the following statement.
No actual code is required.
Just give a brief summary and write it at the beginning of the design document.

外部入力パラメタ:
変化期の開始年月日
変化期の終了年月日
変化期の転換日
変化期の転換日の前後日数
変化期の方向(上げ方向・下げ方向)
クローズ注文出すタイミングに分割期間を使用するかの判断フラグ
分割期間数
ロジック:
変化期でのエントリー注文、
転換日を含む前後2日(2+1+2=5日)を基準とし、前後日数は変数Aとする。日足始値でエントリー。
変数A=0 ならば、当日のみ。 =1ならば、3日。 =2 ならば、5日。minval=0 , maxval=3
上げ変化期間は買いエントリー、下げ変化期間は下げエントリー。1日1ポジションで。
ストップ注文、
転換日を含む前後n日の高値安値の値幅の2倍を、期間中の高値安値の先に置く。
クローズ注文、
分割期間を使用しない場合、
変化期の終わりm日前からとし、終わりm日前=前後日数合計数である。1日1ポジションを日足始値でクローズする。
分割期間を使用する場合は分割期間の最後の期間を使う。
分割期間が2であれば、変化期の日数を2で割る(変数D1)、開始日に(変数D1*(分割期間-1))を加算し、その翌日から1日1ポジションを日足始値でクローズする。

If you have any questions in transcribing the logic design, please ask me first.
No guesswork of your own is required.
Please describe in Japanese.
Then, please begin.

chatGPT無料版の回答その3

【概要】
本システムは、外部入力パラメータを元に、変化期間においてエントリー注文、ストップ注文、クローズ注文を行うロジックを設計するものである。
エントリー注文は、転換日を含む前後5日の日足始値を基準に行い、上げ変化期間には買いエントリー、下げ変化期間には下げエントリーを行う。ストップ注文は、転換日を含む前後n日の高値安値の値幅の2倍を、期間中の高値安値の先に置く。クローズ注文は、分割期間を使用するか否かで異なり、分割期間を使用しない場合は変化期の終わりm日前から1日1ポジションを日足始値でクローズする。分割期間を使用する場合は、分割期間の最後の期間を使い、変化期間を分割期間で割った値を基に開始日を決定し、その翌日から1日1ポジションを日足始値でクローズする。

【ロジック】
<エントリー注文>
・転換日を含む前後5日の日足始値を基準に行う。
・前後日数は変数Aとする。
・変数A=0ならば当日のみ、=1ならば3日、=2ならば5日。minval=0, maxval=3。
・上げ変化期間は買いエントリー、下げ変化期間は下げエントリーを行う。
・1日1ポジションを日足始値でエントリーする。

<ストップ注文>
・転換日を含む前後n日の高値安値の値幅の2倍を、期間中の高値安値の先に置く。

<クローズ注文>
・分割期間を使用しない場合、変化期の終わりm日前から1日1ポジションを日足始値でクローズする。
・分割期間を使用する場合は分割期間の最後の期間を使う。
・分割期間が2であれば、変化期の日数を2で割る(変数D1)。
・開始日に(変数D1*(分割期間-1))を加算し、その翌日から1日1ポジションを日足始値でクローズする。

チップはこちらからお願いします