[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 624

 
MT4(1つのコンピュータの1つのデモ口座から)を一度に複数回開き、同時に複数のペアでExpert Advisorをテストする方法をどなたか教えてください。片方のペアが終了するまで待って、もう片方のペアに手動でテストを設定する必要がないように?
 
paladin80:
MT4(1つのコンピュータの1つのデモ口座から)を一度に複数回開き、同時に複数のペアでExpert Advisorをテストする方法をどなたか教えてください。片方のペアが終了するまで待って、もう片方のペアに手動でテストを設定する必要がないように?
フォルダを数回コピーする。
 
paladin80:
MT4(1つのコンピュータの1つのデモ口座から)を一度に複数回開き、同時に複数のペアでExpert Advisorをテストする方法をどなたか教えてください。片方のペアが終了するまで待って、もう片方のペアに手動でテストを設定する必要がないように?

このような残酷な行為に、カンツーパーは耐えられるのでしょうか?2人のテスターが並行してCPUに100%負荷をかけている、このパソコンは「インターネットとタイプライター」というカテゴリーでは全くない。
 

こんにちは。

iTimeの 時刻とテスターの時刻(写真)が合わないのはなぜですか?

以下は、そのコードの粗いスケッチである。

int start()
  {
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
    
   int  limit = Bars - counted_bars;
     
     for (int i=limit; i>=0; i--)
     {
       
    tm1=iTime(NULL,PERIOD_D1,i);           //--- Определяю время (Выводит текущую дату. Не совпадает с временем в тестере.)
    int shift=iBarShift(NULL,PERIOD_H4,tm1,false);  //---По этому времени ищем бар
   
    hgh = iHigh(NULL,PERIOD_H4,shift);   //---High бара
    lwo = iLow(NULL,PERIOD_H4,shift);    //---Low бара
          
     flatline("Lev_Up",tm1,hgh,tm2,lwo,Green,1);
     flatline("Lev_Dn",tm1,hgh,tm2,lwo,Green,1);
     }
     
     SetText("Tm1","Tm2",TimeToStr(tm1),TimeToStr(tm1),Red,Blue,12);
     SetText2("Shift",shift,Red,12);
     SetText5("High","Low", hgh,lwo,Red,Blue,12);
           
     //----
   return(0);
  }

 

こんにちは

このコードが取引されない理由を教えてください。

そして、アラートが効かない。

ログは完全に沈黙している...

スクリーンショットでは、条件が合致していることがわかります。

int start()
  {
  double ma= iMA(Symbol(), 0, PerMa, 0, 0, 0, 0);
//----
//GetLot(1, 0.1, 100, 0.1, 10, Symbol());
if (Filtre()=="S" && NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+SL*pip*Digits,Ask-TP*pip*Digits,0,0,0,CLR_NONE);
if (Filtre()=="B" && NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) OrderSend(Symbol(),OP_BUY,0.1,Ask,2,Bid-SL*pip*Digits,Bid+TP*pip*Digits,0,0,0,CLR_NONE);
Comment (Filtre(),"  ",NormalizeDouble(ma, Digits*pip),"  ",NormalizeDouble(Bid, Digits*pip));
if (NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) Alert("!!!!!!!!!!!");


//----
   return(0);
  }
 
MarkTrade:

こんにちは

このコードが取引されない理由を教えてください。

そして、アラートが効かない。

ログは完全に沈黙している...

スクリーンショットでは、条件が合致していることがわかります。

pipが何に相当するかを確認します。NormalizeDouble関数の第2パラメータは、小数点以下の桁数(整数)と同じでなければなりません(価格を比較する場合は、通常単にDigitsと記述します)。
 
atztek:

experts」フォルダにファイルがあり、Custom Indicatorを起動するたびにコピーする必要があります。

- コードからファイルをコピーすることは可能ですか?可能な場合、どのように?

ありがとうございました。


MQLを使用する場合、expertsfilesフォルダ内のみ。
 
Fox_RM:

こんにちは。

iTimeの時刻とテスターの時刻(写真)が合わないのはなぜですか?

以下は粗いコードスケッチです。

iTime関数は、testerhistoryフォルダ内のファイル(tamframeごとに)からi番目のバーを取得します。おそらく、D1とH1の履歴ファイル(最後のバーが1月13日に対応)は、古い実行からそこに眠っています。
 
alsu:
pipが何に等しいか確認します。NormalizeDouble関数の第2パラメータは、小数点以下の桁数(整数)と同じでなければなりません。通常、価格を比較する場合はDigitsと書きます。 。

if (Digits == 3||Digits==5) pip=10; else pip=1;

は、4桁または2桁に正規化するためです。(引用符が5桁の場合)

正規化された値がコメントで 表示され、スクリーンショットではそれらが等しいことが確認できる。それで、条件は満たされているのに、まだ注文が開けない...。

おお!ログにアラートが表示されましたが、注文は開きませんでした。

 
MarkTrade:

if (Digits == 3||Digits==5) pip=10; else pip=1;

は、4桁または2桁に正規化するためです。(引用符が5桁の場合)

正規化された値がコメントで表示され、スクリーンショットではそれらが等しいことが確認できる。それで、条件は満たされているのに、まだ注文が開けない...。

おお!ログにアラートが表示されましたが、注文は開きませんでした。


なぜ「4桁または2桁に正規化」するのか、その理由を教えてください。(引用符が5桁の場合)」?5桁や3桁も、そのまま使えるはずなのですが...。
理由: