初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 509

 
Aleksey Stukalov:
トレーリングストップの何が問題なのでしょうか?すでに端末に内蔵されています。
試してみればわかる
 

私はプログラミングが苦手なので、EAのコンパイルを手伝ってくれる親切な方、とてもお願いします。

これは、'delete' をコンパイルするときに表示されるエラーです - name expected.

コード内のエラーは赤でハイライトされています

void delete(int type){。

if(OrdersTotal()>0){。

for(i=OrdersTotal()-1;i>=0;i--){。

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(type!=6 && type!=7 && type!=8)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==type)OrderDelete(OrderTicket().OrderTicket();

if(type==6)if(OrderSymbol()==Symbol()&&OrderMagicNumber()==magic&&)です。OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLIMIT)OrderDelete(OrderTicket());

if(type==7)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)OrderDelete(OrderTicket()).OrderTicket()).OrderDelete(OrderTicket());

if(type==8)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)OrderDelete(OrderTicket()).OrderTicket());

}

}

}


以下は別のエラーです '(' - オブジェクトポインタが期待されます。

if(oppositedelete){delete(OP_SELLSTOP);delete(OP_SELLLIMIT);}となります。

そして、ここで'}'- すべてのコントロールパスが値を返すわけではない

int countglobal(){。

int cnt=0;

if(OrdersTotal()>0){。

for(i=OrdersTotal()-1;i>=0;i--){。

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

cnt++です。

}

return(cnt);

}

}

 
Anton Razmyslov:

私はプログラミングが苦手なので、EAのコンパイルを手伝ってくれる親切な方、とてもお願いします。

これは、'delete' をコンパイルするときに表示されるエラーです - name expected.

コード内のエラーは赤でハイライトされています

voiddelete(int type){.

そのような呼び方はできないと書いてあります。 他の名前で関数を呼び出す必要があります。

そして、この「すべての制御パスが値を返すわけではない」というのは、関数がリターンパスを持たず、値を返さないことについて、関数の最後の"}"の前にreturn(0);と書いていることです。

 
Спасибо большое!
 
Tema97:
すべての人に良い午後)モバイルストップロス 用のコードを共有する - 価格を駆動する )))))))))))))))))))))))))))))))))))。ありがとうございました。
//---------------------------------
void Trailing3(int Mag,string Symb,int Dist,int Shag,bool Isp_shag,bool Isp_bezubitok)
  {
   double dist=0,shag;
   if(Digits==3 || Digits==5)
      dist=Dist*10*Point; shag=Shag*10*Point;
   if(Digits==2 || Digits==4)
      dist=Dist*Point; shag=Shag*Point;

   for(int pos=OrdersTotal()-1; pos>=0; pos--)
     {
      int res=OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
      if(OrderMagicNumber()==Mag && OrderSymbol()==Symb)
        {
         if(OrderType()==OP_BUY)
           {
            if(!Isp_shag && !Isp_bezubitok && NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
            if(Isp_shag && !Isp_bezubitok && NormalizeDouble(Bid-OrderOpenPrice(),Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
            if(!Isp_shag && Isp_bezubitok && NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(OrderOpenPrice(),Digits) && 
               NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
            if(Isp_shag && Isp_bezubitok && NormalizeDouble(Bid-OrderOpenPrice(),Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(OrderOpenPrice(),Digits) && NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
           }
         else  if(OrderType()==OP_SELL)
           {
            if(!Isp_shag && !Isp_bezubitok && NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
            if(Isp_shag && !Isp_bezubitok && NormalizeDouble(OrderOpenPrice()-Ask,Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
            if(!Isp_shag && Isp_bezubitok && NormalizeDouble(OrderStopLoss(),Digits)>NormalizeDouble(OrderOpenPrice(),Digits) && 
               NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
            if(Isp_shag && Isp_bezubitok && NormalizeDouble(OrderOpenPrice()-Ask,Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(OrderStopLoss(),Digits)>NormalizeDouble(OrderOpenPrice(),Digits) && NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
           }
        }
     }

  }
//-----------------------------------------------
 
みなさん、こんにちは。MT4をダウンロード、ストラテジーテスターは 2015年12月からしか使えない、ターミナルのポン付けを知ってる人?
 
olleg.1:
皆さん、こんにちは。MT4をダウンロード、ストラテジーテスターが 2015年12月からしか動かない、端末のパッチを当てる方法を知っている人はいますか?
必要な楽器の見積書をダウンロードする。サービス - 見積書アーカイブ。
 
ありがとうございました。
 

みなさん、こんにちは。

入力変数が 範囲内にあるかどうかをチェックする機能をEAに実装する方法を、より簡単で正しい方法で教えてください。例えば、こんな感じです。

a) 10個以上、20個未満

b) 20個以上10個未満

c) など。

ZS: 今のところ、各変数をチェックするための3つの値、switchの場合(より大きい/より小さい/より大きい、ただし以下/以下/以上)と2つの値を持っています。この構築をループさせて、すべての変数を調べればいいんでしょうけど...。この方向性でいいのでしょうか?

 
Антон:

みなさん、こんにちは。

入力変数が 範囲内にあるかどうかをチェックする機能をEAに実装する方法を、より簡単で正しい方法で教えてください。例えば、こんな感じです。

a) 10個以上、20個未満

b) 20個以上10個未満

c) など。

ZS: 今のところ、各変数をチェックするための3つの値、switchの場合(より大きい/より小さい/より大きい、ただし以下/以下/以上)と2つの値を持っています。この構築をループさせて、すべての変数を 調べればいいんでしょうけど...。この方向性でいいのでしょうか?

どの変数をループさせるか?コードを教えてください、またはもっとわかりやすく書いてください
理由: