[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 261

 
BaceK1 >> :
我如何在一个准确的时间内开仓?例如,我需要在当地时间00.15开仓。

如果(小时==0 &&分钟==15){那么就这样做;}。

看看专家顾问,有一些缺失(和一些不必要的)括号。

//+------------------------------------------------------------------+
//|                                                   Полуночник.mq4 |
//|                                                            BaceK |
//+------------------------------------------------------------------+
#property copyright "BaceK"
#property link ""
//---- input parameters
extern int Dist_SL=20;
extern int Dist_TP=30;
extern double Prots=0.35;
int start()
{
string Symb=Symbol(); // Финанс. инструмент
int Min_Dist=MarketInfo( Symb,MODE_STOPLEVEL);// Мин. дистанция //Alert("Мин. дистанция = ",Min_Dist);
double Min_Lot=MarketInfo( Symb,MODE_MINLOT);// Мин. размер лота//Alert("Мин. размер лота = ",Min_Lot);
double Free =AccountFreeMargin(); // Свободн средства//Alert("Свободн средства = ",Free);
double One_Lot=MarketInfo( Symb,MODE_MARGINREQUIRED);//Стоим.лота//Alert("Стоим.лота = ",One_Lot);
double Lot=MathFloor(( Free* Prots)/( One_Lot* Min_Lot))* Min_Lot;// Лоты//Alert("Лоты = ",Lot);//Alert("Bars = ",Bars);
//-----------------------------------------------
if( Lot != 0 ) // Проверка свободных срелств                       
 {//Alert("Работа дальше = ",OrderSymbol());
  // Проверка рабочего времени
  int h=TimeHour(TimeCurrent());
  if( h < 1 )
    {for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
        {if(OrderSelect( i-1, SELECT_BY_POS)==true) // Если есть следующий
           {// Анализ ордеров:
            if(OrderSymbol()!= Symb) // Не наш фин.инструм.
              {//Alert("Работа дальше = ",OrderSymbol());
               // Определение в какую сторону открываться
               if(iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)< 0)
                 {//Alert("Длинная позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
                  int ticket=OrderSend( Symb,OP_BUY, Lot,Ask,3,Bid- Dist_SL*Point,Bid+ Dist_TP*Point);
                 }
               else
                 {//Alert("Короткая позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
                  int ticket1=OrderSend( Symb,OP_SELL, Lot,Bid,3,Bid+ Dist_SL*Point,Bid- Dist_TP*Point);
                 }
               if( ticket>0 || ticket1>0) // Получилось :)
                 {// Alert ("Установлен ордер SELL ",ticket || ticket1);
                  Sleep(5000);
                 }
               else
                 {int Error=GetLastError(); // Не получилось :(
                  switch( Error) // Преодолимые ошибки
                    {case 129:...................................
                    }
                  switch( Error) // Критические ошибки
                    {case 2 : ...................................
                    }
                  //Alert (GetLastError());
                  return(0);
                 }
              }
            else
              {//Alert("Выход по Symb = ",Symb);
               return(0);
              }
        }//это скобка закрывающая for() почему после неё идёт else ???????? 
      else
        {//Alert("Выход по ордеров нет = ",Symb);
         if(iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)< 0)
           {//Alert("Длинная позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
            int ticket2=OrderSend( Symb,OP_BUY, Lot,Ask,3,Bid- Dist_SL*Point,Bid+ Dist_TP*Point);
           }
         else{//Alert("Короткая позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
              int ticket3=OrderSend( Symb,OP_SELL, Lot,Bid,3,Bid+ Dist_SL*Point,Bid- Dist_TP*Point);
             }
         if( ticket2>0 || ticket3>0) // Получилось :)
           {Sleep(5000);//Alert ("Установлен ордер SELL ",ticket2 || ticket3);            
           }
         else
           {int Error1=GetLastError(); // Не получилось :(
            switch( Error1) // Преодолимые ошибки
              {case 129:................................
              }
            switch( Error1) // Критические ошибки
              {case 2 : ..........................
              }
            Alert(GetLastError());return(0);
           }
    }
  }
// дальше я не могу отследить что откуда ?????????????????????????????????????????????????????????
//?????????????????????????????????????????????????????????????????????????????????????????????????
}else
{// Alert("Выход по времени = ",Hour());
return(0);
}
}else
{return(0);}//Alert("Выход по Lot = ",Lot);
 return(0); //Alert ("Скрипт закончил работу -----------------------------");
}
//+------------------------------------------------------------------+

该死的机器人不允许列出所有的代码,我得把它剪掉。我剪切了switch()以使其适合。

 

我如何将所有可用的历史记录以这几行的形式写入一个文件中

O;H;L;C;体积;MA3;MA5;MA7;MA13; ...和其他指标进一步

在H1时间框架上?

谢谢你

 
snowman647 >> :

我怎样才能以这些字符串的形式将所有可用的历史记录写进一个文件中

O;H;L;C;体积;MA3;MA5;MA7;MA13; ...和其他指标进一步

在H1时间框架上?

谢谢你




//+------------------------- WritingLineInFile() ----------------------------
//| Дописывание строки в конец файла
//+---------------------------------
void WritingLineInFile(string FlName, string Text){
  int file_handle=FileOpen( FlName, FILE_CSV| FILE_READ| FILE_WRITE, " ");
	if ( file_handle>0){
		FileSeek( file_handle,0, SEEK_END);
		FileWrite( file_handle, Text);
		FileClose( file_handle);
	}
	else{
	  Print("Ошибка ",GetLastError()," - Не удалось открыть файл ", FlName);
   }
}
//--------------------------------------------------------------------------- 

这是一个用户定义的子程序,在文件的末尾添加一个文本行。它被放在启动功能之后。在最开始的时候,我们使用它如下。

 // --------- Генерируем имя файла ------------
  FileName=Symbol()+"_"+DoubleToStr(Day(),0)+"_"+DoubleToStr(Month(),0)+"_"+DoubleToStr(Year(),0)+".txt";
  TextInFile=TimeToStr(TimeCurrent(), TIME_DATE| TIME_SECONDS);
  TextInFile= TextInFile+" "+DoubleToStr(Bid,Digits);
 

谢谢你!

你还能告诉我如何安排翻阅整个历史吗?

我有一个文件,包含1999年至2009年的H1数据

 

计划纯粹为测试人员安装一个新的操作系统,谁知道哪个操作系统的测试速度更快?

 

晚上好。

就在昨天,我第一次尝试了MQL5。我对这个按钮有意见。请告知如何设置按钮的坐标、改变其颜色、设置文本以及如何接收反馈。在MT5版本发布之前,我曾尝试使用旧版本。我在哪里可以读到它?谢谢你。:)

 
Patriot писал(а)>>

晚上好。

就在昨天,我第一次尝试了MQL5。我对这个按钮有意见。请告知如何设置按钮的坐标、改变其颜色、设置文本以及如何接收反馈。在MT5版本发布之前,我曾尝试使用旧版本。我在哪里可以读到它?谢谢你。:)

到这里来...MetaTrader 5的Beta测试已经开始!

 
DDFedor >> :

是这样的...MetaTrader 5的Beta测试已经开始!


非常感谢你。:)
 
001 писал(а)>>

计划纯粹为测试人员安装一个新的操作系统,谁知道哪个操作系统的测试速度更快?

不管怎么说,好了,不要在这个问题上开一个新的主题,好吗?

 

XP,该主题已经结束...

)))

原因: