[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 167

 
borilunad:
もちろん、テキストやドキュメントでは、しかし、あなたはで既製のものを得ることができます働くか、言語の知識がなくても、アドバイザーを実行するつもりですか?とても危険で無謀です!お金がたくさんある人は宝くじを買いましょう!その方が儲かるし、勉強も必要ありません。

もし、すべての質問に答えることができ、すべてが教科書やドキュメントに載っているのであれば、なぜフォーラムを作ったのでしょうか?EAをどう使うか、どう運用するかは、言語の知識があろうとなかろうと、申し訳ないですが、私の勝手です。宝くじ購入のアドバイス、同シリーズの他は自分だけのものにする。
 
Magnifique:

すべての疑問はチュートリアルやドキュメントで解決できるのに、なぜフォーラムを作ったのでしょうか?EAをどう使うか、どう運用するかは、言語の知識があろうとなかろうと、申し訳ないですが、私の勝手なのです。宝くじ購入のアドバイス、同シリーズの他は自分だけのものにする。

このフォーラムは、プログラミングの問題を議論するために作成されましたが、あなたは貧しいあなたを提供するヒントをしたい、なぜなら、再び、知識がなければ、毎日デバッグ、微調整と絶えず変化する市場の状況に合ったソリューションを検索せずに偉大なEAでも、ある悲しい日、預金を一掃します。もちろん、初心者がすでに何かをやっていて、困難な状況に陥ったときに、フォーラムが助けてくれますが、それは怠惰のためではなく、プログラミングの過程で発生した問題なのです。だから「仕事抜きで...」。"知識なしにはどこにも行けない!

 
Magnifique:

すべての質問に答えることができ、すべてがチュートリアルとドキュメントにある場合、私は、なぜすべてのフォーラムを作成するのだろうか?EAをどう使うか、どう運用するかは、言語の知識があろうとなかろうと、申し訳ないですが、私の勝手なのです。宝くじ購入のアドバイス、同シリーズの他は自分だけのものにする。

ヴィクトリア、あなたはEAライティングを マスターするために、かなり普通の課題を課しましたね。自分で始めて、質問と一緒に得られたコードを投稿すれば、他の人が助けてくれるでしょう。このスレッドはそのためにあるのであり、また、初心者の方こそ、コミュニケーションをとるのが楽しいのです。学びの雰囲気を大切にしよう

 
慣れない土地で最適化した後、自動的にパラメータをロードして確認できるようなMT4用のモジュール、またはそのような名称のものがあれば教えていただきたいです。MT5ではまず最適化され、その中から最適なパラメータを自動検索するように、オプティマイザで見つかった最適なパラメータを検索することを意味します。
 
T-G:
MT4でそのようなモジュールや名称があれば、慣れない領域での最適化後に自動的にパラメータをロードして確認することが可能になると思います。MT5のように最初に最適化してから最適なパラメータを探すような、オプティマイザが見つけた最適なパラメータの自動探索を意味します
正確には覚えていませんが、"auto optimizer "と "testcommander "で検索してみてください。
 
ターミナルでスクリプトを実行すると、通常はそのようなウィンドウは表示されないのに、「このチャートにスクリプトを添付しますか」というウィンドウが表示されることがあるのはなぜでしょうか...??
 

こんにちは。

以下の問題が解決できません。

          if (Minute()>0 && Minute()<30)
         {m=Minute();}
         if (Minute()>30 && Minute()<60)
         {m=Minute()-30;}
         if (Minute()==0 || Minute()==30)
         {m=0;}
         price=iOpen(Symb, timeP4, m);
         price_1=iOpen(Symb, timeP4, m+30);

つまり、Expert Advisorが動作するとき、ゼロバー(これは私が必要とする)からデータを取得し、次に次のバーからデータを取得するのです。時には30本目のバー(これは必要です)が出て、次に29本目、32本目、34本目・・・と、価格はこれらのバーから適宜取得されるのです。

Expert Advisorで、バーをずらさずに価格を取得したいバーを指定し、時間を指定することが可能かどうか、アドバイスをお願いします。

とても良いExpert Advisorができました、ありがとうございました。

 
Egori4:

こんにちは。

以下の問題が解決できません。

Expert Advisor が動作するとき、ゼロバー(これは私が必要とする)からデータを取得し、次に次のバーから取得します。時には30本目のバー(これは必要です)が出て、次に29本目、32本目、34本目・・・と、価格はこれらのバーから適宜取得されるのです。

バーのシフトを再計算せずに価格を取得したいバーをExpert Advisorに指定し、時間を指定することができるかどうかアドバイスいただけないでしょうか。

とても良いExpert Advisorができました、ありがとうございました。


これは役に立つ はずです。
 

皆さん、こんにちは...。

次の問題を解決してください ...

3つのMAがあり、あらかじめ設定した状況、例えば(MA1>MA2 && MA2<MA3)が発生したら売買を行い、コメントにも記録しています。

double MA1 = NormalizeDouble(iMA(NULL,PERIOD_M5,period_1,0,0,0,0),5);
double MA2 = NormalizeDouble(iMA(NULL,PERIOD_M5,period_2,0,0,0,0),5);
double MA3 = NormalizeDouble(iMA(NULL,PERIOD_M5,period_3,0,0,0,0),5);

if(ptm5!=pt1m5 && ptm5=="123")
    {
      OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES);
           if(OrderOpenTime()<Time[3])
              {
              if (MA1>MA2 && MA2<MA3)tochka="123"; 
                  TimeBar=Time[0];
                   OrderSend(Symbol(),OP_BUY, LOT,NormalizeDouble(Ask,Digits),3,Bid-SL*Point,Ask+TP*Point,tochka,Magic,0,Blue);
              }
   }

しかし、EAが終了する前に、すべてをcsvファイルに書き出す。

Handle1=FileOpen("Points"+Symbol()+a+".csv",FILE_CSV |FILE_WRITE|FILE_READ,';');
FileSeek(Handle1,0,SEEK_SET);

for (int i=1; i<=OrdersHistoryTotal(); i++)       //Цикл по всем ордерам,..
     {                                        //отражённым в терминале
      if(OrderSelect(i-1,SELECT_BY_POS,MODE_HISTORY)==true)//Если есть следующий
        {    
    string var1=TimeToStr(OrderOpenTime(),TIME_DATE|TIME_MINUTES);
     string var2=TimeToStr(OrderCloseTime(),TIME_DATE|TIME_MINUTES);
     string varr;
        if (OrderType()==OP_BUY)varr="buy";else varr="sell";
      double oroppr1,orclpr1;
      oroppr1=OrderOpenPrice();
      orclpr1=OrderClosePrice();
      string oroppr=DoubleToStr(oroppr1, 4);
      string orclpr=DoubleToStr(orclpr1, 4);
  
      datetime some_time1, some_time2;   
      some_time1=StrToTime(var1);
      some_time2=StrToTime(var2);     
      int shift1=iBarShift(Symbol(),0,some_time1);
      int shift2=iBarShift(Symbol(),0,some_time2);
      
      int shift3=iBarShift(Symbol(),PERIOD_M5,some_time1);


double MA01 = NormalizeDouble(iMA(NULL,PERIOD_M5,period_1,0,0,0,shift3),5);
double MA02 = NormalizeDouble(iMA(NULL,PERIOD_M5,period_2,0,0,0,shift3),5);
double MA03 = NormalizeDouble(iMA(NULL,PERIOD_M5,period_3,0,0,0,shift3),5);

if (MA01>MA02 && MA02<MA03)pt0="123";
FileWrite(Handle1,var1,var2,varr,OrderSymbol(),OrderTicket(),OrderLots(),oroppr,orclpr,OrderTakeProfit(),OrderStopLoss(),OrderProfit(),OrderComment(),max,min,g,pt0,g,a,b);
        }
     }                                  
     FileClose(Handle1);   

私はコードから、注文を開始した 日付と時刻を 取り、バーを探して、そのバーのすべてのMAの値を書いていることがわかります。

そして、問題の本質は、csvのデータと記録されたデータが一致しないことがある ことです......。(あくまで私の時間軸の場合ですが)

comment="123" pt0="213";

PS. bool exact=false

これらの値をfalseとtrueの両方に変更しましたが、結果は同じです。

PS2です。カンマや括弧をいじるのが好きな人へ。コードが大きいので見落としがあるかもしれないので、必要なものだけ取りました。

 

あえて質問を繰り返す。

Такой вопрос. Советник открывает ордер, устанавливая определенное значение magic. Затем MetaTrader закрывается. Есть ли возможность после повторного открытия MT (или, что то же самое) при открытии MT на другой машине восстановить magic? Только что столкнулся: был открыт ордер, после чего добрый дядя из ДЦ перегрузил виртуалку. В результате: все расчеты в топку.


つまり、質問の要点は、ターミナル/エキスパートを閉じた 後、マジックは保存されているのか、また、復元する方法はあるのか、ということです。