MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 215 1...208209210211212213214215216217218219220221222...1953 新しいコメント Konstantin Erin 2017.05.25 15:20 #2141 AlGuru: アドバイスをお願いします。Expert Advisorで次のローソク足で閉じるように指定するにはどうしたらいいですか?datetime Time[] - 配列現在のチャートの各バーの開始時刻を 含む時間。Time[0] - 直近のバーのオープン 時間です。OrderOpenTime() がTime[0] よりも小さい場合 - これは、注文が最後のバーで開かれたことを意味し、あなたの戦略によれば、この注文を閉じるべき時 であることを示します。 Artyom Trishkin 2017.05.25 17:43 #2142 STARIJ:datetime Time[] -現在のチャートの各バーの開始時刻を 含む時間配列。Time[0] - 直近のバーのオープン 時間です。OrderOpenTime () が Time[0]よりも小さい 時間で開いて いる場合- これは、注文が最後のバーで開かれたことを意味 し、あなたの戦略によれば、この注文を閉じるべき時であると言えます。 あるいは、忘れられていて、1年前に 開封されたものなどです ;) AlGuru 2017.05.25 17:46 #2143 STARIJ: datetime Time[] - Array 時系列、現在のチャートの各バーの開始時刻を 含む。Time[0] - 最後にバーが開かれた 時間。OrderOpenTime() がTime[0] よりも小さい場合 - これは、注文が最後のバーで開かれたことを意味し、あなたの戦略によれば、この注文を閉じるべき時 であることを示します。 ありがとうございました。iTime機能で 問題を解決したところです。私はまだ配列が得意ではありません))。 Artyom Trishkin 2017.05.25 18:03 #2144 AlGuru: ありがとうございました。iTime機能を使って問題を解決したところです。私はまだ配列が得意ではありません))。どのように解決したのか見せてください。ただ、あなたが考えてもいないことがあります。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム MQL4に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 アルチョム・トリシキン さん 2017.05.25 19:43STARIJ。datetime Time[] -Time array, これは現在のチャートの各バーの開始時刻を 含む。Time[0] - 直近のバーのオープン時間 です。OrderOpenTime () が Time[0] よりも小さい場合、注文が最後のバーで開か れたことを意味 し、あなたの戦略によれば、この注文を閉じるべき 時が来たのです。 忘れ去られて、1 年前に発見されたなどのどちらかです ;) AlGuru 2017.05.25 18:29 #2145 Artyom Trishkin:どのように解決したのか見せてください。ただ、考えてもみなかったことがあります。 OrderOpenTime() < iTime(Symbol(), 0, 0) Artyom Trishkin 2017.05.25 18:32 #2146 AlGuru: OrderOpenTime() < iTime(Symbol(), 0, 0)また、注文の開始 時間が1週間前だった場合は?それから、それは間違いなく最後のローソク足にはありません(チャートが週足でない場合)。これも閉じた方がいいのでしょうか?もちろん、TSの要件によりますが、私なら逆に...。 AlGuru 2017.05.26 04:48 #2147 Artyom Trishkin:また、注文の開始 時間が1週間前だった場合は?それから、それは間違いなく最後のローソク足にはありません(チャートが週足でない場合)。これも閉じた方がいいのでしょうか?もちろん、TSの要件にもよりますが、私なら逆に...。 これは追加条件です。価格がMAラインに到達したら、ポジションを決済する必要があります。時には、価格がライン上でぴったりと開き、1ティックごとにポジションを開いたり閉じたりすることもあります。私はこの問題を、次のローソク足より早くポジションを閉じないことで解決しました。 a196012a 2017.05.26 05:05 #2148 皆さん、ごきげんよう。ストラテジーテスターで、以下のアクションをどのようにコーディングすればよいか教えてください。一般的な考え方 1.オープンオーダー N -X (ボリューム = 0.1)2. この の注文がSLで決済された場合、損失を補うために、SLでの注文 NXの 終値で直ちに、 注文 N - X1(数量=0.3)をオープンします。私たちがやらなければならないこと。3注文(数量=0.3)がSLで決済された場合、注文N -Xの オープン時の値のみが 記憶され、 オープン時の 損失を補填することができます。両方の注文を開く方法はわかっているのですが、SLで決済された0.1ロット量の注文の 時間値を記憶させる方法が最後までわかりません。注:同じティックでのオーダークローズに関連するものです。0.1や0.3の出来高の注文が1ティックで複数決済されることがある。0.3の注文を 3つ出すのではなく、例えば0.1の注文を SLで1ティックで3つ決済した場合。- 0.3ロットの1オーダーのみ 開設。 この場合、0.3ロットの注文を1つだけSLで決済すると、その損失を補う 0.1ロットの注文が2つ開設される時間の値を得ることができません。 I.e. この場合、0.3ロットの 注文を 1つではなく、3つオープンする必要があります。0.3ロットの3つの注文が、対応する0.1ロットの注文が異なるティックに(ただし1つの価格で)オープンされているにもかかわらず、1つのティックでSLによってクローズされることがあります。この場合、プログラムは0.1ロットの最後の1つの注文に対してのみ正しい値を保存します。私は、プログラムがSSLによって閉じられた各注文(0.1ロット)の時間値を保存する必要があります。以下は私のコードで、これを修正する必要があります。よろしくお願いします。int A2; int A1; int A; int start() { int ot = OrdersTotal(); int Ht = OrdersHistoryTotal(); if(Bid == iOpen(NULL,PERIOD_H1,0)) if ( A!= Hour() ) { OrderSend(Symbol(),OP_SELL,0.1,Bid ,3,Ask+400*Point,Ask-200*Point,"jfh",123 ); A = Hour(); } //************************************************************************************** int Счет=0, Номер=OrdersHistoryTotal()-1; //int A1=0; for( ; Номер>=0; Номер--) { if(!OrderSelect(Номер, SELECT_BY_POS, MODE_HISTORY)) continue; A1=OrderOpenTime(); if(OrderProfit()>=0) break; Счет++; if(Счет ==1&&A2!=OrderOpenTime()) { A2=OrderOpenTime(); OrderSend(Symbol(),OP_SELL,0.3,Bid ,3,Ask+400*Point,Ask-200*Point,"jfh",123 ); } } //************************************************************************************** return; }以下は、複数の注文が1ティックで決済される場合の例です。 08:51:38.906 2017.03.27 13:09:44 Tester: stop loss #200 at 1.08858 (1.08856 / 1.08858) 2 08:51:38.906 2017.03.27 13:09:44 1 = 1 = 1 = 1 EURUSD,M1: open #214 sell 0.30 EURUSD at 1.08856 sl: 1.09258 tp: 1.08658 ok 0 08:51:38.906 2017.03.27 13:10:28 Tester: stop loss #192 at 1.08879 (1.08877 / 1.08879) 0 08:51:38.906 2017.03.27 13:10:28 Tester: stop loss #193 at 1.08879 (1.08877 / 1.08879) 2 08:51:38.906 2017.03.27 13:10:28 1 = 1 = 1 = 1 EURUSD,M1: open #215 sell 0.30 EURUSD at 1.08877 sl: 1.09279 tp: 1.08679 ok 0 08:51:38.906 2017.03.27 13:10:29 Tester: stop loss #194 at 1.08880 (1.08878 / 1.08880) Artyom Trishkin 2017.05.26 05:51 #2149 AlGuru: これは追加条件です。価格がМАラインを超えたら、ポジションを決済します。時には、価格がライン上でぴったりと開き、1ティックごとにポジションを開いたり閉じたりすることもあります。次のローソク足の前にポジションを閉じることで問題を解決しました。このような問題は、まさにこのバーでオープンポジションとクローズ ポジションがあるか、またはあったかを確認することで解決されるはずです。そうでないと、すべてを積み重ねてしまうことになります。シグナル機能はシグナルを送るべきであり、取引機能はすでにシグナルの有効性をチェックすべきです。 sidovi 2017.05.26 06:01 #2150 こんにちは。なぜ ユーロ vs 米ドル の通貨ペアは、1.0616 ではなく 149.16325 と表示されるのですか? 1...208209210211212213214215216217218219220221222...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
datetime Time[] -現在のチャートの各バーの開始時刻を 含む時間配列。Time[0] - 直近のバーのオープン 時間です。OrderOpenTime () が Time[0]よりも小さい 時間で開いて いる場合- これは、注文が最後のバーで開かれたことを意味 し、あなたの戦略によれば、この注文を閉じるべき時であると言えます。
datetime Time[] - Array 時系列、現在のチャートの各バーの開始時刻を 含む。Time[0] - 最後にバーが開かれた 時間。OrderOpenTime() がTime[0] よりも小さい場合 - これは、注文が最後のバーで開かれたことを意味し、あなたの戦略によれば、この注文を閉じるべき時 であることを示します。
ありがとうございました。iTime機能で 問題を解決したところです。私はまだ配列が得意ではありません))。
ありがとうございました。iTime機能を使って問題を解決したところです。私はまだ配列が得意ではありません))。
どのように解決したのか見せてください。
ただ、あなたが考えてもいないことがあります。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
MQL4に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。
アルチョム・トリシキン さん 2017.05.25 19:43
STARIJ。
datetime Time[] -Time array, これは現在のチャートの各バーの開始時刻を 含む。Time[0] - 直近のバーのオープン時間 です。OrderOpenTime () が Time[0] よりも小さい場合、注文が最後のバーで開か れたことを意味 し、あなたの戦略によれば、この注文を閉じるべき 時が来たのです。
どのように解決したのか見せてください。
ただ、考えてもみなかったことがあります。
OrderOpenTime() < iTime(Symbol(), 0, 0)
OrderOpenTime() < iTime(Symbol(), 0, 0)
また、注文の開始 時間が1週間前だった場合は?それから、それは間違いなく最後のローソク足にはありません(チャートが週足でない場合)。これも閉じた方がいいのでしょうか?
もちろん、TSの要件によりますが、私なら逆に...。
また、注文の開始 時間が1週間前だった場合は?それから、それは間違いなく最後のローソク足にはありません(チャートが週足でない場合)。これも閉じた方がいいのでしょうか?
もちろん、TSの要件にもよりますが、私なら逆に...。
これは追加条件です。価格がMAラインに到達したら、ポジションを決済する必要があります。時には、価格がライン上でぴったりと開き、1ティックごとにポジションを開いたり閉じたりすることもあります。私はこの問題を、次のローソク足より早くポジションを閉じないことで解決しました。
皆さん、ごきげんよう。
ストラテジーテスターで、以下のアクションをどのようにコーディングすればよいか教えてください。
一般的な考え方
1.オープンオーダー N -X (ボリューム = 0.1)
2. この の注文がSLで決済された場合、損失を補うために、SLでの注文 NXの 終値で直ちに、 注文 N - X1(数量=0.3)をオープンします。
私たちがやらなければならないこと。
3注文(数量=0.3)がSLで決済された場合、注文N -Xの オープン時の値のみが 記憶され、 オープン時の 損失を補填することができます。
両方の注文を開く方法はわかっているのですが、SLで決済された0.1ロット量の注文の 時間値を記憶させる方法が最後までわかりません。
注:同じティックでのオーダークローズに関連するものです。
0.1や0.3の出来高の注文が1ティックで複数決済されることがある。
0.3の注文を 3つ出すのではなく、例えば0.1の注文を SLで1ティックで3つ決済した場合。- 0.3ロットの1オーダーのみ 開設。
この場合、0.3ロットの注文を1つだけSLで決済すると、その損失を補う 0.1ロットの注文が2つ開設される時間の値を得ることができません。
I.e. この場合、0.3ロットの 注文を 1つではなく、3つオープンする必要があります。
0.3ロットの3つの注文が、対応する0.1ロットの注文が異なるティックに(ただし1つの価格で)オープンされているにもかかわらず、1つのティックでSLによってクローズされることがあります。
この場合、プログラムは0.1ロットの最後の1つの注文に対してのみ正しい値を保存します。
私は、プログラムがSSLによって閉じられた各注文(0.1ロット)の時間値を保存する必要があります。
以下は私のコードで、これを修正する必要があります。
よろしくお願いします。
以下は、複数の注文が1ティックで決済される場合の例です。
これは追加条件です。価格がМАラインを超えたら、ポジションを決済します。時には、価格がライン上でぴったりと開き、1ティックごとにポジションを開いたり閉じたりすることもあります。次のローソク足の前にポジションを閉じることで問題を解決しました。
このような問題は、まさにこのバーでオープンポジションとクローズ ポジションがあるか、またはあったかを確認することで解決されるはずです。
そうでないと、すべてを積み重ねてしまうことになります。シグナル機能はシグナルを送るべきであり、取引機能はすでにシグナルの有効性をチェックすべきです。
こんにちは。なぜ ユーロ vs 米ドル の通貨ペアは、1.0616 ではなく 149.16325 と表示されるのですか?![](https://c.mql5.com/3/128/Untitled2__1.jpg)