システムトレード

MT4用の2つの移動平均クロスEAの作成方法
MetaTrader4
MT4用の2つの移動平均クロスEAの作成方法

こんにちは、トレーダーの皆さん!今日はMT4用の移動平均クロスを利用したエキスパートアドバイザー(EA)の作成方法についてお話しします。このEAは、シンプルながらも効果的なトレーディング戦略を提供します。それでは、早速始めましょう! 1. 入力変数の定義 まずは、EAを作成するために必要な入力変数を定義します。以下のコードを参考にしてください。 //--- 入力パラメータ input    int      period_ma_fast = 8;  //速い移動平均の期間 input    int      period_ma_slow = 20; //遅い移動平均の期間 input    double   takeProfit  = 20.0;  //利益確定(pips) input    double   stopLoss    = 20.0  //損切り(pips) input    double   lotSize     = 0.10;  //ロットサイズ input    double   minEquity   = 100.0; //最小資金($) input    int Slippage = 3;       //スリッページ input    int MagicNumber = 889;  //マジックナンバー 2. グローバル変数の定義 次に、グローバル変数を定義します。これにより、すべての関数からアクセス可能な変数を作成します。 //グローバル変数 double   myPoint    = 0.0; int      mySlippage = 0; int      BuyTicket   = 0; int      SellTicket  = 0; 3. 初期化関数 OnInit() EAが実行されると、最初に実行されるのが OnInit() 関数です。この関数を利用して、グローバル変数の初期化や入力データの検証を行います。 int OnInit() {    //初期データの検証    if (period_ma_fast >= period_ma_slow || takeProfit < 0.0 || stopLoss < 0.0 || lotSize < 0.01 || minEquity < 10){       Alert("警告 - 入力データが無効です");       return (INIT_PARAMETERS_INCORRECT);    }    myPoint = GetPipPoint(Symbol());    mySlippage = GetSlippage(Symbol(), Slippage);    return(INIT_SUCCEEDED); } 4. 市場の動きに応じた OnTick() 関数 市場価格が動くと、OnTick() 関数が呼び出され、すべての命令が実行されます。この関数内では、取引資金の adequacy を確認し、新しいキャンドルが形成されたときに通知します。 void OnTick() {    if (cekMinEquity()){        int signal = -1;       bool isNewCandle = NewCandle(Period(), Symbol());              signal = getSignal(isNewCandle);       transaction(isNewCandle, signal);       setTPSL();           }else{       //資金不足で取引を停止       Print("EA は資金が不足しているため停止します");    } } 5. 取引の設定を行う setTPSL() 関数 この関数では、取引の利益確定と損切りの設定を行います。 void setTPSL(){    int   tOrder = 0;    string   pair = Symbol();    double sl = 0.0, tp = 0.0;    tOrder = OrdersTotal();    for (int i=tOrder-1; i>=0; i--){       bool hrsSelect = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);        if(OrderType() == OP_BUY && (OrderTakeProfit() == 0 || OrderStopLoss() == 0)){          tp = OrderOpenPrice() + (takeProfit * myPoint);          sl = OrderOpenPrice() - (stopLoss * myPoint);          if (OrderTakeProfit() != tp || OrderStopLoss() != sl) {            if(OrderModify(OrderTicket(), OrderOpenPrice(), sl, tp, 0, clrBlue)){             Print("注文の修正に成功しました");          }        }      }    } } このEAは、シンプルでありながら強力なトレーディングツールです。移動平均のクロスを利用して、エントリーとエグジットのポイントを自動で判断してくれます。ぜひ試してみてください! もしこの内容が役に立ったと思ったら、ぜひ友達にも教えてあげてくださいね。今後も役立つ情報をお届けしますので、お楽しみに! トレーディングに役立つアプリをお探しの方は、ぜひ私たちのSignalForexアプリをダウンロードしてみてください! こちらからダウンロード

2021.03.30
シンプルトレーディングパネル - MT4用のトレードツール
MetaTrader4
シンプルトレーディングパネル - MT4用のトレードツール

