[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 392

 

大家好,我想我已经写到了正确的地方。我很想学习mql4编程语言,从脚本开始,然后是指标和EA,特别是,现在我设定了一个任务,就是自己写一个EA,用其中一个战术进行交易。(我在论坛上看到他们从脚本开始)。我是一个编码专家,我对pascal和delphi知之甚少,我研究过c++,我读过mql,但我认为它没有什么不同。我需要帮助写程序 的正确或错误的代码优化,等等。谁能提供帮助?

提前感谢!!。

 

请提供例子,这里是一个简单的代码,顾问打开BAY,有停止和利润,并把挂单。我应该在代码中写些什么,以便当它达到利润时,挂单被删除,一切从开始.....,当它达到止损时,例如,警报("Stopak")。

//+------------------------------------------------------------------+
//| test.mq |
//| Copyright © 2011 |
//| http:// |
//+------------------------------------------------------------------+
#财产版权""
#属性链接""
外来的双数Lot = 0.01。
外置 int TakeProfit = 200;
外来的int StopLoss = 200;
外置双倍数Step = 0.0020。
//+------------------------------------------------------------------+
//|专家初始化功能|
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{
如果(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==false)
{
{ OrderSend(Symbol(),OP_BUY,Lot,Ask,30,Ask-StopLoss*Point,Ask+TakeProfit*Point,0,0,0,Green) ; }
{ OrderSend(Symbol(),OP_SELLSTOP,Lot,Ask-Step,30,Ask,Ask-Step-TakeProfit*Point,0,0,0,Red) ; }
}
//----
//----
return(0);
}
//+------------------------------------------------------------------+

 
MIR-ASOV:

请对例子提出建议,这里有一个简单的代码,EA开出BAY,有止损和利润,并挂上了挂单。我需要在代码中写些什么,以便当你得到一个利润待定删除和一切开始超过.....,当你得到一个停止,例如,是警报("Stopak")。

//+------------------------------------------------------------------+
//| test.mq |
//| Copyright © 2011 |
//| http:// |
//+------------------------------------------------------------------+
#财产版权""
#属性链接""
外来的双数Lot = 0.01。
外置 int TakeProfit = 200;
外来的int StopLoss = 200;
外置双倍数Step = 0.0020。
//+------------------------------------------------------------------+
//|专家初始化功能|
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{
如果(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==false)
{
{ OrderSend(Symbol(),OP_BUY,Lot,Ask,30,Ask-StopLoss*Point,Ask+TakeProfit*Point,0,0,0,Green) ; }
{ OrderSend(Symbol(,OP_SELLSTOP,Lot,Ask-Step,30,Ask,Ask-Step-TakeProfit*Point,0,0,0,Red); }
}
//----
//----
return(0);
}
//+------------------------------------------------------------------+

在教科书中寻找一种核算订单的算法。然后将逻辑与这一切联系起来,结果将是显而易见的!

另外,在代码语法上下功夫。大量的大括号...


frixer:

大家好,我想我已经写到了正确的地方。我很想学习mql4编程语言,从脚本开始,然后是指标,特别是EA,现在我设定了一个任务,就是自己写一个EA,通过其中一个战术进行交易。(我在论坛上看到他们从脚本开始。我必须有一些编程的知识,Pascal,Delphi和C++的研究,我读过mql,我认为它没有什么不同。 我需要一些建议,如何编写程序的正确或错误,代码优化等。谁能提供帮助?

提前感谢!!。

所以你在这里写,我们可以帮助你。或者你需要一个家庭教师吗?:)))
 

如何在EA中执行这样的行动。

所有这些条件可能不会一个接一个地出现(可能是在一小时、两小时或三小时之后),所以我们必须使指标一达到1.0000,这个条件就不会再在每个tick上被检查,而要等到有一个bar以下跌收盘,之后这两个条件就不会在每个tick上被检查,而要等到指标达到0.9980或更低。一旦所有条件得到满足,我们就开出一个市场订单,卖出 0.1手,止损100便士,获利400便士。

有谁能帮忙吗?也许有人有现成的例子或给我一个链接?

 
kolyango:

如何在EA中执行这样的行动。

所有这些条件可能不会一个接一个地出现(可能是在一个小时或两个或三个小时内),所以我们必须使指标一达到1.0000,这个条件就不再在每一个tick上被检查,并等到一个bar以下跌收盘,之后这两个条件就不再在每一个tick上被检查,并等到指标达到0.9980或相等。一旦所有条件得到满足,我们就开出一个市场订单,卖出0.1手,止损100便士,获利400便士。

有谁能帮忙吗?也许有人有现成的例子或给我一个链接?

当一个事件发生时,放一个布尔条件和一个过期时间
 
kolyango:

如何在EA中执行这样的行动。

所有这些条件可能不会相继出现(可能在一小时、两小时或三小时内出现),所以我们必须在指标达到1.0000时立即进行,这个条件不再每隔一格检查,并等到一个柱状体以下跌收盘,此后这两个条件不再每隔一格检查,并等到指标达到0.9980时。

有谁能帮忙吗?也许有人有现成的例子或给我一个链接?


这里有 一篇文章可以帮助你--看看那里的比喻......

在预告片中--根据这篇文章,列入了这些交易标准的执行,根据教程写的,见 这里

你以同样的方式得到了这一切...

附加的文件:
criterion.mqh  12 kb
 
kolyango:

如何在EA中执行这样的行动。

所有这些条件可能不会相继出现(可能在一小时、两小时或三小时内),所以我们必须使指标一达到1.0000,就不再在每一个刻度上检查这个条件,并等到一个柱状体以下跌收盘,之后这两个条件就不再在每一个刻度上检查,并等到指标达到0.9980。

有谁能帮忙吗?也许有人有现成的例子或给我一个链接?

就这么简单。让我们把旗帜作为一种信号。将有三个代码块,每个代码块只有在前一个代码块已经被执行时才会被执行。

最初所有的标志==false。

一旦第一个条件得到满足,我们就设置第一个标志=true;现在,第二个代码块被执行。一旦其条件得到满足,就设置第二个标志=true。
现在,第三个代码块被执行。一旦其条件得到满足,就设置第三个标志=true;以此类推。

 
artmedia70:

就这么简单。让我们把旗帜作为一种信号。将有三个代码块,每个代码块只有在前一个代码块已经被执行时才会被执行。

最初所有的标志==false。

当第一个代码块被执行后,我们把第一个标志=true;现在第二个代码块被执行。一旦其条件得到满足,就设置第二个标志=true。
现在,第三个代码块被执行。一旦其条件得到满足,就设置第三个标志=true;以此类推。



什么时候扔掉旗子,他没有写
 

你能告诉我终端使用哪种字体吗? 我希望我的评论与标准的评论相同

if(spread >= 20)
       spreadColor = Red;
  else
       spreadColor = White;
  ObjectSetText("Spread", "Spread " + Symbol() + ": " + DoubleToStr(spread, 0), 8, "Tahoma Bold"/*"Calibri"*/, spreadColor);//"Webdings"
 

伙计们,在一个终端上进行优化时,我在另一个终端上开始测试,最后一个终端崩溃了,出现了这个错误......有谁知道可能的原因是什么?以前,当我启动这个终端时--它要求更新到409版本,我更新了它,它重新启动并不断要求同样的更新......我--取消、关闭,然后自己运行它......它不断要求这个更新。

还没有检查过新的终端...CPU负载一直处于100%的状态......在第三个终端上以可视化模式运行测试--测试正常......