コーディングのお手伝いをお願いします。

 
助けて欲しいです。 私はコーディングは初心者ですが、FXの取引は長い間しています。

Expert Advisor Builder」の助けを借りて、添付のEAを構築し、テストでは動作しています。 問題は、いくつかのライブチャートに配置したときに動作しないことです。 4時間のテストを使用しているため、私の修正で直るかどうか確認するのに長い時間がかかり、イライラしています。

同じEAを5種類の名前に変更し、同じMT4プラットフォーム上の5種類のペアチャートにそれぞれ1つずつ配置したことがあります。 それはうまくいきませんでした。

どなたかこれをご覧になって、複数のペアで使用できるようにコードを動作させる方法についてアドバイスいただけないでしょうか?
 
//+------------------------------------------------------------------+
//| QQE 4hr_15min TESTING                                            |
//| triggers on 4 hour QQE, then uses 15 min QQE to enter trade.     |
//+------------------------------------------------------------------+

#property copyright "Expert Advisor Builder"
#property link      "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"





//Check position                 
             bool IsTrade = False;
             for(int i = 0; i < Total; i ++) 
               {                       
                OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
                if(OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) 
                  {                 
                   IsTrade = True;
                   if(OrderType() == OP_BUY) 
                     {            
//Close                          
//+------------------------------------------------------------------+
//| Signal Begin (Exit Buy)                                           |
//+------------------------------------------------------------------+

これは悪いエキスパートアドバイザービルダーであることを示すために、私はいくつかの行をコピーしました。

オープントレードをチェック する際に、トレードのマジックナンバーを使用していません。

このEAは、あなたがこのEAによって変更されたくない取引を管理することができます。

トレードをチェックするためにカウントアップし、このトータルループの中でトレードをクローズし、その後カウントダウンする必要があります。

 

そして、Orderselect()の結果が何であれ、次のブロックを実行し続ける。

 

やはり、コーディングは初心者で、このEAが動いている/動いていたので、開発を試み、行き詰った時にこのフォーラムで相談 させていただきました。

初心者の私が使えるようなことは何も言わずに、私の努力を馬鹿にするのはいい試みですね。 私が助けを求めたから、笑っているのでしょうか?

私はコーディングの専門家になりたいわけでも、なる必要があるわけでもありません。ただ、簡単なエラー(あるいは2つ)を解決するために丁寧に助けを求めると、実際にコードのどこにエラーがあるのかを誰かがアドバイスしてくれると思っただけです。 deVriesがここでタイプしたことは、事実上、私の助けにはなりません。なぜなら、言われたことを理解するためには、おそらく何年も勉強・実践・実験しなければならないからです。

皆さんもかつては初心者で、簡単なコードを動作させるために親切な援助が必要だったのではないでしょうか? お願いします。

 
unclebigpete:


皆さんも昔は初心者で、簡単なコードを使えるようにするために親切な一言が必要だったのではありませんか? お願いします。

はい、4年前です ... ... 学ぶ努力をしましょう ... ... あなたは専門家になりたいとは思わないかもしれません、私は自分自身を専門家とみなしていません、しかし適切に機能するEAを作るためにあなたは適切にコーディングすることを学ぶ必要があります ... 代わりにあなたは常にあなたのためにそれを行うために他の誰かに依頼することができます。 ジョブズ
 

Raptor、私は努力はしているつもりです。 私はただ、学習しながらさらに発展させることができる動作するEAが欲しいだけなのです。 このEAが動いていたのに、何かをいじったら動かなくなった。 私はコーディングについて読んできましたが、私はスピードアップするために4年以上持っていません。 ここで言われていることは私にとってあまり助けにならないので、ほんの少しの実際の助けをお願いします。

それは、アドバイスが "火をつける "であるタバコを吸うことを学ぶようなものです!

 
unclebigpete:

私はコーディングの初心者ですが、このEAが動いているので、それを開発しようと試み、行き詰まったときにこのフォーラムで助けを求めました。

初心者の私が使えるようなことは何も言わずに、私の努力を馬鹿にするのはいい試みですね。私が助けを求めたから、笑っているのでしょうか?

私はコーディングの専門家になりたいわけでも、なる必要があるわけでもありません。ただ、簡単なエラー(あるいは2つ)を解決するために丁寧に助けを求めると、実際にコードのどこにエラーがあるのかを誰かがアドバイスしてくれると思っただけです。deVriesがここでタイプしたことは、事実上、私の助けにはなりません。なぜなら、言われたことを理解するためには、おそらく何年も勉強・実践・実験しなければならないからです。

皆さんもかつては初心者で、簡単なコードを動作させるために親切な援助が必要だったのではないでしょうか?お願いします。


「私の修正で直るかどうかを確認するのに長い時間がかかり、私はイライラしている " あなたからの引用

これは、あなたが持っている問題です。 あなたはEAを作るために "Expert Advisor Builder"(それは悪い方法でコーディングされている...)を使用しています。

このプログラムがくだらないEAを作っているとき、あなたはコーディングの何が問題なのかを見るための知識を学んでいないのです。

もし、あなたが自動EAビルダーなしでEAを作り始めたのであれば

どこを見ればいいのかがわかるので、より簡単に問題を見つけることができます。

EAを作った、あるいは作っていないEAのプログラムラインを持っていれば......。

そして、そう、それは学ぶのに時間がかかるが、もしエラーが何であるかを自分で見ることができれば、あなたのフラストレーションはそれほど大きくはないだろう。

がらくたを使いたい人は、そのEAビルダーを使うのをやめましょう・・・。

 
unclebigpete:

ちょっとだけ実際のヘルプをお願いします。

OK、ちょっとだけ助けて.. .

あなたのコードのこの部分を見つけて、そしてそれをこれに変えてください ... ...

//+------------------------------------------------------------------+
//| Variable End                                                     |
//+------------------------------------------------------------------+
//Check position                 
             bool IsTrade = False;
             for(int i = Total -1; i >= 0; i --) 
               {                       
               if( OrderSelect(i, SELECT_BY_POS, MODE_TRADES) &&
                  OrderType() <= OP_SELL &&  OrderSymbol() == Symbol()) 

これはマジックナンバーをチェックしません ... 同じペアで手動注文をしたい場合、または同時に同じペアで異なるタイムフレームで実行したい場合は、それを追加する必要があります ...あなたは?

Barsは 信頼できません。Barsを 使うのは良くない考えです。 代わりにTimeを使うべきです。

あなたのスリッページは、4/5桁のブローカー用に調整されていません ... また、あなたのTPまたはSLも調整されていません。

SLを小さくすると、それが近すぎるかどうかをチェックしたり、Spreadを許容しないので、エラー130が発生します。

あなたのブローカーはECNブローカーですか? ECNブローカーで成行注文を出すとき、SLとTPを設定することはできません、あなたは注文が出された後にSLとTPを追加するためにOredrModify()をコードしなければなりません ....

私は続けましょうか? これは基本的な ものです ... これらの点は、毎日、毎日、このフォーラムで出てくる ... ...

そして、あなたが実際に何かをコーディングしていないため、この多くを理解していない ... あなたは他の誰かのコードを使用している ...Expert Advisor Builder " です。 唯一のショートカットがあります。 ジョブズ

 
unclebigpete 2012.05.22 10:19

私はコーディングの初心者ですが、このEAが動いているので、それを開発しようと試み、行き詰ったときにこのフォーラムで助けを求めました。

初心者の私が使えるようなことは何も言わずに、私の努力を馬鹿にするのはいい試みですね。私が助けを求めたから、笑っているのでしょうか?

私はコーディングの専門家になりたいわけでも、なる必要があるわけでもありません。ただ、簡単なエラー(あるいは2つ)を解決するために丁寧に助けを求めると、実際にコードのどこにエラーがあるのかを誰かがアドバイスしてくれると思っただけです。deVriesがここでタイプしたことは、事実上、私の助けにはなりません。なぜなら、言われたことを理解するためには、おそらく何年も勉強・実践・実験しなければならないからです。

皆さんもかつては初心者で、簡単なコードを動作させるために親切な援助が必要だったのではないでしょうか?お願いします。

親愛なるunclebigpete。

気分を害されたのならお詫びします。私はあなたを笑ったのではありません。私は"エキスパートアドバイザービルダー "に笑いましたし、今も笑っています。私は4年前、初心者で、たくさんの愚かな質問をし、 - ヘック、私は今も学んでいます - ここにいくつかのフォーラムでは、私と私のコードを修正し、私はそれを受け入れ、私は同様に他の人のコードから学ぶ - それについてRaptorUKに尋ねる - 彼は最後の日曜日とその歴史のダウンロードの事私を修正しました。

もし、あなたのEAが4時間足で動いているならば、あなたは本当に待つ必要があるのです。一日中、4時間足で6キャンドル/バーしかないのです。もう一つ、あなたは長い間トレードをしていると言っていますが、マニュアルでトレードしていると思いますし、このEAもあなたのストラテジーに基づいていると思います。手動取引は忍耐が必要だと思いますが、このEAも同じです。

あなたはこう言いました。

アンクルビッグペテ 2012.05.22 10:52

Raptorさん、私は努力はしています。私はただ、学習しながらさらに発展させることができる動作するEAが欲しいだけなのです。 このEAが動いていたのに、何かをいじったら 動かなくなった。私はコーディングについて読んできましたが、私はスピードアップするために4年以上持っていません。ここで言われていることは私にとってあまり助けにならないので、ほんの少しの実際の助けをお願いします。

それは、アドバイスが'light it'であるタバコを吸うことを学ぶようなものです!

それから、私の質問は、おっと......、あなたが手を加えたのはどの部分ですか?今、あなたは私たちにその誤りを見つけて修正するように頼んでいます。

後であなたのコードを見てみましたが、.ex ファイルはコンパイルされたファイルなので、役に立ちませんね。

:)

 

なぜ「あなたの」コードが悪いのか、その例を挙げてみましょう。. . .

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket > 0) 
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...

   else                                 // <---  this else is in relation to the OrderSelect,  so when the OrderSelect fails the error stored in GetLastError is updated
      {
      Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error 0 and you will be scratching your head
      } // else 
   } // if(Ticket... 

報告されたエラーは、OrderSelect NOT TheOrderSendに 関連しています ... ...

それはこのように行われるべきです ... ...

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", 
   MagicNumber, 0, DeepPink);
                   
