MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1601 1...159415951596159715981599160016011602160316041605160616071608...1953 新しいコメント Tretyakov Rostyslav 2021.08.25 10:40 #16001 PapaYozh:こちらはインデックスゼロから、 つまり最初からです。 迷いますね...まったくもってその通りです! законопослушный гражданин 2021.08.25 15:15 #16002 PapaYozh:これは、ゼロインデックスから、 つまり最初から検索するものです。 PapaYozh: こちらはゼロ インデックスから、つまり最初からです。 ああ...これですべて納得です、ありがとうございました。 законопослушный гражданин 2021.08.26 10:41 #16003 Maxim Kuznetsov: for(int i=OrdersTotal()-1;i>=0;i--) { if (! OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue; double prosad=DBL_MIN; if (OrderType()!=OP_BUY && OrderType!=OP_SELL) continue; for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) { double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() ); delta /= MarketInfo(OrderSymbol(),MODE_POINT); if (delta>prosad) prosad=delta; } PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE); } 手書きで、未テストで、エラーだらけ :-) 自分のニーズに合わせて調整し、使用する。 あなたのコードで -"!" が何を意味するのか教えてください。 まだよくわからない とか、作者以外の人が解説してくれないかな? Maxim Kuznetsov 2021.08.26 10:49 #16004 законопослушный гражданин:あなたのコードでは、-"!"はどのような意味ですか?まだよく分かっていないんです。とか、作者以外の人が説明できるのか? !- これはブーリアン否定であり、NOT if { !OrderSelect() } は、"ifOrderSelect is NOT successful" に変換されます。 それぞれ "NOTイコール" законопослушный гражданин 2021.08.26 11:11 #16005 Maxim Kuznetsov:!- はブール否定、NOTif { !OrderSelect() } は "if NOT successfulOrderSelect" と変換されます。! しゃい законопослушный гражданин 2021.08.26 11:31 #16006 Maxim Kuznetsov: for(int i=OrdersTotal()-1;i>=0;i--) { if (!OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue; double prosad=DBL_MIN; if (OrderType()!=OP_BUY && OrderType!=OP_SELL) continue; for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) { double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() ); delta /= MarketInfo(OrderSymbol(),MODE_POINT); if (delta>prosad) prosad=delta; } PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE); } 手書きで書いたため、チェックされておらず、エラーが多い :-) 必要に応じて調整し、使用する。 私はコードを「クリーンアップ」したかもしれませんが、この行は警告を表示します for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) 型変換によるデータ消失の可能 性 何が問題なのかわからない? Maxim Kuznetsov 2021.08.26 11:37 #16007 законопослушный гражданин:コードをきれいにしたようですが、この行で for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) と警告が出ています。型変換によるデータ消失の可能 性どこが悪いのかわからない? パラメータを間違えてしまった...ターミナルをバイパスしてフォーラムに「その場」で書き込むとよくあるゴタゴタです iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime()) は、次のようにします。 законопослушный гражданин 2021.08.26 11:47 #16008 Maxim Kuznetsov:パラメータが混在している...ターミナルをバイパスしてフォーラムに直接「オンザフライ」で書き込む場合によくある混乱iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime()) は、次のようにします。 しゃい законопослушный гражданин 2021.08.26 12:08 #16009 законопослушный гражданин:コードをきれいにしたようですが、この行で for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) と警告が出ています。型変換によるデータ消失の可能 性どこが悪いのかわからない? 何が悪いのかよくわからないのですが、この「もの」全体をExpert Advisorに取り付けて、テストレポートの情報を出力してStrategy Testerで実行することは可能ですか? はたしてうまくいくのだろうか? Tretyakov Rostyslav 2021.08.26 12:12 #16010 対処法のヒントがあれば教えてください。 履歴のテスターで、単純な注文を開くとエラーになることがあるのですが...。 OrderSend(_Symbol,OP_SELL,0.5,Bid,0,0,0,NULL,0) 2021.08.26 14:56:33.375 2017.08.07 08:00:00 Trader EURUSD,H1: OrderSend error 3 ERR_INVALID_TRADE_PARAMETERS - これは一体何なのか、どういうことなのか? 1...159415951596159715981599160016011602160316041605160616071608...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こちらはインデックスゼロから、 つまり最初からです。
これは、ゼロインデックスから、 つまり最初から検索するものです。
こちらはゼロ インデックスから、つまり最初からです。
ああ...これですべて納得です、ありがとうございました。
for(int i=OrdersTotal()-1;i>=0;i--) {
if (! OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue;
double prosad=DBL_MIN;
if (OrderType()!=OP_BUY && OrderType!=OP_SELL) continue;
for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) {
double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() );
delta /= MarketInfo(OrderSymbol(),MODE_POINT);
if (delta>prosad) prosad=delta;
}
PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE);
}
手書きで、未テストで、エラーだらけ :-) 自分のニーズに合わせて調整し、使用する。
あなたのコードで -"!" が何を意味するのか教えてください。
まだよくわからない
とか、作者以外の人が解説してくれないかな?
あなたのコードでは、-"!"はどのような意味ですか?
まだよく分かっていないんです。
とか、作者以外の人が説明できるのか?
!- これはブーリアン否定であり、NOT
if { !OrderSelect() } は、"ifOrderSelect is NOT successful" に変換されます。
それぞれ "NOTイコール"
!- はブール否定、NOT
if { !OrderSelect() } は "if NOT successfulOrderSelect" と変換されます。
!
しゃい
for(int i=OrdersTotal()-1;i>=0;i--) {
if (!OrderSelect(i,SELECT_BY_POSITON,MODE_TRADES)) continue;
double prosad=DBL_MIN;
if (OrderType()!=OP_BUY && OrderType!=OP_SELL) continue;
for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) {
double delta=( OrderType()==OP_BUY? OrderOpenPrice()-iLow(OrderSymbol(),PERIOD_M1,j) : iHigh(OrderSymbol(),PERIOD_M1,j)-OrderOpenPrice() );
delta /= MarketInfo(OrderSymbol(),MODE_POINT);
if (delta>prosad) prosad=delta;
}
PrintFormat("Максимальная просадка по ордеру %d = %d пунктов , %f денег",OrderTicket(),(int)(prosad),prosad*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE);
}
手書きで書いたため、チェックされておらず、エラーが多い :-) 必要に応じて調整し、使用する。
私はコードを「クリーンアップ」したかもしれませんが、この行は警告を表示します for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--)
型変換によるデータ消失の可能 性
何が問題なのかわからない?
コードをきれいにしたようですが、この行で for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) と警告が出ています。
型変換によるデータ消失の可能 性
どこが悪いのかわからない?
パラメータを間違えてしまった...ターミナルをバイパスしてフォーラムに「その場」で書き込むとよくあるゴタゴタです
iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime()) は、次のようにします。
パラメータが混在している...ターミナルをバイパスしてフォーラムに直接「オンザフライ」で書き込む場合によくある混乱
iBarShift(OrderSymbol(),PERIOD_M1,OrderOpenTime()) は、次のようにします。
しゃい
コードをきれいにしたようですが、この行で for(int j=iBarShift(OrderSymbol(),OrderOpenTime(),PERIOD_M1); j>=0;j--) と警告が出ています。
型変換によるデータ消失の可能 性
どこが悪いのかわからない?
何が悪いのかよくわからないのですが、この「もの」全体をExpert Advisorに取り付けて、テストレポートの情報を出力してStrategy Testerで実行することは可能ですか?
はたしてうまくいくのだろうか?
対処法のヒントがあれば教えてください。
履歴のテスターで、単純な注文を開くとエラーになることがあるのですが...。
ERR_INVALID_TRADE_PARAMETERS - これは一体何なのか、どういうことなのか?