こんばんは!(^o^)
2組を1つのEAにまとめようと考えています。してきました。
しかし、ふと疑問がわいた。こんな感じでやりました。
extern bool GBP=true; extern bool EUR=true; - - - - - - - - - - - - - - - - - - - - int start() { double A = iRSI("GBPUSD", 0, .....); double B = iRSI("GBPUSD", 0, .....); double C = iRSI("EURUSD", 0, .....); double D = iRSI("EURUSD", 0, .....); //------------------------------------------------------ if (GBP) {//если есть разрешение true if (A<B) { double BID = MarketInfo("GBPUSD", MODE_BID); double ASK = MarketInfo("GBPUSD", MODE_ASK); double POINT =MarketInfo("GBPUSD",MODE_POINT); (ticket=OrderSend .... //ПОКУПАЕМ/ПРОДАЕМ...) }}} //---------------------------------------------------------- if (EUR) { //если есть разрешение true if (C>D) { double BID = MarketInfo("EURUSD", MODE____BID); double ASK = MarketInfo("EURUSD", MODE____ASK); double POINT =MarketInfo("EURUSD",MODE____POINT); (ticket=OrderSend .... //ПОКУПАЕМ/ПРОДАЕМ...) }}} //------------------------------------------------------------ return(0); }
オンラインでもストラテジーテスターでも、すべてがうまくいきます。ちょっとやり方が違うかもしれませんね。
extern bool GBP=true; extern bool EUR=true; - - - - - - - - - - - - - - - - - - - - int start() { //------------------------------------------------------ if (GBP) //если есть разрешение true{ double C = iRSI("GBPUSD", 0, .....); double D = iRSI("GBPUSD", 0, .....); if (A<B) { double BID = MarketInfo("GBPUSD", MODE_BID); double ASK = MarketInfo("GBPUSD", MODE_ASK); double POINT =MarketInfo("GBPUSD",MODE_POINT); (ticket=OrderSend .... //ПОКУПАЕМ/ПРОДАЕМ...) }}} //---------------------------------------------------------- if (EUR) { //если есть разрешение true double C = iRSI("EURUSD", 0, .....); double D = iRSI("EURUSD", 0, .....); if (C>D) { double BID = MarketInfo("EURUSD", MODE____BID); double ASK = MarketInfo("EURUSD", MODE____ASK); double POINT =MarketInfo("EURUSD",MODE____POINT); (ticket=OrderSend .... //ПОКУПАЕМ/ПРОДАЕМ...) }}} //------------------------------------------------------------ return(0); }2番目のオプションは、テスターでも動作するようです。
でも、どうしたらいいんだろう?
私は通常、すべてのインジケータ値を最初に計算します、つまり、バリアント1です。
ありがとうございました。答え合わせのため。もう1つ質問です。トレーリングストップが効かない。テスターでは個別に動作します
でも、オンラインでは1組で通用します。しかし、別のものでは、Expert Advisorをアタッチした直後にエラーが発生します。
しかし、2組目はトロールを使わず、ディールを行っています。
エラー 130 SLの修正
int start() { РАСЧЁТ ИНДИКАТОРОВ { ПОКУПКА/ПРОДАЖА } for (int j=0; j<OrdersTotal(); j++) { if (OrderSelect(j, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()=="GBPUSD" && OrderMagicNumber()==Magic1) { ИДЕТ КОД 1 ТРЕЙЛИНГА. } for (int r=0; r<OrdersTotal(); r++) { if (OrderSelect(r, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()=="EURUSD" && OrderMagicNumber()==Magic2) { ИДЕТ КОД 2 ТРЕЙЛИНГА } return(0); }末尾のコードは同じですが、外部変数と内部変数の文字が異なります。
何が悪いのか理解できない。もしかしたら、誰かが教えてくれるかも?
int start() { //РАСЧЁТ ИНДИКАТОРОВ //ПОКУПКА/ПРОДАЖА for (int j=0; j<OrdersTotal(); j++) { if (OrderSelect(j, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()=="GBPUSD" && OrderMagicNumber()==Magic1) { ИДЕТ КОД 1 ТРЕЙЛИНГА. } if (OrderSymbol()=="EURUSD" && OrderMagicNumber()==Magic2) { ИДЕТ КОД 2 ТРЕЙЛИНГА } } } return(0); }
試してみます、ありがとうございました。
効いているようです!
まだエラーはありません。トロールを確認するために利益を待っている。
もっと質問してください。差し支えなければ
多通貨実験の最も単純な例には遠く及ばない。 そして、それらが利用可能であっても、弱々しい心には向かない。複雑すぎて、すべてを理解することはできません。
私のコードの中にもあります。
double BID = MarketInfo("GBPUSD", MODE_BID); double ASK = MarketInfo("GBPUSD", MODE_ASK); double POINT =MarketInfo("GBPUSD",MODE_POINT); //-------Проверяем условие на покупку------------- if (
しかし、本サイトでは稀に同様のブロックが存在する場合、線があることがあります。
RefreshRates(); double BID = MarketInfo("GBPUSD", MODE_BID); double ASK = MarketInfo("GBPUSD", MODE_ASK); double POINT =MarketInfo("GBPUSD",MODE_POINT);
また、このような行を挿入しています。まとめたものです。しかし、性能の変化は感じられない。
ここではどの程度必要なのでしょうか?もしかしたら、私のEAに残すべきかもしれません。すべてのダニに効く。そして、それは値の配列を使用します - 。
//------заполняем массив значениями RSI GBPUSD ----------- double RSI_array[30]; int i=0; while (i<31) { RSI_array[i]=iRSI("GBPUSD",0,GBPUSD_period,3,3,MODE_SMA,0,MODE_MAIN,i); i++;
エラーが出ました0」の代わりに、通貨用のインジケータ変数、Expert Advisorが動作する時間枠を入れました。
Expert Advisorはスムーズに動作しているようです。トロールも効くしね。
そして、最後にもう一つ質問させてください。もう一枚挿入しました。ただし、内蔵のインジケーターではなく、カスタムのインジケーターです。テスターでは、このペアが動作します。でも、オンラインでは、そうはいきませんほぼ毎秒、このインジケータが配置され、削除されるという、奇妙なものが表示されます。- 何かアドバイスがあればお願いします。
//***************************************************************
kLerk !今週ここにいる専門家の中で、私の質問に答えてくれたのはあなただけです。そして、ほぼ満足のいく答えを得ることができました。(RefreshRates()に関する質問を除く)。
ここにメールアドレスを書いてください。
お礼に、私の親友が考案した簡単なトレードの「聖杯」であるEAを送ります!(同意)私はこれで手動確認をしながら作業しています。私は、手動で確認しながら作業しています。 私は、内蔵されている2つのインジケーターだけを使用しています。
皮肉なしで、-それは本当にほとんど「聖杯」であること(それを使って作業のいくつかのスキルで)、-あなたはそれを受け取った後、数分後に表示されますよ。しかし--みんなに見てもらいましょう。
記号 ---------
期間 30 分 (M30) 2007.01.02 11:00 - 2007.08.15 00:00
モデル 全ティック(各ティックのフラクタル補間で利用可能な最小の全期間をベースとする)
モデリング品質 67.35
初回入金額 10000.00
当期純利益 4009.24
利益合計 6335.06 損失合計 -2325.82
利益率 2.72 期待ペイオフ 21.44
最大ドローダウン量 245.63 (2.18%) 相対ドローダウン量 2.18% (245. 63)
総取引高 187
ショートポジション(勝率) 71 (80.28%)
ロングポジション(勝率) 116 (68.10%)
利益を得た取引(全体の割合) 136 (72.73%)
損失取引(全体に占める割合) 51 (27.27%)
最大の利益を上げた取引は145.02、負けた取引は-47。77
平均的な利益トレード46.58、負けトレード-45.60
最大継続勝利数(利益) 9 (586. 96)
連続的な損失(ロス) 4 (-189.99)
そして、前年2006年の11月・12月のアウトオブサンプルのテストチャートです。
おそらく、カスタムインジケータが 呼び出される実際のパラメータは、リストのexternキーでリストされた正式なパラメータ(番号、順序、タイプ、...)に対応しません。かなりよくある間違いです。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
こんばんは!(^o^)
2組を1つのEAにまとめようと考えています。してきました。
しかし、ふと疑問がわいた。こんな感じでやりました。
オンラインでもストラテジーテスターでも、すべてがうまくいきます。ちょっとやり方が違うかもしれませんね。
2番目のオプションは、テスターでも動作するようです。でも、どうしたらいいんだろう?