MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 150 1...143144145146147148149150151152153154155156157...1953 新しいコメント Maxim Kuznetsov 2017.03.13 20:07 #1491 yaaarik777:こんばんは!(^o^)コードを書くのを手伝ってください、自分ではできる気がしません、以下が要点です。 要は、このスレッドで、苦しんでいる人、求めている人を助けようということです。 自分のために必要なら......これはフリーランスです。そして、何を手に入れたいかを伝えるために、何をやったかを示し、何を失敗したかを記述します。 yaaarik777 2017.03.13 20:38 #1492 Maxim Kuznetsov: 要は、このスレッドで、苦しんでいる人、求めている人を助けようということです。 あなたのために必要なら......それはフリーランスの中にある。そして、助けを得るためには、何を得たいのかを伝え、何をしているのかを示し、何が失敗したのかを記述する必要があります。 要は、ターミナルにある全ペアの注文ではなく、ある特定のペアの注文だけをEAに分析させる方法がわからないのです。教科書には何がどう動くかは別々に書かれていますが、具体的な例があまりないので、できればアイデアやコード例を教えてください。ご協力をお願いします。ありがとうございます。 Sergey 2017.03.13 20:42 #1493 こんにちは。久しぶりにドラえもんを手にしたら、なんとどう遊べばいいのかわからない助けてくださいということです。RoshのZigZagインジケータを使った古き良き時代のEAがあります。そして、スイス時計として問題なく動作しています。本文の一番下に、エキスパートアドバイザーをダウンロードしないためのコードが添付されています。の瞬間に注文が開閉される、というのがEAの考え方でした。異なるジグザグが重なり合うここで、Roshインジケータを別のものに置き換える必要があります。インジケーターで、MT3時代からのZigZagの最初のバージョンの1つでもあります。しかし、このインディケータはジグザグ描画のアルゴリズムが異なっています。名前はHigh_Low v2 (ZigZag)、(添付ファイルではなぜか名前がおかしくなっています)直感的な方法で、時には条件を変えてみる。double zz1 = iCustom( NULL, 60, "ZigZag_Rosh",12, 5, 3, 0, 0);double zz2 = iCustom( NULL, 60, "ZigZag_Rosh",48, 20, 12, 0, 0);においてdouble zz1 = iCustom( NULL, 0, "High_Low v2 (ZigZag)",300, 6, 0, 0);double zz2 = iCustom( NULL, 0, "High_Low v2 (ZigZag)",300, 6, 0, 0);すなわち、あるカスタム・インジケータの 名前とその 例えば、フラクタルの場合、私には効果的でした。.2つのジグザグが同じである必要はないため、パラメータは同じです。ジグザグの偶然性は必要なく、そのバリエーションという事実だけが必要なのです。すべてのTFで動作するように60番を0番に置き換えています。交換後、EAはエラーなくコンパイルされましたが、EAにアタッチすると強く拒否されます。さらに、Strategy Testerでの動作も拒否されます。は働きたくありません。問題は、「どうしたのか?そしてもうひとつ、正しいやり方とは何なのか、という質問です。ありがとうございます、大きな文字ですみません。//+------------------------------------------------------------------+//| ZZ.mq4//| 著作権 © 2011, MetaQuotes Software Corp.//| http://www.metaquotes.net |//+------------------------------------------------------------------+#property copyright "著作権 © 2011, MetaQuotes Software Corp.#プロパティリンク "http://www.metaquotes.net"#include <stdlib.mqh>.#define MAGIC 20110220extern double TakeProfit = 50;//+------------------------------------------------------------------+//| エキスパート初期化関数//+------------------------------------------------------------------+int init(){//----//----return(0)です。}//+------------------------------------------------------------------+//| 専門家による初期化関数//+------------------------------------------------------------------+int deinit(){//----//----return(0)です。}//+------------------------------------------------------------------+///オープンポジションの計算//+------------------------------------------------------------------+int CalculateCurrentOrders(文字列シンボル){int pos=0;//----for(int i=0;i<OrdersTotal();i++){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)ブレーク。if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC){if(OrderType()==OP_BUY || OrderType()==OP_SELL) pos++;}}//---- リターンオーダー数if(pos>0) return(pos)}//+------------------------------------------------------------------+//| 開注文条件のチェック//+------------------------------------------------------------------+void CheckForOpen(){int res;//---- ZZを取得するdouble zz1 = iCustom( NULL, 60, "ZigZag_Rosh",12, 5, 3, 0, 0);double zz2 = iCustom( NULL, 60, "ZigZag_Rosh",48, 20, 12, 0, 0);//---- 買付条件if(CompareDoubles(zz1,Low[0]) && CompareDoubles(zz2,Low[0])){res=OrderSend(Symbol(),OP_BUY,1,Ask,3,0,Ask+TakeProfit*Point,"",MAGIC,0,Bl)ue)です。を返します。}//---- 販売条件if(CompareDoubles(zz1,High[0]) && CompareDoubles(zz2,High[0])){res=OrderSend(Symbol(),OP_SELL,1,Bid,3,0,Bid-TakeProfit*Point,"", MAGIC,0,Re)d);を返します。}//----}//+------------------------------------------------------------------+//|寄り付き注文の条件をチェックする|||etc.//+------------------------------------------------------------------+void CheckForClose(){//---- ZZを取得するdouble zz1 = iCustom( NULL, 60, "ZigZag_Rosh",12, 5, 3, 0, 0);double zz2 = iCustom( NULL, 60, "ZigZag_Rosh",48, 20, 12, 0, 0);//----for(int i=0;i<OrdersTotal();i++){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)ブレーク。if(OrderMagicNumber()!=MAGIC || OrderSymbol()!=Symbol()) continue;//---- チェックオーダータイプif(OrderType()==OP_BUY){if(CompareDoubles(zz1,High[0]) && CompareDoubles(zz2,High[0]))OrderClose(OrderTicket(),OrderLots(),Bid,3)。が壊れる。}if(オーダータイプ()==OP_SELL){if(CompareDoubles(zz1,Low[0]) && CompareDoubles(zz2,Low[0]))OrderClose(OrderTicket(),OrderLots(),Ask,3,White)を実行します。が壊れる。}}//----}//+------------------------------------------------------------------+//| 機能開始//+------------------------------------------------------------------+void start(){//---- 履歴と取引を確認するif(Bars<100 || IsTradeAllowed()==false) return;//---- 現在のシンボルで未決済注文を計算するif(CalculateCurrentOrders(Symbol())==0) CheckForOpen();else CheckForClose()。//----}//+------------------------------------------------------------------+ MetaQuotes Software Corp. www.metaquotes.net Торговая платформа MetaTrader 5 - это бесплатный инструмент трейдера, позволяющий торговать на форексе и фондовых биржах. ファイル: zz_1.mq4 5 kb High_Low_v2_bZigZag1.mq4 4 kb Any questions from newcomers [アーカイブ!】無料でアドバイザーを書きます。 どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - Maxim Kuznetsov 2017.03.13 20:52 #1494 yaaarik777: 要は、ターミナルにある全ペアの合計ではなく、ある特定のペアの注文だけをEAにカウントさせる方法がわからないのです。EAで、ターミナル内の全ペアの合計ではなく、ある特定のペアの注文のみを計算させる方法がわかりません。よろしくお願いします。ぜひお願いします。すべてのEAにオーダーループがあります。)例えば https://www.mql5.com/ru/code/16588 (最初に出会ったもの) for(int index = orders-1; index >= 0; index--) { if(OrderSelect(index,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; } if(OrderSymbol()==symbol && OrderMagicNumber()==MAGICMA) { if(OrderType()==OP_BUY || OrderType()==OP_SELL) { if(OrderProfit()>0) break; if(OrderProfit()<0) losses++; } } }if(OrderSymbol()==symbol &&OrderMagicNumber()==MAGICMA)" という条件は、まさに特定のシンボルと特定のマジックを持つ注文を選択するものである。PS/上記のコピーペーストでOrderSelect エラーの場合のコードのブレークはかなり正しくありません、むしろcontinueを使用してください(どんな理由であれ、注文は選ばれません、多分いくつかの内部MetaTraderメカニズムに問題がある、しかし次の注文はスキップされません)。 Middle Moving Average 投票: 62016.10.18Dmitriy Kudryashovwww.mql5.com Вариант советника, основанного на среднем значении цены для расчета Moving Average. How to 'Stop' an 100ピップス Any questions from newcomers Vitaly Muzichenko 2017.03.13 21:25 #1495 Maxim Kuznetsov:すべての EAにオーダー ループが あります 。)例えば https://www.mql5.com/ru/code/16588 (最初に出会ったもの) CodeBaseにあるだけでなく、フォーラムの2つのスレッドのうちの1つにあります。重要なことは探し始めることで、異なる解釈で100以上あることでしょう。 yaaarik777 2017.03.14 15:24 #1496 ありがとうございます、訪問させていただきます FOTOGRAF14 2017.03.15 03:02 #1497 こんにちは、皆さん!買いまたは売りのシグナルを返す関数を書くのを手伝ってください。MQLでバーを操作する方法はまだ知りません(知らないことだらけですが!)。条件は次のとおりです:親バーは、すなわち、高値と安値の内側には、終値(それは重要です!!正確に終値です)とバーです。一度いくつかのバーが親1を貫通し、高または低より上に閉じ、それは今では親バーになります!親バーは、その内部にある。親バーの終値が始値より 高ければ、買いのシグナルを返します。マザーバーの終値が始値より低ければ、売りのシグナルを返します。外部変数にタイムフレームを設定することは非常に重要です。しかし、ここで問題なのは、少なくとも私にとっては、エキスパートアドバイザーはどのようにチャート上の最後のマットバーを見つけることができますか? はい、視覚的に私はそれをすぐに見ることができます! ...。最後のMATバーのインデックスを外部変数に指定して、そこから関数が踊り始めると便利なのですが、別の方法として、例えばインデックス50のバーを取って、ゼロまでループさせることも可能です。とてもお願い孤児を助けてください!!! Kot 2017.03.15 14:58 #1498 こんにちは。アイデアを教えてください。この価格ですでに注文が出されている場合は、EAが注文を出せないようにする必要があります。チェックをどのように実施するか? Alexey Viktorov 2017.03.15 16:18 #1499 Kot:こんにちは。アイデアを教えてください。この価格ですでに注文が出されている場合は、EAが注文を出せないようにする必要があります。チェックをどのように実施するか?これは難しい課題です。やけくそで、スリッページを考慮して希望_価格/_ポイントにマジックオーダーを割り当てていたこともありました。 mql5ではもっと簡単です。要求価格と一致しない価格のポジションがあり、要求価格の注文があります。 Vitalie Postolache 2017.03.15 17:00 #1500 Kot:こんにちは。アイデアを教えてください。この価格ですでに注文が出されている場合は、EAが注文を出せないようにする必要があります。チェックをどのように実施するか? 注文のループを書き、その中で各注文の始 値を与えられた価格値と比較し、一致するものがあれば新規注文のフラグを立てないようにするのです。 1...143144145146147148149150151152153154155156157...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんばんは!(^o^)
コードを書くのを手伝ってください、自分ではできる気がしません、以下が要点です。
自分のために必要なら......これはフリーランスです。そして、何を手に入れたいかを伝えるために、何をやったかを示し、何を失敗したかを記述します。
要は、このスレッドで、苦しんでいる人、求めている人を助けようということです。
あなたのために必要なら......それはフリーランスの中にある。そして、助けを得るためには、何を得たいのかを伝え、何をしているのかを示し、何が失敗したのかを記述する必要があります。
要は、ターミナルにある全ペアの注文ではなく、ある特定のペアの注文だけをEAに分析させる方法がわからないのです。
教科書には何がどう動くかは別々に書かれていますが、具体的な例があまりないので、できればアイデアやコード例を教えてください。
ご協力をお願いします。
ありがとうございます。
名前はHigh_Low v2 (ZigZag)、(添付ファイルではなぜか名前がおかしくなっています)
double zz2 = iCustom( NULL, 0, "High_Low v2 (ZigZag)",300, 6, 0, 0);
すなわち、あるカスタム・インジケータの 名前とその
例えば、フラクタルの場合、私には効果的でした。
要は、ターミナルにある全ペアの合計ではなく、ある特定のペアの注文だけをEAにカウントさせる方法がわからないのです。
EAで、ターミナル内の全ペアの合計ではなく、ある特定のペアの注文のみを計算させる方法がわかりません。
よろしくお願いします。
ぜひお願いします。
すべてのEAにオーダーループがあります。)
例えば https://www.mql5.com/ru/code/16588 (最初に出会ったもの)
for(int index = orders-1; index >= 0; index--)
{
if(OrderSelect(index,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("Error in history!");
break;
}
if(OrderSymbol()==symbol && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
}
}
if(OrderSymbol()==symbol &&OrderMagicNumber()==MAGICMA)" という条件は、まさに特定のシンボルと特定のマジックを持つ注文を選択するものである。
PS/上記のコピーペーストでOrderSelect エラーの場合のコードのブレークはかなり正しくありません、むしろcontinueを使用してください(どんな理由であれ、注文は選ばれません、多分いくつかの内部MetaTraderメカニズムに問題がある、しかし次の注文はスキップされません)。
すべての EAにオーダー ループが あります 。)
例えば https://www.mql5.com/ru/code/16588 (最初に出会ったもの)
こんにちは、皆さん!買いまたは売りのシグナルを返す関数を書くのを手伝ってください。MQLでバーを操作する方法はまだ知りません(知らないことだらけですが!)。
条件は次のとおりです:親バーは、すなわち、高値と安値の内側には、終値(それは重要です!!正確に終値です)とバーです。一度いくつかのバーが親1を貫通し、高または低より上に閉じ、それは今では親バーになります!親バーは、その内部にある。
親バーの終値が始値より 高ければ、買いのシグナルを返します。
マザーバーの終値が始値より低ければ、売りのシグナルを返します。
外部変数にタイムフレームを設定することは非常に重要です。
しかし、ここで問題なのは、少なくとも私にとっては、エキスパートアドバイザーはどのようにチャート上の最後のマットバーを見つけることができますか? はい、視覚的に私はそれをすぐに見ることができます! ...。
最後のMATバーのインデックスを外部変数に指定して、そこから関数が踊り始めると便利なのですが、別の方法として、例えばインデックス50のバーを取って、ゼロまでループさせることも可能です。
とてもお願い孤児を助けてください!!!
こんにちは。
アイデアを教えてください。この価格ですでに注文が出されている場合は、EAが注文を出せないようにする必要があります。チェックをどのように実施するか?
こんにちは。
アイデアを教えてください。この価格ですでに注文が出されている場合は、EAが注文を出せないようにする必要があります。チェックをどのように実施するか?
これは難しい課題です。やけくそで、スリッページを考慮して希望_価格/_ポイントにマジックオーダーを割り当てていたこともありました。
mql5ではもっと簡単です。要求価格と一致しない価格のポジションがあり、要求価格の注文があります。
こんにちは。
アイデアを教えてください。この価格ですでに注文が出されている場合は、EAが注文を出せないようにする必要があります。チェックをどのように実施するか?
注文のループを書き、その中で各注文の始 値を与えられた価格値と比較し、一致するものがあれば新規注文のフラグを立てないようにするのです。