はじめに: シンプルトレーディングパネルは、とても便利なトレードツールです。このツールを使うことで、ストップロスやテイクプロフィットをピップス単位であらかじめ設定できます。また、取引の回数やポジションサイズ、取引する通貨ペアを事前に選ぶこともできます。このツールはスキャルピング、デイトレード、スイングトレード、そして投資にも対応しています。 このトレードツールの背景: このトレードツールを開発した背景には、私がスキャルピングを行っていたときの苦労があります。特に市場が非常にボラティリティが高いときに、ストップロスやテイクプロフィットを素早く設定することができず、何度も困った経験があります。それに加えて、取引ボタンを押した瞬間にパソコンがクラッシュすることも多く、SL/TPを設定できないことがしばしばありました。また、インターネットプロバイダーの問題にも悩まされていました。これらの技術的なトラブルを避けるために、このシンプルトレーディングパネルを作ることに決めました。 使い方: このトレードツールの使い方を説明する動画をご覧ください。 パラメータ: このEAには5つの入力項目があります。 NB: 取引回数 SL: ストップロス(ピップス単位) VOL: ポジションサイズ TP: テイクプロフィット(ピップス単位) SYM: 通貨ペアの選択

2021.03.23
ディープラーニングを活用した自己適応型EA - MetaTrader 4の新たな挑戦
MetaTrader4
ディープラーニングを活用した自己適応型EA - MetaTrader 4の新たな挑戦

こんにちは、トレーダーの皆さん!今日は、私が最近開発した自己適応型のエキスパートアドバイザー(EA)についてお話ししたいと思います。 このシステムを開発するきっかけとなったのは、静的なパターンをトレードするEA「ザ・アンリアルエンジン」を作成したことでした。 こちらからチェックできます。 ただ、ディープラーニングを用いたこのEAのテストに関しては、私のPCの性能が限界で、デュアルコアの4GBのPCでは十分な結果が得られませんでした。 長期間にわたってこのEAをテストするには、スーパコンピュータが必要か、または非常に時間がかかることになります。 私のEAのブランド名は「エンチャンテス」といい、マーケットで発生する各パターンを収集し、ストップロスとテイクプロフィットを設定した仮想注文を開きます。 このEAは、リアルトレードを開始するための最適なマーケットパターンを検出します。 注意:このディープラーニングEAは、リアルトレードを開始するまでに少なくとも3ヶ月から5ヶ月の時間がかかります。 リアルアカウントで試す前に、ストラテジーテスターでテストすることをお勧めします。 このEAをテストした方は、ぜひ結果をこちらでシェアしてください! 結果はこちらから。 「ザ・アンリアルエンジン」のチャンネルもぜひご覧ください。 楽しいテストを! なお、5桁の通貨ペアで、最小時間足(H1)でのテストをお勧めします。

2021.03.13
MT4 EAテンプレート:基本機能を備えたMetaTrader 4のエキスパート
MetaTrader4
MT4 EAテンプレート:基本機能を備えたMetaTrader 4のエキスパート

MT4 EAの基本機能について みなさん、こんにちは!今回は、MetaTrader 4(MT4)で使えるEA(エキスパートアドバイザー)のテンプレートについてお話しします。このテンプレートには、トレードに必要な基本的な機能が搭載されています。 売買条件の設定 まず、買いと売りの条件は、Direction関数の中で「bool」値のパラメーターとして設定されます。以下は、デフォルトの例を示しています。    int signalConditions=3;    DashKeys[openCloseConditionIdx+1-1]="BB Status";    DashValues[openCloseConditionIdx+1-1]=Direction(ok(bbGreen) && bbGreen!=-1,ok(bbRed) && bbRed!=-1,canBuy,canSell, " at "+TimeToStr(Time[masterCandleIdx]), " at "+Time[masterCandleIdx]); ここで、canBuyとcanSellの変数は、これらの条件に基づいて真または偽に設定されます。この結果、トレード用のシグナルを次の段階に進めるトリガーが発生します。 ダッシュボードのサイズを調整 さらに、ダッシュボードにもっと多くの行を表示させたい場合は、これらの2つの配列のサイズを増やす必要があります。以下のように設定できます。 string DashKeys[8]; string DashValues[8]; これで、MT4でのトレードがよりスムーズに行えるようになりますね!

