見出し画像

多通貨ペア対応EA "Have_a_Break" EAソースコード付販売 (ex4 & mq4ファイル)

残り1

<2025.1.1追記>
販売終了の予定でしたが、noteは有料記事は公開停止にできない仕様との事のため金額を販売金額上限の100000円にしました。


■ご注意!
EA名称にBreakってついてますがブレイクアウトロジックではありません
もしブレイクアウトのソースコード欲しい方いましたら出品検討しますので、Xで @kotsumefx とメンション付けてリクエストのポスト投稿を下さいー


今回も前回のソースコード付EA販売 Open_the_Window の時と同様に、多通貨ペア対応EAを
ソースコード付き(mq4ファイル)で販売します♡(*/ω\*)♡

もちろん「ソースコード?それって美味しいの?」っていう人向けに、単純に普通のEAファイル状態のex4も一緒にご提供します!



前回と同様にツクール系では作れない処理を豊富に盛り込んだEAのソースコードをご提供します!

  • 学習用として使えて

  • 処理速度向上を目指すエンジニアさんにも有用で

  • そしてEAユーザーさんとしても活用できる

は基本として、さらに

  • ブローカーに含み益を確保しているのを悟られずに極力逃げがちできる可能性がアップする機能

  • 悪意あるブローカーからストップ狩されにくい決済機能

  • 販売時に使える口座番号縛り機能
    (商材屋さんやIBビジネスやりたい方に最適♡(*/ω\*)♡)

  • 多通貨ペア対応

という充実した内容となっています。
もちろん基本処理は前回のOpen_the_Windowと同様にツクール系では実装できないエラー時処理等を豊富に盛り込んでいますので、EA利用という面でも安心していただける内容となっています(˘ω˘ )b

もちろんプログラミングには縁遠い方々のために今回も前回同様に
普通のEAファイル状態のex4もご提供します

*MT4用EAファイル(ex4)とソースコード(mq4)のご提供となります
*MT5用は現在開発を進めており、問題の無い物が完成しましたらご購入者様には無償で追加ご提供したく思いますが、MT5用のご提供は確約できません。(もしかしたらMT5用は提供しないかもしれません)


■ ご提供しようと思った背景

まず前回ご提供した
多通貨ペア対応EA EAソースコード販売 Open_the_Window
では、一定数のEA自作派トレーダーさんや、商材屋さんから感謝のご連絡をXポストやDMをいただき、少しはEA開発を行っている・これから行いたい方々のお役に立てたという実感を得れた事

そして多通貨対応のEAロジック・ソースコードの作り方や、更なる高度な処理を知りたいというお話をチラホラと聞いたためです

また特に最近は所謂ツクール系と言われる条件を選択するとEAを生成してくれる便利なソフトが増えてきて活用している方も多くなってきましたが、基本的な処理は作ってくれても実際のトレード時に必要な「万一発注エラーが起きた時には注文を再執行したい」、「時間管理系処理をもっと充実したい」、「バックテストや最適化が重すぎて全然進まない」などなど・・・
”作れる”から先の突っ込んだ問題を解決する物はなく、多くの方がこれらの問題を抱えていると聞きます…

そんな感じで便利なツクール系ソフト利用中の方や、MQL4のEAコードは書けるだけでストップしているスキルの方に、このnote記事のコードが雛形コード的な存在になれたらと思います
♡(*/ω\*)♡


■ ご提供するEAの内容

今回ご提供するEAは価格が一定の範囲内で変動する(平均回帰)傾向を利用する手法ロジックのEAです
文字にすると難しそうですね笑

所謂ブレイクアウト(価格帯を突き抜ける)ではなく、前日の価格レンジ内で、前日同時刻の終値との乖離の有無を確認し、その乖離が解消される方向に取引するというロジックで、タイトルにありますように多通貨ペアで使えるEAです

価格を起点にする戦略では有名なものだとブレイクアウトという手法がありますね

ブレイクアウトの場合は、教科書的な言い回しだと
「過去の相場の高値や安値の水準を突破する局面を狙う戦略」
で、節目となりそうな高値安値を監視して、その価格を上抜け・下抜けする所でトレードするロジックであって、今回のEAロジックとは全く違います

今回ご提供するEAのロジックは冒頭のとおりブレイクアウトロジックではありません

今回のロジックやブレイクアウトロジックなど特定価格をターゲットするロジックの場合にEA化するときに行う手法が、

  • 指値(逆指値)による注文方式
    ロジック判断でxxx.xxxが高値ライン・ooo.oooが安値ラインとしたら、その価格にBUYSTOP/SELLSTOPとやBUYLIMIT/SELLLIMITという一種の予約注文を入れておき、その価格を相場価格が到達したら自動的に通常のオーダー(BUY/SELL)に移行するという方式

  • 成行注文による注文方式
    通常のEAのように常にロジック判断でxxx.xxxが高値ライン・ooo.oooが安値ラインという監視を行い、その価格を相場価格が到達したらオーダー(BUY/SELL)を行うという方式

と2つの注文方式があります

どちらが良い悪いという訳ではありませんが、指値(逆指値)注文は指定価格に到達し次第、通常オーダーに自動移行してしまうためティック動作と似た挙動になり、始値動作EAと比べるとバックテスト・最適化の信用性がイマイチな点がデメリットです

そして、BUYSTOP/SELLSTOP/BUYLIMIT/SELLLIMITの注文方式を使うと、メタトレーダーのポジション一覧に注文(実際には予約注文なのですが)が入っているのにトレードしないとか、オーダーが消えた(単に予約注文の期限切れやロジック判断による削除)という誤解や不安を与えやすいという面もある事からも、成行注文方式の方がお互いにメリットがあると思います


今回ご提供するEAの方式は通常の成行注文方式を採用しています


今回もMQL4でのEA開発のノウハウを提供したいと思い、通常のEAファイルと一緒にソースコードをご用意しました!

もちろん本業エンジニアさんから見たら全然甘いコードかもしれませんが…
少しでもEA開発やっている方々や、これからEA作ってみたい方や、作ったEAの動作が激重で悩んでいる方や、単にEA使いたい方に届いたら嬉しいです!

なお本商品はソースコードご提供がメインのためEAファイルも含め口座縛りや名義縛り等はかかっていませんのでご安心ください(˘ω˘ )b


でも商売したい人のために、口座縛り処理のコードも入れています笑



有用と思える通貨ペアを最適化していった結果、10通貨ペア用のセッティングを内部に搭載し自動反映する機能を盛り込んでいます

10通貨ペアをそれぞれバックテストしマージした結果はこんな感じです

  • バックテスト期間:2012/1/1 - 2024/11/30

  • Tick Data Suite(TDS)使用
    最低スプレッド 1point(0スプレッド防止のため)
    最大スプレッド 設定なし(Dukascopyの最大スプレッドを反映させるため)
    スプレッド乗数 1(初期値のまま)
    スプレッド加算 0(初期値のまま)

  • 疑似スリッページ機能オン

  • 手数料:ThreeTrader RAW口座を想定し手数料 往復$4/lotに設定

海外ブローカーによくある取引手数料を反映させたテスト環境でもご覧のとおりのテスト結果となっています。
*上記テストには特典コードで使えるGoldやBitcoinのトレードデータは含んでいません


■ パラメータ

  • Winter
    通常期のGMTオフセット  
    サマータイム制でないブローカーの場合はWinterもSummerも同じ値にします

  • Summer
    サマータイム時期のGMTオフセット
    サマータイム制でないブローカーの場合はWinterもSummerも同じ値にします

  • DST
    サマータイム方式
    アメリカ式採用ブローカーの場合 0
    ヨーロッパ採用ブローカーの場合 1
    サマータイム不採用・年間固定GMTのブローカーの場合 2

    設定例:
    ThreeTraderの場合
    WInter 2
    Summer 3
    DST 0

    Exnessの場合
    Winter 0
    Summer 0
    DST 2


  • MagicNumber
    マジックナンバー
    他EAと被らないように注意
    *このEA自体は全て同じマジックナンバーでも大丈夫ですが、通貨ペア別に分析したい方等は、通貨ペア別にマジックナンバーを付与すると扱いやすいと思います

  • MaxSpread
    最大許容スプレッド(pips)
    指定した値以上にスプレッドが広がっている状況ではトレードしません

  • Slippage
    最大許容ススリッページ(pips)
    現在ほぼ全てのブローカーはMarket Execution方式(成行方式)を採用しているのでこの機能は効きませんが、念のため搭載しています

  • Comments
    オーダーコメント
    MT4の仕様で31文字以内にしないと実オーダーでは空欄になります
    またブローカー側が[TP]とか[SL]とかの文字列を自動追加するケースも多いので、実際には20字程度に留めておいた方が無難です

  • OrderRetry
    各種注文のエラー時リトライ回数上限
    新規注文・変更注文(トレーリングストップ等)、決済注文の際に何等かの理由で注文に失敗した場合のリトライ実行回数です
    ここで指定した回数+リミット秒数のいずれに到達した場合は一度注文処理を停止します

  • Stoploss
    Buy注文用損切(pips)

  • Stoploss_Sell
    Sell注文用損切(pips)

  • DummyAddPips
    発注時のStoploss価格にここで指定したpips分のダミー値を上乗せして発注します
    実際のストップロス決済はダミーpipsは除外して決済します
    これは所謂ストップ狩りをしかけてくるブローカーへの対抗策です
    (似たような処理でステルスTP/SLというのもありますね)

  • Lot_
    注文ロット(固定ロット)

  • AutoParameter
    オートパラメータ機能のオンオフ(trueでオン)
    本機能をオン(true)にすると
     ・Stoploss
     ・Stoploss_Sell
     ・MarketOpenHour
     ・MarketOpenMinute
     ・MarketCloseHour
     ・MarketCloseMinute
     ・MinimumGap
     ・MarketOpenHour_Sell
     ・MarketOpenMinute_Sell
     ・MarketCloseHour_Sell
     ・MarketCloseMinute_Sell
     ・MinimumGap_Sell
     ・TrailingStop_ExercisePips(UseTrailingstop=trueの場合)
     ・TralingStop(UseTrailingstop=trueの場合)
     ・TrailingStop_ExercisePips_Sell(UseTrailingstop=trueの場合)
     ・TralingStop_Sell(UseTrailingstop=trueの場合)
    の各パラメータがEA内部に登録した値*となってトレードします

    *パラメータ設定画面上の値の変化はありません
    *AutoParameter対応通貨ペアは以下のとおりです
    EURUSD
    USDJPY
    GBPUSD
    AUDUSD
    NZDUSD
    EURJPY
    EURGBP
    EURAUD
    EURNZD
    GBPAUD

    MarketOpenHour / MarketOpenHour_Sell
    取引開始"時"(H)(通常期時刻) 日本時刻
    DSTパラメータが0か1の設定の場合、サマータイム期間はここで指定時刻より1時間早く新規オーダー判定を行います(内部で自動対応します)

    MarketOpenMinute / MarketOpenMinute_Sell
    取引開始"分"(M)
    MarketOpenHour / MarketOpenHour_Sellと組み合わせて使用します

    例:MarketOpenHour = 9 MarketOpenMinute = 0
    この場合は日本時間9時0分となります

    MarketCloseHour / MarketCloseHour_Sell
    取引終了"時"(H)(通常期時刻) 日本時刻
    DSTパラメータが0か1の設定の場合、サマータイム期間はここで指定時刻より1時間早く終了オーダー判定を行います(内部で自動対応します)

    MarketCloseMinute / MarketCloseMinute_Sell
    取引終了"分"(M)
    MarketCloseHour / MarketCloseHour_Sellと組み合わせて使用します

    例:MarketCloseHour = 23 MarketCloseMinute = 59
    この場合は日本時間23時59分となります

  • UseTrailingstop
    トレーリングストップ機能のオンオフ
    (trueでオン)

  • TrailingStop_ExercisePips / TrailingStop_ExercisePips_Sell
    トレーリングストップ発動pips
    *AutoParameter利用時は内部設定値を優先します

  • TrailingStop / TrailingStop_Sell
    トレーリングストップ発動時のSL移動pips
    *AutoParameter利用時は内部設定値を優先します

  • DebugLog
    どの決済条件で決済を実行したのかをログ出力するモードです
    通常利用時はfalseで使う前提です
    もしコードを弄った際に決済理由が何か調べたいという時に使うと良いと思います



■ 使用方法

▶ EAのインストール

EA (ex4ファイル)は以下の場所にインストールします

  1. MT4 左上[ファイル(F)]をクリックします

  2. [データフォルダを開く(D)]をクリックします

  3. [MQL4 フォルダ]を開きます

  4. [Experts フォルダ]を開き、その中に EA(ex4ファイル)を入れます

▶ MT4の設定

  1. MT4 上部中央の[ツール(T)] をクリックします

  2. [オプション(O)] をクリックします

  3. [エキスパートアドバイザー]タブをクリックします

  4. 画像と同じ位置にチェックを入れます

▶ EAの運用

  1. MT4 左上[ファイル(F)] をクリックします

  2. [新規チャート(N)]をクリックします
    通貨ペア名が色々と表示されます
    ここでは例としてEURUSD* をクリックします
    *通貨ペアの制限はありませんが、AutoParameter機能で内部に登録しておいた設定値は
    EURUSD
    USDJPY
    GBPUSD
    AUDUSD
    NZDUSD
    EURJPY
    EURGBP
    EURAUD
    EURNZD
    GBPAUD
    のみとなっています。

  3. MT4 上部中央の[M1]をクリックします

  4. MT4 左側[ナビゲーター]画面の[エキスパートアドバイザー]の中から、Have_a_Breakをダブルクリックします

  5. [パラメータの入力タブ]をクリックします

  6. 前出のパラメータ説明をお読みの上、必要に応じて各パラメータを変更して下さい

  7. OK ボタンを押すと設定完了です
    あとは設定値をもとにEAがロジック判断をして取引を自動で行います

    *上記手順1-7を使いたい通貨ペアの分だけ繰り返してください


■ ご注意事項

▶ご自身の運用口座と他者運用結果が異なる事は当然あります

ブローカーは各社とも経営母体が違う以上、顧客に提供する環境が各社違います
提示するレート自体が各社異なるというのはよくある事です
FX = ブローカーの提示レートは世界統一価格ではありません
また各社、手数料の有無の違い、ストップレベルの有無の違い、スプレッドの狭い広いなど、各社環境が異なりますので運用結果に差異が出る場合がありますが至極当然の事です

▶バグ以外のバージョンアップは実施できません

日本の金融系法律の観点からバグ修正(バグフィクス)以外での理由でバージョンアップは行えません
こういう機能を追加して欲しい・こういうロジックを追加して欲しい等のバージョンアップは実施できません
*当然ですが万一バグが発覚した場合は修正版のご提供を行います

▶助言アドバイスはできません

日本の金融系法律の観点から通貨ペア選択・運用ロット・運用額・EA稼働停止・運用ブローカーの選定などを含め投資行為への助言は一切行えません
*一番多くいただくご質問は運用額とロットの関係性についてですが、バックテストの初期運用額とロットをご覧いただき、ご自身の運用額に置き換えて再計算していただく事である程度目安の数値を見つけれると思いますが、最終的な判断はご利用者ご本人の責任においてお決め下さい

▶ソースコード処理の解説やアドバイスや質疑応答は行いません

ソースコード処理の解説や、さまざまなアドバイス、質疑応答等は一切行いません

▶改造・改良・カスタマイズ・機能追加等は行いません

ソースコードを見てまたは単にEAとして使ってみて、改造したい点がある、改良したい点がある、こういう機能をつけたい、こういう風にカスタマイズしたい等は一切受け付けしません

▶ブローカーのGMTオフセット情報の質疑応答は行いません。

ブローカーの大半は通常期(冬)はGMT2・サマータイム期はGMT3というGMTオフセットを採用していますが、中には1年と通してGMTオフセットが固定のブローカーもあったり、特殊なGMTオフセットを採用しているブローカーもありますが、全てのブローカーの情報を把握するのは無理ですのでもしご利用ブローカーのGMTオフセットがわからない人は直接ブローカーに問い合わせしてください

▶原則MT4のEAファイルとソースコードファイルのご提供です。

原則MT4用EAファイルとソースコードのご提供となります
*MT5用は現在開発を進めており、問題の無い物が完成しましたらご購入者様には無償で追加ご提供したく思いますが、MT5用のご提供は確約できません。(もしかしたらMT5用は提供しないかもしれません)

▶再販売・再配布は条件付きで可能です

再販売・再配布をしたい方は、

  • EA名称(Have_a_Break)を完全に変更した名称にする事、また「こつめ」「kotsume」という私の名前を入れた名称を使わない事

  • パラメータ(設定画面用パラメータと内部パラメータの両方)を変える事

  • コンパイルしたファイル(ex4ファイル)でのみ再販売再配布を行う事

  • ソースコード自体をブログ・ウェブサイト・SNS等の各種インターネット環境上で不特定多数が閲覧可能な状態で公開しない事

の各条件で許可します

上記の再販売・再配布条件を守る前提であれば、ご提供するソースコードをもとに機能追加やロジック追加等をして商品化していただいても問題ありません

なお今回の販売はソースコード付き販売ですが、ソースコードの著作権は放棄しません


■ ご同意事項

