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

 
Integer :


글쎄요, 언제나처럼 그리고 즉시 ... 중재자님, 따라야 하는 순서를 따르는 것이 좋습니다. 포럼에서 일종의 미친 짓이 벌어지고 있지만 중재자는 어디에 있습니까? 흔들고, 깨고, 지옥에 보내십시오. 바로 중재자가 있습니다. 어쩌면 도당을 묶을 시간입니까?

포럼의 거인들이 사소한 일로 어떻게 다투는지 지켜보는 것은 마음이 아픕니다. 이것은 가장 강력한 리소스의 프로그래머를 위한 포럼입니다. 좀 더 예의를 갖추세요. 나는 제안한다:

1. 비밀 형태로도 성격으로 전환하려고 할 때 - 하루 동안 금지;

2. 개인적인 모욕 - 일주일 동안 금지;

3. 한 달 동안의 욕설을 반복하는 모욕;

4. 이전의 모든 경고를 무시하고 엄격한 형태로 반복되는 위반 - 영원한 금지.

 
yosuf :

포럼의 거인들이 사소한 일로 어떻게 다투는지 지켜보는 것은 마음이 아픕니다. 가장 강력한 리소스의 프로그래머 포럼입니다. 좀 더 예의를 갖추세요. 나는 제안한다:

1. 비밀 형태로도 성격으로 전환하려고 할 때 - 하루 동안 금지;

2. 개인적인 모욕 - 일주일 동안 금지;

3. 한 달 동안의 욕설을 반복하는 모욕;

4. 이전의 모든 경고를 무시하고 엄격한 형태로 반복되는 위반 - 영원한 금지.



나는 절대적으로 동의하지만 불행히도 여기의 중재자는 "숨겨진 형태"를 드러낼 만큼 충분히 유능하지 않습니다. 교묘하게 교묘한 외교관들이여, 거기 입에 손가락을 넣지 마십시오.
 

주제를 벗어나서 죄송하지만 누군가가 이것이 무엇인지 말해 줄 수 있습니까?

핸드북에서:

"참조로 매개변수를 전달할 수 있습니다. 이 경우 이러한 매개변수를 수정하면 참조로 전달된 호출된 함수의 해당 변수에 영향을 미칩니다. 배열 요소 는 참조로 전달할 수 없습니다. 참조로 매개변수는 동일한 모듈, 라이브러리 기능의 경우 이 가능성은 없습니다. 매개변수가 참조로 전달되었음을 나타내 려면 데이터 유형 다음에 & 수정자가 와야 합니다.

배열은 참조로 전달할 수도 있으며 모든 변경 사항은 원래 배열에 반영됩니다. 단순한 매개변수와 달리 배열은 참조 및 라이브러리 함수로 전달할 수 있습니다 ."

라이브러리 함수에서 참조로 값을 전달하려면 1차원 배열 형태의 중간 링크를 사용해야 합니다.

다른 해결 방법이 있습니까?

그리고 왜 모든 것이 그렇게 이루어 졌습니까?

 
ALXIMIKS :

주제를 벗어나서 죄송하지만 누군가가 이것이 무엇인지 말해 줄 수 있습니까?

핸드북에서:

"참조로 매개변수를 전달할 수 있습니다. 이 경우 이러한 매개변수를 수정하면 참조로 전달된 호출된 함수의 해당 변수에 영향을 미칩니다. 배열 요소는 참조로 전달할 수 없습니다. 참조에 의한 매개변수는 하나 내에서만 전달할 수 있습니다. 모듈, 라이브러리 함수의 경우 이 가능성은 없습니다. 매개변수가 참조로 전달되었음을 나타내 려면 데이터 유형 다음에 & 수정자가 와야 합니다.

배열은 참조로 전달할 수도 있으며 모든 변경 사항은 원래 배열에 반영됩니다. 단순한 매개변수와 달리 배열은 참조 및 라이브러리 함수로 전달할 수 있습니다 ."

1. 라이브러리 함수에서 참조로 값을 전달하려면 1차원 배열 형태의 중간 링크를 사용해야 합니다.

다른 해결 방법이 있습니까?

2. 왜 모든 것이 이런 식으로 이루어집니까?

1. 맞아. MQL4에서는 다른 방식으로 작동하지 않습니다.

2. 정확히 무엇입니까? 참조로 전달하는 경우 많은 양의 데이터(기본 유형의 길이보다 큼)를 전송하기 위한 것입니다. 그들과 함께 스택을로드하지 않기 위해. 일반적으로 구조체, 클래스, 배열은 포인터 또는 참조로 전달됩니다. 그러나 클래스와 구조체는 return을 통해 함수에서 반환될 수 있습니다. 또한 클래스, 구조 또는 배열에 대한 참조 또는 포인터를 반환할 수 있습니다.

 

다음과 같은 문제가 있습니다.

내가 손절매를 변경할 때, 때때로 그것은 마지막 오픈 주문에 스탑을 두지 않습니다. 아주 드물게 발생하지만 때때로 촬영합니다.

가격 오류가 없습니다. 악당이 때때로 마지막 위치에 주문을하지 않은 후 주문이 다시 계산된다는 것입니다.

내가 어디에서 잘못 설명했는지 알려주지 않습니까?

 //+-------------------------------------------------------------------------------------+
//|                        Управление StopLoss, TakeProfit                              |
//+-------------------------------------------------------------------------------------+
bool ProfitManagement()
{
double StopLossBuy = BuyAP+Profit* Point ;                             //Вычисляем StopLoss
double TakeProfitBuy = BuyAP + Profit* Point ;                  //Вычисляем цену TakeProfit
double StopLossSell = SellAP-Profit* Point ;
double TakeProfitSell = SellAP - Profit* Point ;
RefreshRates();
for ( int good = 0 ; good < OrdersTotal (); good ++)      // Выбираем со всего массива ордеров
 {
 if ( OrderSelect (good, SELECT_BY_POS, MODE_TRADES))             
 if (OrderSymbol() != Symbol () || OrderMagicNumber() != MagicNumber) continue ;
 if (OrderSymbol()== Symbol ()&&OrderMagicNumber()==MagicNumber)   //Выбираем ордера эксперта
   { 
//-------------------------Order Buy-----------------------------------------------------  
if (BuyCount > 1 )                                           //Если открыты длинные позиции
 {
 if (BuyAP < Bid)                                                 //Если  мы идем по рынку  
 if ( MathAbs (OrderStopLoss() - StopLossBuy) >= Tick)           // Профит не равен нужному
 if (Bid - StopLossBuy > DedZone)                     // Уровень достаточно удален от цены
 if (WaitForTradeContext())                                 // Свободен ли торговый поток?
 if (OrderType() == OP_BUY)                                         // Выбираем ордера Buy
 if (!OrderModify(OrderTicket(), 0 , NP(StopLossBuy), 0 , 0 , Lime))     // Изменяем StopLoss
  {
 Alert ( Symbol (), " Хрень со стопами! " ,   GetLastError ());
 return ( false );
  }

// ну и далее по логике
 
yosuf :

포럼의 거인들이 사소한 일로 어떻게 다투는지 지켜보는 것은 마음이 아픕니다. 가장 강력한 리소스의 프로그래머 포럼입니다. 좀 더 예의를 갖추세요. 나는 제안한다:

1. 비밀 형태로도 성격으로 전환하려고 할 때 - 하루 동안 금지;

2. 개인적인 모욕 - 일주일 동안 금지;

3. 한 달 동안의 욕설을 반복하는 모욕;

4. 이전의 모든 경고를 무시하고 엄격한 형태로 반복되는 위반 - 영원한 금지.


촬영은 언제였나요? 하지 않을 것이다?
 
Limita :

다음과 같은 문제가 있습니다.

내가 손절매를 변경할 때, 때때로 그것은 마지막 오픈 주문에 스탑을 두지 않습니다. 아주 드물게 발생하지만 때때로 촬영합니다.

가격 오류가 없습니다. 악당이 때때로 마지막 위치에 주문을하지 않은 후 주문이 다시 계산된다는 것입니다.

내가 어디에서 잘못 설명했는지 알려주지 않습니까?

이 순서를 말로 설명하십시오:

   //-------------------------Order Buy-----------------------------------------------------  
         if (BuyCount > 1 ) {
             if (BuyAP < Bid)                                       //Если  мы идем по рынку, то выполнится следующая  
             if ( MathAbs (OrderStopLoss() - StopLossBuy) >= Tick)   // Профит не равен нужному
             if (Bid - StopLossBuy > DedZone)                       // Уровень достаточно удален от цены
             if (WaitForTradeContext())                             // Свободен ли торговый поток?
             if (OrderType() == OP_BUY)                             // Выбираем ордера Buy
             if (!OrderModify(OrderTicket(), 0 , NP(StopLossBuy), 0 , 0 , Lime)) {
               Alert ( Symbol (), " Хрень со стопами! " ,   GetLastError ());
               return ( false );
            }

간단히 말해서 프로그래밍과 거리가 먼 친구에게 어떻게 말하겠습니까?

 

예를 들어 각 위치에서 50포인트를 얻고 싶습니다. 손절매 는 평균 가격 + 50핍과 같습니다.

롱 포지션이 열려 있다면. 우리는 그것에 대해 약간의 돈을 번다. 우리는 합의된 수준에서 StopLoss를 설정합니다. 시장이 계속 성장하도록 하십시오. 여전히 충분한 돈을 벌지 못하면 충분히 벌기 시작할 때까지 기다립니다.

우리는 Bai의 방향으로 또 다른 위치를 엽니 다. 평균 가격이 변경되었습니다. StopLoss를 변경합니다.

그리고 물론 스탑을 할 때 우리는 브로커의 규칙(거래 흐름, 스탑 레벨)을 따릅니다. 그렇지 않으면 브로커가 우리를 이해하지 못할 것입니다 :))

설명할 수 있었으면 좋겠습니다 :)

 
Limita :

예를 들어 각 위치에서 50포인트를 얻고 싶습니다. 손절매 는 평균 가격 + 50핍과 같습니다.

롱 포지션이 열려 있다면. 우리는 그것에 대해 약간의 돈을 번다. 우리는 합의된 수준에서 StopLoss를 설정합니다. 시장이 계속 성장하게 하십시오. 여전히 충분한 돈을 벌지 못하면 충분히 벌기 시작할 때까지 기다립니다.

우리는 Bai의 방향으로 또 다른 위치를 엽니 다. 평균 가격이 변경되었습니다. StopLoss를 변경합니다.

그리고 물론 스탑을 할 때 우리는 브로커의 규칙(거래 흐름, 스탑 레벨)을 따릅니다. 그렇지 않으면 브로커가 우리를 이해하지 못할 것입니다 :))

설명할 수 있었으면 좋겠습니다 :)

M-dya-s... 내 말은 - 그 라인의 논리는...

거기에 모호한 논리가 있습니다. tk. 중괄호가 없습니다. 이는 이전 조건이 충족될 때 모든 행이 실행되지 않음을 의미합니다.

 
Limita :

다음과 같은 문제가 있습니다.

내가 손절매를 변경할 때, 때때로 그것은 마지막 오픈 주문에 스탑을 두지 않습니다. 아주 드물게 발생하지만 때때로 촬영합니다.

가격 오류가 없습니다. 악당이 때때로 마지막 위치에 주문을하지 않은 후 주문이 다시 계산된다는 것입니다.

내가 어디에서 잘못 설명했는지 알려주지 않습니까?


 for ( int good = 0 ; good < OrdersTotal (); good ++){                                 // Выбираем со всего массива ордеров
    }    

열거는 다음과 같이 수행하는 것이 더 좋습니다(누군가가 주문을 수정하거나 삭제할 때 열거 옵션에 문제가 있다고 썼습니다).

 for ( int good = OrdersTotal ()- 1 ; good >= 0 ; good --){     // Выбираем со всего массива ордеров
    }  

그리고 왜 오일 버터??? (한 가지만 남겨주세요)

 if (OrderSymbol() != Symbol () || OrderMagicNumber() !=  MagicNumber) continue ;
 if (OrderSymbol() == Symbol () && OrderMagicNumber() ==  MagicNumber) {           //Выбираем ордера эксперта
    }