どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 661 1...654655656657658659660661662663664665666667668...1178 新しいコメント Victor Nikolaev 2014.07.09 12:21 #6601 berezhnuy:こんにちは、この問題を解決する方法を教えていただけませんか?フクロウで使っています。フクロウは、すべてのティックで実行され、そうでない場合は基本的な条件が満たされません。iMAOnArrayでは20本しか使っていませんが、テスターではowlが考えるのに非常に時間がかかります。スタートブロックにセットして呼んでいます。このツールの使用方法を最適化することで、主要な条件を毎ティック確認し、テスターの速度を低下させないようにする方法です。4時間足のチャートでフクロウを1年間テストしても、2時間しかかかりませんから。どれだけの最適化が必要なのか、想像するのが怖いです))) コードなしには、誰もあなたを助けることはできません 削除済み 2014.07.09 12:42 #6602 基本的にはこのコードが全てです。//------- Внешние параметры советника -----------------------------------------+ extern string _P_Expert = "---------- Параметры советника"; extern int Magic = 777; // Магический номер позиций extern double SL=10; // Размер лося extern double TP=10000; // Размер профита extern string ____= "Параметры блока MoneyManagement"; extern bool MoneyManagement=false; extern double Lots = 0.01; extern int MarginPercent=3; //------- Параметры трала -----------------------------------------------------+ extern string ______= "Параметры блока TrallingStop"; extern bool TralSimple=true; //------- Характкристики баров ------------------------------------------------+ //------- Подключение внешних модулей -----------------------------------------+ #include <stdlib.mqh> #include <stderror.mqh> int start() { total=OrdersTotal(); Comment( LotsCounting() ); //+=================================================================================+ // Проверка средств if(AccountFreeMargin()<(1000*Lots)){ Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } //=========================== Открытие позиций ===================================+ //==========================================================================================+ //============================= Center_array ========================================+ double Center_array[50]; int h,limit=ArraySize(Center_array); ArraySetAsSeries(Center_array,true); for(h=0; h<limit; h++) Center_array[h]=iRSI(NULL,0,14,0,h); double MA_1 =iMAOnArray(Center_array,0,14,0,MODE_SMA,1); double rs_1 = iRSI(NULL,0,14,0,1); if (Last_Max1!=Max1){ if (Close[1]>Close[2] && rs_1<MA_1){ lots=LotsCounting(); OrderSend(Symbol(),OP_BUYSTOP,lots,(Max1),0,SL_buy,TP_buy, "Покупаем ",Magic,Expiration,Blue); Last_Max1=Max1; PlaySound("ok.wav"); { Print ("При открытии произошла ошибка ", GetLastError()); return; } } } } //==========================================================================================+ if (delet) DeleteOppositeOrders("",-1,Magic); //==========================================================================================+ //=======================================TrallingStop=======================================+ for ( int v = OrdersTotal() - 1; v >= 0; v -- ){ if (OrderSelect(v, SELECT_BY_POS, MODE_TRADES)){ if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic){ //+=================================================================================+ ///+================================Обычный трал ====================================+ if (TralSimple){ //+=================================================================================+ if(OrderType() == OP_BUY){ if((Bid-OrderOpenPrice()) > (Point*TrailingStop)){ if(OrderStopLoss() < Bid-Point*TrailingStop || (OrderStopLoss()==0)){ OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Blue); } } } } } // Symbol() } // select } //total //============================== Конец блока закрытия ==============================+ return(0); } //==========================================================================================+ Center_erreyが削除された場合、テストは1分もかかりません。この条件がコードに含まれたままだと、テストは2時間実行されます Victor Nikolaev 2014.07.09 13:20 #6603 berezhnuy:基本的にはこのコードが全てです。Center_erreyが削除された場合、テストは1分もかかりません。この条件がコードに含まれたままだと、テストは2時間実行されます インジケーターを作ろうとしなかったのですか? Vitalie Postolache 2014.07.09 15:53 #6604 は変数Aを持ち、これは0,1,2という値をとることができる。これらの比較は等価になるのでしょうか?if(A=0 || A=1){do} and if(A != 2){do}. TarasBY 2014.07.09 16:11 #6605 evillive:は変数Aを持ち、これは0,1,2という値をとることができる。これらの比較は等価になるのでしょうか?if(A=0 || A=1){do} and if(A != 2){do}. 変数が enum 型の場合、式は同一である。 削除済み 2014.07.09 19:27 #6606 evillive:は、値0,1,2を取ることができる変数Aを持っています。これらの比較は平等になるのでしょうか?if(A=0 || A=1){do} and if(A != 2){do}. いいえ、「A=0」も「A=1」も比較対象にはならないからです。しかし、比較対象は「A==0」と「A==1」です。 TarasBY 2014.07.09 20:52 #6607 simpleton:いいえ、「A=0」も「A=1」も比較対象にはならないからです。しかし、"A == 0 "と "A == 1 "は比較である。 +1!:) Chiripaha 2014.07.09 21:16 #6608 berezhnuy:基本的にはこのコードが全てです。Center_erreyが削除された場合、テストは1分もかかりません。この条件をコードに含めると、テストは2時間程度で終了します。 ちなみに、再計算やチェックは毎回のティックには 関係なく、新しいバーが表示されたときだけです。そのため、このように対応する関数を適用することに意味があるのです。bool NevBar(){ static int PrevTime=0; if (PrevTime==Time[0]) return(false); PrevTime=Time[0]; return(true);}と表示されたときだけ、Center_erreyを実行します。また、さまざまな「ゴミ」を捨てることもあるでしょう。しかし、本質的には速度に影響を与えることはないでしょう。また、コードに重大な誤りが あります。マージンがない場合、コード全体をキャンセルしてしまいます。トロールはどうですか?とはいえ...は、コメントで理解したように、コードの一部でしかないからでしょう。 Vitalie Postolache 2014.07.09 21:25 #6609 simpleton:いいえ、「A=0」も「A=1」も比較対象にはならないからです。しかし、"A == 0 "と "A == 1 "は比較である。 クレジット ))) ただ、MQLで書いたわけではないのですが、形式上、それが面倒で(。 Vladimir Paukas 2014.07.10 03:36 #6610 evillive: スコア ))) ただ、私はMQLで書いていないのですが、形式的にはそれが問題なのです(。 技術的なことではなく、NULLがあるかもしれないからです。 1...654655656657658659660661662663664665666667668...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、この問題を解決する方法を教えていただけませんか?
フクロウで使っています。
フクロウは、すべてのティックで実行され、そうでない場合は基本的な条件が満たされません。iMAOnArrayでは20本しか使っていませんが、テスターではowlが考えるのに非常に時間がかかります。スタートブロックにセットして呼んでいます。
このツールの使用方法を最適化することで、主要な条件を毎ティック確認し、テスターの速度を低下させないようにする方法です。4時間足のチャートでフクロウを1年間テストしても、2時間しかかかりませんから。どれだけの最適化が必要なのか、想像するのが怖いです)))
コードなしには、誰もあなたを助けることはできません
基本的にはこのコードが全てです。
Center_erreyが削除された場合、テストは1分もかかりません。この条件がコードに含まれたままだと、テストは2時間実行されます
基本的にはこのコードが全てです。
Center_erreyが削除された場合、テストは1分もかかりません。この条件がコードに含まれたままだと、テストは2時間実行されます
インジケーターを作ろうとしなかったのですか?
は変数Aを持ち、これは0,1,2という値をとることができる。
これらの比較は等価になるのでしょうか?
if(A=0 || A=1){do} and if(A != 2){do}.
は変数Aを持ち、これは0,1,2という値をとることができる。
これらの比較は等価になるのでしょうか?
if(A=0 || A=1){do} and if(A != 2){do}.
は、値0,1,2を取ることができる変数Aを持っています。
これらの比較は平等になるのでしょうか?
if(A=0 || A=1){do} and if(A != 2){do}.
いいえ、「A=0」も「A=1」も比較対象にはならないからです。
しかし、比較対象は「A==0」と「A==1」です。
いいえ、「A=0」も「A=1」も比較対象にはならないからです。
しかし、"A == 0 "と "A == 1 "は比較である。
基本的にはこのコードが全てです。
Center_erreyが削除された場合、テストは1分もかかりません。この条件をコードに含めると、テストは2時間程度で終了します。
そのため、このように対応する関数を適用することに意味があるのです。
と表示されたときだけ、Center_erreyを実行します。
また、さまざまな「ゴミ」を捨てることもあるでしょう。しかし、本質的には速度に影響を与えることはないでしょう。
また、コードに重大な誤りが あります。マージンがない場合、コード全体をキャンセルしてしまいます。トロールはどうですか?とはいえ...は、コメントで理解したように、コードの一部でしかないからでしょう。
いいえ、「A=0」も「A=1」も比較対象にはならないからです。
しかし、"A == 0 "と "A == 1 "は比較である。
クレジット )))
ただ、MQLで書いたわけではないのですが、形式上、それが面倒で(。
スコア )))
ただ、私はMQLで書いていないのですが、形式的にはそれが問題なのです(。