[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 464

 

동료들이 도와줘!!! MT5의 표준이지만 MT4에만 해당하는 AMA 표시기가 정말 필요합니다. 제발!!!

 
안녕하세요! 말해 주세요. 내 Expert Advisor에 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 덕분에
 

어떻게 이럴 수있어:

시장에서 사다

매도:1.05310000, 입찰:1.05280000, 가격:1.05310000, sl:1.05251000, tp:0.00000000

오류 130 을 제공합니다.

sl 전송하기 전에 정규화합니다.

MODE_STOPLEVEL==0

 
beruk :
KimIV 덕분에
고맙습니다.
 

왜... 데모 계정:

아침: 시장 분석 .. 오늘 뉴스, 수준 ... oanda 유리잔 및 기타 미결 거래 %, 지표 없음 .. 우리는 거래를 입력합니다. .. 큰 SL 및 TP, TP가 SL 곱하기 2 이상인 많은 쌍에 대해, 지지와 저항 수준에 의해 설정됩니다. .... 저녁까지 모니터를 둡니다.

저녁: 거래의 약 55-60% 이익, 자기자본 이익.. 거의 모든 것을 마감합니다. 일부는 남겨두고 레벨별로 평균을 냅니다...

왜.. 실계좌: 나는 아침을 한다 - 그 이후에는 데모에서와 같은 저녁이 없다 ..... 나는 한 두 시간 동안 떠나고... 이익을 보자마자 나는 그것을 닫는다. 나는 평균 시리즈의 마감을 기다리고 있습니다. 비록 데모의 이익이 예금의 백분율로 더 높지만... 평균을 내지 않아도..

심리적인 요인이 저를 가로막는다는 것을 이해합니다..탐욕..300R도 잃을까 봐..어떻게 해야 할까요?..진짜 계정을 잊어 버리나요?..

 
demlin :
Expert Advisor는 동시에 여러 상품을 거래합니다.
 /// // Есть некий массив торгуемых инстурментов
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 :

코드를 알아낼 수 있도록 도와주세요. 상태를 정확하게 설명하는 방법을 모르겠습니다.

다음은 고문의 일부입니다.
Подскажите как это правильно оформить?

시작하려면 https://book.mql4.com/ru/operators/if 를 읽으십시오.

사유: