[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 529

 
001:
テスト中にパラメータを最適化するオートオプティマイザーがあるかどうか教えてください。アイデアを確認しなければならない。
もっと身近なところでは、私たちのサイトにもあります。
また、検索というものがありますが、これは対象が名指しされた単語を検索エンジンに挿入することです。
http://www.google.ru/search?as_sitesearch=mql4.com&as_q=автооптимизатор
 

EAで保留中の注文を 23:00に自動削除するように正しく指定する方法を教えてください。

このオプションはエラーになります。

  datetime Tim=D'23:00';
   int    Cur_Hour=Hour();             // Серверное время в часах   
   double Cur_Min =Minute();           // Серверное время в минутах   
   double Cur_time= Cur_Hour + Cur_Min/100; // Текущее время   
   if (Cur_time>=20.00&&Cur_time<=20.00&&order==false)
  {

ticket=OrderSend(Symbol(),OP_BUYLIMIT,0.1,Bid-Spread,2,Bid-Spread-SL,Bid, Tim);
 
Andreev:

EAで保留中の注文を23:00に自動削除するように正しく指定する方法を教えてください。

このオプションはエラーになります。


int Tim=iTime(NULL, Period_D1,0)+23*60*60;
ticket=OrderSend(Symbol(),OP_BUYLIMIT,0.1,Bid-Spread,2,Bid-Spread-SL,Bid, Tim);
こんな感じ
 
dmmikl86:

数年前からプログラマーとしては素人、インジケータを他の言語から書き直したら、オーバードローで躓いたんだ。

初心者の私は、インジケータを別の言語で書き換えています。


むしろ、インジケータをファイルにしてほしい。誰も1つのファイルに断片を貼り付けようとはしない
 
Andreev:

このオプションはエラーになります。

int Tim;
   int    Cur_Hour=Hour();             // Серверное время в часах   
   double Cur_Min =Minute();           // Серверное время в минутах   
   double Cur_time= Cur_Hour + Cur_Min/100; // Текущее время   
   if (Cur_time>=20.00&&Cur_time<=20.00&&order==false)
  { Tim=TimeCurrent( )+ (23-Cur_time)*3600

ticket=OrderSend(Symbol(),OP_BUYLIMIT,0.1,Bid-Spread,2,Bid-Spread-SL,Bid, Tim);


こんな感じ。
 
Vinin:

こんな感じ

エラーが出ます。


2011.07.19 18:56:15 2011.07.18 20:00 リターン EURUSD,M1: OrderSend error 4062
2011.07.19 18:56:15 2011.07.18 20:00 【リターン】OrderSend 関数の コメントパラメータは、文字列でなければならない。

 
alexshell:

そういうことなんです。

なぜか同じエラーが出ます。注文からTim機能を削除するとうまくいくのですが、23時以降に開く取引もあります。これを制限するためにはどうしたらいいのでしょうか?
 
Andreev:

エラーが発生しました。


2011.07.19 18:56:15 2011.07.18 20:00 リターン EURUSD,M1: OrderSend error 4062
2011.07.19 18:56:15 2011.07.18 20:00 【リターン】OrderSend 関数のコメントパラメータは、文字列でなければならない。


すみません、確認せずにあなたのバージョンを編集してしまいました

 ticket=OrderSend(Symbol(),OP_BUYLIMIT,0.1,Bid-Spread,2,Bid-Spread-SL,Bid, "",0,Tim, CLR_NONE);
 
Vinin:


すみません、確認せずにあなたのバージョンを編集しました。


本当にありがとうございました!!!効くんです :)
 

こんばんは!!アラート機能についての質問です。大きな真ん中の塊がないロボットと、たくさんのHがあるロボットを紹介します。

//+------------------------------------------------------------------+
//|                                                    пробныйй .mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
extern double stoploss=0; extern double takeprofit=20;extern int otstup=20; extern datetime expiration=0;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
  
  int tiket,tikett;double volume=0.1;int i=0,R1=0,R2=0,A=1 ;double price; int stsBUY;int stsSELL;double Price;int C=0;datetime wremjapomnim;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {int X,Y; double price=NormalizeDouble((Ask+Bid)/2,4) ; Alert ("price", price);Alert("otstup*Point",otstup*Point);
//----
Alert ("Price +otstup*Point",Price +otstup*Point);Alert ("Price+takeprofit*Point+otstup*Point", Price+takeprofit*Point+otstup*Point);
tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, Price +otstup*Point, Point* 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( ));
  Alert ("Price -otstup*Point",Price -otstup*Point);Alert ("Price-takeprofit*Point-otstup*Point", Price-takeprofit*Point-otstup*Point); 
tikett= OrderSend( Symbol(), OP_SELLSTOP,  volume*A, Price -otstup*Point, Point* 3,R2, Price-takeprofit*Point-otstup*Point, "OP_SELLSTOP" , 2000,  expiration,C'0,128,255' );
    Alert ("OP_SELLSTOP", GetLastError( )); 
   
//----

// Здесь код для закрытия всех открытых позиций (тоже в цикле)
         for ( i=0; i<OrdersTotal(); i++) {
           OrderSelect(i, SELECT_BY_POS );
              if (  OrderType( )==OP_BUY && OrderType( )==OP_SELL ){
                          OrderClose( OrderTicket( ), OrderLots( ), OrderClosePrice( ) , 0, CLR_NONE);
   Alert ("OrderClose-vse-2",  GetLastError( ) ); C=0;A=1; }} 
         // Здесь код для удаления всех отложенных ордеров (также в цикле)
         for ( i=0; i<OrdersTotal(); i++) {
         OrderSelect(i, SELECT_BY_POS );
           if (  OrderType( )==OP_BUYSTOP && OrderType( )==OP_SELLSTOP ){ 
            OrderDelete(OrderTicket( )) ; Alert ("OrderDelete-vse-2",  GetLastError( ) ); }}    
        
   return(0);
  }
//+------------------------------------------------------------------+
Alertは価格を記録する必要がありますAlert("price", price); 1.4825としましょう、そしてそれはそうします、すなわち変数は正常です。そして!!!

アラート"価格 +otstup*Point",価格 +otstup*Point); 価格 + インデント(20pp)* ポイント(0.0001)倍 合計1.4805のはずが、(!!!)0.002と書いてある。

などこれです。 どうすれば理解できるのか?計算式の構文を教えてください。