2021.01.28
フィボナッチを活用したデイトレード計画の構築 - MT4用EAの活用法
MetaTrader4
フィボナッチを活用したデイトレード計画の構築 - MT4用EAの活用法

はじめに: フィボナッチリトレースメントを使用して、堅牢なデイトレード計画を構築するための8つの効果的なステップを紹介します。この方法を使って、フィボナッチを活用し、潜在的なエントリーポイントを見つけることができます。 トレーディングプランを持つことは、アマチュアとプロを分ける大きな要因です。プロのトレーダーは常に自分のトレーディングプランを活用しています。 注意: こちらは自動で全ての取引を行い、クローズもしてくれるEAです。必要なのは、EAの入力値を設定するだけです。 使い方: 以下の動画をチェックすると、次のことが説明されています: フィボナッチリトレースメントに基づいた堅牢なトレーディングプランを構築するための8つのステップについて。 トレーダーがよく犯す一般的なミス。 トレーディングプランを適用してフィボナッチエントリーポイントを探す方法。 パラメータ: このスクリプトには5つの入力があります: M5の50%レベルでの価格:価格を入力してください。 M5の61%レベルでの価格:価格を入力してください。 M5の100%レベルでの価格:価格を入力してください。 H1の第二ターゲット:価格を入力してください。 リスク(%):このトレーディングセットアップに対するリスクの%を入力してください。 スクリーンショット:

2020.12.24
シンプルなDeMarkerインジケーターを使ったEAの作成方法【MetaTrader 4】
MetaTrader4
シンプルなDeMarkerインジケーターを使ったEAの作成方法【MetaTrader 4】

皆さん、こんにちは!今日は私が使っているシンプルなEA(エキスパートアドバイザー)についてお話しします。これは、私が今までに作った中で最も簡単なEAですので、ぜひ読んで評価してみてください。このEAはシングルペア専用で、設定メニューから時間枠、ロット数、ストップロス、テイクプロフィットなどを調整できます。extern ENUM_TIMEFRAMES TF  = PERIOD_CURRENT;// 時間枠の選択 extern int period          = 8;// DeMarkerの期間 extern double lt           = 0.01;// ロット数 extern int sl              = 100;// ストップロス extern int tp              = 100;// テイクプロフィット extern double OB           = 0.7;// オーバーソールド extern double OS           = 0.3;// オーバーバウト extern bool OPENBAR        = false;// 新しいバーのオープンプライスで取引するか秘密は、変数を3つの部分に分けていることです:1. データ | 時間枠2. 注文3. ペア//+------------------------------------------------------------------+ //-- 時間枠 | インジケーター double dmrk[5]; int signal  =-1;//-- 0 = 買い, 1 = 売り int hold = 0; //-- 注文 int ticket  =0; double lot  =0.0; int typ     =-1; //-- ペア datetime t1=0; bool newbar=false; bool entry =false; //+------------------------------------------------------------------+OnInit()関数では、DeMarkerのインジケーター配列変数を初期化し、特定のブローカー要件に応じた最小ロットサイズを確認します。//+------------------------------------------------------------------+ //|                                                                   | //+------------------------------------------------------------------+ void OnInit()   {    ArrayInitialize(dmrk,0.0);   //---       const double test_lot   = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);       if(lt<test_lot)   lt    = test_lot;   }OnTick()関数では、インジケーターの計算と売買シグナルの判断を行います。//---------------------------------------------------------------------------    signal = -1; //--------------------------------------------------------------------------- //---計算    for(int i=0; i<ArraySize(dmrk); i++)      {       dmrk[i]  =  iDeMarker(Symbol(),TF,period,i);      } //---    if(dmrk[1] > OB)      {       hold = 1;//セット      }    else       if(dmrk[1] < OS)         {          hold = -1;//セット         }       else         {          hold = 0;//リセット         }    if(hold ==  1)      {       if(dmrk[0]<OB && dmrk[1]>OB)         {          signal = OP_SELL;         }      }    if(hold == -1)      {       if(dmrk[0]>OS && dmrk[1]<OS)         {         signal = OP_BUY;         }      }買いと売りのシグナルを開くためのコードです...//---------------------------------------------------------------------------    if(signal != -1)       if(newbar==true)          if(entry==false)//ドアを開ける            {             //---             entry =true;//セット             //---             if(signal == OP_BUY)               {               ticket = OrderSend(Symbol(),OP_BUY,lt,Ask,(int)((Ask-Bid)/Point),                                   sl>0?Bid-sl*Point:0.0,                                   tp>0?Bid+tp*Point:0.0,                                   EAName+":signal= "+IntegerToString(signal)+":hold= "+IntegerToString(hold),                                   EANumber,                                   0,                                   clrBlue);                signal=-1;                //hold =0;               }//リセット               }//リセットシグナル            } そして、クローズに関しては...   if(entry == true) // クローズ      {       if(OrderSelect(ticket,SELECT_BY_TICKET))         {          if(OrderCloseTime() == 0)//-- アクティブな取引            {             /*  クローズ条件 todo  */             //entry = false;            }          //else             if(OrderCloseTime() != 0)//--  手動またはSL/TP、EAでクローズ               {                entry = false;//リセットエントリー               }         }      }このEAを使えば、トレードの効率がかなり向上すると思います。ぜひ試してみてください!

2020.12.17
MetaTrader 4でのCSVファイル作成の基本 - 自作エキスパートの活用法
MetaTrader4
MetaTrader 4でのCSVファイル作成の基本 - 自作エキスパートの活用法

こんにちは、トレーダーの皆さん!私はルーカスです。この素晴らしいコミュニティに何か貢献したいと思って、こうして記事を書くことにしました。私自身は、為替や株式市場の投資家で、自分のトレードのためにエキスパートをコーディングしています。今回は、その一例を皆さんにシェアしたいと思います。少しでも役立てていただければ嬉しいです。 ここで紹介するのは、オーダーデータをCSVファイルに書き出す方法の例です。このファイルを使って後で分析を行うことができます。現在の状態ではこのエキスパートはそのままトレードには使用しないでください。この例は、どのようにしてこの機能を自分のエキスパートに実装し、さらに自分の戦略に基づいて拡張できるかを示すものです。 このエキスパートは、選択した方向にトレードを開きます。オーダーは、メニュー設定で入力したTP(テイクプロフィット)やSL(ストップロス)によって、仮想的に閉じられます。そして、「WriteCloseData」をtrueに設定すると、方向、損益、価格などのオーダーデータがCSVファイルとして端末に保存されます。 ストラテジーテスターでこのエキスパートをテストすると、ファイルはOpenDataFolder/tester/CSVexpert/CSVexampleからアクセスできます。テストを開始すると、CSVexpertというディレクトリが作成され、その中にすべてのデータが記録されたCSVexampleファイルが生成されます。 この機能を自分のエキスパートに実装したり、さらに発展させてデモ口座やリアル口座で運用する際には、MQL4/Files/CSVexpert/CSVexampleからこの作成されたファイルにアクセスできます。 ディレクトリ名やファイル名は自由に変更できますが、.csvの拡張子はそのままにしておいてください。再度申し上げますが、これはトレードにすぐに使えるものではなく、この機能の使い方の一例ですので、資金を失わないようにご注意ください!

2020.11.14
トレーダー必見!マスターエグジットプランで取引を管理しよう
MetaTrader4
トレーダー必見!マスターエグジットプランで取引を管理しよう

