初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 85 1...787980818283848586878889909192...260 新しいコメント Alekseu Fedotov 2017.05.21 19:39 #841 deathmond1990: こんにちは。ある取引期間(つまりローソク足1本分)のティックの値(対応する価格)を1次元配列に読み込むことができるかということです。そして、ローソク足の形成中に配列が形成されるように行うこと。MQL4では現実的なのでしょうか?ご意見をお聞かせください。 それは現実です。ダイナミックな配列で GO。//-----------------------+ int k=0; //на глобальном уровне double тики[]; //---------------- void OnTick() { ArrayResize(тики,k+1); тики[k]=Bid; k++; } //+------------------------ deathmond1990 2017.05.23 06:33 #842 Alekseu Fedotov: 現実的に考えてダイナミックな配列で、すぐに使える。 ありがとうございました =) Arseniy Barudkin 2017.05.23 15:56 #843 皆さん、こんにちは。洪水みたいで嫌なんですが、この機能がないとやっていけないんです。そこで、どなたかこの関数について教えてください。この関数は、すべての注文を調べ、同時に2つの注文を削除します。最も小さいロットとマイナスの利益を持つ注文と、最も大きいロットとプラスの利益を持つ注文を削除します。 Alekseu Fedotov 2017.05.23 16:31 #844 Arseniy Barudkin: 皆さん、こんにちは。洪水みたいで嫌なんですが、この機能がないとやっていけないんです。そこで、どなたかこの関数について教えてください。この関数は、すべての注文を調べ、同時に2つの注文を削除します。最も小さいロットとマイナスの利益を持つ注文と、最も大きいロットとプラスの利益を持つ注文を、既存の注文からも削除します。OrderCloseByで 検索してみてください。 smart_man 2017.05.23 19:49 #845 通常時、異常時に端末を閉じても、すべてのグローバル変数のデータを保存するようにするにはどうしたらよいですか? 質問は、次のようなコードの先頭で宣言された変数に関するものです。#property copyright "Copyright 2015, MetaQuotes Software Corp."#property link "https://www.mql5.com"#property version "1.00"#property strictextern double VAR1 = 1;double VAR2[1000];VAR1 と VAR2 の値を失わないようにする必要があります(Expert Advisor の動作中に配列はデータで満たされます)。今のところ、tick毎にファイル(global.txt)にデータを書き込み、ターミナル起動 時にファイル(global.txt)から読み込んで変数を再作成し、tick毎に再度書き込むというアイデアしかありません。他にどのような選択肢があるのでしょうか? Alekseu Fedotov 2017.05.23 20:01 #846 smart_man:通常モード、異常モードでクライアント端末を閉じた後でも、すべてのグローバル変数のデータを保持するようにするにはどうすればよいですか? 質問は、このように宣言された変数に関するものです。extern double VAR1 = 1;double VAR2[1000];VAR1 と VAR2 の値を失わないようにする必要があります(Expert Advisor の動作中に配列はデータで満たされます)。今のところ、tick毎にファイル(global.txt)にデータを書き込み、ターミナル起動 時にファイル(global.txt)から読み込んで変数を再作成し、tick毎に再度書き込むというアイデアしかありません。他にどんなバリエーションがあるのでしょうか?オプションクライアント端末のグローバル変数//--------グローバルに宣言された変数と混同しないように Aleksey Vyazmikin 2017.05.23 23:00 #847 fxtz:質問 メタトレーダー4で、2ポジションから250ポジションまで、設定したストップロスや利益をワンクリックでオープンするプログラムを書く ことができますか?手動で開く必要はない 1つの商品に対して、これだけの注文を出せる証券会社は見つかりましたか?通常、100件の注文はすべての商品で制限されています...。そうそう、100個も開けられるんですよ。 Arseniy Barudkin 2017.05.24 12:05 #848 Alekseu Fedotov: OrderCloseByで 検索してみてください。ありがとうございました。しかし、私はこれらの注文のチケットを少なくとも3つの注文から選択しなければならず、しばしば5から10の注文までより多く存在します。 Konstantin Erin 2017.05.25 15:37 #849 Arseniy Barudkin: 注文のテロップを選択するのは当然として、なぜその注文のロットと利益を別々に計算して比較する必要があるのでしょうか。状況は、あなたが想像しているよりもずっと悪いのです。OrderSelect()で 選択された1つの注文のみが、その時点で利用可能です。そして、一番最初のオーダーが決まったとき、何と比較すればいいのか。賢い人は本当にこんなことをするんだdouble МинПрофит=1000000, МаксПрофит=-1000000; int МаксТикет=0, МинТикет=0; for(int Номер=OrdersTotal-1; Номер>=0; Номер--) { if(!OrderSelect(Номер,SELECT_BY_POS)) continue; if(OrderProfit()>МаксПрофит) { МаксТикет=OrderTicket(); МаксПрофит=OrderProfit(); } else if(OrderProfit()<МинПрофит) { МинТикет=OrderTicket(); МинПрофит=OrderProfit(); } } そして、見つかったチケットの価値を見てみると......いきなりゼロ!!。 Arseniy Barudkin 2017.05.25 20:14 #850 STARIJ:状況は、あなたが想像しているよりもずっと悪いのです。OrderSelect()で 選択された1つの注文のみが、その時点で利用可能です。そして、一番最初のオーダーが決まったとき、何と比較すればいいのか。賢い人は本当にこんなことをするんだ そして、見つかったチケットの価値を見てください。突然、ゼロになりました! ありがとうございました。今まではこのままにしておいたのですが、今度は関数が呼ばれる条件を少し変えてみることにしました。そして、総じて、あなたにはとても助けられています))void MarginDefuse(double lot1=0,double lot2=0) { int ticket1=0,ticket2=0,type=-1; double profit1=0,profit2=0; bool res1=false,res2=false; // Выделение for(int i=0; i<OrdersTotal(); i++) { if(!OrderSelect(i,SELECT_BY_POS)) continue; // Что-то помешало - идем к следующему if(OrderSymbol() != Symbol()) continue; // Чужой график if(OrderType()<2 && OrderMagicNumber() == Magic) { if(OrderLots()>=lot1 && OrderProfit()<0) { ticket1=OrderTicket(); lot1=OrderLots(); type=OrderType(); profit1=OrderProfit(); } } } for(int i=OrdersTotal()-1; i>=0; i--) { if(!OrderSelect(i,SELECT_BY_POS)) continue; // Что-то помешало - идем к следующему if(OrderSymbol() != Symbol()) continue; // Чужой график if(OrderType() != type && OrderType()<2 && OrderMagicNumber() == Magic) { if(OrderLots() >= lot2/Multipler && OrderProfit()>0 && OrderLots()>lot1) { ticket2 = OrderTicket(); lot2 = OrderLots(); profit2=OrderProfit(); } } } if((profit1+profit2)>0 && lot1<lot2) { while (!RefreshRates()); if(ticket1) { if(OrderSelect(ticket1,SELECT_BY_TICKET)) res1=OrderCloseX(ticket1,lot1); } if(ticket2) { if(OrderSelect(ticket2,SELECT_BY_TICKET)) res2=OrderCloseX(ticket2,lot2); } if(res1 && res2) DeletePos(); } } 1...787980818283848586878889909192...260 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。ある取引期間(つまりローソク足1本分)のティックの値(対応する価格)を1次元配列に読み込むことができるかということです。そして、ローソク足の形成中に配列が形成されるように行うこと。MQL4では現実的なのでしょうか?ご意見をお聞かせください。
それは現実です。ダイナミックな配列で GO。
現実的に考えてダイナミックな配列で、すぐに使える。
皆さん、こんにちは。洪水みたいで嫌なんですが、この機能がないとやっていけないんです。そこで、どなたかこの関数について教えてください。この関数は、すべての注文を調べ、同時に2つの注文を削除します。最も小さいロットとマイナスの利益を持つ注文と、最も大きいロットとプラスの利益を持つ注文を、既存の注文からも削除します。
OrderCloseByで 検索してみてください。
通常時、異常時に端末を閉じても、すべてのグローバル変数のデータを保存するようにするにはどうしたらよいですか?
質問は、次のようなコードの先頭で宣言された変数に関するものです。
#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毎に再度書き込むというアイデアしかありません。他にどのような選択肢があるのでしょうか?
通常モード、異常モードでクライアント端末を閉じた後でも、すべてのグローバル変数のデータを保持するようにするにはどうすればよいですか?
質問は、このように宣言された変数に関するものです。
extern double VAR1 = 1;
double VAR2[1000];
VAR1 と VAR2 の値を失わないようにする必要があります(Expert Advisor の動作中に配列はデータで満たされます)。今のところ、tick毎にファイル(global.txt)にデータを書き込み、ターミナル起動 時にファイル(global.txt)から読み込んで変数を再作成し、tick毎に再度書き込むというアイデアしかありません。他にどんなバリエーションがあるのでしょうか?
オプション
クライアント端末のグローバル変数
//--------
グローバルに宣言された変数と混同しないように
質問 メタトレーダー4で、2ポジションから250ポジションまで、設定したストップロスや利益をワンクリックでオープンするプログラムを書く ことができますか?手動で開く必要はない
1つの商品に対して、これだけの注文を出せる証券会社は見つかりましたか?通常、100件の注文はすべての商品で制限されています...。
そうそう、100個も開けられるんですよ。
OrderCloseByで 検索してみてください。
ありがとうございました。しかし、私はこれらの注文のチケットを少なくとも3つの注文から選択しなければならず、しばしば5から10の注文までより多く存在します。
状況は、あなたが想像しているよりもずっと悪いのです。OrderSelect()で 選択された1つの注文のみが、その時点で利用可能です。そして、一番最初のオーダーが決まったとき、何と比較すればいいのか。賢い人は本当にこんなことをするんだ
そして、見つかったチケットの価値を見てみると......いきなりゼロ!!。状況は、あなたが想像しているよりもずっと悪いのです。OrderSelect()で 選択された1つの注文のみが、その時点で利用可能です。そして、一番最初のオーダーが決まったとき、何と比較すればいいのか。賢い人は本当にこんなことをするんだ
そして、見つかったチケットの価値を見てください。突然、ゼロになりました!ありがとうございました。今まではこのままにしておいたのですが、今度は関数が呼ばれる条件を少し変えてみることにしました。そして、総じて、あなたにはとても助けられています))