[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 464

 

同事们帮帮忙!!!真的需要AMA指标,这是MT5的标准,但只适用于MT4,拜托了!!。

 
你好,请你告诉我如何做?我想在我的EA中添加一个ZigZag指标。我如何比较0、1和2峰的价格。
 
// в модуле extern int ExtDepth = 12; extern int ExtDeviation = 5; extern int ExtBackstep = 3; extern int ShiftBars = 2; // в функции double y3=0, y2=0, y1=0, zz; // экстремумы Зиг-Зага int x3, x2, x1, sh=ShiftBars;// номера баров // Берём три экстремума Зиг-Зага while (y3==0) { zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh); if (zz!=0 && zz!=EMPTY_VALUE) { if (y1==0) { x1=sh; y1=zz; } else if (y2==0) { x2=sh; y2=zz; } else if (y3==0) { x3=sh; y3=zz; } } sh++; }
感谢KimIV
 

这怎么可能呢。

在市场上购买。

Ask:1.05310000, Bid:1.05280000, price:1.05310000, sl:1.05251000, tp:0.00000000

误差130

sl在传输前被归一化。

mode_stoplevel==0

 
beruk:
感谢KimIV
谢谢你。
 

为什么...模拟账户。

上午:市场分析......今天的新闻,水平......Oanda和其他%的开放交易,没有指标......进入交易......在许多货币对上,有大的SL和TP,TP比SL大2倍,由支持和阻力水平设置,....,我把监控留到晚上。

晚上:大约55-60%的交易,股票处于盈利状态......我几乎关闭所有的交易......。我保留了其中的一些,并按级别进行平均...

为什么...真实账户:我做的是早上--之后就没有像演示上的晚上了.....,我离开一两个小时......一旦我看到利润,我就关闭......然后我做一个残酷的....。...然后我等待一系列平均数的关闭......尽管演示的利润在存款的百分比上更大......即使没有平均数......。

我明白,心理因素阻止我......贪婪......害怕甚至300ppm的损失......。我应该怎么做?忘记了真正的账户?

 
demlin:
该专家同时交易几种工具
///// Есть некий массив торгуемых инстурментов
string symbolfotrade[] = {"EURUSD", .........}
///// Массив флагов
bool isTradedClosed[] = {false, .....}
bool isTradedOpen[]   = {false, .....}
//// Общая переменная
bool isAllTraded = false;
int  isTradedCount = 0;
start()
  {
   symbfotradeCount = ArraySize(symbolfotrade);
   вначале перебор закрытых ордеров. С конца в начало
   if (!isAllTraded)
     {
      
      Перебор массива торгуемых инструментов
        {
          if (isTradedClosed[i]) continue;


           Перебор закрытых ордеров  с конца в начало
             { 

              Если (символ равен symbolfotrade[i]) то {isTradedClosed[i] = true; isTradedCount++; break}
             {
        }
      Если isTradedCount==symbfotradeCount то  isAllTraded = true; ///// Чтобы не лазать по массивам
     }
   /// ОБнуляем
   ArrayInicialized(isTradedOpen, false);
   Потом перебор по открытым ордерам
     {
       Если (симвло равен symbolfotrade[i]) то isTradedOpen[i] = true;
     }   

   Все теперь если (isTradedOpen[i] = труе и isTradedClosed[i] = труе) то ордер открыт, при этом было закрытие по этому инструменту symbolfotrade[i] ранее.
  

   Только после остальные расчеты

   

  }
 
butthead:

...忘记真正的分数......?


这就是答案。
 
帮助我理解这段代码。我不知道如何正确描述这种状况。

这里是专家顾问的一个片断。


total=OrdersTotal();

if(total<1)

{

while (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2) //Пока это условие выполняется открывать только селл при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)<0.7)) -какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_SELL, lots, NormalizeDouble(Bid, Digits), 3, /*Ask+10*Point*/0, /*Bid-10*Point*/0, "ADX sell", magic, 0, CLR_NONE);
}

while (d_pl_1>d_mn_1 && (d_pl_0-d_mn_0)>=2) // Пока это условие выполняется открывать только Бай при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)<0.3)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)>0.3)) - какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_BUY, lots, NormalizeDouble(Ask, Digits), 3, /*Bid-10*Point*/0, /*Ask+10*Point*/0, "ADX buy", magic, 0, CLR_NONE);

}
}
}
}
你能告诉我如何正确操作吗?
 
extralifes:

帮助我理解这段代码。我不知道如何正确描述这种状况。

这里是EA的一个部分。
Подскажите как это правильно оформить?

首先阅读https://book.mql4.com/ru/operators/if