MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1668 1...166116621663166416651666166716681669167016711672167316741675...1953 新しいコメント 削除済み 2021.10.10 22:59 #16671 artem artem #:SanAlex さん、はい、今年の現行品のテスターを見ましたが、オールオッケーでした)結果は良好で、近いうちに実際のアカウントで動かしてみるつもりです。 Expert Advisorの名称は何ですか?kodobaseからダウンロードされたのでしょうか?作者がどのように関数に実装したかを確認する必要がある //+------------------------------------------------------------------+ // Permission to trade in this day | //+------------------------------------------------------------------+ bool TradingDay(int hmin, int hmax) // Определение времени и дня разрешения торговли { bool dtrade = false; switch(DayOfWeek()) { case 1: // Monday if(Monday == 1) dtrade = true; break; case 2: // Tuesday if(Tuesday == 1) dtrade = true; break; case 3: // Wednesday if(Wednesday == 1) dtrade = true; break; case 4: // Thursday if(Thursday == 1) dtrade = true; break; case 5: // Friday if(Friday == 1) dtrade = true; break; default: // dtrade = false; break; } if(dtrade && !(Hour() >= hmin && Hour() <= hmax)) dtrade = true; return dtrade; } //+------------------------------------------------------------------+ 何かが足りない - オンティックに条件を追加するために Tretyakov Rostyslav 2021.10.10 23:04 #16672 SanAlex #:エキスパートの名前は?kodobaseからダウンロードされたのでしょうか?作者がどのように関数に実装したかを確認する必要がある何かが足りない-オンティクに条件を加えるために サーシャ タイミングワークが入ってないんですよ。開発中にプラグインする機能を追加しただけ) 削除済み 2021.10.10 23:07 #16673 MakarFX #: サーシャ タイミングワークが入ってないんですよ。開発中にプラグインする機能を追加しただけ) 自分なりにやり直そうと思っています。 削除済み 2021.10.10 23:57 #16674 artem artem #:SanAlex さん、はい、今年の現行品のテスターを見ましたが、オールオッケーでした)結果は良好で、近いうちに実際のアカウントで動かしてみるつもりです。 これと時間がうまくいく - 関数を変更しました //--- input string s0 = "Баланс"; // 1 input string Template = "ADX"; // Имя шаблона(without '.tpl') input double TargetProfit = 1000000; // Баланс + Прибыль(прибавить к балансу) input double TargetLoss = 0; // Баланс - Убыток(отнять от баланса) input string s2 = "Trading options"; // 2 input double Lots = 0.1; // Lots input double MaximumRisk = 0.02; // MaximumRisk input double DecreaseFactor = 3; // DecreaseFactor input double InpSLoss = 4000; // стоплосс input double InpTProfit = 2000; // тейкпрофит input string s3 = "TP SL"; // 3 input double InpTakeProfit = 2000; // Exchange TP input double InpStopLoss = 4000; // Exchange SL input string s4 = "Индикатор MA"; // 4 input int MovingPeriodLw = 13; // MovingPeriodLw input int MovingPeriodS1 = 55; // MovingPeriodS1 input int MovingPeriodS2 = 89; // MovingPeriodS2 input string s5 = "Индикатор MACD"; // 5 input int InpFastEMA = 12; // Fast EMA Period input int InpSlowEMA = 26; // Slow EMA Period input int InpSignalSMA = 9; // Signal SMA Period input string s6 = "Start Stop"; // 6 input datetime HoursFrom = D'1970.01.02'; // 1 Время: старт input datetime HoursTo = D'1970.01.01'; // Время: стоп input datetime HoursFrom2 = D'1970.01.01'; // 2 Время: старт input string s7 = "Time:Start Stop"; // 7 input int HoursFrom1 = 0; // Время: старт input int HoursTo1 = 24; // Время: стоп //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- Закрыть Общий профит или профит на паре if(ProfitTarget()) { return; } //--- Закрыть профит BUY или SELL на паре ProfitOnTick(); //--- if((HoursFrom<HoursTo && TimeLocal()>=HoursFrom && TimeLocal()<HoursTo) || (HoursFrom>HoursTo && (TimeLocal()<HoursTo || TimeLocal()>=HoursFrom)) || (HoursFrom2<HoursTo2 && TimeLocal()>=HoursFrom2 && TimeLocal()<HoursTo2) || (HoursFrom2>HoursTo2 && (TimeLocal()<HoursTo2 || TimeLocal()>=HoursFrom2))) { MqlDateTime currTime; TimeLocal(currTime); int hour0 = currTime.hour; if((HoursFrom1 < HoursTo1 && hour0 >= HoursFrom1 && hour0 < HoursTo1) || (HoursFrom1 > HoursTo1 && (hour0 < HoursTo1 || hour0 >= HoursFrom1))) { // Определение направления пересечения мувингов if(Init) InitMetod(); // Ожидание нового бара на графике if(timeprev == Time[0]) return; timeprev = Time[0]; // Открытие ордера по методу Пуриа CheckForOpen(); } } } //+------------------------------------------------------------------+ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ mt4とmt5のTime関数が動作 します。 ファイル: artem_artem_3.mq4 28 kb Nerd Trader 2021.10.11 01:23 #16675 MakarFX #: 授業をなくしたいのでは? つい最近知りました。なんつーか、メガ便利だな。何かご提案がありますか?すべてを関数に落とし込む?それで問題が解決するなら。 1つのクラスBarの2つのグローバルオブジェクト(bar, db_last)があり、1つ目はそれぞれの新しいバー(チャート上の通常のバー)のパラメータで初期化され、2つ目はすべての条件に対応するバーを保存します。実は、Orderクラスの別のローカルオブジェクトでは、オーダーを開くためのパラメータdb_lastからすべての計算が行われます。パラメータdb_lastとbarは多くの場所で使用されていますが、読み取り、初期化および代入はOnTick()の1箇所で発生するだけなので、オブジェクトの予期せぬ変更はないはずです。 void OnTick() { last_time = iTime(NULL, 0, 0); BreakevenActivate(); if(last_time > bar.time_open){ bar.Initialize(); TrawlOnFractals(); if(BarRelativeMA() == "bear"){ n_arrow_down++; db_last = bar; if(db_last.IsBearishDB() == true) OpenOrder("bear"); ArrowCreate(OBJ_ARROW_DOWN,0,"ArrowDown"+IntegerToString(n_arrow_down,4,'0'), 0, iTime(NULL,0,1),AnchorPrise("bear"),ANCHOR_BOTTOM); } if(BarRelativeMA() == "bull"){ n_arrow_up++; db_last = bar; if(db_last.IsBullishDB() == true) OpenOrder("bull"); ArrowCreate(OBJ_ARROW_UP,0,"ArrowUp"+IntegerToString(n_arrow_down++,4,'0'), 0, iTime(NULL,0,1),AnchorPrise("bull"),ANCHOR_TOP); } bar.time_open = last_time; } } Tretyakov Rostyslav 2021.10.11 07:50 #16676 Nerd Trader #:つい最近知りました。なんつーか、メガ便利だな。何かご提案がありますか?すべてを関数に落とし込む?そ れで問題が解決するなら。 1つのクラスBarの2つのグローバルオブジェクト(bar, db_last)があり、1つ目はそれぞれの新しいバー(チャート上の通常のバー)のパラメータで初期化され、2つ目はすべての条件に対応するバーを保存します。実は、Orderクラスの別のローカルオブジェクトでは、オーダーを開くためのパラメータdb_lastからすべての計算が行われます。パラメータdb_lastとbarはいろいろなところで使われていますが、読み込みに限っては、初期化と代入がOnTick()の一箇所で行われるので、予期せぬオブジェクトの変化が起こらないはず です。お金がかからないので)やってみようと 思います。しかし、誤差が あり、さらに、単純な正規化では誤差がある プライベートメッセージでファイルを送ってもらえますか?見てみようかな。 Artis98 2021.10.11 08:50 #16677 SanAlex #:エキスパートの名前は?kodobaseからダウンロードされたのでしょうか?作者がどのように関数に実装したかを確認する必要がある私は何かを見逃していた - ontikに条件を追加するには SanAlex、ダウンロードしたバージョンをこのメッセージに添付しました。Puria + Trailing Stop + Breakeven level + watchdog tradingを備えています。時計でトレードのテストをするのですが、まだ手をつけていないだけです) ファイル: Metod_Puria_ver_00041_by_Igor_Knyazev.zip 22 kb Artis98 2021.10.11 08:51 #16678 MakarFX #:履歴がないため、テスト開始時のインジケーターの読みに影響する MakarFX さん、私もそう思っていたので、そのとおりに動くはずです 削除済み 2021.10.11 10:20 #16679 artem artem #:SanAlex、この投稿でダウンロードしたバージョンを添付しました。Puria + Trailing Stop + Breakeven level + 時計取引です。時計による取引をテストしたいのですが、まだ手をつけていないだけです)。 kodobasehttps://www.mql5.com/ru/code/12654 で見つけました。 - 的を外してしまいましたが、その中で何を変えたかったのでしょうか? Советник по методу Пуриа www.mql5.com Советник открывает позиции по алгоритму метода Пуриа. Artis98 2021.10.11 12:36 #16680 SanAlex #:kodobasehttps://www.mql5.com/ru/code/12654 で見つけました。- 的を外してしまいましたが、その中で何を変えたかったのでしょうか? どんな付加価値をつけたかったか 1.取引の開始と すべての指標の条件(高速(5)2遅い(75)(85)と高速(5)と同じ方向に開くMACDバーを交差)をチェック することは、新しいろうそく (各30分のろうそくの非常に最初のティックを 開始時にのみ 行われたように、する。) 指標の「ゼロ化」のための 条件を整備する。例えば、こんな感じです。 はやいもの勝ちです (5) スローより高ければ-、それは買いのシグナルです。その後、下降してそのいずれかに触れるか、あるいは低速の(75)と(85) の間にある 場合、高速の指標からの信号はいわば「 ゼロ」であり、低速のものに触れるか間にある 限り、この「 ゼロ」 位置に留まることになるのです。その後、 高速のものが低速のものと両方片側に 交差 した場合(低速のものに触れる前に来た側に戻った場合も含む)、 それはこの指標のシグナルと なります。 MACDの場合も同じような状況です-MACD=0だけが "ゼロ "とみなさ れます(最初のキャンドルでMACDは、例えば、0.0043で開かれ、0.0010で 2番目のキャンドルで、それは2番目のキャンドルでMACDが" ゼロ" と新しいシグナルを与えていることを意味します)。しかし、 fast(5)とMACDがある種の「対等 な立場」になるべき 時があります。(5)がslowに対して位置を変えず、MACDが前のローソク足で間違ったゾーンで開き(ノーエントリー)、次のローソク足ではfastと同じゾーンで開いていれば、すべての条件が収束して、注文へのエントリーが発生すべき時なのです。これはすべてローソクの始値だけで、この1ティックだけで あることに注意してください。 そして最後に、Expert Advisorに4つの連続したローソク足のオープンを待た せるために、 1. 1回目の始値 - (5) 上記 (75) と (85) + MACDバーが0を超えてオープン- 4回中1回確認; 2.2本目のローソク足の始値-(5)が(75)を超え(85)+MACDバーが0より上に開いた- 4回中2 回の確認は; 3本目のローソク足の始値-(5)が(75)を超え(85)+MACDバーが0より上に開いた- 4回中3回の確認は; 4.ローソク足の始値は、(5)と(85)の間に、"0 "を超えた。4本目のローソク足の始値 - (5)が(75)と(85)を超える + MACDバーが0より上に開く- 4本中4本がイエス- 同じローソク足で買い取引を開始(4日)。 売り 注文と同じ状況で、唯一の他の方向で指標を開く必要があります。そして、重要なポイントがあります- 例えば、4日に1番目のろうそくの任意の段階で、 指標は、その位置を 変更 する場合(例えば、3番目のオープニングキャンドルで、MACDのバーは0以下のいずれか、または= 0)を開き- 信号が連続して4番目のろうそくのオープニングでチェックされていないので、その後すべてが、リセット されます。 1...166116621663166416651666166716681669167016711672167316741675...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
SanAlex さん、はい、今年の現行品のテスターを見ましたが、オールオッケーでした)結果は良好で、近いうちに実際のアカウントで動かしてみるつもりです。
Expert Advisorの名称は何ですか?kodobaseからダウンロードされたのでしょうか?作者がどのように関数に実装したかを確認する必要がある
何かが足りない - オンティックに条件を追加するために
エキスパートの名前は?kodobaseからダウンロードされたのでしょうか?作者がどのように関数に実装したかを確認する必要がある
何かが足りない-オンティクに条件を加えるために
サーシャ タイミングワークが入ってないんですよ。開発中にプラグインする機能を追加しただけ)
自分なりにやり直そうと思っています。
SanAlex さん、はい、今年の現行品のテスターを見ましたが、オールオッケーでした)結果は良好で、近いうちに実際のアカウントで動かしてみるつもりです。
これと時間がうまくいく - 関数を変更しました
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
mt4とmt5のTime関数が動作 します。
授業をなくしたいのでは?
つい最近知りました。なんつーか、メガ便利だな。何かご提案がありますか?すべてを関数に落とし込む?それで問題が解決するなら。
1つのクラスBarの2つのグローバルオブジェクト(bar, db_last)があり、1つ目はそれぞれの新しいバー(チャート上の通常のバー)のパラメータで初期化され、2つ目はすべての条件に対応するバーを保存します。実は、Orderクラスの別のローカルオブジェクトでは、オーダーを開くためのパラメータdb_lastからすべての計算が行われます。パラメータdb_lastとbarは多くの場所で使用されていますが、読み取り、初期化および代入はOnTick()の1箇所で発生するだけなので、オブジェクトの予期せぬ変更はないはずです。
つい最近知りました。なんつーか、メガ便利だな。何かご提案がありますか?すべてを関数に落とし込む?そ れで問題が解決するなら。
1つのクラスBarの2つのグローバルオブジェクト(bar, db_last)があり、1つ目はそれぞれの新しいバー(チャート上の通常のバー)のパラメータで初期化され、2つ目はすべての条件に対応するバーを保存します。実は、Orderクラスの別のローカルオブジェクトでは、オーダーを開くためのパラメータdb_lastからすべての計算が行われます。パラメータdb_lastとbarはいろいろなところで使われていますが、読み込みに限っては、初期化と代入がOnTick()の一箇所で行われるので、予期せぬオブジェクトの変化が起こらないはず です。
お金がかからないので)やってみようと 思います。
しかし、誤差が あり、さらに、単純な正規化では誤差がある
プライベートメッセージでファイルを送ってもらえますか?見てみようかな。エキスパートの名前は?kodobaseからダウンロードされたのでしょうか?作者がどのように関数に実装したかを確認する必要がある
私は何かを見逃していた - ontikに条件を追加するには
SanAlex、ダウンロードしたバージョンをこのメッセージに添付しました。Puria + Trailing Stop + Breakeven level + watchdog tradingを備えています。時計でトレードのテストをするのですが、まだ手をつけていないだけです)
履歴がないため、テスト開始時のインジケーターの読みに影響する
MakarFX さん、私もそう思っていたので、そのとおりに動くはずです
SanAlex、この投稿でダウンロードしたバージョンを添付しました。Puria + Trailing Stop + Breakeven level + 時計取引です。時計による取引をテストしたいのですが、まだ手をつけていないだけです)。
kodobasehttps://www.mql5.com/ru/code/12654 で見つけました。
- 的を外してしまいましたが、その中で何を変えたかったのでしょうか?
kodobasehttps://www.mql5.com/ru/code/12654 で見つけました。
- 的を外してしまいましたが、その中で何を変えたかったのでしょうか?
どんな付加価値をつけたかったか
1. 1回目の始値 - (5) 上記 (75) と (85) + MACDバーが0を超えてオープン- 4回中1回確認;
2.2本目のローソク足の始値-(5)が(75)を超え(85)+MACDバーが0より上に開いた- 4回中2 回の確認は;
3本目のローソク足の始値-(5)が(75)を超え(85)+MACDバーが0より上に開いた- 4回中3回の確認は;
4.ローソク足の始値は、(5)と(85)の間に、"0 "を超えた。4本目のローソク足の始値 - (5)が(75)と(85)を超える + MACDバーが0より上に開く- 4本中4本がイエス- 同じローソク足で買い取引を開始(4日)。