[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 56 1...495051525354555657585960616263...537 新しいコメント Владимир Тезис 2011.02.04 12:04 #551 Sergstuddek: (授業はいいが、まだ問題がある))) 理論的には理解できるのですが、実際にはうまくいきません。私のコードを見て、何が問題なのか教えてください。 非常にシンプルなEAであることは理解していますが、私は旅を始めたばかりです))))そしてすでに問題があります。 // Expert Advisorの本質は、まず最初の買い注文を開くことです。 // その後、2方向にストップをかける // かたほう // チャート反転の場合はさらに2回、反対側で行う アドバイザーが最後に開いた注文に関連して、 // ストップが配置されます。 // 新しい保留注文が開始されるたびに、それまでの注文はすべて削除されます。 // と新しい保留中のストップは、新しいオープンオーダーに対してすでにオープンしています。 ストップは、ストップオーダー(テイクプロフィット、ストップロス)とストップオーダー(バイストップ、セルストップ)の2つで理解することができます。ここでいう「ストップ」の意味は、おそらくあなたにしかわからないと思います。用語は正確にお願いします。コンピュータには的確な指示を与えなければならない。また、記述はできる限り正確に行う必要があります。 削除済み 2011.02.04 12:41 #552 drknn: ストップは、逆指値注文(テイクプロフィット、ストップロス)と逆指値注文(バイストップ、セルストップ)の2つの意味で理解することができます。ここでいう「ストップ」の意味は、おそらくあなたにしかわからないと思います。用語は正確にお願いします。コンピュータに的確な指示を与える必要があります。また、記述はできる限り正確に行う必要があります。 不正確な表現で申し訳ないのですが、ストップオーダーは逆指値注文(Buy StopとSell Stop) Владимир Тезис 2011.02.04 13:02 #553 Sergstuddek: 不正確な表現で申し訳ありません。ストップオーダー(Buy StopとSell Stop)のことです。void DeleteStopOrders() { int res; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) { if(OrderType()==OP_SELLSTOP) res=OrderDelete(OrderTicket()); if(OrderType()==OP_BUYSTOP) res=OrderDelete(OrderTicket()); } } } 本機能の表記に誤りがあります。注文は、注文一覧の最後から順に検索する必要があります。この方法では、注文が削除された後、注文リストがその位置だけ移動するため、1つの注文がスキップされることになります。ループは以下のように構成する。 for (int i=OrdersTotal()-1;i>=0;i--){ さらに、注文が選択されない場合、ブレークをする必要はなく、サイクルを終了する必要はなく、注文が選択されない理由を見つける必要があります。それは次の通りです。 if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { Print("При выборе ордера № ",i," произошла ошибка № ",GetLastError()); res=OrderDelete(OrderTicket()); - これも十分に正しいとは言えません。OrderDelete()関数は、boolean 型である。そして、注文を削除する命令を出すとともに、注文を削除できない場合の対処も必要です。つまり、次のようなことです。 res=OrderDelete(OrderTicket()); if(!res){ Print("Ордер № ",OrderTicket()," удалить не получилось - ошибка № ",GetLastError()); } 残りは後で見ます。 Владимир Тезис 2011.02.04 13:07 #554 //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if (CalculateCurrentOrders1(Symbol())==0) OpenBuy(); if (CalculateCurrentOrders2(Symbol())<=1) DeleteStopOrders(); if (CalculateCurrentOrders2(Symbol())<=1) OpenStops(); //---- return(0); } スタートファンクションコードが正しく記述されていない。 最初の機能では、買い注文と売り注文を足し算します。買い注文と売り注文を別々にカウントする必要があります。ここがポイントです。市場に1件の買い注文がある場合、買いストップはより大きなロットで設定する必要があります。そうだろ?また、マーケットに売り注文がある場合は、buystopは通常のロットで、sell stopはより大きなロットで設定する必要があります。では、一つの関数で買い注文と売り注文の両方を合計した場合、どの注文がマーケットで開いているかをどのように検出するのでしょうか。これらの事実を踏まえて、コードを書き換えてみてください。 _Dude_ 2011.02.04 14:00 #555 ブローカーから履歴を自動的にダウンロードする方法を教えてください。家を1時間押すのはちょっと不便です。 Виктор 2011.02.04 14:05 #556 _dude_: ブローカーから履歴を自動的にダウンロードする方法を教えてください。家を1時間押すのはちょっと不便です。 Vadim Junkoにお任せしました。履歴を読み込むためのスクリプト です。ベース(スクリプトセクション)には、さらにいくつかのものがあります。 Victor Nikolaev 2011.02.04 18:05 #557 gince: インジケーターについての質問です。 インジケーターは、クロスインジケーターです。一方に多くの矢印を引き寄せ、もう一方に多くの矢印を引き寄せる。最初に描かれるものだけを作る方法。コードに書かれている方法で試したのですが、Frameを切り替えると矢印が変わってしまうのです。 正しい方法をアドバイスしてください。 インジケーターを見てみないとわからないですね。もしかしたら、解決策があるかもしれない Victor Nikolaev 2011.02.04 18:31 #558 nemo811: Expert Advisorを修正したいのですが、どうすればよいですか?インストールされているチャート上の通貨ペアの注文(ユーザーが所有し、開いたもの)で動作するようにする必要があります。損益確定時点のことを指します。現在のバージョンでは、条件(入金%のキャッチ)が発生すると、全通貨ペアで全ポジションを(MAGIC=0で)決済しようとするので、必要ない。すべての通貨ペアを完全に区切る必要があります。ありがとうございました。 違う掲示板でも同じことをしないといけない。これはスパムで、BANされるかもしれない。 Артур 2011.02.04 18:38 #559 Vinin: また、違うスレッドに同じことを書くとスパムで、BANされることがあります 申し訳ありません。) Артур 2011.02.04 19:35 #560 ご理解とご協力をお願いいたします )) 自分で解決することができた。 トリッキーな行を挿入 if(OrderSymbol()!=SMB || OrderMagicNumber()!=MAGIC) continue; を、同じようにトリッキーな場所へ。その後、すべて意図したとおりに動作するようになりました。 マジシャンとの情報交換ありがとうございました。私はプログラマーではないので、時々、知識不足で何かを考えているわけではありません。 1...495051525354555657585960616263...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
(授業はいいが、まだ問題がある)))
理論的には理解できるのですが、実際にはうまくいきません。私のコードを見て、何が問題なのか教えてください。
非常にシンプルなEAであることは理解していますが、私は旅を始めたばかりです))))そしてすでに問題があります。
// Expert Advisorの本質は、まず最初の買い注文を開くことです。
// その後、2方向にストップをかける
// かたほう
// チャート反転の場合はさらに2回、反対側で行う
アドバイザーが最後に開いた注文に関連して、 // ストップが配置されます。
// 新しい保留注文が開始されるたびに、それまでの注文はすべて削除されます。
// と新しい保留中のストップは、新しいオープンオーダーに対してすでにオープンしています。
ストップは、逆指値注文(テイクプロフィット、ストップロス)と逆指値注文(バイストップ、セルストップ)の2つの意味で理解することができます。ここでいう「ストップ」の意味は、おそらくあなたにしかわからないと思います。用語は正確にお願いします。コンピュータに的確な指示を与える必要があります。また、記述はできる限り正確に行う必要があります。
不正確な表現で申し訳ないのですが、ストップオーダーは逆指値注文(Buy StopとSell Stop)
不正確な表現で申し訳ありません。ストップオーダー(Buy StopとSell Stop)のことです。
本機能の表記に誤りがあります。注文は、注文一覧の最後から順に検索する必要があります。この方法では、注文が削除された後、注文リストがその位置だけ移動するため、1つの注文がスキップされることになります。ループは以下のように構成する。
さらに、注文が選択されない場合、ブレークをする必要はなく、サイクルを終了する必要はなく、注文が選択されない理由を見つける必要があります。それは次の通りです。
res=OrderDelete(OrderTicket()); - これも十分に正しいとは言えません。OrderDelete()関数は、boolean 型である。そして、注文を削除する命令を出すとともに、注文を削除できない場合の対処も必要です。つまり、次のようなことです。
残りは後で見ます。
スタートファンクションコードが正しく記述されていない。
最初の機能では、買い注文と売り注文を足し算します。買い注文と売り注文を別々にカウントする必要があります。ここがポイントです。市場に1件の買い注文がある場合、買いストップはより大きなロットで設定する必要があります。そうだろ?また、マーケットに売り注文がある場合は、buystopは通常のロットで、sell stopはより大きなロットで設定する必要があります。では、一つの関数で買い注文と売り注文の両方を合計した場合、どの注文がマーケットで開いているかをどのように検出するのでしょうか。これらの事実を踏まえて、コードを書き換えてみてください。
ブローカーから履歴を自動的にダウンロードする方法を教えてください。家を1時間押すのはちょっと不便です。
ブローカーから履歴を自動的にダウンロードする方法を教えてください。家を1時間押すのはちょっと不便です。
インジケーターについての質問です。
インジケーターは、クロスインジケーターです。一方に多くの矢印を引き寄せ、もう一方に多くの矢印を引き寄せる。最初に描かれるものだけを作る方法。コードに書かれている方法で試したのですが、Frameを切り替えると矢印が変わってしまうのです。
正しい方法をアドバイスしてください。
インジケーターを見てみないとわからないですね。もしかしたら、解決策があるかもしれない
Expert Advisorを修正したいのですが、どうすればよいですか?インストールされているチャート上の通貨ペアの注文(ユーザーが所有し、開いたもの)で動作するようにする必要があります。損益確定時点のことを指します。現在のバージョンでは、条件(入金%のキャッチ)が発生すると、全通貨ペアで全ポジションを(MAGIC=0で)決済しようとするので、必要ない。すべての通貨ペアを完全に区切る必要があります。ありがとうございました。
違う掲示板でも同じことをしないといけない。これはスパムで、BANされるかもしれない。
また、違うスレッドに同じことを書くとスパムで、BANされることがあります
申し訳ありません。)
ご理解とご協力をお願いいたします ))
自分で解決することができた。
トリッキーな行を挿入 if(OrderSymbol()!=SMB || OrderMagicNumber()!=MAGIC) continue;
を、同じようにトリッキーな場所へ。その後、すべて意図したとおりに動作するようになりました。
マジシャンとの情報交換ありがとうございました。私はプログラマーではないので、時々、知識不足で何かを考えているわけではありません。