ここではToNaPiに関してのご質問をまとめいきたいと思います。
※個人情報が含むところなどは削除し掲載いたします。
回答内容も長くなるのでせっかくならコンテンツとさせて頂きます。
ただToNaPiをお持ちでない方は意味が分からないと思いますので、最悪無料版をダウンロードの上、ご確認頂ければと思います。
↓ToNaPi(となぴ)を無料でダウンロードする↓
Take TargetFirstOrderが機能していない※更新日:2023/02/03
お世話になっております。
tonapiのバックテストで想定の結果にならなかったので設定方法や使用方法が間違っていたらご教授頂きたいです。
自分のイメージとしては、一般的なGOLDマーチンEAをライクネスで途中ナンピンした状況を再現したかったのですが、
利益が逆にかなり少なくなってしまい???になっています、、、
以下の作業手順をした結果、途中ナンピン用TakeTargetや
途中ナンピン用TakeTargetFirstOrderが機能していないのでは?と疑問にも感じております。
■ボリバン無し途中ナンピン無しの一般的なマーチンナンピンEAを設定。
↓
■2023年1月1日~2023年2月1日までのバックテスト結果の純益が1732USD
↓
■結果をQuant Analyzerで分析して、途中ナンピンは6個目から入ると決定(利益902USDアップ)
↓
■tonapiパラメーターを途中ナンピンに関わる部分のみを変更。変更パラメータは下記。
・途中ナンピン:する
・ロットの状態:続きから
・●個目以上:6
・途中ナンピン用TakeTarget:40
↓
■同じ期間をバックテストした結果、純益が226USDと大幅に下がってしまう。
↓
■途中ナンピン用TakeTargetを多めの300に変えてみたり、
途中ナンピン用TakeTargetFirstOrderをTrueにして300にしてみたりしたが純益は殆ど変わらず。
回答:Take TargetFirstOrderが機能していない
まずはTakeTargetFirstOrderがなにかを理解する必要があります。
TakeTargetFirstOrderは使用するためには下図の部分を「true」に変更します。

その上で、説明を続けていきます。

上図の通り、最初のポジションで利確の値を決めることが出来ます。
ナンピンマーチンEAというのは、丁寧にやればやるほど1個目のポジションでトレードが終了することが多いです。
なので、このような設定があります。

では2つ以上のポジションを取った場合はどうなるかというと、
★TakeTarget(利確)で設定した値で計算し決済するという流れです。
次に
途中ナンピン用TakeTargetについて説明します!
これは仮想ポジションの利確のことになります。
まずは下図の画像をご覧ください。

こちらを2つにわけていきます。
まずは右下の部分からです。

水色の矢印が仮想ポジションです。

□で囲った水色のレ点が仮想ポジの決済部分となります。

これを決めるのが
「途中ナンピン用TakeTarget」
となります。
次は上の方を見ていきましょう。

これは仮想ポジションが1つで、
「途中ナンピン用TakeTarget」
の値で決済できなかったので、
実ポジションを取ってトレードした形となります。

これらを踏まえ頂いた内容の設定ですが、
・途中ナンピン:する
・ロットの状態:続きから
・●個目以上:6
・途中ナンピン用TakeTarget:40
このケースの場合は、
★TakeTarget(利確)の値を増やせば良いと思いました。
ここで注意点としては、どれぐらい増やすかです。
もともとのバックテストの結果は良いとのことなので、少しずつ上げていくかんじです。
※現在どれくらいで設定させれているかわからないのですが、仮に50ぐらいだった場合は80、100、110、とかですね。
その上で視聴して頂きたい動画が下記の9:50からの部分ですが、利益率を上げ、リスクを下げるようになっているかです。
損益と最大DDをとりあえず確認する必要があると思います。

もちろん、最大DDを上げてもいいから、損益を増やすというのも無しではありません。
ToNaPiではその辺りも含め自由に戦略を決めれます。
その後の返信

その後の回答は上図の通りです。
ただこれは質問者様もおっしゃっていたのですが、爆益系となるのでリスクを理解して設定する必要があるとのことです。
ただこれでお伝えしたいと事は、ToNaPiでは今回のように全て自分で理解して使うことが出来ます。
EAを自分で作れない人でも、ロジックを自分で考えバックテストをリスクがどれくらいあるか理解して利用する。
これが本当の自己責任です。
金曜日戦略の組み合わせ※更新日:2023/02/05

杉原様
ToNaPiを先日購入させていただいてから
設定がおもしろくて毎日いじっています
質問が一つあるのですが
金曜日の決済について
クローズフライデーナイトとフォースドクローズフライデーナイトは併用できないのでしょうか?
現実で運用する場合は手動で止めると思いますがバックテストでの検証として試してみたいので
ご回答をお願いします。
ようは
同じ日にお昼から新規ポジをとらなくして夜に全部決済のように使う感じです。
回答:金曜日戦略の組み合わせ
可能な部分と可能ではない部分があります。
以下が実際のバックテストでやってみた感じです!
パラメーターは

サーバー時間の9時まで!

フォースド クローズ フライデイナイトは サーバー時間の21時にしてみました。
※あとわざと決済を送らせるため「★Take Target(利確)」は200ぐらいにしました。
バックテストでは下図のようになったので、あとはオレンジの矢印の部分にカーソルを合わせて損切りした日を確認。

カーソルを合わせると下図ように問題の箇所を特定できます。

最後にその日を「チャートを開く」でバックテストでのチャートを確認していきます。


