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

 
有人写下了限价单的结构
 
我使用Flive信号,但有时我想自己关闭一个订单。但我一关闭它,它就又打开了。有什么办法可以解决这个问题吗?
 
Artur116:
我使用Flive信号,但有时我想自己关闭一个订单。但我一关闭它,它就又打开了。有什么办法可以解决这个问题吗?

取消勾选 "同步位置..."。
 
Nesradamus:
我假设只有两个月极值--最小和最大...好吧,别介意,起初我有一个很长的代码,这就是为什么我请求帮助......但我恍然大悟,我设法把它装进四行。

这是如果在每月的蜡烛图上。当然会有iHigh(Symbol(),PERIOD_MN1, BarOfMonth);和iLow(Symbol(), PERIOD_MN1, BarOfMonth)。

而如果我们需要在一个月内找到日线图上的价格极值,那么至少在28个柱子上肯定会有不止一个;)

 
Zver4991:

关于函数的另一个问题

如何使矩形向前画而不是向后画,例如在指定的价格上向前画五个柱子......,并且不重新画。

名称 "object_name "应该包含它被绘制的时间。例如,"Object_name "+TimeToString(Time[0]); 然后每个矩形将有自己的名字。

要指定零条的右移,在Time[0]上增加所需的条数,例如Time[0]+Period()*5*60(增加5条)。

datetime t1=Time[10], t2=Time[0]+Period()*60*5;
SetRectangle(clrBlue,"Прямоугольник"+TimeToString(Time[0]),t1,Low[10],t2,High[0]);
 
#property strict
#include <Indicators\Trend.mqh>
bool ind;
CiMA MA;
extern int pos=1;
extern int sl=40;
extern int tp=70;
datetime time;
datetime time2;
bool trade=false;
bool trade2=false;
int a,b;
int OnInit()
  {
//---
   MA.Create(Symbol(),PERIOD_CURRENT,10,6,MODE_EMA,PRICE_CLOSE);//создал машку
//---
   return(INIT_SUCCEEDED);
   
  }
void OnTick()
  {
//---
  if(IsNewBar()==true)//если новый бар включаемся
     {
     if(buy(pos)==true)//если цена выше МА продолжаем
     {
      if(!ExistPositions(Symbol(),-1,-1,0))//если нету открых ордеров продолжаем
        {

         if(GetTypeLastClosePos(Symbol(),-1)!=OP_BUY)//если тип последней закрытой позиции был не на покупку то тогда только покупаем таким образом я пред остерегаюсь от повторных входов в покупку если цена 
//все ещо выше МА...но почему то не работает открываются и дальше сделки на покупку если ордер закрылся выше МА....ХОТЯ НЕ ДОЛЖО ТАК КАК Я ОГРАНИЧИЛ ПО ТИПУ ПОЗИЦИИ ПОСЛЕДНЮЮ СДЕЛКУ И ОНИ ДОЛЖНЫ ТОЛЬКО 
//       ЧЕРЕДОВАТСЯ И УЖ НИ КАК НЕ ПОВТОРЯТСЯ ПО НЕСКОЛЬКО РАЗ ПОДРЯД
           {
            trade=true;
           }
  if(trade==true)
        {
         OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point);
         trade=false;
        }
}
        }
    
     
if(sell(pos)==true)
{
   if(!ExistPositions(Symbol(),-1,-1,0))
     {

      if(GetTypeLastClosePos(Symbol(),-1)!=OP_SELL)
        {
         trade2=true;
        }

      if(trade2==true)
        {
         OpenPosition(Symbol(),OP_SELL,0.1,Bid+sl*Point,Bid-tp*Point);
         trade=false;
      }
  }}
 }
  }

//возвращает истину если закрытие бара  с указаной позицией выше МА

bool buy(int pos)
  {
   if(iClose(Symbol(),0,pos)>MA.Main(1))
      return true;
   else
      return false;
  }
//+------------------------------------------------------------------+
//| возвращает истину если закрытие бара  с указаной позицией ниже МА
//+------------------------------------------------------------------+
bool sell(int pos)
  {
   if(iClose(Symbol(),0,pos)<MA.Main(1))
      return true;
   else return false;
  }
除了两个 "买 "和 "卖 "的条件外,所有的功能都来自于Kim's branch......,请告诉我哪里做错了......我需要在一个交叉点上打开一个交易。
 

在mql4中是否有办法 从视图中隐藏一些代码,折叠代码区,使其置于加号(+)之下?

像在尖锐的#region #endregion中,放在这些指令之间的代码将有可能被折叠。

 
我搞不清楚哪里出了问题?在测试器中一切正常,但在真实和演示中,当我试图打开一个订单时,我得到 "错误0"。GetLastError()返回 "0",表示没有错误。这是什么意思?
 
Leo59:
我不明白什么是错的?在测试器中一切正常,但在真实和演示中,当我试图打开一个订单时,我得到 "错误0"。GetLastError()返回 "0",表示没有错误。这是什么意思?

这意味着代码中是这样写的,如果它困扰着你,请纠正它。
 
evillive:

这是在代码中,如果它困扰着你,请修复它。

如果订单打不开,我应该怎么解决?