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

 
Dimka-novitsek:
すみません、デリミタって何ですか?


フルストップとコンマです。まあ、リストの区切り文字がカンマとセミコロンで違うんですけどね。

正しいデリミターでインポートしてみて ください。または、地域設定を正しい区切り文字でやり直す。グッドラック

 
ありがとうございます!!!! そう、そこに点がある。 また、地域設定を正しい区切り文字に変更するにはどうすればよいのでしょうか?
 
Ganzillaのソフトウェアは、どのような順番でインストールすればよいのでしょうか。それとも、適切なスレッドに投稿したほうがいいのでしょうか?
 
Dimka-novitsek:
ありがとうございます!!!! そう、そこに点がある。 また、地域設定を正しい区切り文字に変更するにはどうすればよいのでしょうか?
なぜ地域設定に触れるのか?だから、一度しか設定しないので、地域限定なのです。設定はEXCELで行います。また、FACも確認することができます。このセパレーターについては、最後の投稿にありますね。
 

ありがとうございます!!!

申し訳ありませんが、これらのデリミターに関する最後の投稿の一つへのリンクを教えてください !

ググったり、Yandexで調べたり、Home-number-numberフォーマットで数値フォーマットを適用してみたりしましたが、何も起こりませんでした。400ドットを手動でザパティに上書きしないでくださいパワフルでクレバーで優秀、でもダサい!

うっ、採掘しちゃった!?

 
Dimka-novitsek:

ありがとうございます!!!

申し訳ありませんが、この仕切りに関する最後の投稿のリンクを教えてください !

https://www.mql5.com/ru/forum/131853/page5
 
ありがとうございます!!!
 

簡単な質問ですが、複数の注文をクローズすることの本質がまだ理解できていません。)

コードの最初のバリエーションが2番目と同じように動作する理由を教えてください(最初のバリエーションでは、select_by_posを介してすべての4つのオープントレードが0番目のインデックスを介して閉じられたが、2番目では、1番目の2番目の3番目と4番目です)。

というのも、すべての例はいくつかの切り捨てられたものであり、マニュアルにはその使用例がまったくないからです)。

MQL4でのプログラミングのビデオチュートリアルが充実していますよ(笑)。

OPTION 1 (このバリエーションでは、4つの未決済注文はすべてテスト中にクローズされましたが、クローズ時に4つの注文はすべてインデックス0で選択されました。).


OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);

OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL)を実行。

if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)
{
OrderClose(OrderTicket(),OrderLots(),Bid,5).となります。)
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);

}

2nd OPTION (こちらも4トレード全てクローズしましたが、Index 1,2,3,4):


OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);

OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL)を実行。

if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)
{
OrderClose(OrderTicket(),OrderLots(),Bid,5).となります。)
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);

}


 

こんばんは、多通貨MACD Expert Advisorの件でご相談です。EAはポジションのオープン 基準に正しく従いますが、「条件付き」クローズは機能しません。確かにトレーリングストップを使うようになったが、正しい終値では休みにならない。

//+------------------------------------------------------------------+
string lSymbol;
int init ()
{ 
 lSymbol = Symbol();
 return (0);
}
int deinit()
{return(0);}
int start()
  {
   double MacdCurrent, MacdPrevious, SignalCurrent;
   double SignalPrevious, MaCurrent, MaPrevious;
   double bid, ask, point, digits;
   int cnt, ticket, total;
   
  total = SymbolOrdersTotal (lSymbol);
  
  if (total<1);
  {
    bid   = MarketInfo(lSymbol,MODE_BID);
    ask   = MarketInfo(lSymbol,MODE_ASK);
    point = MarketInfo(lSymbol,MODE_POINT);
    digits= MarketInfo(lSymbol,MODE_DIGITS);

主要部分はこんな感じです。

 for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==lSymbol())  // check for symbol
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            // should it be closed?
            if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
               MacdCurrent>(MACDCloseLevel*point))
                {
                 OrderClose(OrderTicket(),OrderLots(),bid,3,Violet); // close position
                 return(0); // exit
                }
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if(bid-OrderOpenPrice()>point*TrailingStop)
                 {
                  if(OrderStopLoss()<bid-point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),bid-point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else // go to short position
           {
            // should it be closed?
            if(MacdCurrent<0 && MacdCurrent>SignalCurrent &&
               MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*point))
              {
               OrderClose(OrderTicket(),OrderLots(),ask,3,Violet); // close position
               return(0); // exit
              }
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-ask)>(point*TrailingStop))
                 {
                  if((OrderStopLoss()>(ask+point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),ask+point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                }
              }
           }
        }
     }
   return(0);
  }
  
   
  int SymbolOrdersTotal(string lSymbol)
{
   int Res=0;
   int total=OrdersTotal();
   for (int i=0;i<total;i++) 
   {
      if (OrderSelect(i, SELECT_BY_POS))
      {
         if (OrderSymbol()==lSymbol)
         {
            Res++;
         }
      }
   }
   return(Res);
}
// the end.

そして、これは近いブロックです。エラーを発見するために助けてください

 
Vinin:

ディレクトリは存在するか?


はい、両方ともExpertフォルダに...。とテスターフォルダ内にあります。

が、スクリーンショットはまだうまくいきません。