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

 

deVries、もしあなたがわめき散らすのをやめて、私が始めたコードがなぜそんなに「悪い」のか説明してくれたら、それを修正するために何ができるかを理解できるかもしれません。あなたの回答をもう一度読んでから、あなたの回答がどのように誰かの役に立つのか説明してください。

RaptorUKさん、ありがとうございます!やっと使える回答が来ました。

説明しますと、私はこのEAを1度に1ペア、1トレードだけ実行させたいのです。先ほど「...そして、同じMT4プラットフォーム上の5つのペアチャートにそれぞれ1つずつ配置...」と言ったように、5つの別々の(?)チャートにそのEAを配置することになります。この段階では、マジックナンバーを確認 する必要はないですよね?

バーについてのコメント、ありがとうございます。

スリッページ、4/5ブローカーなど、この段階では重要ではありませんね?同じブローカーで、自分用に使っています。

 
そして、付け加えるのを忘れていましたが、私は近道を求めているわけではなく、問題を乗り越えるための手助けを求めているのです。
 
すみません、どういうわけか他の回答を見逃していたので、「暴言」コメントで申し訳ありません。そして、実際の支援に感謝します。

そして、私はそれをテストし、それはうまく動作し、エラーや警告はありません。 では、なぜライブチャートで動かないのでしょうか? (上記の提案をまだ実行していません。)
 
unclebigpete:

1.この段階では、マジックナンバーを確認する必要はありませんね?

2.Re the slippage, 4/5 brokers etc, at this stage that doesn't matter, does it ?私は同じブローカーなどで、自分自身のためにこれを使用しています。

1.もし、同じペアでマニュアルトレードをすることがない のであれば、Magic Numbersはなくても大丈夫です。もし、このEAを走らせているペアの一つでマニュアルトレードをすることを忘れてしまったら、EAはマニュアルトレードも管理します。

2.例えば、あなたが投稿したコードでは、スリッページが3になっています ... 5桁のブローカーでは、これは0.3ピップのスリッページに相当します ... もしあなたが正しくコーディングすれば、3は4桁または5桁ブローカーで常に3ピップを意味し、エラーの可能性は少なくなります。正しくコード化しないことは、長い目で見れば、おそらく時間を浪費する近道です。

 
unclebigpete:

そして、私はそれをテストし、それはうまく動作し、エラーや警告はありません。 では、なぜライブチャートで動かないのでしょうか? (私はまだ上記の提案を実装していません)
どこでテストしたのですか?ストラテジーテスターで? どこでエラーを探したのですか?
 
はい、ストラテジーテスターで テストし、コンパイルしたところ、「エラーなし、警告なし」の 回答が得られました。
 

iCustomの最初のパラメータは<string Symbol>で、ゼロの代わりにSymbol()かNULLを使ってください。

MetaEditor > ナビゲータウィンドウ (Ctrl +D) > dictionary tab >Technical indicator> iCustom

int QQE_4hr    = iCustom( Symbol(), 240, "c_QQEA",  SF,     RSI_Period,    DART_Factor,     0, 1 );
int QQE_4hr_2  = iCustom( Symbol(), 240, "c_QQEA",  SF,     RSI_Period,    DART_Factor,     0, 2 );

4時間足チャートでシフト1と2を使用しているとのことですが、これはかなり長くなりそうですね。

先ほどのオーダーセレクトは、 このように書きます。

MetaEditor > ナビゲータウィンドウ(Ctrl +D) > 辞書タブ > 取引関数 > OrderSelect()

for(int i=0; i<Total; i++)
     {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
        {

そのOrderSelect()については、また書きますね。

オーダークローズは2つありますが、両方ともこのように書きます。

MetaEditor > ナビゲータウィンドウ(Ctrl +D) > 辞書タブ > 取引関数 > OrderClose()

OrderClose(OrderTicket(),
           OrderLots(),
           OrderClosePrice(),//Bid,
           Slippage,
           MediumSeaGreen);

RaptorUKさんとは別の方法ですが、同じ結果になります。

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... // ==>> moved from below 
     } // if(Ticket...   
     else
     {
     Print("Error opening SELL order : ",
           GetLastError());
     } // else
   } ==>> move this parenthesis up there

お楽しみに

:)

 
unclebigpete:
ストラテジーテスターでテストし、コンパイルしたところ、「エラーなし、警告なし」の 回答が得られました。
OK、ではコンパイル時のエラーはないのですね ......ストラテジーテスターで 実行した時のエラーはどうですか? もう一度実行し、Journalタブをご覧ください。. .
 

17/05から22/05までaudnzdで実行したところ、3つのトレードを開き、2つの買いがストップアウトし、1つの売りがテスト終了時にクローズしました。

以下はジャーナル情報、トップラインからです。

2012.05.22 21:38:51 QQE-4hr_15min- testing-2205: ロードに成功しました。

2012.05.22 21:38:53 QQE-4hr_15min- testing-2205 inputs:MagicNumber=0; Lots=1; Slippage=3; StopLoss=300; TakeProfit=1000; TrailingStop=300; Nbr_Period=10; Multiplier=3;

2012.05.22 21:38:53 2012.05.17 00:00 c_QQEA AUDNZD,H4: 正常にロードされました。

2012.05.22 21:38:53 2012.05.17 00:00 c_QQEA AUDNZD,M15: 正常にロードされました。

2012.05.22 21:39:13 2012.05.17 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: open #1 buy 1.00 AUDNZD at 1.29960 sl: 1.29660 ok

2012.05.22 21:39:13 2012.05.17 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: BUY order opened : 1.2996

2012.05.22 21:39:13 2012.05.17 18:32 テスター:ストップロス#1@1.29660 (1.29660 / 1.29698)

2012.05.22 21:39:15 2012.05.18 20:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: open #2 buy 1.00 AUDNZD at 1.30386 sl: 1.30086 ok

2012.05.22 21:39:15 2012.05.18 20:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: BUY order opened : 1.3039

2012.05.22 21:39:15 2012.05.18 23:09 テスター:ストップロス#2 1.30086 (1.30083 / 1.30121)

2012.05.22 21:39:16 2012.05.21 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: open #3 sell 1.00 AUDNZD at 1.29739 sl: 1.30039 ok

2012.05.22 21:39:16 2012.05.21 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4:SELL order opened : 1.2974

2012.05.22 21:39:17 2012.05.21 23:59 テスター:注文番号3がクローズされました。

2012.05.22 21:39:17 2012.05.21 23:59 c_QQEA AUDNZD,M15: 削除されました。

 
あなたのスリッページが問題かもしれません。バックテストではスリッページを使用しない。MetaTrder4 のテスト機能と制限を読むhttps://www.mql5.com/en/articles/1512