シートSTEP14をご覧ください。
今までのシートではEXITサインが出ても、ポジションが継続されてしまっている状態で、シート
の構築をしてきました。このままでは、シートが使い物になりませんので、ロスカットかEXITのサインが出たらポジションが消失するようにシートを修正します。
前回の修正と同じように、IF-ブランクで囲んで修正していきます。
セルL21には次のように書き換え、オートフィルでデータの入っている最終行までワークシート関数をコピーします。
■STEP13以前の修正前
=IF(OR(K20="sell",K20="buy"),B21,L20)
■STEP14における修正後
=IF(OR(R20<>"",S20<>""),"",IF(OR(K20="sell",K20="buy"),B21,L20))
ここで書き加えた関数の意味は、
=IF(OR(R20<>"",S20<>""),"",
ロスカットサインの列とEXITサインの列のいずれかが、ブランクではない場合'ポジションを仕切るサインが出ていた場合、ブランクを返す
※また、ワークシート関数の左端にIF追加したので、それに対応したカッコが右端にひとつ増えるのでご注意ください。
修正前 ・・・L20) → 修正後 ・・・L20))
ということです。
続いて、セルM21も次のように書き換え、オートフィルでデータの入っている最終行までワークシート関数をコピーします。
■STEP13以前の修正前
=IF(K20="sell","sell",IF(K20="buy","buy",M20))
■STEP14における修正後
=IF(L21="","",IF(K20="sell","sell",IF(K20="buy","buy",M20)))
ここで書き加えた関数の意味は、
=IF(L21="","",
当日の約定値段の列がブランクだったら、ブランクを返す
※また、ワークシート関数の左端にIF追加したので、それに対応したカッコが右端にひとつ増えるのでご注意ください。
修正前 ・・・M20)) → 修正後 ・・・M20)))
ということです。
続いて、セルO21も次のように書き換え、オートフィルでデータの入っている最終行までワークシート関数をコピーします。
■STEP13以前の修正前
=IF(OR(K20="sell",K20="buy"),N20,O20)
■STEP14における修正後
=IF(L21="","",IF(OR(K20="sell",K20="buy"),N20,O20))
ここで書き加えた関数の意味は、
=IF(L21="","",
当日の約定値段の列がブランクだったら、ブランクを返す
※また、ワークシート関数の左端をIF追加したので、それに対応したカッコが右端にひとつ増えるのでご注意ください。
修正前 ・・・O20) → 修正後 ・・・O20))
ということです。
続いてセルP21を次のように書き換え、オートフィルでデータの入っている最終行までワークシート関数をコピーします。
■STEP13以前の修正前
=IF(K20="sell",B21+2*J20,IF(K20="buy",B21-2*J20,P20))
■STEP14における修正後
=IF(L21="","",IF(K20="sell",B21+2*J20,IF(K20="buy",B21-2*J20,P20)))
ここで書き加えた関数の意味は、
=IF(L21="","",
約定値段の列がブランクだったら、ブランクを返す
※また、ワークシート関数の左端にIF追加したので、それに対応したカッコが右端にひとつ増えるのでご注意ください。
ということです。
STEP14のシートは以上の作業を行ったものです。 STEP13とシート全体を見比べてみてください。
これにより、いよいよシステムの検証ができそうなシートに見えてきたと思います。