// it is important to enter the market correctly, // but it is more important to exit it correctly... for( cnt=0; cnt< total; cnt++){OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES);if(OrderType()<=OP_SELL&&// check for opened position OrderSymbol()==Symbol())// check for symbol{OrderSend(if(OrderType()==OP_BUY)// long position is opened{// should it be closed?if( ma_close< ma_open && ma_close_pr> ma_open_pr && low_n< low){OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);// close positionreturn(0);// exit}// check for trailing stopif( 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( ma_close> ma_open && ma_close_pr< ma_open_pr && high_n> high){OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);// close positionreturn(0);// exit}// check for trailing stopif( 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);}// the end.
ありがとうございました。ここに もう少しありました。もしかしたら誰かが必要としているかもしれません。グレイルを完成させに行く:)
Если массив double а нужен int? Я правильно понял?
いいえ、私はMT4がソケットを介して他のアプリケーションとリンクするように書いています。Socket関数はint型の配列を返します。
このDLLをEAにインポートしています。ただし、この関数を呼び出すには、Expert Advisor で宣言する必要があります。
上記の宣言はおそらく正しくありません。DLL の関数は配列を返し、Expert Advisor で宣言された関数は 1 つの int を返します。
Expert Advisorで、単一の数値ではなく、配列を返すように宣言するにはどうすればよいですか?
誰がわかる?
例えば、Bid=1.3988をBid=1.398と指定するように、数値を丸めずに、指定した精度形式で変数doubleを指定するにはどうしたらよいでしょうか?
Кто знает?
Как указать переменную double в указаном формате точности без округление числа, к примеру Bid=1.3988 указать как Bid=1.398 ???
このように?
すべて解決、答えはここにある https://forum.mql4.com/ru/25945
助けてください・・・。
\プログラム終了」 - アンバランスな左括弧
第2部
Necron скобку где то не закрыл, ищи...
正しいコードで追記を行いましたか?