以下の事項全てにご同意いただける方へのみ販売致します
また同様に、前出のご注意事項に記載の全てについてもご同意いただける方へのみ販売致します
代金お支払い・ご購入を持ってご同意いただいた事とさせていただきます

  • 本商品はデジタルコンテンツにつき、いかなる理由があっても返金返品は出来ません

  • 各種データを提示しご購入者様の判断によって購入するしないを判断いただきますが、将来の利益を保証する物ではありません

  • 当商品を使用していかなる不利益・損害・損失が発生しても販売者は一切の責任を負いません
    同様に当商品を使用していかなる不利益・損害・損失が発生しても販売者は損失損害の補填補償は行いません

  • 本商品の著作権を販売者(私)が保有します
    著作権までを譲渡するものではありません
    私に同意なく著作権者を主張した場合は、著作権侵害として1件につき100000円と弁護士依頼費用と訴訟実費と請求実費の総額をお支払いただきます
    また再販売・再配布条件に違反する形での販売を行った場合も同様に契約違反として1件につき100000円と弁護士依頼費用と訴訟実費と請求実費の総額をお支払いただきます

  • 売切りでの販売となります
    バグ修正以外のバージョンアップは行いません

  • 投資助言に該当する質問(運用や運用ストップのタイミングや、資金額、運用ロット、最適なブローカーなど、運用に関する全般)にはお答えできません

  • 外国為替取引は全ての投資家に適している取引ではなくリスクが伴います
    海外のFX会社は高いレバレッジ設定ができる反面、より一層大きなリスクと損失を生み出す可能性があります
    外国為替取引を実行する際には、投資目的、経験年数およびリスクの許容範囲を慎重に考慮した上で取引の可否を決定して下さい

  • 外国為替取引では投資金額の一部または全部を失う可能性もあります。
    損失に耐えられない資金投資はおこなわず、外国為替取引に関連するリスクを検討して、疑義がある場合は中立的な財務または税務アドバイザーに助言を求めるのをおすすめします

  • 領収書の発行は行いません


■ 価格価格について

▶価格について

数量に応じて段階的に価格を改定します

  • 12/27発売開始 12/31日最終で終了
    27800円*
    *リポスト割引(SNSプロモーション)適用の場合の価格です
    *
    リポスト割引(SNSプロモーション)を使用しない場合は37800円




    以降は状況を見て販売継続するか否かを判断します
    販売継続をする場合は価格を改定していきます

    最終的には57500円位の販売価格にしたく考えています


■ 購入方法について

▶購入方法

note(この記事)のみ販売します。
*上記以外の場所で売っていたらそれは詐欺サイトです!
*もしヤフオクでご購入をご希望の方は個別対応します

noteでの販売はリポスト割引(SNSプロモーション)設定をしています。

リポスト割(SNSプロモーション機能)については以下をご参照ください
SNSプロモーション機能 - 読者(購入者)向けFAQ(よくあるお問い合わせ)

もしヤフオクでご購入をご希望の方は別途ご連絡ください
個別対応します(˘ω˘ )b


■ 商品ご提供方法について

決済が完了し次第、このページの有料記事範囲でダウンロードボタンを押す事でEAファイル(ex4ファイル)とソースコード(mq4ファイル)のダウンロードが可能です。


■ 特典お付けします!♡(*/ω\*)♡

ご購入後にX(旧 twitter)で
・このnote記事のソースコード付きEAを購入しました!
・お好きなコメント(当然ネガティブコメントはNGです笑)
・私へのメンション( 半角英字記号で @kotsumefx と入力)
・本記事のURL

上記4条件全てを含んだポストをしてくれた方には特典でGoldやBitcoinでも使えるようにできる追加コードをプレゼントします(˘ω˘ )b
*XAUUSD等のUSD合成ペア前提です
*各パラメータはご自身で最適化する必要があります



ポスト例

このnote記事のソースコード付きEAを購入しました!
色々な通貨で試してみようっと!
@kotsumefx
https://note.com/kotsumefx/n/nabf32090991d


特典配布の流れ
・上記ルールでXにポスト
・有料記事部分に記載のGoogleフォームからご連絡下さい


特典受け取り条件を満たしている方には順次、特典コードを"noteの返信機能から"お送り致します(˘ω˘ )

*リアルタイムに対応はできません。数日お待ちいただく事もあります。
予めご了承ください。

*こちらで確認した際にX(旧twitter)の特典申請に必要なポストが見えない・削除されていた・鍵付きアカウントで見えない等の場合は特典はお送りできません。

ここから下はご購入者の方のみ閲覧できます


ここから先は

1,142字 / 2ファイル

¥ 100,000 (数量限定:残り 1 / 1)

この記事が参加している募集

この記事が気に入ったらチップで応援してみませんか?