初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 135 1...128129130131132133134135136137138139140141142...1503 新しいコメント PetrovichV 2013.08.30 19:18 #1341 zfs: 平均的な利益トレードではスリッページをカバーできず、収益性も小さいので、はまる可能性もある)。Expert Advisorは自分で書きました。ストップロスは入っていません。 Vasiliy Smirnov 2013.08.30 19:26 #1342 PetrovichV:専門家は自分で書いたんだ。ストップロスがついていない。 それはさらに悪いことだ)。 PetrovichV 2013.08.30 19:35 #1343 zfs: さらに悪いことに)。 ありがとうございます。 Lone_Irbis 2013.08.30 22:35 #1344 解決策が見つかったので、自分の質問に答えようかな。誰がググってくるかわからないし...。履歴から最後の注文の始値を求める方法についての質問でした。その結果、(少なくとも私にとっては)それが正しいことが判明しました。私は注文の価格ではなく、取引の価格を取得しなければなりませんでした。テスターでは、初期のバリアントも動作しました(私が書いたものではありません)。違いは、デモ版では価格の代わりに「市場価格」とだけ表示され、ダブルで要求しようとすると、なぜかゼロが返される点にあると思われます。くそくらえで、今はこのような関数になっています。PositionID = PositionGetInteger(POSITION_IDENTIFIER); double FindLastPrice(long PositionID) { int i = 0, DealsTotal; ENUM_DEAL_TYPE CheckType; long Ticket, OldTicket = 0, PosID, Magic, Type; double OrderPrice = 0; DealsTotal = HistoryDealsTotal(); for (i = 0; i < DealsTotal; i++) { Ticket = (int)HistoryDealGetTicket(i); PosID = HistoryDealGetInteger(Ticket, DEAL_POSITION_ID); Magic = HistoryDealGetInteger(Ticket, DEAL_MAGIC); Type = HistoryDealGetInteger(Ticket, DEAL_TYPE); if (Sell) CheckType = DEAL_TYPE_SELL; else CheckType = DEAL_TYPE_BUY; if ((PosID == PositionID) && (Magic == MagicNumber) && (Type == CheckType)) { if (Ticket > OldTicket) { OrderPrice = HistoryDealGetDouble(Ticket, DEAL_PRICE); OldTicket = Ticket; } } } if(!OrderPrice) Print("Ошибка получения цены открытия предыдущей сделки! Error ",GetLastError()); return(OrderPrice); }このくだらないことのために数時間を費やさなければなりませんでしたが、少なくとも何事にも利点はあります。この動かない機能のために、私は回避策を考案しなければならず、同時に、新しい注文価格をファイルに書き出し、必要に応じてそれを読み出すという愚かな方法でファイルを扱う基本作業をマスターしなければなりませんでした...。 Anatoli Kazharski 2013.08.31 06:05 #1345 Lone_Irbis:解決策が見つかったので、自分の質問に答えようかな~と、ググっている人がいたら念のため...。履歴から最後の注文の始値を求める方法についての質問でした.そして、サイト内の検索を使ったり、すでに何かある記事に目を通したりしていただければと思います。>>MQL5レシピ - ポジションプロパティを取得するための取引履歴と関数のライブラリ Lone_Irbis 2013.08.31 11:54 #1346 tol64:そして、サイト内検索を使ったり、何もないところで記事に目を通したりすればいいんです。>>MQL5レシピ - ポジションプロパティを取得するための取引履歴と関数のライブラリこのサイトを1週間ほどググってみたのですが(つまりGoogleで。内蔵の検索は、関連性ではなく、まったく正確でないものをランダムに表示したり、同じドキュメントからコピーした要求に対しても「何も見つかりませんでした」と言ったりするので)...。しかし、有用なものを見つけるには、それが何と呼ばれているか、既存の非動作版とどう違うかを正確に知っておく必要があります :)それなりのレベルの言語を知っている人の立場から検索について語るのは簡単ですが、mql5という名前を知って1週間、すでにその中で何かを作ろうとしている人は難しいですね......。それに、既成のソリューションや詳細なマニュアルは、コンセプトとしてあまり好きではなく、自分で作ろうという気が失せるだけなんです。:)私の自習のやり方はあまり効果的ではないのかもしれませんが、それよりも面白いことが重要で、そうでなければ、このテーマに個人の時間を投資する熱意は長くは続かないのです。それにしても、リンクありがとうございます、読んでみます。 PetrovichV 2013.09.01 06:58 #1347 こんにちは。20~30年分の通貨のヒストリカルデータをダウンロードする方法はありますか?アルファフォレックスではここ12年間だけですが、それ以前は断片的なものです。 Vasiliy Smirnov 2013.09.01 09:33 #1348 PetrovichV:こんにちは。20~30年分の通貨のヒストリカルデータをダウンロードする方法はありますか?アルファフォレックスではここ12年間だけですが、それ以前は断片的なものです。 ブローカーが履歴を出すと、期間を長くすると品質が低下する。 agvozdezkiy 2013.09.05 13:19 #1349 ここでは、買い注文を 出した後、そのSLとTPを変更するコードです。2013.09.06 00:03:39 Trades '10022332': failed modify order #0 buy 0.00 GBPUSD at market sl: 0.00000 tp: 0.00000 -> 1.56255, sl: 1.55787 tp: 1.56787 [Invalid request] [無効なリクエスト]を修正しました。 レベル変更要求の何が問題なのか?int Positions; double delta=0.00500; MqlTradeRequest Request; MqlTradeResult Result; MqlTick InfoTick; void OnTick() { //--- if(PositionsTotal()==0) // если открытых позиций нет, покупаем { SymbolInfoTick(_Symbol, InfoTick); Request.action=TRADE_ACTION_DEAL; Request.symbol=_Symbol; Request.volume=1; Request.price=InfoTick.bid; Request.sl=InfoTick.bid - delta; Request.tp=InfoTick.bid + delta; Request.deviation=50; Request.type=ORDER_TYPE_BUY; Request.type_filling=ORDER_FILLING_FOK; OrderSend(Request, Result); }else{ // меняем уровни SymbolInfoTick(_Symbol, InfoTick); Request.action=TRADE_ACTION_MODIFY; Request.symbol=_Symbol; Request.sl=InfoTick.last - delta; Request.tp=InfoTick.last + delta; OrderSend(Request, Result); } } Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров www.mql5.com Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5 Questions from Beginners MQL5 無効なリクエスト - 始めたばかりで理解できない... Invalid request - just Vasiliy Smirnov 2013.09.05 14:21 #1350 agvozdezkiy:ここでは、買い注文を 出した後、そのSLとTPを変更するコードです。2013.09.06 00:03:39 Trades '10022332': failed modify order #0 buy 0.00 GBPUSD at market sl: 0.00000 tp: 0.00000 -> 1.56255, sl: 1.55787 tp: 1.56787 [Invalid request] [無効なリクエスト]を修正しました。 レベル変更要求の何が問題なのか? 手始めにエラーコードを取得します。 1...128129130131132133134135136137138139140141142...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
平均的な利益トレードではスリッページをカバーできず、収益性も小さいので、はまる可能性もある)。
Expert Advisorは自分で書きました。ストップロスは入っていません。
専門家は自分で書いたんだ。ストップロスがついていない。
さらに悪いことに)。
解決策が見つかったので、自分の質問に答えようかな。誰がググってくるかわからないし...。
履歴から最後の注文の始値を求める方法についての質問でした。その結果、(少なくとも私にとっては)それが正しいことが判明しました。私は注文の価格ではなく、取引の価格を取得しなければなりませんでした。テスターでは、初期のバリアントも動作しました(私が書いたものではありません)。違いは、デモ版では価格の代わりに「市場価格」とだけ表示され、ダブルで要求しようとすると、なぜかゼロが返される点にあると思われます。くそくらえで、今はこのような関数になっています。
このくだらないことのために数時間を費やさなければなりませんでしたが、少なくとも何事にも利点はあります。この動かない機能のために、私は回避策を考案しなければならず、同時に、新しい注文価格をファイルに書き出し、必要に応じてそれを読み出すという愚かな方法でファイルを扱う基本作業をマスターしなければなりませんでした...。
解決策が見つかったので、自分の質問に答えようかな~と、ググっている人がいたら念のため...。
履歴から最後の注文の始値を求める方法についての質問でした.
そして、サイト内の検索を使ったり、すでに何かある記事に目を通したりしていただければと思います。
>>MQL5レシピ - ポジションプロパティを取得するための取引履歴と関数のライブラリ
そして、サイト内検索を使ったり、何もないところで記事に目を通したりすればいいんです。
>>MQL5レシピ - ポジションプロパティを取得するための取引履歴と関数のライブラリ
このサイトを1週間ほどググってみたのですが(つまりGoogleで。内蔵の検索は、関連性ではなく、まったく正確でないものをランダムに表示したり、同じドキュメントからコピーした要求に対しても「何も見つかりませんでした」と言ったりするので)...。しかし、有用なものを見つけるには、それが何と呼ばれているか、既存の非動作版とどう違うかを正確に知っておく必要があります :)それなりのレベルの言語を知っている人の立場から検索について語るのは簡単ですが、mql5という名前を知って1週間、すでにその中で何かを作ろうとしている人は難しいですね......。
それに、既成のソリューションや詳細なマニュアルは、コンセプトとしてあまり好きではなく、自分で作ろうという気が失せるだけなんです。:)私の自習のやり方はあまり効果的ではないのかもしれませんが、それよりも面白いことが重要で、そうでなければ、このテーマに個人の時間を投資する熱意は長くは続かないのです。
それにしても、リンクありがとうございます、読んでみます。
こんにちは。
20~30年分の通貨のヒストリカルデータをダウンロードする方法はありますか?
アルファフォレックスではここ12年間だけですが、それ以前は断片的なものです。
こんにちは。
20~30年分の通貨のヒストリカルデータをダウンロードする方法はありますか?
アルファフォレックスではここ12年間だけですが、それ以前は断片的なものです。
ここでは、買い注文を 出した後、そのSLとTPを変更するコードです。
2013.09.06 00:03:39 Trades '10022332': failed modify order #0 buy 0.00 GBPUSD at market sl: 0.00000 tp: 0.00000 -> 1.56255, sl: 1.55787 tp: 1.56787 [Invalid request] [無効なリクエスト]を修正しました。
レベル変更要求の何が問題なのか?
ここでは、買い注文を 出した後、そのSLとTPを変更するコードです。
2013.09.06 00:03:39 Trades '10022332': failed modify order #0 buy 0.00 GBPUSD at market sl: 0.00000 tp: 0.00000 -> 1.56255, sl: 1.55787 tp: 1.56787 [Invalid request] [無効なリクエスト]を修正しました。
レベル変更要求の何が問題なのか?