[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 221

 

让我试着为你 "翻译 "一下第一条。

if(((OrderSymbol() == Symbol() && OnlyThisSymbol) || !OnlyThisSymbol))

"如果表达式1.或2.中至少有一个是真的,那么......。"
1.订单工具与图表工具相同,外部变量OnlyThisSymbol的值为true
2.OnlyThisSymbol外部变量的值等于false。

现在,这个条目的意义。
有一个列举的订单,可以通过不同的过滤器进行仓位关闭。这个记录是一个按仪器过滤。如果你设置了onlyThisSymbol外部变量的值,你可以选择是只按图表符号平仓还是按任何符号平仓。

 
alsu:

并非如此。问题是,Experts变量已经具有int类型,因此在给它赋值之前应该进行类型转换,也就是说,编译器

* 从盒子里取出一个双倍的值(它在你的程序中没有名字,只是被写到主内存或CPU寄存器中编译器知道的某个地址上)。

*对上述变量的值做了所有必要的修改,并将一个新的值(int类型!)写入专家变量中。

*将这个值(int!类型)分配给变量New_Experts。它们具有相同的类型,所以只是将一个值从一个内存位置转移到另一个内存位置的问题。


P.S. 很高兴看到有的人对自己的行为理解得如此详细。事实上,不开玩笑。保持联系。


日安...处理你的最后和倒数第二条信息,我感到很棘手。特别是(你在上一个答案中的信息):"那么当我们从盒子里取出一个值时,它是双倍类型 的,但如果我们给出命令将结果写入int类型的变量中,编译器会自动采取所有必要的行动,将该值放入一个新的盒子中。" 而你在上一个答案中的信息:"重点是专家变量已经具有int类型...当我们把它 "放入 "GV变量框的时候,我们不是已经把它转换成了双倍类型吗?

提前感谢您的回答

 

朋友们,你们能给我建议吗?MQL4是否允许以编程方式设置账户余额值,而不仅仅是在测试器的初始条件中?

我将解释我为什么需要它,只是为了使问题清楚。我想让专家顾问优化 过程中改变账户余额的大小,作为一个变量。

 

下午好。

我试图创建一个指标,根据(H-L)/2在图表上显示Sl和Tp,但它不起作用--它只是按收盘价绘制,问题在哪里?

由于基础是由一个指标ATR采取的。

//+------------------------------------------------------------------+
//|                                                          Tp/Sl.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"

#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 Red
#property indicator_color2 Green
#property indicator_color3 Red
#property indicator_color4 Green
//---- input parameters
extern int PeriodMM=25;
//---- buffers
double SlBuffer[];
double TpBuffer[];
double SlBuffer2[];
double TpBuffer2[];
double TempBuffer[];
double TempBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- 1 additional buffer used for counting.
   IndicatorBuffers(4);
//---- indicator line
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,SlBuffer);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,TpBuffer);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,SlBuffer2);
   SetIndexStyle(3,DRAW_LINE);
   SetIndexBuffer(3,TpBuffer2);
   SetIndexBuffer(4,TempBuffer);
   SetIndexBuffer(5,TempBuffer2);
//----
   SetIndexDrawBegin(0,PeriodMM);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Average True Range                                               |
//+------------------------------------------------------------------+
int start()
  {
   int i,counted_bars=IndicatorCounted();
//----
   if(Bars<=PeriodMM) return(0);
//---- initial zero
   if(counted_bars<1)
      for(i=1;i<=PeriodMM;i++)
      SlBuffer[Bars-i]=0.0;
      TpBuffer[Bars-i]=0.0;
      SlBuffer2[Bars-i]=0.0;
      TpBuffer2[Bars-i]=0.0;
//----
   i=Bars-counted_bars-1;
   while(i>=0)
     {
      double high=High[i];
      double low =Low[i];
      double close = Close[i];
      TempBuffer[i]=(high-low)/2;
      TempBuffer2[i]=(high-low)/2*2.5;
      i--;
     }
//----
   if(counted_bars>0) counted_bars--;
   int limit=Bars-counted_bars;
   for(i=0; i<limit; i++)
      SlBuffer[i]=Close[i]+iMAOnArray(TempBuffer,Bars,PeriodMM,0,MODE_SMA,i);
      TpBuffer[i]=Close[i]+iMAOnArray(TempBuffer2,Bars,PeriodMM,0,MODE_SMA,i);
      SlBuffer2[i]=Close[i]-iMAOnArray(TempBuffer,Bars,PeriodMM,0,MODE_SMA,i);
      TpBuffer2[i]=Close[i]-iMAOnArray(TempBuffer2,Bars,PeriodMM,0,MODE_SMA,i);
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
同志们,我不明白为什么CSV文件没有被创建,以前一切都很正常。
//+------------------------------------------------------------------+
//|                                                          TP1.mq4 |
//|                                                      S.I.Shlikov |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "S.I.Shlikov"
#property link      ""
int init()  
  {
   int h=FileOpen("H"+(Period()/60)+".csv",FILE_CSV|FILE_WRITE|FILE_READ,";");
    if(h<1)
      {
      Print("Файл не найден : ", GetLastError());
      return(false);
      }
   FileSeek(h, 0, SEEK_END);
   FileWrite(h,"Date","EURUSD","GBPUSD","NZDUSD","USDJPY","EURJPY","GBPJPY","USDCHF","EURCHF","GBPCHF");
   FileClose(h);        
  }
int start()
  {
   int h=FileOpen("H"+(Period()/60)+".csv",FILE_CSV|FILE_WRITE|FILE_READ,";");
    if(h<1)
      {
      Print("Файл не найден : ", GetLastError());
      return(false);
      }
   string Wtime=TimeToStr(TimeCurrent(),TIME_DATE|TIME_MINUTES);
   FileSeek(h, 0, SEEK_END);
   FileWrite(h,Wtime,DoubleToStr(iClose("EURUSD",Period(),0),MarketInfo("EURUSD",MODE_DIGITS)),
                     DoubleToStr(iClose("GBPUSD",Period(),0),MarketInfo("GBPUSD",MODE_DIGITS)),
                     DoubleToStr(iClose("NZDUSD",Period(),0),MarketInfo("NZDUSD",MODE_DIGITS)),
                     
                     DoubleToStr(iClose("USDJPY",Period(),0),MarketInfo("USDJPY",MODE_DIGITS)),
                     DoubleToStr(iClose("EURJPY",Period(),0),MarketInfo("EURJPY",MODE_DIGITS)),
                     DoubleToStr(iClose("GBPJPY",Period(),0),MarketInfo("GBPJPY",MODE_DIGITS)),
                     
                     DoubleToStr(iClose("USDCHF",Period(),0),MarketInfo("USDCHF",MODE_DIGITS)),
                     DoubleToStr(iClose("EURCHF",Period(),0),MarketInfo("EURCHF",MODE_DIGITS)),
                     DoubleToStr(iClose("GBPCHF",Period(),0),MarketInfo("GBPCHF",MODE_DIGITS))
                     );
   FileClose(h);   
   return(0);
  }
 
orb:
同志们,我不明白为什么CSV文件没有被创建,以前一切都很正常。

错误号码是什么?
 
sergeev:

错误号码是什么?
没有错误号码......只是没有创建文件,正在寻找ALPARI/tester/files/。
 
orb:
没有错误号码......只是没有创建文件,寻找ALPARI/tester/files/。

好吧,看看另一个。
 
sergeev:

好吧,看看其他地方。
我已经做了。
 
orb:
已经看过了。

恭喜你。