[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 104

 
kilnart:

をクリックし、買いポジションをオープンします。

正しいようでいて、どこかおかしい。

そして、コードはどこに届くのでしょうか?Commentや Printは何を教えてくれるのでしょうか?
 

ここまでの話です。

if(Low1<Low2 && Open[2]>Close[2])  

それ以上はない。

 
kilnart:

ここまでの話です。

それ以上はない。


では、次にどのような条件が満たされないのか?Commentや Printはどのように伝えているのでしょうか?
 
何を書く必要があるのでしょうか?
 
kilnart: 何を書く必要があるのでしょうか?

このように、Print() を使って、ヒストリカルデータ上で条件が成立しているかどうかを確認します。

double Low1=Low[iLowest(NULL,0,MODE_LOW,3,0)],
              Low2=Low[iLowest(NULL,0,MODE_LOW,20,0)];
//Print("Low1 = ",Low1 ,"Low2 = ",Low2);
         
         if(Low1<Low2 && Open[2]>Close[2])    
          {
            Print("сработал первый if...");
            if(Open[1]<=Close[2] && Open[2]<Close[1])
             {
                 Print("сработал второй if...");
                 double sl=Low[iLowest(NULL,0,MODE_LOW,3,0)],
                        tp=Ask+(Open[2]-Low[2]);
                 OrderSend(Symbol(),OP_BUY,0.1,Ask,3,sl,tp);
                 return;
             }
          }
 

を実行しましたが、何も起こりません。

問題はこの式にある

if( Low1<Low2 && Open[2]>Close[2])  

Low1<Low2 を削除 すると Open[2]>Close[2] が実行され、Open[2]>Close[2] を削除すると、 Low1<Low2 は実行 されない。

 
kilnart:

Low1<Low2が 満たされていない

また、見つかったLow1とLow2は何に相当するのか、見つかったLowestのインデックスは正しいのか。
 
スクリプトで確認したが 数値は合っているはずだ 分からないが うまくいかない
 
kilnart:

スクリプトで確認したら、数字が合ってる。

:)

その通りだと思います。

決めつけないで、見ていてください。

 
を想定せずに、正しい。