いちもくせんりゃく - ページ 2

 

コーディングを少し「単純化」し、ストラテジーテストを 開始しました。

//+------------------------------------------------------------------+
//|                                              ICHIMOKU_SIMPLE.mq4 |
//|                      Copyright © 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern double Lots = 1.0;
extern double Tenkan = 9;
extern double Kijun = 26;   
//----
int start()
   {
   double tenkan_sen;
   double kijun_sen;
   int ticket;
  
// check for long position (BUY) possibility
      if(tenkan_sen>kijun_sen)
         {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+Point,"ichimoku",16384,0,Green);
         if(ticket>0)
            {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
            }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
         
         }   //  added by RaptorUK
            
   // SELL 
     {
      OrderSelect(SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL && // check for opened position 
         OrderSymbol()==Symbol()) // check for symbol
         {
         if(OrderType()==OP_BUY) // long position is opened
            {
            // should it be closed?
            if(tenkan_sen<kijun_sen)   //  removed surplus (  RaptorUK
               {
               OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
               return(0); // exit
               }
            }
         }
      }
  return(0);
   }

ストラテジーテストでは、モデリング品質は90%で、ジャーナルにエラーはありません。

ジャーナルによると、2012.01.18 20:29:44 ICHIMOKU_F1 GBPCHF,H1: ロードに成功しました。
2012.01.18 20:29:47 ICHIMOKU_F1 入力です。Lots=1; Tenkan=9; Kijun=26。

しかし、取引が行われず、結果も出ていません。

コードに問題があるのでしょうか?

 
RaptorUK:

これらの変数を初期化しても、値を与えてはいけない.. .

そのため、テストは常に偽になります。 このEAが注文を出すことはありません。

あなたは私の以前の投稿を見逃しましたか?
 
そうなんですね、失礼しました。でも、この場合、天底線と基軸線は注文が開くたびに違う値になるのですから、ちょっと異常ではないでしょうか。ということは、確かにこれは値が出せないということでしょう。天底線が機上線より高いという性質だけは、注文を出すたびに同じになるはずです。
 
ToBa:
そうだと思います、失礼しました。しかし、この場合、天底線と基軸線は注文を出すたびに違う値になるのですから、ちょっと異常ではないでしょうか。

しかし、あなたは新しいバーごとに変化する値を取得していません ... あなたは変数を宣言し、それらを設定しない ... 彼らは決して変化しないので、あなたは彼らが魔法で変わると期待したのですか?

 
ToBa:

コーディングを少し「単純化」し、ストラテジーテストを開始しました。

ストラテジーテストでは、モデリング品質は90%で、ジャーナルにエラーはありません。

ジャーナルによると、2012.01.18 20:29:44 ICHIMOKU_F1 GBPCHF,H1: ロードに成功しました。
2012.01.18 20:29:47 ICHIMOKU_F1 入力です。Lots=1; Tenkan=9; Kijun=26。

しかし、取引が行われず、結果も出ていません。

コードに問題があるのでしょうか?


"simplified "なぜこのように...。

もし、tenkan-senとkijun-senに値を取得するための正しいコードを与え、それを以下のように記述した場合、tenkan-sen>kijun-senとなります。

であれば、tenkan_sen>kijun_senのティック ごとに新しいトレードを取得することになります。

何回トレードを開始したいですか?

 
deVries:


"簡略化" なぜこの方法なのか...。

もし、tenkan-senとkijun-senに正しいコーディングを施してその値を取得し、次のように記述します。

とすると、tenkan_sen>kijun_senのティックごとに新しいトレードを取得することになります。

何回取引したいんだ?


天底線が機上線より大きくなったらすぐに1つの新規注文(1.0ロット)を出し、天底線が機上線より小さくなるまでポジションを保有することを目的とするものである。
 
ToBa:

天底線が機上線より大きくなったらすぐに1つの新規注文(1.0ロット)を出し、天底線が機上線より小さくなるまでポジションを保有することを目的とするものである。
この数値はどこから得ているのですか?
 
RaptorUK:
これらの値はどこから取得するのでしょうか?
というのがよくわかりません。MACDの 例では、 if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
) でよさそうでしたよ。

MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious) と値が与えられていない。

 
OK、やっと意味がわかりました。でも、どうやって値を取り出すのか、手がかりがないんです。
 
ToBa:
OK、やっと意味がわかりました。でも、どうやって値を取り出すのか、手がかりがないんです。
よかった、それは進歩です :-)