記事「一からの取引エキスパートアドバイザーの開発」についてのディスカッション

 

新しい記事「一からの取引エキスパートアドバイザーの開発」はパブリッシュされました:

この記事では、最小限のプログラミングで自動売買ロボットを開発する方法について説明します。

この記事で紹介するエキスパートアドバイザーは、パラメーターのセットを操作するためにさまざまな方法で改善できますが、これには、MetaTrader5からより独立するためのより多くのコードが必要になります。

このEAの成功は、MetaTrader 5自体を使用してそのコードにないアクションを実行するために、非常に安定していて信頼性があることです。




作者: Daniel Jose

 

おはよう、

とても良いのですが、1つだけ理解できないことがあります。WINとWDOで注文を出すと、EAは "レバレッジ "で入力した枚数で 6枚の注文を開きます。つまり、1枚で取引したくてもできず、6枚開いてしまうのです。

これは私が見落としている概念なのでしょうか?初心者なので、その前提で始めています。

教えていただきありがとうございました。

 
私の理解では、これを使うにはアルゴ・トレーディングの知識が必要です...
削除済み  
とても良い!
 
joecafrois #:
私が理解しているように、あなたはAlgoTradingの知識が必要です...

AlgoTradingの知識は必要ありません.しかし、EA(Expert Advisor)を使用するときは常に有効にする必要があります。

 
Feresther 枚数で 6枚の注文を開きます。そのため、1枚で取引したくてもできず、6枚開いてしまいます。

これは私が見落としている概念なのでしょうか?初心者なので、その前提で始めています。

教えていただきありがとうございました。

マウスをクリックした時に、システムが複数の注文を送信している可能性があります、理由は様々かもしれませんが、ご報告ありがとうございます😁👍、この問題を解決するには、マウスをクリックした時に追加のテストを追加する必要があります、修正または追加するポイントは緑でマークされています....そうしないと、オーダーが送信されなかったり、サーバーが受け付けなかったりします。しかし、このテストを追加すれば、問題は解決するはずです。マウスがクリックされると、STATIC変数がセットされ、マウスが押されなくなったときのみ、新しいオーダーが送信されるようにリセットされます。

inline void MoveTo(int X, int Y, uint Key)
{
        static double d_block = 0; 
        int w = 0;
        datetime dt;
        bool bEClick, bKeyBuy, bKeySell;
        double take = 0, stop = 0, price;
        bEClick  = (Key & 0x01) == 0x01;                //左クリック
        bKeyBuy  = (Key & 0x04) == 0x04;                //SHIFTが押された
        bKeySell = (Key & 0x08) == 0x08;                //CTRLを押す
        ChartXYToTimePrice(Infos.Id, X, Y, w, dt, price);
        ObjectMove(Infos.Id, Infos.szHLinePrice, 0, 0, price = (bKeyBuy != bKeySell ? AdjustPrice(price) : 0));
        ObjectMove(Infos.Id, Infos.szHLineTake, 0, 0, take = price + (Infos.TakeProfit * (bKeyBuy ? 1 : -1)));
        ObjectMove(Infos.Id, Infos.szHLineStop, 0, 0, stop = price + (Infos.StopLoss * (bKeyBuy ? -1 : 1)));
        if ((bEClick) && (bKeyBuy != bKeySell) && (d_block == 0)) CreateOrderPendent(bKeyBuy, Infos.Volume, (d_block = price), take, stop, Infos.IsDayTrade); else d_block = 0;
        ObjectSetInteger(Infos.Id, Infos.szHLinePrice, OBJPROP_COLOR, (bKeyBuy != bKeySell ? Infos.cPrice : clrNONE));
        ObjectSetInteger(Infos.Id, Infos.szHLineTake, OBJPROP_COLOR, (take > 0 ? Infos.cTake : clrNONE));
        ObjectSetInteger(Infos.Id, Infos.szHLineStop, OBJPROP_COLOR, (stop > 0 ? Infos.cStop : clrNONE));
};
 
mq4バージョンはありますか?
 
良い記事をありがとう。
 
ミニ・インデックスのポイント数とロット数はどこで設定するのですか?
 
C4rl1n #:
ミニ・インデックスのポイント数とロット数はどこで設定するのですか?

実はこのコードでは、調整は自動的に行われます。あなたが取引する金融業者と契約数を伝えると、コードがポイント数で調整します...この情報は、チャート上にExpert Advisorを配置するときに与えられます。😁👍

 
なるほど、EAを開発したいのに、ロット数とポイントが合わないからか。