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

 
evillive:
質問:ビジュアルテストモードでは、インジケータの線はテストの最後にのみ描かれます。

全部

https://www.mql5.com/ru/forum/131853/page2#463027

 
アルパリ・アドバイザーで損切りと持ち越しの注文を正しく出す方法をアドバイスする(コード)
 
link1:
アルパリ・アドバイザーで損切りと持ち越しの注文を正しく出す方法をアドバイスする(コード)

EA(コード)でFSTとTPを使った注文を正しく開く方法をご存じですか?
 
zxc:

他の証券会社で「損切りや手仕舞いのある注文を正しく出す」方法をご存知でしょうか?

また、アルパリで注文を出すのと、オアンダや他の証券会社で注文を出すのとでは、何が違うのでしょうか?
 
zxc:

他の証券会社で「損切りや手仕舞いのある注文を正しく出す」方法をご存知でしょうか?

他の証券会社ではEAが動くのにアルパリでは動かない、だから聞いているのですが、もしかして何か特殊なことがあるのでしょうか?
 
link1:

他の証券会社では、私のEAが動作して良い感じなのですが、アルパリでは動作しないのです。


ここからが本題です。ターミナルで、手動で注文を出すと、すぐにストップを入れられるのでしょうか?

注文の種類はどこに書いてあるのですか?即時執行か、市場執行か?

 
zxc:


ここからが本題です。ターミナルで、手動で注文を出すと、すぐにストップを入れられるのでしょうか?

注文の種類はどこに書いてあるのですか?即時執行か、市場執行か?


アルパリの場合、成行 注文だとSLやTPが入れられないので、保留注文の場合のみ、マイクロのようなデモ口座で行うことができます。

私もこの問題に注目し、SLとTPをSLなしで配置し、その後、EAを修正し、SLとTPを設定することにしました。

しかし、どのように修正すればいいのでしょうか?)) どこかのEAの改造を真似たのですが、コードにエラーはなく、コンパイルできません。 正直、チュートリアルに改造の記事やトレーリングストップの例がありません。 言語を学び始めたばかりで、初めてのEAなので、オーダーの改造がうまくできません.........。

また、5桁の数字に問題があるのではと思うのですが、いかがでしょうか?

 

これはどうでしょう?そして、ほぼ同じ要領でテイクプロフィットにも...。

for(int i = 0; i < total; i++)

     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {

                  if(OrderStopLoss()==0)
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                   }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {

                 if(OrderStopLoss()==0)
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                  }
            }
         }
     }

このサイクルではストップロス注文を一切変更することはできず、ストップレベルに達した時点で注文をクローズします。DCの場合、注文はストップロスなしのように見えますが、ストップロスレベルを通過した時点でEAによって明確にクローズされます(sl変数)。

   for(int i = 0; i < total; i++)
     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {
               if((OrderOpenPrice()-Ask)<Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Aqua);
                 }
               if((Bid-OrderOpenPrice())>Point*(ts+minp)) //trail
                 {
                  if(OrderStopLoss()<(Bid-Point*ts))
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,OrderTakeProfit(),0,Orange);
                   }
                 }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {
               if((Bid-OrderOpenPrice())>Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Magenta);
                 }
               if((OrderOpenPrice()-Ask)>Point*(ts+minp)) //trail
                {
                 if(OrderStopLoss()>(Ask+Point*ts))
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,OrderTakeProfit(),0,Orange);
                  }
                }
            }
         }
     }
 
2次元の配列[ticket][opening price]を作りたいのですが、int型かduble型のどちらで宣言 すればいいのでしょうか?
 
dmmikl86:
2次元配列[ticket][opening price]を作りたいのですが、int型とdub型のどちらで宣言すればいいのでしょうか?

オープニングプライ スは2倍