yuya_takahashi_

Pine講座㊳ バックテスト|Greedy Strategy の解説(GAP順張り&ピラミッティングの戦略)

Đào tạo
yuya_takahashi_ Cập nhật   
FX:USDJPY   Đô la Mỹ / Yên Nhật
今回は Greedy Strategy の解説です。

直訳すると「欲張り戦略」

ピラミッティングをすることから
この名称なのかなと思います。

※ TradingView内蔵のストラテジーを
  上から順番に解説しています

※ 解説はコードの中で

※ コードをコピペする場合は、[](全角)を (半角)に変更してください

=====
//@version=4
strategy("Greedy Strategy の解説", pyramiding = 100, calc_on_order_fills=false, overlay=true)

//take profit(利確)のティック
tp = input(10)

//stop loss(損切り)のティック
sl = input(10)

//1日のオーダー数の上限
maxidf = input(title="Max Intraday Filled Orders", defval=5)
strategy.risk.max_intraday_filled_orders(maxidf)

//窓の確認
upGap = open > high[1]
dnGap = open < low[1]

//売り保有&当日陰線
dn = strategy.position_size < 0 and open > close

//買い保有&当日陽線
up = strategy.position_size > 0 and open < close

//窓を空けて上昇 → 買いエントリー
strategy.entry("GapUp", strategy.long, stop = high[1], when = upGap)

//売り保有&陰線 → 売りエントリー
strategy.entry("Dn", strategy.short, stop = close, when = dn)

//窓を空けて下落 → 売りエントリー
strategy.entry("GapDn", strategy.short, stop = low[1], when = dnGap)

//買い保有&陽線 → 買いエントリー
strategy.entry("Up", strategy.long, stop = close, when = up)

//それぞれ条件を満たさなくなったら注文をキャンセル
strategy.cancel("GapUp", not upGap)
strategy.cancel("GapDn", not dnGap)
strategy.cancel("Up", not up)
strategy.cancel("Dn", not dn)

//保有ポジション数を確認
XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size
//買いか売りかを確認
dir = strategy.position_size < 0 ? -1 : 1

//limit price(利確する価格)の算出
lmP = strategy.position_avg_price + dir*tp*syminfo.mintick
//stoploss price(損切りする価格)の算出
slP = strategy.position_avg_price - dir*sl*syminfo.mintick

//データなし
float nav = na

//逆方向の窓の有無
revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false)

//strategy.order(id, long, qty, limit, stop, oca_name, oca_type, comment, when)
//long → trueで買い注文、falseで売り注文

//保有ポジションあり+逆方向の窓が出てない → 損切りの注文
strategy.order("TP", strategy.position_size < 0, XQty, lmP, nav, "TPSL", strategy.oca.reduce, "TPSL", when= not revCond and XQty > 0)
//保有ポジションあり+逆方向の窓が出てない → 利確の注文
strategy.order("SL", strategy.position_size < 0, XQty, nav, slP, "TPSL", strategy.oca.reduce, "TPSL", when= not revCond and XQty > 0)

//保有ポジションなし か 逆方向の窓で注文をチャンセル
strategy.cancel("TP", XQty == 0 or revCond)
strategy.cancel("SL", XQty == 0 or revCond)
=====
Bình luận:
次の講座

小次郎講師公式インジケーターのお申込
bit.ly/2vdSV4Q

小次郎講師のLINE@
bit.ly/2VZQFu3

小次郎講師のチャート情報局
bit.ly/2GvLAEp
Thông báo miễn trừ trách nhiệm

Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.