システムトレード

MetaTrader 4でカスタムサウンドアラートを設定する方法
MetaTrader4
MetaTrader 4でカスタムサウンドアラートを設定する方法

こんにちは、トレーダーの皆さん!今日はMetaTrader 4でカスタムサウンドアラートを設定する方法についてお話しします。このコードを使うことで、新しいバーが形成されるたびに、自分の好きな音でアラートを受け取ることができます。 カスタムアラートのメリット カスタムサウンドアラートを利用することで、取引チャンスを逃すことなく、リアルタイムで市場の動きをキャッチできます。特に忙しいトレーダーにとって、音でのお知らせは非常に便利です。 設定手順 MetaTrader 4を開く:まずは、MetaTrader 4を起動しましょう。 エディタを開く:メニューから「ツール」→「MQLエディタ」を選択します。 新しいスクリプトを作成:エディタで新しいスクリプトを作成し、以下のコードをコピー&ペーストします。 カスタムサウンドの設定:自分の好きなサウンドファイルを指定します。ファイルは「sounds」フォルダに入れておきましょう。 保存してコンパイル:スクリプトを保存し、コンパイルします。 チャートにドラッグ:作成したスクリプトをチャートにドラッグして実行します。 これで、設定完了です!新しいバーが形成されるたびに、お気に入りの音でアラートが鳴ります。 トレードの成功を祈っています!

2021.12.17
特定の日と時間に注文を自動で開閉するエキスパートアドバイザー
MetaTrader4
特定の日と時間に注文を自動で開閉するエキスパートアドバイザー

特定の日と時間に注文を開閉するエキスパートアドバイザーです このエキスパートアドバイザーは、指定した日と時間に基づいて自動的に注文を開閉します。これにより、トレーダーは重要なタイミングを逃すことなく、効率的に取引を行うことができます。 シンボルに連動して注文を管理 このエキスパートは、設定したシンボルに対してのみ注文を開閉しますので、複数のシンボルを扱う際にも安心です。 設定パラメータ 注文を開く曜日 - 注文を開く曜日を設定します。 注文を開く時間 - 注文を開く時刻を設定します。 注文を開く分 - 注文を開く分を設定します。 買い注文を開く - 買い注文を開くかどうかを選択します。 売り注文を開く - 売り注文を開くかどうかを選択します。 注文のロットサイズ - 注文のロットサイズを設定します。 利益確定(0=設定しない) - 利益確定のpipsを設定します。 損失制限(0=設定しない) - 損失制限のpipsを設定します。 マジックナンバーの管理 - 特定のマジックナンバーのみで注文を管理します。 注文を閉じる曜日 - 注文を閉じる曜日を設定します。 注文を閉じる時間 - 注文を閉じる時刻を設定します。 注文を閉じる分 - 注文を閉じる分を設定します。 自分の注文のみを時間内に閉じる - エキスパートが開いた注文のみを閉じるか選択します。 全ての注文を時間内に閉じる - アカウント内の全ての注文を閉じるか選択します。

2021.11.28
ブレイクイーブン後のトレード増加 - MetaTrader 4のための実践的なEA
MetaTrader4
ブレイクイーブン後のトレード増加 - MetaTrader 4のための実践的なEA

こんにちは、トレーダーの皆さん!今日は、MetaTrader 4用の小さなEA(エキスパートアドバイザー)の魅力についてお話しします。このEAの特徴は、オーダー数をカウントする機能です。 int OrdersCounter()   {    int counter=0; //---    for(int i=OrdersTotal()-1; i>=0; i--)       if(OrderSelect(i,SELECT_BY_POS))          if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) // このEAによって開かれたオーダーか確認            { //--- ブレイクイーブンが発生したか確認    /* 買いの場合は、ストップロスがオープン価格以上であることが条件です。この実装はペンディングオーダーには適していません。*/             double XBreakeven = OrderType()==OP_BUY ? OrderStopLoss() >= OrderOpenPrice() : OrderStopLoss() <= OrderOpenPrice();             if(!XBreakeven) // ブレイクイーブンまたはトレーリングストップが発生していない場合               {                counter++; // ポジションをカウント               }            }    return counter;   } この関数では、ストップロスがオープン価格以上(買いの場合)またはオープン価格未満(売りの場合)でないオーダーだけをカウントしています。言い換えれば、ブレイクイーブンやトレーリングストップで保護されていないオーダーをカウントしています。 double XBreakeven = OrderType()==OP_BUY ? OrderStopLoss() >= OrderOpenPrice() : OrderStopLoss() <= OrderOpenPrice();             if(!XBreakeven) // ブレイクイーブンやトレーリングストップが発生していない場合 このカウンターを使って、最大ポジション数を制限します。ここでは、同時に1つのオーダーしか持たないように設定しています。    if(OrdersCounter()<MaximumOrders) ブレイクイーブンが発生するたびに、この関数はそのカウントを無視します。したがって、例として1つのポジションしか持っていなければ、カウントはゼロになり、次のオーダーを開くことができます。 また、ブレイクイーブン機能を作成しなければ、これは不可能でした。 void BreakEvenFunction()   { //---    for(int i=OrdersTotal()-1; i>=0; i--)       if(OrderSelect(i,SELECT_BY_POS))          if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())            { // 買いの場合は、Bidがオープン価格+ブレイクイーブンpips以上、売りの場合はその逆             double xHybrid = OrderType()==OP_BUY ? (Bid>OrderOpenPrice()+BreakevenPips*_Point && OrderStopLoss()<OrderOpenPrice()) : (Ask<OrderOpenPrice()-BreakevenPips*_Point && OrderStopLoss()>OrderOpenPrice());             /* 買いの場合はストップロスがオープン価格以上、売りの場合はその逆が条件 */             if(xHybrid)               {                bool modfy = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,clrNONE);               }            }   } これを試してみますか?

2021.07.13
MetaTrader 4でのトレーディングロボット開発 - Validate Meフレームワーク
MetaTrader4
MetaTrader 4でのトレーディングロボット開発 - Validate Meフレームワーク

Validate Meフレームワーク こんにちは、トレーダー仲間の皆さん!今日は、MetaTrader 4を使ったトレーディングロボットの開発についてお話しします。このValidate Meフレームワークは、市場での売買注文を利用して、ロボットが市場での検証を通過するために必要なチェックを行います。これは教育目的でのガイドですので、ぜひ参考にしてください。 コード例 - 買い注文 ask=MarketInfo(_Symbol,MODE_ASK);          bid=MarketInfo(_Symbol,MODE_BID);          sl=(OrderStopPips==0)?0.0:bid-ExtOrderStop;          if(sl!=0.0 && ExtOrderStop<StopLevel)             sl=bid-StopLevel;          tp=(OrderTakePips==0)?0.0:ask+ExtOrderTake;          if(tp!=0.0 && ExtOrderTake<StopLevel)             tp=ask+StopLevel;          GetLot=CheckVolumeValue(Lots);          if(!CheckStopLoss_Takeprofit(OP_BUY,ExtOrderStop,ExtOrderTake))             return;          if(CheckMoneyForTrade(GetLot,OP_BUY))             order=OrderSend(_Symbol,OP_BUY,GetLot,ask,10,sl,tp,"FrameWork",678,0,Blue); フレームワークの入力 このフレームワークを使うことで、より安全で効率的なトレードが可能になります。ぜひ、自分のロボット開発に活かしてみてくださいね!

2021.06.22
最初 前へ 9 10 11 12 13 14 15 16 17 18 19 次へ 最後