포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 229

 
splxgf :
BuyCount를 재설정하는 것을 제외하고는 이 섹션에서 어떤 문제도 보이지 않는 것 같습니다.


나는 조금 더 높게 리셋했다. 이것은 복사된 섹션에 표시되지 않습니다.

그러나 모든 쌍의 고문은 거기에 주문을 추가하고 수량에서 논리를 해결합니다.

***Count 변수가 전역 변수로 작동하는 이유를 이해할 수 없습니다.

테스터에서 논리가 실행됩니다.

데모도 수행됩니다. 둘 이상의 쌍과 모두 함께 동일한 논리를 실행합니다.

 
Sepulca :


브라켓이 빠졌다....


모든 것이 윙윙 거리는 것처럼 대괄호로.

전체 섹션은 다음과 같습니다.

 void FindOrders()  
{
//--------------------------Стартовые данные---------------------------------------------
//Обьемы ордеров     //Количество ордеров   //Средение цены ордеров  //Прибыль ордеров
BuyLots = 0 ;          BuyCount = 0 ;          BuyAP = 0 ;               BuyProfit = 0 ;
SellLots = 0 ;        SellCount = 0 ;         SellAP = 0 ;              SellProfit = 0 ; 
SellStopLots = 0 ;    SellStopCount = 0 ;     SellStopAP = 0 ;          SellStopProfit = 0 ; 
BuyStopLots = 0 ;     BuyStopCount = 0 ;      BuyStopAP = 0 ;           BuyStopProfit = 0 ; 
SellLimitLots = 0 ;   SellLimitCount = 0 ;    SellLimitAP = 0 ;         SellLimitProfit = 0 ; 
BuyLimitLots = 0 ;    BuyLimitCount = 0 ;     BuyLimitAP = 0 ;          BuyLimitProfit = 0 ; 
LotLastBuy = 0 ;      LotLastSell = 0 ;       BuyFirst = 0 ;             SellFirst= 0 ;
//--------------------------Окончание блока----------------------------------------------

//--------------------------Поиск ордеров------------------------------------------------
RefreshRates();
for ( int cnt = 0 ; cnt < OrdersTotal (); cnt ++)                   //Для всехоткрытых ордеров
 {
   OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);       // Выбираем со всего масива ордеров
   if (OrderSymbol()== Symbol () && OrderMagicNumber()==MagicNumber) //Выбирам ордера експерта
   CommonProfit += OrderProfit()+OrderSwap();               // Подсчет совокупного профита
   if (OrderType()==OP_BUY)                                              
    {
     BuyTicket = OrderTicket();                                       // Сохранение тикета
     BuyLots += OrderLots();                                   // Общий обьем Всех позиций  
     BuyAP += OrderOpenPrice()*OrderLots();           // Средневзвешаная цена всех позиций  
     BuyLow = MathMin (BuyLow,OrderOpenPrice());                             // Нижний BUY     
     BuyFirst = MathMin (BuyFirst, OrderOpenTime());           // нахождение первой позиции 
     BuyLast = MathMax (BuyLast, OrderOpenTime());         // нахождение последнего позиции      
     BuyHigh = MathMax (BuyHigh, OrderOpenPrice());                         // Верхний BUY
     BuyProfit += OrderProfit()+OrderSwap();                           // Подсчет профита
     BuyCount++;                                                     // Количество ордеров
     LotLastBuy = MathMax (LotLastBuy, OrderLots());       // Поиск наибольшего объема BUY   
    }
   if (OrderType() == OP_SELL)
    {
     SellTicket = OrderTicket();                                     // Сохранение тикета
     SellLots += OrderLots();                                           // Подсчет объема
     SellAP += OrderLots()*OrderOpenPrice();                   // Вычисление средней цены
     SellFirst = MathMin (SellFirst, OrderOpenTime());         // нахождение первой позиции 
     SellLast = MathMax (SellLast, OrderOpenTime());         // нахождение позднего ордера
     SellHigh = MathMax (SellHigh, OrderOpenPrice());                       // Верхний SELL
     SellLow = MathMin (SellLow, OrderOpenPrice());                         // Нижний SELL
     SellProfit += OrderProfit()+OrderSwap();                           // Подсчет профита
     SellCount++;                                                   // Количество ордеров
     LotLastSell = MathMax (LotLastSell, OrderLots());     // Поиск наибольшего объема SELL   
    }           
   if (OrderType() == OP_SELLSTOP)
    {
     SellStopTicket  = OrderTicket();                                 // Сохранение тикета
     SellStopLots += OrderLots();                                       // Подсчет объема
     SellStopAP += OrderLots()*OrderOpenPrice();               // Вычисление средней цены
     SellStopLast = MathMax (SellStopLast,OrderOpenTime());   // нахождение позднего ордера
     SellStopHigh = MathMax (SellStopHigh,OrderOpenPrice());               // Верхний SELL
     SellStopLow = MathMin (SellStopLow,OrderOpenPrice());                   // Нижний SELL
     SellStopProfit += OrderProfit()+OrderSwap();                       // Подсчет профита
     SellStopCount++;                                               // Количество ордеров
    }             
   if (OrderType() == OP_BUYSTOP)
    {
     BuyStopTicket = OrderTicket();                                   // Сохранение тикета
     BuyStopLots += OrderLots();                                         // Подсчет объема
     BuyStopAP += OrderLots()*OrderOpenPrice();                 // Вычисление средней цены
     BuyStopLast = MathMax (BuyStopLast,OrderOpenTime());     //нахождение позднего ордера
     BuyStopHigh = MathMax (BuyStopHigh,OrderOpenPrice());                   // Верхний BUY
     BuyStopLow = MathMin (BuyStopLow, OrderOpenPrice());                     // Нижний BUY
     BuyStopProfit += OrderProfit()+OrderSwap();                       // Подсчет профита
     BuyStopCount++;                                                 // Количество ордеров
    }             
   if (OrderType() == OP_SELLLIMIT)
    {
     SellLimitTicket = OrderTicket();                                 // Сохранение тикета
     SellLimitLots += OrderLots();                                       // Подсчет объема
     SellLimitAP += OrderLots()*OrderOpenPrice();               // Вычисление средней цены
     SellLimitLast = MathMax (SellLimitLast,OrderOpenTime()); //нахождение позднего ордера
     SellLimitHigh = MathMax (SellLimitHigh,OrderOpenPrice());             // Верхний SELL
     SellLimitLow = MathMin (SellLimitLow, OrderOpenPrice());               // Нижний SELL
     SellLimitProfit += OrderProfit()+OrderSwap();                     // Подсчет профита
     SellLimitCount++;                                               // Количество ордеров
    }             
   if (OrderType() == OP_BUYLIMIT)
    {
     BuyLimitTicket = OrderTicket();                                 // Сохранение тикета
     BuyLimitLots += OrderLots();                                       // Подсчет объема
     BuyLimitAP += OrderLots()*OrderOpenPrice();               // Вычисление средней цены
     BuyLimitLast = MathMax (SellLimitLast,OrderOpenTime());   //нахождение позднего ордера
     BuyLimitHigh = MathMax (SellLimitHigh,OrderOpenPrice());               // Верхний BUY
     BuyLimitLow = MathMin (SellLimitLow, OrderOpenPrice());                 // Нижний BUY
     BuyLimitProfit += OrderProfit()+OrderSwap();                       // Подсчет профита
     BuyLimitCount++;                                               // Количество ордеров
    }
 }
//--------------------------Окончательное вычисление средних цен-------------------------

if (BuyLots != 0 )       // Если есть ордера BUY, то вычисляется их средняя цена открытия
    BuyAP /= BuyLots;      

if (SellLots != 0 )     // Если есть ордера SELL, то вычисляется их средняя цена открытия
    SellAP /= SellLots;      

 if ( NormalizeDouble ( MathAbs (BuyLots - SellLots), 3 ) != 0 ) // Если есть совокупная позиция
   {                                           // то вычисляется ее уровень безубыточности
    APrice = (BuyAP*BuyLots - SellLots*(SellAP - Spread))/(BuyLots - SellLots);  
     if (BuyLots > SellLots)                                   // Поправка для BUY - вверх
      APrice = MathCeil (APrice/Tick)*Tick;
     else                                                      // Поправка для SELL - вниз
      APrice = MathFloor (APrice/Tick)*Tick;
     if (BuyCount == 0 )       // Если присутствуют только BUY, то совокупная цена равна их
      APrice = SellAP;                                                   //  средней цене
     if (SellCount == 0 )     // Если присутствуют только SELL, то совокупная цена равна их
      APrice = BuyAP;                                                     //  средней цене
   }

}
//--------------------------Окончание блока----------------------------------------------
 
Limita :


모든 것이 윙윙 거리는 것처럼 대괄호로.

전체 섹션은 다음과 같습니다.

if(OrderType()==OP_BUY)는 모든 기호 및 모든 마법에 대한 주문에 대해 작동합니다! 괄호가 없다고 합니다!

   if (OrderSymbol()== Symbol () && OrderMagicNumber()==MagicNumber) //Выбирам ордера експерта ДЛЯ ДАННОГО IF
   CommonProfit += OrderProfit()+OrderSwap();               // Подсчет совокупного профита  СРАБАТЫВАЕТ ТОЛЬКО ЭТОТ ОПЕРАТОР
   if (OrderType()==OP_BUY)                                                              А ЭТО СРАБОТАЕТ БЕЗ УЧЁТА SYMBOL() И MAGIC
 

감사해요

우리는 고칠 것이다

 
안녕하세요. 누가 통계를 이해하는지 말해줘, 하지만 뭔가 혼란스러워. 현재 가격 시리즈를 로그 스케일로 변환해야 합니다. 이렇게 하려면 이 계산만 하면 되는데 그게 다야?
 for ( int i= 0 ; i< Bars - 1 ; i++)
      {
      NewPrice[i]= MathLog (Close[i]);
      }
질문은 내가 모든 곳에서 읽은 이유 때문에 발생했습니다. 전체 역사에 대한 Dowjones 차트를 보고 대수 척도의 관점이 절대적 관점과 어떻게 다른지 확인하십시오. 그리고 나에게 시각적으로 거의 동일합니다. 물론 차이점은 있지만 예와 같은 것과는 거리가 멀다.
 
Desead :
안녕하세요. 누가 통계를 이해하는지 말해줘, 하지만 뭔가 혼란스러워. 현재 가격 시리즈를 로그 스케일로 변환해야 합니다. 이렇게 하려면 이 계산만 하면 되는데 그게 다야? 질문은 내가 모든 곳에서 읽은 이유 때문에 발생했습니다. 전체 역사에 대한 Dowjones 차트를 보고 대수 척도의 관점이 절대적 관점과 어떻게 다른지 확인하십시오. 그리고 저에게는 시각적으로 거의 동일합니다. 물론 차이점은 있지만 예와 같은 것과는 거리가 멀다.


참고서에서 - MathLog자연 로그 입니다. 그리고 십진법이 필요합니다????

 for ( int i= 0 ; i< Bars - 1 ; i++)
      {
      NewPrice[i]= MathLog (Close[i])/ MathLog ( 10 );
      }
 
ALXIMIKS :


참고서에서 - MathLog자연 로그입니다. 그리고 십진법이 필요합니다????


소수는 도움이 되지 않습니다. 보기는 변경되지 않습니다.
 

코드(이러한 문제를 제기한 첫 번째 사람이 아닌 것 같습니다) 또는 다음 매개변수를 계산하는 알고리즘을 찾도록 도와주세요.

작업은 다음과 같습니다. EA에서는 특정 가격 수준(예: 지원, 저항 수준)에서 이익 수준(나중에 열릴 미결 주문 및 보류 중인 주문 모두)을 계산해야 합니다. 특정 기호 및 모든 오픈 포지션(교차 비율에서 이익은 현재 가격으로 계산될 예정임).

다음과 같은 문제에 직면했습니다.

결과적으로 로트 크기는 DC마다 다릅니다(예를 들어, instaforex에는 일반적으로 믿어지는 100,000이 아니라 10,000 기본 통화 단위가 있습니다). 따라서 질문: 통화 단위로 로트 크기를 프로그래밍 방식으로 찾는 방법.

또한 모든 DC가 쓰는 것처럼 1포인트 비용(각각 이익)을 계산하는 명확한 공식과 기본 통화(교차 환율)에서 예금 통화로 이익을 재계산하는 공식을 찾을 수 없었습니다. 다르게.

나는 이익 계산 문제와 그 예측(링크를 던짐)에 관한 기사를 읽고 싶습니다. 왜냐하면. 이 문제에 대한 지식의 격차를 느낍니다(내 머리로는 솔직히 말해서, 완전한 혼란 ... 핍 비용 ... 교차 요금 ... 핍 비용을 곱할 위치, 나눌 곳 ... brrrrr ... 공포)

 
무슨 일이 있어도. 대수는 절대값 을 상대값으로 변환하며 내가 이해하는 대로 어떤 밑수가 있는지는 중요하지 않습니다. 나에게 가장 중요한 것은 지표에서 가격의 백분율 변화를 보기 위해 올바르게 수행하는 방법을 이해하는 것입니다.
 

오늘 피보나치 팬을 사용할 때 터미널 4-ki가 닫혔습니다.

오류도 없고 정지도 없고 터미널만 있습니다. 다음 몇 초 만에 사라졌습니다.

문제는 이 기적의 이유를 찾는 방법입니다. 치명적인 오류 가 어딘가에 기록되어 있습니까???

사유: