[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 756

 
ToLik_SRGV:

Ilyaさん、見てみますが、なぜ配列に文字列型があるのか、よくわかりません?

今のところ作業用バリアントです :)

実は、はっきりさせておきたいことがあるんです。

mqlにもcと同じような「構造」があるのでしょうか?

極値形成の日付と時間、極値そのものの値など、異なるタイプのデータを配列に格納する必要があります。

したがって、私は明確にしたかったのですが、文字列を 日付と時間に変換する 標準的な関数があるのでしょうか?あるいは、どうすればこの状況を回避できるのでしょうか?

 

このZZを飲んで、心配しないでください。

ファイル:
zigzag2_r_.mq4  10 kb
 
Morzh09:

何度も申し訳ないのですが、どうしても理解したいので......。


すぐに目についたのは、あなたの配列 Number_of_extremum[] がそれぞれどこにも初期化されておらず、データを格納するためのセルもなく、そこに min/max を書き込もうとしていることです(もちろん、常に 0 で終わります)。 このオプションを提案します - K 変数に依存して配列のサイズを 動的に変更するのです。

        
   }
   
//====================================================  

   ArrayResize(Number_of_extremum, k);
   
   for (int u=0;u<k;u++)//
   {
      if (StrToDouble(TimeSave1[u+1][1])<=StrToDouble(TimeSave1[u][1]))
      {
         Number_of_extremum[u]=1;// значит под номером u - нашли min
      }
      else
      if (StrToDouble(TimeSave1[u+1][1])>=StrToDouble(TimeSave1[u][1]))
      {
         Number_of_extremum[u]=2;// значит под номером u - нашли max
      }
   }
   
//====================================================   

ロジックのどこかにまだバグがあると思いますが、動作しているようです。時々、数字が連続しないようになるのですが、2つの連続した最大値はありえるのでしょうか?

 
ToLik_SRGV:

最終的に何を実現したかったのでしょうか?

私の計算が正しければ
1000*60*(240+1)*1000 = 14 460 000 秒。

167日間、テスターが刻々と変化するたびに一時停止させるのか?

間についてですが、数ページ前にも 言いました。

ありがとうございます、だいたい合ってますね、テスターではスリープが効きません。このありえないほど長い遅延は、睡眠が全く機能しないかどうかを確認するために設定したものです。
 

こんにちは。アービトラージ戦略があるが、完璧なのか?つまり、それで負けるのは非現実的なのか、それとも価格が適切なレベルに達しないことがあるのか。

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

 
Swetten:

MT4のウィンドウの最大数は?

3x19のウィンドウを開く必要がありましたが、54(と思う)で終了です。

すなわち、ウィンドウは描画されるが、以前の(バックグラウンドにある)ウィンドウのスクリーンショットがある。

そして、それだけです。

ビデオメモリが足りないときに起こる...。
 

エキスパートアドバイザーにどのようなコードを追加すれば、少なくとも20ピップの利益の後にブレークイーブンで停止し、それ以上移動しないようになるか、アドバイスをお願いします。

ご意見をお聞かせください。

 

3本の平行な水平線、すなわちチャネルのようなものからなるインジケータがあれば教えてください。例えば、ある水平な線を引いて、それをある高さに置き、ある(与えられた)点数の後にこの線から他の線を平行に引いているとする。あらかじめご了承ください。

 

テスターでは、Expert Advisorが選択した期間中に5つの注文をオープンします。

OrderSend(Symbol(),OP_BUY, Lots,Ask,3,Ask-10*Point,0,", 0,0,Blue); を10に置き換えて15にすると、5つのうち4つの注文が開き、10を20にすると、3つしか開きません。同時に

ストップロスで決済された負け注文のみ。エラーメッセージは 表示されません。その理由を教えてください。

そして、この分岐にも入らないという感じです。

if (OrdersTotal()!=0) {
   if (OrderType()==OP_BUY && stochMain0<stochSIGNAL0) CLOSEORDER("Buy");     
   if (OrderType()==OP_SELL && stochMain0>stochSIGNAL0) CLOSEORDER("Sell");  
}
else {
   double MA0 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,0);   
   double MA1 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,Shift);   
   double MA2 = iMA(NULL,timeframe,Period_MA,0,MODE_SMA, PRICE_OPEN,Shift*2); 
   if (MA0>MA1-razn1 && MA1>MA2-razn1 && MA0<Ask)    
      if(stochMain0>stochSIGNAL0 && stochMain_1>stochSIGNAL_1 && stochMain_4<stochSIGNAL_4) {
         //OPENORDER ("Buy");
         OrderSend(Symbol(),OP_BUY, Lots,Ask,3,Ask-10*Point,0,"", 0,0,Blue);
      }
   else if (MA0+razn1<MA1 && MA1+razn1<MA2 && MA0>Bid)     
      if(stochMain0<stochSIGNAL0 && stochMain_1<stochSIGNAL_1 && stochMain_4>stochSIGNAL_4)  //   
         {OPENORDER ("Sell");  }
}     
ファイル:
stoch_1.mq4  7 kb
 
profitinvesting:

エキスパートアドバイザーにどのようなコードを追加すれば、少なくとも20ピップの利益の後にブレークイーブンで停止し、それ以上移動しないようになるか、アドバイスをお願いします。

ご意見をお聞かせください。

すべてのオープンポジションの 合計利益が必要なのか、それとも20ポイントの利益に達したときにそれぞれのポジションにストップをかけたいのか?