MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 312 1...305306307308309310311312313314315316317318319...1953 新しいコメント voron_026 2017.09.19 17:52 #3111 Aleksey Vyazmikin: この関数は上向き矢印の条件を返さないので、エラーを探します。Aleksey Vyazmikinの おかげですが、問題はもっと深刻です。ロボットはパターンを見つけると、1つの座標に膨大な数の矢印を設定します。端末がハングアップする。修正方法私のExpert Advisorをターミナルで実行してみましたか? Aleksey Vyazmikin 2017.09.19 18:20 #3112 voron_026: Aleksey Vyazmikinの おかげですが、もっと大きな問題があります。ロボットはパターンを見つけると、1つの座標に膨大な数の矢印を設定する。端末がハングアップする。修正方法私のExpert Advisorをターミナルで実行してみましたか?そもそも関数に問題があるのです。理由があって、コードを追加していません。関数がマッチングして矢印が描画される。ビジュアライザーでExpert Advisorを起動しました。エキスパートアドバイザーは、すべてのティックに 矢印を描くわけではありません - ちょうど新しいローソクを確認してください。 Vitaly Muzichenko 2017.09.19 18:32 #3113 voron_026: Aleksey Vyazmikinの おかげですが、もっと大きな問題があります。ロボットはパターンを見つけると、1つの座標に膨大な数の矢印を設定する。端末がハングアップする。修正方法私のExpert Advisorをターミナルで実行してみましたか?できるだけ多くの人の協力を得たいのであれば、ファイルではなくコードをアップロードすべきです。誰もがファイルをダウンロードしたいわけではなく、ファイルを開いてから削除しなければならない。 voron_026 2017.09.19 19:00 #3114 つまり、新しいキャンドルが 現れたら、ObjectCreate関数をオフにしなければならない、ということでよろしいでしょうか? voron_026 2017.09.19 19:32 #3115 Vitaly Muzichenko:できるだけ多くの人に協力してもらうためには、ファイルではなく、コードを投稿する必要があります。みんながみんなダウンロードしたいわけじゃないし、ファイルを開いてから消さなきゃいけないから面倒くさいし。 了解しました、コードを送ります。#property copyright "Copyright 2017,UriyGlushko" #property link "https://www.mql5.com" #property version "1.00" #property strict extern string Rodot = "Параметры робота"; extern double Lots = 0.2; extern int StopLoss = 20; extern int TakeProfit = 80; extern int Magic = 999999; extern int Slippage = 3; // Проскальзывание extern bool UseDojiCandles = true; // Использование патерна Доджи extern int TimeFrame = PERIOD_H4; int DojiCandle = 0; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { if (Digits == 3 || Digits ==5 ) { TakeProfit *= 10; StopLoss *= 10; Slippage *= 10; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if(UseDojiCandles = true && Doji() == 1) { if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_UP,0,TimeCurrent(),Low[1]-300*_Point)) { Print("Не удалось создать метку вверх"); } } DojiCandle ++; if(UseDojiCandles = true && Doji() == -1) { if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_DOWN,0,TimeCurrent(),High[1]+300*_Point)) { Print("Не удалось создать метку вниз"); } } DojiCandle ++; } //+------------------------------------------------------------------+ // Поиск всех объектов //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ // Функция паттерна Доджи //+------------------------------------------------------------------+ int Doji() { //Параметры Дожи double Open1 = iOpen(Symbol(), PERIOD_H4,1); double Close1 = iClose(Symbol(), PERIOD_H4,1); double High1 = iHigh(Symbol(), PERIOD_H4,1); double Low1 = iLow(Symbol(), PERIOD_H4,1); //Параметры предыдущей свечи double Open2 = iOpen(Symbol(), PERIOD_H4,2); double Close2 = iClose(Symbol(), PERIOD_H4,2); double High2 = iHigh(Symbol(), PERIOD_H4,2); double Low2 = iLow(Symbol(), PERIOD_H4,2); //Параметры индикатора волотильности ATR для нахожденя относительно большой свечи перед Доджи double ATR = iATR(Symbol(),PERIOD_H4,14,1); //Математическое описание патерна Дожи if(Close1 < High1 -0.3*(High1-Low1) && Open1 < High1 -0.3*(High1-Low1) && Close1 > Low1 -0.7*(High1-Low1) && Open1 > Low1 -0.7*(High1-Low1) && MathAbs((Close1-Open1) < 0.2*(High1-Low1))&& MathAbs((Close2-Open2) > 0.7*ATR)) { if((Close2 - Open2) > 0) { Print ("Down"); return(-1);// Условие для продаж } if((Close2 - Open2) < 0) { Print ("Up"); return(1);// Условие для покупок } } return(0); } Vitaly Muzichenko 2017.09.19 19:35 #3116 voron_026: 了解しました、コードを並べます。この方法で試してみてください。if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_UP,0,Time[0],Low[1]-300*_Point)) bashki 2017.09.19 19:50 #3117 皆さんこんにちは)私はVPNサーバーの アカウントに、私は私のアカウントが属しているサーバーのアドレスを書いたが、ここでは何も見つかっていないことを書き込み、何をすべきか、助けてください、ありがとうございました。 voron_026 2017.09.19 19:52 #3118 Vitaly Muzichenko:この方法で試してみてください。うまくいかなかった。Expert Advisorは7679個のオブジェクトを描きましたが、興味深いことに、奇数番号の場合Doji 機能の何が問題なのか理解できない。上向き矢印が 描画されない理由 Vitaly Muzichenko 2017.09.19 20:01 #3119 voron_026: うまくいかなかった。Expert Advisorは7679個のオブジェクトを描きましたが、興味深いことに、奇数番号の場合Doji 機能の何が問題なのか理解できない。上向き矢印が 描画されない理由パターン検索に問題があるようです。 コドベースの中から正しいコードを探してみてください、たくさんありますから問題は解決します MQL5 Code Base www.mql5.com Библиотека исходных кодов на языке MQL5 для MetaTrader 5 voron_026 2017.09.19 20:23 #3120 Vitaly Muzichenko:あなたはパターンを見つけることに問題がある、コドベースで正しいコードを探してみてください、それらの多くは、問題が解決されます大量のオブジェクトをレンダリングする際の問題を解決しました。新しいバーにはチェックを取り付けました。以下のようなコードになりました。//+------------------------------------------------------------------+ //| 111.mq4 | //| Copyright 2017,UriyGlushko | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2017,UriyGlushko" #property link "https://www.mql5.com" #property version "1.00" #property strict extern string Rodot = "Параметры робота"; extern double Lots = 0.2; extern int StopLoss = 20; extern int TakeProfit = 80; extern int Magic = 999999; extern int Slippage = 3; // Проскальзывание extern bool UseDojiCandles = true; // Использование патерна Доджи extern int TimeFrame = PERIOD_H4; int DojiCandle = 0; bool New_Bar = false; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { if (Digits == 3 || Digits ==5 ) { TakeProfit *= 10; StopLoss *= 10; Slippage *= 10; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { Fun_New_Bar(); if(UseDojiCandles = true && Doji() == 1 && New_Bar == true) { if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_UP,0,Time[0],Low[1]-300*_Point)) { Print("Не удалось создать метку вверх"); } } DojiCandle ++; if(UseDojiCandles = true && Doji() == -1 && New_Bar == true) { if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_DOWN,0,Time[0],High[1]+300*_Point)) { Print("Не удалось создать метку вниз"); } } DojiCandle ++; } //+------------------------------------------------------------------+ // Поиск всех объектов //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ // Функция паттерна Доджи //+------------------------------------------------------------------+ int Doji() { //Параметры Дожи double Open1 = iOpen(Symbol(), PERIOD_H4,1); double Close1 = iClose(Symbol(), PERIOD_H4,1); double High1 = iHigh(Symbol(), PERIOD_H4,1); double Low1 = iLow(Symbol(), PERIOD_H4,1); //Параметры предыдущей свечи double Open2 = iOpen(Symbol(), PERIOD_H4,2); double Close2 = iClose(Symbol(), PERIOD_H4,2); double High2 = iHigh(Symbol(), PERIOD_H4,2); double Low2 = iLow(Symbol(), PERIOD_H4,2); //Параметры индикатора волотильности ATR для нахожденя относительно большой свечи перед Доджи double ATR = iATR(Symbol(),PERIOD_H4,14,1); //Математическое описание патерна Дожи if(Close1 < High1 -0.3*(High1-Low1) && Open1 < High1 -0.3*(High1-Low1) && Close1 > Low1 -0.7*(High1-Low1) && Open1 > Low1 -0.7*(High1-Low1) && MathAbs((Close1-Open1) < 0.2*(High1-Low1))&& MathAbs((Close2-Open2) > 0.7*ATR)) { if((Close2 - Open2) > 0) { Print ("Down"); return(-1);// Условие для продаж } if((Close2 - Open2) < 0) { Print ("Up"); return(1);// Условие для покупок } } return(0); } //+------------------------------------------------------------------+ // Функция определения нового бара //+------------------------------------------------------------------+ void Fun_New_Bar() // Ф-ия обнаружения .. { // .. нового бара static datetime New_Time=0; // Время текущего бара New_Bar=false; // Нового бара нет if(New_Time!=Time[0]) // Сравниваем время { New_Time=Time[0]; // Теперь время такое New_Bar=true; // Поймался новый бар } } ただ、オブジェクトのプロパティで、矢印のシリアルナンバーが、1 2 3 ...ではなくなってしまうのです。などがありますが、1 850427 1083295 ......。カウンターが正しく動作しないのでは?質問ですが、H4で新しいバーを確認するにはどうしたらいいでしょうか。つまり、チャートはどのTFでも良いので、ロボットにH4のパターンを探させたいのです。 1...305306307308309310311312313314315316317318319...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
この関数は上向き矢印の条件を返さないので、エラーを探します。
Aleksey Vyazmikinの おかげですが、問題はもっと深刻です。ロボットはパターンを見つけると、1つの座標に膨大な数の矢印を設定します。端末がハングアップする。修正方法私のExpert Advisorをターミナルで実行してみましたか?
Aleksey Vyazmikinの おかげですが、もっと大きな問題があります。ロボットはパターンを見つけると、1つの座標に膨大な数の矢印を設定する。端末がハングアップする。修正方法私のExpert Advisorをターミナルで実行してみましたか?
そもそも関数に問題があるのです。理由があって、コードを追加していません。関数がマッチングして矢印が描画される。ビジュアライザーでExpert Advisorを起動しました。
エキスパートアドバイザーは、すべてのティックに 矢印を描くわけではありません - ちょうど新しいローソクを確認してください。
Aleksey Vyazmikinの おかげですが、もっと大きな問題があります。ロボットはパターンを見つけると、1つの座標に膨大な数の矢印を設定する。端末がハングアップする。修正方法私のExpert Advisorをターミナルで実行してみましたか?
できるだけ多くの人の協力を得たいのであれば、ファイルではなくコードをアップロードすべきです。誰もがファイルをダウンロードしたいわけではなく、ファイルを開いてから削除しなければならない。
つまり、新しいキャンドルが 現れたら、ObjectCreate関数をオフにしなければならない、ということでよろしいでしょうか?
できるだけ多くの人に協力してもらうためには、ファイルではなく、コードを投稿する必要があります。みんながみんなダウンロードしたいわけじゃないし、ファイルを開いてから消さなきゃいけないから面倒くさいし。
了解しました、コードを並べます。
この方法で試してみてください。
皆さんこんにちは)私はVPNサーバーの アカウントに、私は私のアカウントが属しているサーバーのアドレスを書いたが、ここでは何も見つかっていないことを書き込み、何をすべきか、助けてください、ありがとうございました。
この方法で試してみてください。
うまくいかなかった。Expert Advisorは7679個のオブジェクトを描きましたが、興味深いことに、奇数番号の場合
Doji 機能の何が問題なのか理解できない。上向き矢印が 描画されない理由
うまくいかなかった。Expert Advisorは7679個のオブジェクトを描きましたが、興味深いことに、奇数番号の場合
Doji 機能の何が問題なのか理解できない。上向き矢印が 描画されない理由
パターン検索に問題があるようです。 コドベースの中から正しいコードを探してみてください、たくさんありますから問題は解決します
あなたはパターンを見つけることに問題がある、コドベースで正しいコードを探してみてください、それらの多くは、問題が解決されます
大量のオブジェクトをレンダリングする際の問題を解決しました。新しいバーにはチェックを取り付けました。以下のようなコードになりました。
ただ、オブジェクトのプロパティで、矢印のシリアルナンバーが、1 2 3 ...ではなくなってしまうのです。などがありますが、1 850427 1083295 ......。カウンターが正しく動作しないのでは?
質問ですが、H4で新しいバーを確認するにはどうしたらいいでしょうか。つまり、チャートはどのTFでも良いので、ロボットにH4のパターンを探させたいのです。