任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 536

 
nekadabra:
你能告诉我Win 8是否与MT 4和MT 5兼容?我问这个问题是因为我有一台mac,想知道买一台PC用哪种操作系统。一个人甚至给我看了一张MT 4在8上运行的截图。但由于有些同志声称没有完全兼容,我必须澄清......谢谢。

Win 8与MT 4和5兼容。
 

下午好!

指标软件有问题,作者声称指标在工作,但事实上图表没有显示--问题在哪里?

#property copyright "Copyright © 2006, Profitrader."
#property link      "profitrader@inbox.ru"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Red
//---- input parameters
extern int FastMAPeriod = 3;
extern int SlowMAPeriod = 15;
extern string SecondMarket = "GOLD";
extern bool MarketsDirectCorrelation = true;
//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string Correlation = "Invert Correlation";
   if(MarketsDirectCorrelation == TRUE) 
       Correlation = "Direct Correlation";
   IndicatorShortName("Will-Spread(" + FastMAPeriod + "," + SlowMAPeriod + 
                      "," + SecondMarket + "," + Correlation + ")");
   IndicatorDigits(Digits + 2);
   IndicatorBuffers(4);
   SetIndexBuffer(0, WillSpread);
   SetIndexBuffer(1, Spread);
   SetIndexBuffer(2, FastEMA);
   SetIndexBuffer(3, SlowEMA);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexLabel(0, "W-S");
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
   if(MarketsDirectCorrelation == TRUE)
     {
       for(i = 0; i < limit; i++)
           Spread[i] = iClose(SecondMarket, 0, i) / Close[i]*100;
     }
   else
     {
       for(i = 0; i < limit; i++)
           Spread[i] = Close[i] / iClose(SecondMarket, 0, i)*100;
     }
   for(i = limit - 1; i >= 0; i--)
     {
       FastEMA[i] = iMAOnArray(Spread, 0, FastMAPeriod, 0, MODE_EMA, i);
       SlowEMA[i] = iMAOnArray(Spread, 0, SlowMAPeriod, 0, MODE_EMA, i);
       WillSpread[i] = FastEMA[i] - SlowEMA[i];
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
AlexMikash:

下午好!

指标程序有问题,作者声称指标在工作,但事实上图表没有显示 - 问题出在哪里?

问题出在这几句话上

   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
新的编译器在执行时出现了错误,但在编译时却没有问题。让作者在调试器中运行它,并立即看到问题所在。
 
AlexeyVik:

问题出在这几句话上

新的编译器在运行时出现错误,但在编译时却没有问题。让作者在调试器中运行它,并立即看到问题所在。


没有问题,一切正常。这足以恢复缓冲区的描述

//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];

问题出在默认工具上。很可能没有GOLD工具,如果你放进另一个工具就可以了


 
Metatrader中的黄色信号广播图标是什么意思?信号暂时不广播了?还有,为什么 我现在在终端看到的一些信号,目前在mql5.com上没有列出?
 
Vinin:


没问题,一切正常。恢复缓冲区描述就可以了

问题出在默认工具上。很可能没有GOLD工具,如果你把另一个工具放进去,一切都会好起来。



你看,事情是这样的,我真的很关心GOLD工具,我怎么能把它连接到终端?
 
AlexMikash:

你看,事情是这样的,我真的很关心GOLD工具,我怎么能把它连接到终端?

它要么在那里,要么不在。这完全取决于经纪公司。无论它是否提供这样的工具。
 
Vinin:

它要么在那里,要么不在。这一切都取决于DC。无论它是否提供这样的工具。


谢谢你,图片很清晰

 

下午好。 我正在学习如何将指标拧入EA,但到目前为止还不是很成功。

1 - 当我通过测试器运行EA时,只有当我停止它时才会出现指标标签。

2 - 我也不明白应该是什么条件,以及如何写。

我想让我的EA根据指标进行交易,我只想知道如何将指标附加到我的EA上。

根据箭头指标,显示向上或向下BS_Living Now ver #1.mq4 https://www.mql5.com/ru/code/11014#50910

#



 
属性
 indicator_chart_window //#属性 indicator_buffers 4 //#
属性
 indicator_color1 红色 //#
属性
 indicator_color2 黄色 //#
属性
 indicator_color3 红色 //#
属性
 indicator_color4 黄色 ////******************//指标参数输入extern int BQuant=48; // - 被统计的条数 //******************//指标组件
                                        / /else /  / { // if(iHigh(NULL,0,t)>=High[iHighest(NULL,0,2,BQuant,t+1)] && // iHigh(NULL,0,t)>iHigh(NULL,0,t-1)) // { / ExtrimHi[t] =iHigh(NULL,0,t); // Break_Detect(t,1)                              //******************//断点检测 } /// if(iLow(NULL,0,t)<=Low[iLowest(NULL,0,1,BQuant,t+1)] && // iLow(NULL,0,t)<iLow(NULL,0,t-1)) // { // ExtrimLo[t] =iLow(NULL,0,t)                                        // Break_Detect(t,-1); //******************// Breakpoint detection } // } // return(0);                                                                 // } //double Break_Detect(int a,int Signal) //***********************************// 断点的确定 { // for(int r=1; r<BQuant; r++) // { // if(Signal==1 && iHigh(NULL,0,a+r)<High[iHighest(NULL,0,2,BQuant,a+r+1)]) // {BreakHi[a] =Low[iLowest(NULL,0,1,r+2,a-1)]; r=BQuant;}               // if(Signal==-1 && iLow(NULL,0,a+r)>Low[iLowest(NULL,0,1,BQuant,a+r+1)]) // {BreakLo[a] =High[iHighest(NULL,0,2,r+2,a-1)]; r=BQuant;}             // } return(0
); //  }

这里是我开始的专家顾问

外来的双Lot=0。1; extern int Magic=0; extern int Stop=98; extern int Take=70; extern int Slip=10; extern int BQuant=48; // - 计算的条数 int start()
{
double S1=iCustom(NULL, 0, "BS_Living Now",BQuant,0,0) 。
OrderSend(Symbol(), OP_SELL,Lot, Bid, Slip,Ask+Stop*Point,Ask-Take*Point, "SELL", Magic, 0,Red ); OrderSend(Symbol(), OP_BUY, Lot, Ask, Slip,Bid-Stop*Point, Bid+Take*Point, " BUY", Magic, 0, Blue);

}
 

如果你写一个简单的脚本,创建一个类型为OBJ_ARROW_RIGHT_PRICE 的对象,然后将其删除,该对象并没有被删除。此外,ObjectType命令突然发现,创建的对象不是OBJ_ARROW_RIGHT_PRICE类型(==36),而是==22,即一个简单的 "向上的箭头"!!!。我是唯一一个有这种情况的人,还是所有人都有这种情况?

在这个问题上已经有了 "专家 "的意见:如阅读帮助,或没有足够的内存:)。

记忆是足够的。

看起来ObjectCreate 命令绘制了一个OBJ_ARROW_RIGHT_PRICE类型的对象 ,它不能被ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)命令删除,但可以被ObjectsDeleteAll(0,22)命令删除,就好像我们没有正确的价格标签,而是一个 "向上箭头"。 谁的错?

#property copyright "Copyright 2014, MetaQuotes Software Corp."

#属性链接 "https://www.mql5.com"

#财产版本 "1.00"

#属性严格

//+------------------------------------------------------------------+

//| 脚本程序启动功能|

//+------------------------------------------------------------------+

空白的OnStart()

{

Alert(") 。

Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // ==36

ObjectCreate("MyArrow", OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; //

Alert("objectTipe=", ObjectType("MyArrow") ) ; // ==22 !

ResetLastError()。

Alert("脚本删除箭头右价=",ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; //删除对象的数量==0, 错误==0

}

要删除一个OBJ_ARROW_RIGHT_PRICE类型的对象,使用ObjectsDeleteAll(0,OBJ_ARROW)命令,确保指定其子窗口。

p.s. OBJ_ARROW类型的对象是任何 "箭头",而不仅仅是 "向上箭头"。 ObjectCreate(...OBJ_ARROW...)立即创建一个 "向上箭头"。那么,为什么这不在帮助中呢?