どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 65 1...585960616263646566676869707172...1178 新しいコメント Mepkypuu 2013.08.04 19:59 #641 皆さん、ごきげんよう。トラリピにストップロスを設定した場合、Strategy Testerではこの問題が発生しません。ストラテジーテスターでEAがストップロスを置くべき時に置かなかったが、定期的に置くようになった。デモ入金で同じExpert Advisorを使用すると、トロールが機能することがわかります。端末は何もエラーを報告しない。これはコードのバグなのか、それとも端末のバグなのでしょうか?理解するのに役立ちそうですか?私はすべてのコードを試しましたが、何が間違っているのか理解できません、私はトレイル戦略を変更したくありません。Expert Advisorのフルコードと、trawlのコード(Yury Dzyuban氏による ローソク足の陰影を少し修正したもの)を添付します。 void TrailingByShadows(int ticket,int tmfrm,int bars_n, int indent) { int i; double new_extremum; if ((bars_n<1) || (indent<0) || (ticket==0) || ((tmfrm!=1) && (tmfrm!=5) && (tmfrm!=15) && (tmfrm!=30) && (tmfrm!=60) && (tmfrm!=240) && (tmfrm!=1440) && (tmfrm!=10080) && (tmfrm!=43200)) || (!OrderSelect(ticket,SELECT_BY_TICKET))) { Print("Трейлинг функцией TrailingByShadows() невозможен из-за некорректности значений переданных ей аргументов."); return(0); } if (OrderType()==OP_BUY) { for(i=1;i<=bars_n;i++) { if (i==1) new_extremum = iLow(Symbol(),tmfrm,i); else if (new_extremum>iLow(Symbol(),tmfrm,i)) new_extremum = iLow(Symbol(),tmfrm,i); } if ((((new_extremum - indent*Point)>OrderStopLoss() + 1.0 * Point) || (OrderStopLoss()==0)) && ((new_extremum - indent*Point)>OrderOpenPrice()) && (new_extremum - indent*Point<Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point) && (getLots(new_extremum) > 0)) if (!OrderModify(ticket,OrderOpenPrice(),new_extremum-indent*Point,OrderTakeProfit(),OrderExpiration())) Print("Не удалось модифицировать ордер №",OrderTicket(),". Ошибка: ",GetLastError()); } if (OrderType()==OP_SELL) { for(i=1;i<=bars_n;i++) { if (i==1) new_extremum = iHigh(Symbol(),tmfrm,i); else if (new_extremum<iHigh(Symbol(),tmfrm,i)) new_extremum = iHigh(Symbol(),tmfrm,i); } if ((((new_extremum + (indent + MarketInfo(Symbol(),MODE_SPREAD))*Point)<OrderStopLoss() - 1.0 * Point) || (OrderStopLoss()==0)) && ((new_extremum + (indent + MarketInfo(Symbol(),MODE_SPREAD))*Point)<OrderOpenPrice()) && (new_extremum + (indent + MarketInfo(Symbol(),MODE_SPREAD))*Point>Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point) && (getLots(new_extremum) > 0)) if (!OrderModify(ticket,OrderOpenPrice(),new_extremum + (indent + MarketInfo(Symbol(),MODE_SPREAD))*Point,OrderTakeProfit(),OrderExpiration())) Print("Не удалось модифицировать ордер №",OrderTicket(),". Ошибка: ",GetLastError()); } } double getLots(double newSL) { int opnTime = 0; // время открытия трейда для цикла пересчета позиций double lotSum = 0; for (int i = 0; i <= OrdersTotal()-1; i++) { OrderSelect(i, SELECT_BY_POS); if ((OrderOpenTime() > opnTime) && (OrderType() == OP_BUY) || (OrderType() == OP_SELL)) { opnTime = OrderOpenTime(); if (OrderType() == OP_BUY) { lotSum += OrderLots() * (newSL - OrderOpenPrice()) / Point; } if (OrderType() == OP_SELL) { lotSum -= OrderLots() * (newSL - OrderOpenPrice()) / Point; } } } return(lotSum); } ファイル: avalanche.mq4 12 kb Alexander 2013.08.05 00:12 #642 どのようなタイムフレームで、どのような品質でテストするのですか? Mepkypuu 2013.08.05 03:29 #643 EURUSD、M1、99%、90%。 最初はMTで読み込んだ標準のティック履歴を 使用していましたが、この問題だけでなく、相場履歴に説明できないギャップがあることが分かったので、Tick Data Suiteに切り替え、Dukascopyから相場をダウンロードし、品質を90から99に高めましたが、問題は解決していません。 ZS: おそらく実生活でも同じ状況なのか、テスト期間が短かったのか(3週間ほど)、その間、trawlがインストールされていないため、何度か手動で終了していましたが、定期的に端末機を切断していたため、EAの動作に何らかの影響を与えているのだと思っていました、最近1週間ほど前にVPSに移行しましたが、同じ状況を描いているようです keekkenen 2013.08.05 03:50 #644 変数tmfrmの値と等しい時間枠でテストが行われているかどうか? そうでない場合は、tmfrmの時間枠に履歴があるかどうかを確認する必要があります...。 と、変数 bars_n で伝送されるタンクの数は、変数 tmfrm で伝送されるタイムフレームに対応する ? Mepkypuu 2013.08.05 05:03 #645 keekkenen:変数tmfrmの値と等しい時間枠でテストが行われているかどうか?そうでない場合は、tmfrmの時間枠に履歴があるかどうかを確認する必要があります...。と、変数bars_nに渡された戦車の数は、変数tmfrmに渡された時間枠に対応しているのでしょうか。 そうですね、他人の関数のコードを放置して、深く調べず、そのパラメータを考慮していなかったのが原因でしょう。その結果、ストップロスは 別の期間に設定されました。よろしくお願いします。 ZS: いつもそうなんです。ちょっとしたことでコードが思い通りに動かなくなるんです。 Boris 2013.08.05 07:40 #646 こんにちは!ログブックの赤レンガが一体どうなっているのか、誰か知っていますか? 2013.08.05 08:00:41 '9291791': シグナル - 見つからない 更新シグナル - ベースで7400 私のコードには何の問題もない!しかも信号付きで!これはどういうことでしょうか? Mepkypuu 2013.08.05 08:04 #647 Mepkypuu: はい、おっしゃる通りのようです。私は他人の関数のコードを放置して、詳しく調べず、このパラメータを考慮していませんでした。その結果、ストップロスは別の期間に設定されました。よろしくお願いします。 ZS: いつもそうなんですが、ちょっとしたことでコードが思い通りに動かなくなるんです。 しかし、履歴を見ると、まだうまくいかない、つまり問題が部分的に解決されているに過ぎません。 Leo59 2013.08.05 12:23 #648 splxgf: スプレッドは固定ですか? ランの時は現在のスプレッドが取られますが、ニュースやイブニングの時は毎日のスプレッドと異なるからです。 スプレッドはどのように修正するのですか?結局、OrderSendは AskかBidのどちらかを指定する。 Alexander 2013.08.05 14:57 #649 Mepkypuu: まだ満足はしていません。トレーリングはより良く機能していますが、まだ機能しないケース、つまり問題は部分的にしか解決していません。 あなたがTrailingと呼ぶものは本当のTrailingではなく、異なる方法で計算されており、その動作は非論理的である可能性があります。 Boris 2013.08.05 17:00 #650 Leo59: スプレッドはどのように修正すればよいのでしょうか?結局、OrderSendはAskかBidのどちらかを指定する。 TFの下にあるテスターで! 1...585960616263646566676869707172...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
皆さん、ごきげんよう。トラリピにストップロスを設定した場合、Strategy Testerではこの問題が発生しません。ストラテジーテスターでEAがストップロスを置くべき時に置かなかったが、定期的に置くようになった。デモ入金で同じExpert Advisorを使用すると、トロールが機能することがわかります。端末は何もエラーを報告しない。これはコードのバグなのか、それとも端末のバグなのでしょうか?理解するのに役立ちそうですか?私はすべてのコードを試しましたが、何が間違っているのか理解できません、私はトレイル戦略を変更したくありません。Expert Advisorのフルコードと、trawlのコード(Yury Dzyuban氏による ローソク足の陰影を少し修正したもの)を添付します。
EURUSD、M1、99%、90%。
最初はMTで読み込んだ標準のティック履歴を 使用していましたが、この問題だけでなく、相場履歴に説明できないギャップがあることが分かったので、Tick Data Suiteに切り替え、Dukascopyから相場をダウンロードし、品質を90から99に高めましたが、問題は解決していません。
ZS: おそらく実生活でも同じ状況なのか、テスト期間が短かったのか(3週間ほど)、その間、trawlがインストールされていないため、何度か手動で終了していましたが、定期的に端末機を切断していたため、EAの動作に何らかの影響を与えているのだと思っていました、最近1週間ほど前にVPSに移行しましたが、同じ状況を描いているようです
変数tmfrmの値と等しい時間枠でテストが行われているかどうか?
そうでない場合は、tmfrmの時間枠に履歴があるかどうかを確認する必要があります...。
と、変数 bars_n で伝送されるタンクの数は、変数 tmfrm で伝送されるタイムフレームに対応する ?
変数tmfrmの値と等しい時間枠でテストが行われているかどうか?
そうでない場合は、tmfrmの時間枠に履歴があるかどうかを確認する必要があります...。
と、変数bars_nに渡された戦車の数は、変数tmfrmに渡された時間枠に対応しているのでしょうか。
そうですね、他人の関数のコードを放置して、深く調べず、そのパラメータを考慮していなかったのが原因でしょう。その結果、ストップロスは 別の期間に設定されました。よろしくお願いします。
ZS: いつもそうなんです。ちょっとしたことでコードが思い通りに動かなくなるんです。
こんにちは!ログブックの赤レンガが一体どうなっているのか、誰か知っていますか?
2013.08.05 08:00:41 '9291791': シグナル - 見つからない 更新シグナル - ベースで7400
私のコードには何の問題もない!しかも信号付きで!これはどういうことでしょうか?
はい、おっしゃる通りのようです。私は他人の関数のコードを放置して、詳しく調べず、このパラメータを考慮していませんでした。その結果、ストップロスは別の期間に設定されました。よろしくお願いします。
ZS: いつもそうなんですが、ちょっとしたことでコードが思い通りに動かなくなるんです。
しかし、履歴を見ると、まだうまくいかない、つまり問題が部分的に解決されているに過ぎません。
スプレッドは固定ですか? ランの時は現在のスプレッドが取られますが、ニュースやイブニングの時は毎日のスプレッドと異なるからです。
スプレッドはどのように修正するのですか?結局、OrderSendは AskかBidのどちらかを指定する。
まだ満足はしていません。トレーリングはより良く機能していますが、まだ機能しないケース、つまり問題は部分的にしか解決していません。
あなたがTrailingと呼ぶものは本当のTrailingではなく、異なる方法で計算されており、その動作は非論理的である可能性があります。
スプレッドはどのように修正すればよいのでしょうか?結局、OrderSendはAskかBidのどちらかを指定する。