2か所だけ確認しましたけど出来てそうですね。
ただこの場合はだと、平日も取引が9時スタートとなるので、
ひと手間かかりますが、クローズフライデイナイトを9時にして、
寝る前にポジションをまだ持っている場合は、フォースドクローズフライデイナイトを使ってけっさいするか若しくは、

トレード時間の設定(ブローカー時間)の一番下にある、
Close everything OUt of hours(以降は全てする)
をTrueにすれば、
Stopを指定してる時間になれば全て決済します。
いずれにしろ、まずはビジュアルモードで試してみて下さい。
Min Distance On Atrの使い方

ToNaPiの機能で一番よくわからない機能と言われるのが、この
Min Distance On Atrです。
正直私も感覚で使用しているので、上手く説明出来る自信がないのですが、考え方や簡単な計算式だけシェアします。
ただこの機能はナンピン幅の決め方にはこんな方法があるのかと、トレードの参考には非常になりました。
ちょっとマニアックな方法ですが、興味ある方は読み進めていって下さい。
概要:Min Distance On Atr
Min Distance On Atrの日本語訳や
「ATR での最小ナンピン幅」になります。
通常、ToNaPiではナンピン幅の決定は

こちらの
★Min Distance ナンピン幅
をメインで使用しますが、それとは別のナンピン幅の決定方法となります。
※Min Distance On Atrを”true”にした場合は、★Min Distance ナンピン幅(for the grid orders)は機能しません。試しにビジュアルモードなどで、ナンピン幅を100pipsぐらいに調整して確認してみて下さい。
ATRを知ろう
まずはATRとはなにかというと、
Average True Rangeの頭文字をとったのがATRと呼ばれおり、テクニカル分析において、市場のボラティリティ(変動性)を測定するために使用される指標の1つです。
いわゆるオシレーター系のものになります。
ATRは、過去n日間の最高値と最安値の差、および前日終値と当日の最高値、最安値のうち、どちらが大きいかを計算して得られる「True Range(真のレンジ)」を用いて、以下の式で計算されます。
まずは、以下の3つの公式を使ってそれぞれの値幅を計算します。
当日の高値ー前日の終値
当日の安値ー前日の終値
当日の高値ー当日の安値
上の式で計算された値の中で、最も大きい値がTrue Range(真のレンジ)となります。
あとはATRのAであるAverage(平均)を出すだけです。
計算方法を知ることも大事ですが、まずはこのATRがなにを意味していうるか知ることはさらに大事です。
一言でいうと、
「現時点ての相場の変動率」
を知ることが出来ます。
変動率を知ることが出来るということは、現時点で取引量が多いや価格が大きく動いているかもしれないなどがわかります。
例として下図をご覧ください。

下図の赤色丸の0.0005と黄色丸の0.0019を比べた場合は、どちらが変動率が高いかというと、
黄色丸の方が赤色に比べて変動率が高いということが一目でわかります。
なので一般的には、ATRを使用して、取引のリスク管理やポジションのサイジング(取引量の決定)や環境認識などを行うことがあります。
また、ATRは、トレンドフォロー型のトレード戦略で、エントリーポイントやストップロスの設定にも利用されます。
ちなみにこのインジゲーターを作った方はJ・ウエルズ・ワイルダー・ジュニア (J. Welles Wilder, Jr.)さんですが、かなり有名です。
MT4に実装されているその他のインジげーターでもある、RSIやADXなんかもkのウエルスさんが考案されてものです。
2021年の4月18日にお亡くなりなっております。

John Welles Wilder Jr. died on April 18, 2021 in Christchurch at the age of 85.
簡単解説:どのようにしてポジションを取得するのか
ToNaPiではATRを珍しい形で利用しています。
上述したように、一般的は利確や損切りで利用されるATRです。
環境認識でも使えるということも考慮した上、ToNaPiではナンピン幅の間隔にATRを活用します。
シンプルに説明すると、ATRが高い場合はナンピン幅が大きくなります。
ATRが低い場合は、ナンピン幅も低くなります。
簡単解説:計算式
コードの中身の話になると説明が複雑になり細かい変数についても触れる必要があるため、今回はそのあたりは割愛して説明します。
ざっくりと解ればあとはどのように使うかが見えてくると思います。
まずは前提として、
通貨ペアはGBPUSD、
時間足は1分足、
売りポジションを1.20340で取得(1個目)、
その時のATRの値は0.0005
そしてこの設定に関連するパラメーターの値は

とします。

AtrMultiplier × ATR値をします。その後にその値にMinDistance Multiplierを掛けます。
最後にその値に、前回取得した価格を足してあげればよいです。
上図の場合は、計算結果が0.001となります。
1.20440=1.20340+0.001
となります。
ここを理解する
どこの値が大きくなれば、次の取得するナンピン幅が上がるか注目して下さい。
AtrMultilier
MinDistance Multiplier
ATRの値
の3つです。
上の2つは固定ですが、3つめの
ATRの値は変動しますので、相場状況によってナンピン幅も違ってくるようになります。
MT4にATRを追加してみる
まずはATRのインジゲーターをMT4に入れてみて下さい。
挿入→インディケータ→オシレーター→Average True Range
となります。

すると画面の下部に表示されます。

動画で解説:ATRを使ってナンピン幅を決める
使用したスライド


動画のURL: https://youtu.be/aDaUb6jrrG8
そのまま視聴したい方は下のプレイボタンを押して下さい。


コメント