if(Ticket < 0) 
   {
   Print("Error opening SELL order : ", GetLastError());  // <--- this will give you Error that relates to the OrderSend
   } // if(Ticket... 

else                                 // <---  this else is in relation to the if(Ticket < 0)
   {
   if(OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
      Print("SELL order opened : ", OrderOpenPrice());
      if(SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
      } // if(Order...
   } // else 
 
onewithzachy:

おじさんbigpeteさんへ。

気分を害されたのならお詫びします。私はあなたを笑ったわけではありません。私は"エキスパートアドバイザービルダー " で笑っていた、そしてまだ笑っている。私は4年前に初心者だった、愚かな質問の多くを尋ね、 - ひょっとすると私は今も学んでいる - いくつかのフォーラムはここで私と私のコードを修正し、私はそれを受け入れ、私は同様に他の人のコードから学ぶ - それについてRaptorUKに尋ねる - 彼は最後の日曜日とその歴史のダウンロード事を私を修正しました。

私たちは皆、まだ学んでいる最中です......そうでなかったとしても、私たちは皆人間で、間違いを犯すものです......私は特にそうです。 間違いを犯さない唯一の人は、何もしない人だ ... ...

ところで ... ... なぜコードをテストするのを待つのでしょう .... テスターでテストしてください ...戦略テスター です ;-)

理由: