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

 
TarasBY:

インジケーターの呼び出しで1つの変数が欠けています - バッファ!!!!


うまくいってますね、ありがとうございます。
 

目利きの方に質問です。

実際のチャートにはコードがあり、コメントは正しいのですが、Strategy Testerではすべての値が2147483647に等しくなっています。

ここで何が問題なのか?

それとも、EMPTY_VALUEを チェックに加えるべきでしょうか?

また、指標から得られたデータを5桁で比較する場合、必ず正規化する必要があるのでしょうか?

double adxLastBuy,adxLastSell,adxLast;

for (int i=0; i<Bars; i++)
{
   adxLastBuy=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,0,i); if (adxLastBuy>0) break;
   
}
for (int j=0; j<Bars; j++)
{
   
   adxLastSell=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,1,j); if (adxLastSell>0) break;
}

for (int k=0; k<Bars; k++)
{
   adxLast=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,0,k); if (adxLast>0) break;
   adxLast=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,1,k); if (adxLast>0) break;
}



 Comment("Цена последнего ADX Покупки: ", adxLastBuy, " Цена последнего ADX продажи: ", adxLastSell, " Последний сигнал ", adxLast );
 
Twilight:

目利きの方に質問です。

実際のチャートにはコードがあり、コメントは正しいのですが、Strategy Testerではすべての値が2147483647に等しくなっています。

ここで何が問題なのか?

それとも、EMPTY_VALUEをチェックに加えるべきでしょうか?

また、指標から得られたデータを5桁で比較する場合、必ず正規化する必要があるのでしょうか?

iCustomを使用 する場合は必須です。ようなものです。
if(signal!=0 && signal!=EMPTY_VALUE){
   BuySignal=true;
}
 
うーん......問題もあります......ビープ音がNews.wavコードに設定されているように聞こえることがありますが、Alert.wavが鳴ることが多いんです。

#property copyright "Copyright © 2012"
#property link      "Не ссать  против ветра "
 
 extern bool       Будильник      = true ;
 extern string SoundFile      =  "News.wav";
 
int start ()                                  
{
 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 
if (Будильник ==true)
{

  {
 if ( a > b ) 
       
 {  
  Alert("BUY
  PlaySound(SoundFile);
  Sleep(100000);
  }
 }
}


return(0);}
 
odiseif:
うーん......問題もあります......ビープ音がNews.wavコードに設定されているように聞こえることがありますが、Alert.wavが鳴ることが多いのです。

どこがエラーなのか、教えていただけませんか?
 

EAのコードを2~3行で実装する方法を教えてください。

シグナルが入ったとき(2つのMAが交差したときなど)

1.Expert Advisorは、シグナルの時間(時間、分)を決定し、それを保存します。

2. 1分間カウントダウンします。

次に、何かをする準備(例:注文を開くなど)
 
Twilight:

目利きの方に質問です。

実際のチャートにはコードがあり、コメントは正しいのですが、Strategy Testerではすべての値が2147483647に等しくなっています。

ここで何が問題なのか?

それとも、EMPTY_VALUEをチェックに加えるべきでしょうか?

また、指標から得られたデータを5桁で比較する場合、必ず正規化する必要があるのでしょうか?

インジケータバッファには、「空値」という概念があります。デフォルトでは)EMPTY_VALUEに等しいが、SetIndexEmptyValue()関数で変更することが可能である。この値は、バッファがチャートに描画しない値です(描画する場合)。必要であれば、欠落している値を確認する必要がある。
 
odiseif:
んー......問題もある......ビープ音がNews.wavコードのように聞こえることもあれば、Alert.wavを鳴らすこともあるんだ

ナンセンスなことが書かれています。

 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0);

iCustom() についてお読みください。

 
Andrey-F:

EAのコードを2~3行で実装する方法を教えてください。

シグナルが入ったとき(2つのMAが交差したときなど)

1.Expert Advisorは、シグナルの時間(時間、分)を決定し、それを保存します。

2.カウントダウン1分。

次に、何らかのアクションを行うための準備(例:注文を開くなど)。

グローバル変数 には、信号を受信した瞬間の時間値を書き込みます。

    if (Signal) gdt_TimeSignal = TimeCurrent();

と言って、1分間をカウントダウンする(これならできる)。

    if (gdt_TimeSignal != 0) if (iBarShift (NULL, 1, gdt_TimeSignal) == 1)
    {
        //---- Открываете ордер
        OrderSend ();
        gdt_TimeSignal = 0;
    }

これは、イベントが発生した後の時間を追跡するための1つのソリューションです。

 
TarasBY:

グローバル変数に、信号が発生したときの時刻値を書き込む。

と言って、1分間をカウントダウンする(というのもありですね)。

これは、何らかのイベントが発生した後の時間を追跡するための1つのソリューションである。



または、信号が到着した後の任意の時間を設定することができます
if (Signal) gdt_TimeSignal = TimeCurrent();
//
//
//
if (TimeCurrent()-gdt_TimeSignal >=60)
     {
     //
     }