[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 524 1...517518519520521522523524525526527528529530531...652 新しいコメント costy_ 2012.01.23 15:20 #5231 sss2019: Expert Advisor がターミナルで 3 つの注文を開き、ある時点で 3 つの注文をすべて閉じるはずですが、なぜか 2 つだけ閉じ、何のエラーも出ません。 この作品は、トレードを終了する必要があります。 何が悪いのか、なぜ2件しか成約しないのか、理解できない。誰が何を知っているのか、教えてください。 if(OrderSelect(i, SELECT_BY_POS) == false) continue; asasusa 2012.01.23 15:24 #5232 Vinin: 異なるサイクルを行う これでもダメだったんですけどね。ループを並べ替えたり、continueを代用してもダメでした。まるでEAが自分の3つの注文を見ずに、2つだけ削除しているような感じです。 Рустам 2012.01.23 15:30 #5233 周期再計算の方向を反転させる Рустам 2012.01.23 15:38 #5234 持って、使ってください。 ファイル: tradingfunction.mqh 43 kb asasusa 2012.01.23 15:41 #5235 時々、全く論理的でないわけのわからないことがあるので、端末環境自体にエラーがあるのではと思うことがあります。 Vladyslav Goshkov 2012.01.23 17:28 #5236 sss2019: 時々、全く論理的でないわけのわからないことがあるので、端末環境自体にエラーがあるのではと思うことがあります。 それを少なく見せるためには、教科書やマニュアルを勉強することから始める必要があります。そして、フォーラムで似たような問題の解説を探してみてください。 Artem Boev 2012.01.23 20:23 #5237 sss2019:EAの最大ドローダウンをどのように整理すればよいか、どの時点で動作が停止するか、損失額を蓄積する静的変数を設定できるか。Expert Advisor が停止するはずですが、再起動したり、パラメータを変更すると再び動作するようになります。 EAの初期化時に、現在の残高を静的変数に 保存することができます。また、「スタート」機能では、現在の残高が当初より何%減少したかを確認し、その割合が許容範囲を超えている場合は取引を禁止することができます。簡単に、コードなしで。再起動後、Expert Advisorは新しい初期残高を記憶します... Алексей Тарабанов 2012.01.23 20:50 #5238 MrSoros: Expert Advisor の初期化時に、現在の残高を静的変数に保存することができます。また、スタート機能では、現在の残高が初期残高からどれだけずれているかを確認し、その割合が許容範囲を超えている場合は、取引を禁止することができます。簡単に、コードなしで。再起動後、Expert Advisor は新しい初期残高を記憶します。 質問を理解しましたか? Роман 2012.01.23 23:51 #5239 MrSoros: 1.Expert Advisor の初期化時に、現在の残高を静的変数に保存することができます。そして、スタート機能は、現在の残高が最初の残高から何%減少したかをチェックし、その割合が高ければ取引を禁止する。簡単に言うと、コードなし。 2.再起動後、アセッサは新しい元の残高を記憶します... 1.できます。私はこのオプション(コード付き)を持っている - あなた自身が変数を初期化する。 extern int MaxLoss = 90; // Максимально допустимая просадка в процентах от баланса int orderIndex; bool IsExpertFailed = false; bool IsExpertStopped = false; double lots; // вспомогательная переменная для расчета нового размера лота double Lots_New; // Количество лотов для новых ордеров int ticket; // Номер ордера double orderLots; // Lots double orderProfit; // Profit double Price; // Цена открытия рыночного ордера double SL; // Значение StopLoss ордера double TP; // Значение TakeProfit ордера static datetime prevtime = 0; // по ценам открытия int start() { if (IsExpertStopped) { Comment("Не удалось инициализировать советник!"); return (0); } if (IsExpertFailed) { Comment("Критическая ошибка! Советник остановлен."); return (0); } Level_new=MarketInfo(Symbol(),MODE_STOPLEVEL ); int orderCount = 0; // ------------------------------------------------Учет ордеров только ЭТОГО ЭКСПА--------------------------- int orderType; for (orderIndex = (OrdersTotal() - 1); orderIndex >= 0; orderIndex--) { if (!OrderSelect(orderIndex, SELECT_BY_POS)) continue; if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != magic)) continue; orderType = OrderType(); if ((orderType != OP_BUY) && (orderType != OP_SELL)) continue; ticket = OrderTicket( ); // Номер ордера orderLots = OrderLots(); // Lots orderProfit = OrderProfit() + OrderSwap(); // Profit Price = OrderOpenPrice(); // Цена открытия рыночного ордера SL = OrderStopLoss(); // Значение StopLoss ордера TP = OrderTakeProfit(); // Значение TakeProfit ордера if (ticket>0) // Если позиция открылась { while(OrderSelect(ticket,SELECT_BY_TICKET)==false) // Если ордер выбран { Sleep(100); } double OpenPrice=OrderOpenPrice(); } // Проверка на предельную просадку double loss = - ((orderProfit * 100.0) / AccountBalance()); if (loss > MaxLoss) { Print ("MaxLoss"); CloseAllOrders(magic); IsExpertFailed = true; return (0); } orderCount++; // считаем ордера (не больше i) } 2.このEXPERTの初回起動前のバランスレベルは記憶しません。現在のレベルのみを変数に記憶します AccountBalance() .このアカウントに対して orb 2012.01.24 05:12 #5240 こんにちは!以前、エクセルでの引用符の正しい表現について質問させていただいたものです。この質問は、costy さんのおかげで解決しました。さて、質問ですが、アップロードする通貨を増やすためのデータを(MQL5とdllなしで)作ることは可能でしょうか?模 式図は以下の通りです。"... "の代わりに、対応する日付の値、終値の値、現在の期間を表示します。 この質問に対する回答は、私のコードの修正の可能性を含むものだと思います。現在の金融商品の終値の値をファイルに書き込むExpert Advisorのコードを添付しています。 #property copyright "S.I.Shlikov" #property link "" int init() { string Name=Symbol(); int h=FileOpen(Symbol()+"-"+Period()+".csv",FILE_CSV|FILE_WRITE|FILE_READ,";"); if(h<1) { Print("Файл не найден : ", GetLastError()); return(false); } FileSeek(h, 0, SEEK_END); FileWrite(h,"Date",Name,"Period",Period()); FileClose(h); } int start() { int h=FileOpen(Symbol()+"-"+Period()+".csv",FILE_CSV|FILE_WRITE|FILE_READ,";"); if(h<1) { Print("Файл не найден : ", GetLastError()); return(false); } string Wtime=TimeToStr(TimeCurrent(),TIME_DATE|TIME_MINUTES); FileSeek(h, 0, SEEK_END); FileWrite(h,Wtime,NormalizeDouble(Close[0], Digits)); FileClose(h); return(0); } 1...517518519520521522523524525526527528529530531...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Expert Advisor がターミナルで 3 つの注文を開き、ある時点で 3 つの注文をすべて閉じるはずですが、なぜか 2 つだけ閉じ、何のエラーも出ません。
この作品は、トレードを終了する必要があります。
何が悪いのか、なぜ2件しか成約しないのか、理解できない。誰が何を知っているのか、教えてください。
異なるサイクルを行う
これでもダメだったんですけどね。ループを並べ替えたり、continueを代用してもダメでした。まるでEAが自分の3つの注文を見ずに、2つだけ削除しているような感じです。
時々、全く論理的でないわけのわからないことがあるので、端末環境自体にエラーがあるのではと思うことがあります。
EAの最大ドローダウンをどのように整理すればよいか、どの時点で動作が停止するか、損失額を蓄積する静的変数を設定できるか。
Expert Advisor が停止するはずですが、再起動したり、パラメータを変更すると再び動作するようになります。
EAの初期化時に、現在の残高を静的変数に 保存することができます。また、「スタート」機能では、現在の残高が当初より何%減少したかを確認し、その割合が許容範囲を超えている場合は取引を禁止することができます。簡単に、コードなしで。再起動後、Expert Advisorは新しい初期残高を記憶します...
Expert Advisor の初期化時に、現在の残高を静的変数に保存することができます。また、スタート機能では、現在の残高が初期残高からどれだけずれているかを確認し、その割合が許容範囲を超えている場合は、取引を禁止することができます。簡単に、コードなしで。再起動後、Expert Advisor は新しい初期残高を記憶します。
質問を理解しましたか?
1.Expert Advisor の初期化時に、現在の残高を静的変数に保存することができます。そして、スタート機能は、現在の残高が最初の残高から何%減少したかをチェックし、その割合が高ければ取引を禁止する。簡単に言うと、コードなし。
2.再起動後、アセッサは新しい元の残高を記憶します...
1.できます。私はこのオプション(コード付き)を持っている - あなた自身が変数を初期化する。
2.このEXPERTの初回起動前のバランスレベルは記憶しません。現在のレベルのみを変数に記憶します
AccountBalance()
.このアカウントに対して
こんにちは!以前、エクセルでの引用符の正しい表現について質問させていただいたものです。この質問は、costy さんのおかげで解決しました。さて、質問ですが、アップロードする通貨を増やすためのデータを(MQL5とdllなしで)作ることは可能でしょうか?模 式図は以下の通りです。"... "の代わりに、対応する日付の値、終値の値、現在の期間を表示します。
この質問に対する回答は、私のコードの修正の可能性を含むものだと思います。現在の金融商品の終値の値をファイルに書き込むExpert Advisorのコードを添付しています。