水平の罫線1
水平の罫線3
Word
# Code...
参照
2つつなげることで入れ子にできます
3つまでできます
太字1
太字2
斜体1
斜体2
打ち消し線
++下線付きテキスト++
マークテキスト
19th
H2O
© © ® ® ™ ™ § § ±
😉 😆 😋 😢
😃 😦 😎 😉
リスト(箇条書き)
リストの作成は先頭に
+
-
または*
で始めることによってリストを作成できます
リスト(段落番号)
テーブル
名前 | 説明 |
---|---|
EA(自動売買) | MT4で利用可能な自動売買ソフトウェア |
インジケーター | 売買サイン、発注補助、各種通知機能などのツール |
テーブル(カラムを右寄せ)
名前 | 説明 |
---|---|
EA(自動売買) | MT4で利用可能な自動売買ソフトウェア |
インジケーター | 売買サイン、発注補助、各種通知機能などのツール |
リンク
GogoJungle
画像
タイトルが入力されていません。
コンテンツがありません。
There have no category
There have no subcategory
連敗時のマーチンゲールを相場状況や収支状況を勘案して任意のタイミングでリセットしたい場面があるのですが、
どのようにすればよいでしょうか。よろしくお願いします。
コメント文がありません。
水平の罫線1
水平の罫線3
Word
# Code...
参照
2つつなげることで入れ子にできます
3つまでできます
太字1
太字2
斜体1
斜体2
打ち消し線
++下線付きテキスト++
マークテキスト
19th
H2O
© © ® ® ™ ™ § § ±
😉 😆 😋 😢
😃 😦 😎 😉
リスト(箇条書き)
リストの作成は先頭に
+
-
または*
で始めることによってリストを作成できます
リスト(段落番号)
テーブル
名前 | 説明 |
---|---|
EA(自動売買) | MT4で利用可能な自動売買ソフトウェア |
インジケーター | 売買サイン、発注補助、各種通知機能などのツール |
テーブル(カラムを右寄せ)
名前 | 説明 |
---|---|
EA(自動売買) | MT4で利用可能な自動売買ソフトウェア |
インジケーター | 売買サイン、発注補助、各種通知機能などのツール |
リンク
GogoJungle
画像
水平の罫線1
水平の罫線3
Word
# Code...
参照
2つつなげることで入れ子にできます
3つまでできます
太字1
太字2
斜体1
斜体2
打ち消し線
++下線付きテキスト++
マークテキスト
19th
H2O
© © ® ® ™ ™ § § ±
😉 😆 😋 😢
😃 😦 😎 😉
リスト(箇条書き)
リストの作成は先頭に
+
-
または*
で始めることによってリストを作成できます
リスト(段落番号)
テーブル
名前 | 説明 |
---|---|
EA(自動売買) | MT4で利用可能な自動売買ソフトウェア |
インジケーター | 売買サイン、発注補助、各種通知機能などのツール |
テーブル(カラムを右寄せ)
名前 | 説明 |
---|---|
EA(自動売買) | MT4で利用可能な自動売買ソフトウェア |
インジケーター | 売買サイン、発注補助、各種通知機能などのツール |
リンク
GogoJungle
画像
検索結果がありません。 |
検索結果がありません。 |
EAつくーるの機能のみでは実現できないためコードの修正が必要ですが、検証作業には非常に多くのステップと時間が必要となるため、考え方のヒントのみ提供させていただきます。
なお、ポジション1のみで動作する(Magic1しか使用しない)ものとして説明します。
リセット用のフラグを用意する
マーチンゲールをリセットするためのフラグを用意します。
OnTick関数が呼び出される度に0にリセットされ、条件を満たした場合のみ1になるようにします。
例えば、 OnTick関数内の
という行の下に1行追加し
とするとよいでしょう。
フラグを立てる
何らかの条件でリセットフラグを1にします。
下記コードが記述してある行を探し、その直前で実施します。
例えば、「ロングにおけるデッドクロス(短期MAが長期MAを上から下に抜ける)が発生したらリセットする」場合は次のようにします。
因みに今回の例は、EAつくーるの「取引条件」で生成されたコードの
signal
という変数をis_martingale_reset
に置き換えて作成しました。このように、EAつくーるの機能を応用して、目的となる部分的なコードを簡単に作成できる場合があります。
変数「連敗無視数」の準備
通常、マーチンゲールは連敗数に応じてlot数を変化させますが、今回は勝ちトレードが生じていないにもかかわらずそこまでの連敗を無視することになるため、少し工夫が必要です。
を元にlotの計算を行うために、リセットまでの連敗数、
lose_ignore
(「連敗無視数」と呼ぶことにします)を用意しておきます。マジックナンバーの定義の下あたりに書いておくとよいでしょう。
修正前
修正後
連敗数を取得する関数の準備
任意のタイミングで連敗数を取得可能な関数を準備します。
コードの一番最後に追加しましょう。
連敗無視数のセットとリセット
フラグが立っている場合は連敗無視数をセット、前回が勝ちトレードだった場合(= 連敗数が0の場合)はリセットします。
「フラグを立てる」の項目で記述したコードの直下に、下記コードを追加します。
マーチンゲール関数に連敗無視数を渡す
引数に連敗無視数を追加します。
修正前
修正後
マーチンゲール関数を修正する
連敗無視数の分だけ連敗数を減らしてロットの計算が行われるように修正します。
修正前
修正後
最後に
前述のように、上記のコードあくまでヒントです。
細かい検証は行っておりませんので、修正される場合は十分な検証をお願いいたします。
参考になれば幸いでございます。
ありがとうございます。
もしかしたら私の書き方が悪かったかもしれませんが、
今連敗中で、保有ポジションが無い状態で、
次のエントリーは一旦初期ロット(例えば0.01)からリスタートしたいので
それをパラメータをいじる等で手動で行うことは可能でしょうか。
という事ですが、それでも上記お答えいただいたようにプログラム的な事が必要になるでしょうか。
はい、仰る通りの挙動を実装するための修正方法が、先述のものでございます。
EAつくーるに搭載されているマーチンゲールのロジックは、前回のロット数を元に今回の数値を計算する漸化式的な方法ではなく、何連敗しているかをティック毎に取得して一般項の式から計算するため、仮に途中で初期エントリーのロットに戻しても、次のエントリーでは数列の元の項に戻ってしまうのです。
例えば、デフォルトが
であり、0.04の後でリセットを行った場合、期待する挙動は
ですが、単に0.04の後のロット数を0.01にしただけの場合は
となります。
これを防ぐために、連敗数自体をシフトしてあげる必要があり、その方法が少々複雑なのです。
わかりました。
ありがとうござます。