こんにちは、トレーダーの皆さん!今日は、取引をよりスムーズに管理するための「マスターエグジットプラン」についてお話しします。このツールは、オープンポジションや保留中の注文をどうやって効果的に終了するかをサポートするシンプルな戦略の集まりです。 注意:このエキスパートアドバイザー(EA)は、取引を自動で開くものではありません。あくまで、あなたのオープンポジションと保留中の注文を管理するためのものです。 では、具体的なエグジット戦略を見ていきましょう! エクイティターゲット:この機能は、アカウントのエクイティを保守的に守るためのものです。 ハードストップロス:全ての取引に固定の可視ストップロスを設定できます。 隠れストップロス:各取引に隠れた固定ストップロスを設定可能です。 ダイナミックハードストップロス:価格に連動して動く可視ストップロスです。これにより、ストップロスが設定されていても、まるでストップロスがないかのようにトレードが可能になります。この革新的なコンセプトの詳細は、電子書籍「未知の戦略:FXトレーディングの未知なる深淵」で紹介されています。実際、この本からは10以上の新しいアイデアを学ぶことができます。 隠れダイナミックストップロス:名前の通り、ダイナミックストップロスの隠れたバージョンです。 トレーリングストップ:これは一般的なトレーリングストップ手法ではありません。特定の正の利益(パーセンテージ)に達したときにトレーリングストップを発動する革新的なアイデアです。トレーダーには、確実に利益を得るためのパイプを保証します。 トレイル保留注文:これは、利益を最大化するためにストップ注文を追尾します。 これらの戦略を活用することで、より効果的に取引を管理し、利益を最大化できるでしょう。皆さんもぜひ試してみてくださいね!

2020.11.07
Rijfieピラミッド1.12を使ったMetaTrader 4のトレード戦略
MetaTrader4
Rijfieピラミッド1.12を使ったMetaTrader 4のトレード戦略

こんにちは、トレーダーの皆さん! 今日は、私が最近注目しているトレード戦略「Rijfieピラミッド1.12」についてお話しします。この戦略は、特に米国株を対象にしており、20ユーロ(またはドル)以下の株を探すことから始まります。 トレードの流れ まず、株価がストキャスティクスの低水準を超えたときに、最初のロット(0.01)を購入します。 その後、株価が下落した場合、再度0.01のロットを購入します。 価格が購入価格にスプレッドを加えた値に達したら、トレーラーストップが作動します。 ストキャスティクスが10を越えた場合には、大量のロットを購入する準備をします。この戦略では、特定の価格以上では購入を行わない「maxprice」や、特定の価格以下では購入しない「lowprice」を設定することが可能です。 そして、各チャートごとに「magicnumber」を設定し、時間軸や移動平均(ma)の設定も行います。「steplevel」は購入注文を出す割合を示します。 利益確定と損切り 利益が0に設定されている場合、すべてのオープンなポジションがクローズ時に閉じられます。また、「closeall」をtrueに設定すると、指定した時間帯に利益のあるポジションを全てクローズします。例えば、20:55から21:00の間に10の利益があるポジションが閉じられます。 トレードする際は、スワップが低い株(例えば、Zynga、Nokia、Valeなど)を探すことが効果的です。これにより、コストを抑えつつ、リスクを管理できます。 リスク管理について リスクを考えると、株価が5ユーロで最大損失を1%に設定すると、約500ユーロの損失になります。15ユーロの株をトレードする場合は、最大損失が1500ユーロになる可能性があります。 ただし、企業が倒産する場合や、ブローカーが株をサポートしなくなる場合には、損失が発生することがありますので、注意が必要です。 このEAを使用する際には、特にクローズ時間の直前に利益が出ているオープンオーダーを閉じることを考慮してください。ギャップオープンを避けるためです。 新バージョンの特徴 最新のバージョン「Rijfieピラミッド1.12」では、ステップレベルの設定が変更可能です。例えば、steplevel1を1に設定すると1%、5に設定すると5%というように調整できます。 最後に、テスト結果にはいくつかの損失が見られますが、これはテストの終了によるものです。

