初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 86

 
smart_man:

通常時、異常時に端末を閉じても、すべてのグローバル変数のデータを保存するようにするにはどうしたらよいですか?

質問は、次のようなコードの先頭で宣言された変数に関するものです。

#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

extern double  VAR1 = 1;

double VAR2[1000];

VAR1 と VAR2 の値を失わないようにする必要があります(Expert Advisor の動作中に配列はデータで満たされます)。今のところ、tick毎にファイル(global.txt)にデータを書き込み、ターミナル起動 時にファイル(global.txt)から読み込んで変数を再作成し、tick毎に再度書き込むというアイデアしかありません。他にどのような選択肢があるのでしょうか?

端末のグローバル、またはリソースへの どちらかです。
 
Arseniy Barudkin:

ありがとうございました。とりあえずこのままにしておきましたが、今度はこの関数が呼ばれる条件を少し変えてみることにしました。そして、総じて、あなたにはとても助けられています))

回答が得られなくて当然です。問題を設定しなければ、解決できないのです。

では、オリジナルのToRを見てみましょう。

"Arseniy Barudkin2017.05.23 19:56 RU

皆さん、こんにちは。洪水対策にはしたくないが、この機能はなくてはならない。そこで、どなたか、すべての注文を調べて、2つの注文を同時に削除する関数を教えてください。1つは、最小ロットとマイナスの利益を持つ注文で、チャート上に存在しないようにし、もう1つは、最大ロットとプラスの利益を持つ注文で、同様に存在しないようにするものです。"

見せていただいたコードには、何が書かれているのでしょうか?

1.すべての注文はExpert Advisorによって開かれ、固有のMagicを持っています。

2.探している注文の総利益がプラスになっている。

3.注文が逆になっている。

4.利益がプラスになるロットサイズは、マイナスになるロットサイズより厳密には大きくなります。

提示されたTORのどこに記載されているのでしょうか?

さらに、このコードでは、反対方向の注文を閉じる方法を知らないので、少なくともスプレッドを失っています。

 
fxtz:

質問 メタトレーダー4で、2ポジションから250ポジションまで、設定したストップロスや利益をワンクリックでオープンするプログラムを書く ことができますか?だから、一度にひとつずつ手動で開く必要はないんだ

ブローカーの制限が厳しい場合は、プログラミング言語が自動的にスクリプトを書くように設計されています。
 
Mislaid:

回答が得られなくて当然です。問題を設定しなければ、解決できないのです。

では、オリジナルのToRを見てみましょう。

"Arseniy Barudkin2017.05.23 19:56 RU

皆さん、こんにちは。洪水対策にはしたくないが、この機能はなくてはならない。そこで、どなたか、すべての注文を調べて、2つの注文を同時に削除する関数を教えてください。1つは、最小ロットとマイナスの利益を持つ注文で、チャート上に存在しないようにし、もう1つは、最大ロットとプラスの利益を持つ注文で、同様に存在しないようにします。"

見せていただいたコードには、何が書かれているのでしょうか?

1.すべての注文はExpert Advisorによって開かれ、固有のMagicを持っています。

2.探している注文の総利益がプラスになっている。

3.注文が逆になっている。

4.利益がプラスになるロットサイズは、マイナスになるロットサイズより厳密には大きくなります。

提示されたTORのどこに記載されているのでしょうか?

加えて:コードは、あなたが少なくともスプレッドを失う、カウンター注文を閉じる方法を知らないことを示しています。


欠点が多いのは論外!この手の活動はこれからです。このスレッドに、何か助けを求めるか、間違いを指摘するために書き込んでいるのですそのためのものだと思います。さて、次はコードです。1) もしかしたら、私は何かを理解していないかもしれませんが、Expert Advisorのすべての注文が固有のMagicを持っていることの何が問題なのでしょうか?2) この条件と一般的にこの機能全体は、マージン負荷が大きい場合に、少なくとも2つの反対注文をクローズし、赤字にならないように設計されています、3番目と4番目のポイントは同じことを指しています。そして、カウンターオーダーの正しい閉じ方が本当にわからない。
 
Arseniy Barudkin:

欠点が多いのは論外!私はこの仕事に就いたばかりです。そして、このスレッドに書き込んでいるのは、助けを求めたり、間違いを指摘するためなのです私の考えでは、これが目的です。さて、次はコードです。1) もしかしたら、私は何かを理解していないかもしれませんが、Expert Advisorのすべての注文が固有のMagicを持っていることの何が問題なのでしょうか?2) この条件と一般的にこの機能全体は、マージン負荷が大きい場合に、少なくとも2つの反対注文をクローズし、赤字にならないように設計されている、3番目と4番目のポイントは同じことを指している。逆指値注文を正しく決済する方法がわからない。
もしあなたが私の生徒なら、コードを提出したことに「いいね!」をつけるでしょう。また、コミュニケーションの過程で、アイデアを出すことができることを示せたなら「優秀」 回答から、正しく思考していることがわかる
 

こんにちは ...MQL4で書かれたEAで、マーケットオーダーの買い、トレーリング・オーダーの売りを取引します。保留中のBuyStop, SellStopを追加することにした ...MT4ウィンドウに保留中の注文が 表示されると、トレイリングが 機能しなくなる(SLは設定されず、変更もできない)。ライブラリのバックトラック、選択された2つのページでtrailing 機能が標準装備されていますが、何が問題なのでしょうか?, ......それとも、機能の問題ではないのでしょうか? もしかしたら、このようなことに遭遇した人がいるかもしれませんね。

int TralFunck(int Ticket)

 {   double TralPrice=0,Punkt=0;

   chk=OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES);

for(Ticket=OrdersTotal()-1; Ticket>=0; Ticket--)  

  { if (OrderProfit()<=0)       continue;

    if (OrderType()==4)		 continue;

    if (OrderType()==5) 	 continue;

   if (OrderType()==0)  {   Punkt=(Bid-OrderOpenPrice())/Point;TralPrice=NormalizeDouble((Bid-Tral*D*Point),Digits);  }

   if (OrderType()==1)  {   Punkt=(OrderOpenPrice()-Ask)/Point;TralPrice=NormalizeDouble((Ask+Tral*D*Point),Digits);   }

   if (Punkt<MarketInfo(Symbol(),MODE_STOPLEVEL))       continue;

   if(Punkt<(Tral+TP)*D)        continue;

   if(OrderType()==0 && TralPrice<=NormalizeDouble(OrderStopLoss(),Digits))     continue;

   if(OrderType()==1 && TralPrice>=NormalizeDouble(OrderStopLoss(),Digits) && OrderStopLoss()!=0)       continue;

   ModifyOrder(OrderTicket(),OrderOpenPrice(),TralPrice,OrderTakeProfit());     continue;

   }   return(0);

 }


 
Yaroslav Nykula:

こんにちは ...MQL4で書かれたEAで、マーケットオーダーの買い、トレーリング・オーダーの売りを取引します。保留中のBuyStop, SellStopを追加することにした ...MT4ウィンドウに保留中の注文が 表示されると、トレイリングが 機能しなくなる(SLは設定されず、変更もできない)。ライブラリのバックトラックにtrailing 機能が標準装備されており、選択された2ページが 追加されているのですが、何が問題なのか理解できていません。, ......それとも、機能云々ではないのでしょうか? もしかしたら、このようなことに遭遇した人がいるかもしれませんね。



ループを抜けないように、return(0);をcontinue;に置き換える。関数の最後には、そのままにしておきます。

エディターのSRCボタンでコードを挿入する

 
Victor Nikolaev:


return(0); を continue; に置き換えて、ループを抜けないようにする。関数の最後には、そのままにしておきます。

エディターのSRCボタンを使って、コードを挿入します。


ありがとうございます.ちゃったエディターのSRCボタンを考慮に入れておきます、すみません.しかし、問題は変わらず、TrailingとModifyが 一緒に動作することを望んでいません。保留中 です。
 
最近、mt4でトレードを始めました。ストラテジーをテストすることにしたのですが、ストラテジーテスターには 可視化機能と一時停止ボタンがありません。
 
vsmutew7:
最近、mt4でトレードを始めました。ストラテジーをテストしようと思ったのですが、ストラテジーテスターには 可視化機能や一時停止ボタンがありません。

おそらく、より広いウィンドウ、特に「開始」ボタンのあるウィンドウが必要です。