2020.10.26
MetaTrader 4用MarketsMaster EA: 効率的なトレードのためのエキスパートアドバイザー
MetaTrader4
MetaTrader 4用MarketsMaster EA: 効率的なトレードのためのエキスパートアドバイザー

MarketsMaster EAは、MQL4で開発されたエキスパートアドバイザーです。6つのインディケーターに基づく4つのシグナルを利用して、様々な市場で活躍します。FX、株価指数、貴金属など、適切なパラメータを設定するだけで、どんな金融商品でも取り扱えます。 私のトレードスタイルでは、M15からH1の時間足で動作が最も効果的ですが、どの時間足でも戦略がマッチすれば利益を上げることができます。 注文は固定ロットで開くことも、残高のリスクに応じたロット数を設定することも可能です。 このEAは、ボリューム、PSAR、ストキャスティクス、ブル&ベアパワー、ATR、MFIといった指標を使用します。 利益はトレーリングストップを通じて取得され、1つの注文につきトレーリングステップが設定されます。複数の注文が開かれた場合、利益は残高の金額またはパーセンテージで取得され、損失も同様です。損失をパーセンテージで有効にしないことは、100%のリスクを与えるのと同じですので注意が必要です。 バックテストを行う前に、まずチャートに指標を追加し、トレンドのための最小ボリュームを確認してください。その後、他の指標や時間足との最適な組み合わせを評価し、パラメータを減らしてバックテストを行いましょう。 また、トレードごとの平均移動を評価し、トレーリング利益に値を設定することをお勧めします。 重要なポイント: ツール / オプション / エキスパートアドバイザーから、URLを追加して「指定されたURLのWebリクエストを許可」を有効にしてください。また、ニュース用の両方のURLも追加してください。株価指数や貴金属にはニュースを取得できないようなので、これらの設定を有効にすると他のチャート上のEAが動作しなくなることに注意してください。 もし誰かがこれをMQL5に翻訳してくれるなら、すごく助かります!私自身はまだMQL5を習得していませんので、できる方はコピーを送っていただけると嬉しいです 😉.

2020.10.04
VRウォッチリストとリンクライト - MetaTrader 4に最適なトレーディングツール
MetaTrader4
VRウォッチリストとリンクライト - MetaTrader 4に最適なトレーディングツール

皆さん、こんにちは!今日は、MetaTrader 4で使える便利なツール「VRウォッチリスト」と「リンクライト」についてお話しします。 このツールは、ドラッグ&ドロップで「マーケットウォッチ」ウィンドウから金融商品を簡単に変更できるエキスパートアドバイザーです。ユーザーは、金融商品をアドバイザーがインストールされたチャートウィンドウにドラッグするだけでOK。 これにより、トレーダーはすべてのオープンチャートで簡単に金融商品を確認でき、テンプレートやプロファイルを変更する手間が省けます。 金融商品を変更しても、チャートの期間やインジケーター、その設定はそのまま維持されるので安心です。 「VRウォッチリスト」と「リンクライト」は、ライト版のオープンソースで、使いやすさが魅力です。 推奨事項: 各ウィンドウにアドバイザーをインストールすると、どのウィンドウに金融商品をドラッグしても問題なく動作します。 注意点: ウィンドウ内で金融商品を変更する際、すべてのインジケーターとアドバイザーが再初期化されるため注意が必要です。例えば、アドバイザーがEURUSDで取引していた場合、金融商品を変更した後は新しい金融商品で取引を開始します。 このプログラムは非常にシンプルなコードで構成されており、初心者プログラマーにも役立つ内容になっています。また、このコードはMetaTrader 4とMetaTrader 5の両方の端末で同じように動作するのも面白いポイントです。

2020.08.13
最初 前へ 2 3 4 5 6 7 8 9 10 11 12 次へ 最後