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

 
vovander :
OrderType() 함수는 어떤 유형의 값을 반환합니까? 감사해요

정수 주문 유형 ()
 

주전자 질문입니다. 올빼미에는 외부 변수 extern이 있습니다. 두 개의 다른 쌍에 걸고 그 중 하나에서 이 extern을 변경하면 다른 쌍에서도 어떤 이유로 변경됩니다(

어떻게 분리하시겠습니까? 문자열 매개변수를 사용하여 탈출구를 찾았습니다. 초기화하는 동안 끝에 기호 이름을 추가합니다. 전체 및 이중은 어떻습니까?

---

Kim의 기능에 대한 또 다른 질문입니다.

우리는

//| sy - 악기 이름("" - 모든 문자, |
//| NULL - 현재 문자) |
//| 연산 - 연산(-1 - 임의의 위치) |
//| mn - MagicNumber( -1 - 모든 마법) |
//+----------------------------------------------- ------------------------------+
무효 SimpleTrailing(문자열 sy="", int op=-1, int mn=-1)

저것들. SimpleTrailing()을 호출하면 함수가 모든 쌍에 대해 작동합니다.

SimpleTrailing(NULL)인 경우 올빼미가 매달려 있는 차트의 차트에만 해당합니까?

문서화되지 않은 재산입니까 아니면 무엇입니까? 함수에서 이 NULL에 대한 바인딩을 찾지 못했습니다.

아니면 SimpleTrailing(NULL)과 SimpleTrailing()이 같은 것입니까?

 
Omm :

주전자 질문입니다. 올빼미에는 외부 변수 extern이 있습니다. 두 개의 다른 쌍에 걸고 그 중 하나에서 이 extern을 변경하면 다른 쌍에서도 어떤 이유로 변경됩니다(

어떻게 분리하시겠습니까? 문자열 매개변수를 사용하여 탈출구를 찾았습니다. 초기화하는 동안 끝에 기호 이름을 추가합니다. 전체 및 이중은 어떻습니까?

---

Kim의 기능에 대한 또 다른 질문입니다.


저것들. SimpleTrailing()을 호출하면 함수가 모든 쌍에 대해 작동합니다.

SimpleTrailing(NULL)인 경우 올빼미가 매달려 있는 차트의 차트에만 해당합니까?

문서화되지 않은 재산입니까 아니면 무엇입니까? 함수에서 이 NULL에 대한 바인딩을 찾지 못했습니다.

아니면 SimpleTrailing(NULL)과 SimpleTrailing()이 같은 것입니까?

1. 당신은 불가능을 말하고 있습니다! - 이것은 "옳지 않은" 것을 말하고 있음을 의미합니다. EA가 식별자 - OrderMagicNumber() 를 사용하지 않는다고 가정할 수 있습니다.

2. 코드를 살펴보니 SimpleTrailing()을 사용하는 것이 SimpleTrailing( NULL )과 동일하다는 것을 알 수 있습니다. 당신은 그것을 확인해야합니다. 그리고 차트 도구에서 함수가 작동하도록 하려면 SimpleTrailing(Symbol())과 같이 호출합니다.

 

1. 이 전문가 고문 http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=42

Magic은 공식적으로 존재하지만(extern에도 어떤 이유로든), 나는 여전히 그것을 작동시키는 방법을 이해하지 못합니다.

손익분기점과 후행을 연결하려고 합니다.

2.질문 삭제됨

다른 함수에서 찾은 경우 if (sy=="0") sy=Symbol();

분명히 저자는 이것에 추가하는 것을 잊었습니다.

 

사실, 나는 손익분기 함수가 필요합니다 https://forum.mql4.com/ru/11287/page55#11315

특정 캐릭터의 특정 위치에서 한 번 작업

온실에서 무엇을 수정해야합니까?

if(ExistPositions(Symbol()) )
{
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if(OrderSymbol()==Symbol())
MovingInWL(기호());

}

}

 

여러분, 누군가는 기능이 있습니다. 다양한 크기의 여러 주문이 있습니다.

예를 들어 order1=0.1, order2=0.2, order3=0.3, order4=0.4 - 1 로트에 대한 총 거래.

어느 시점에서 나는 특정 로트의 총액에 대한 주문의 일부를 마감해야 합니다.

예를 들어, 0.5랏에서 마감해야 합니다. 글쎄, 여기에 order4 = 0.4를 닫고 나머지는 예를 들어 order3에서 닫는 데 필요한 함수가 있습니다. 잘, 또는 order1, order2 및 order3의 나머지.

 
Omm :

사실, 나는 손익분기 함수가 필요합니다 https://forum.mql4.com/ru/11287/page55#11315

특정 기호의 특정 위치에서 한 번 작업

온실에서 무엇을 수정해야합니까?

이 함수에는 단일 작업에 대한 검사가 있습니다. 아무 것도 만들 필요가 없습니다.

     if (ExistPositions ( Symbol (), - 1 , Magic))
    {MovingInWL ( Symbol (), - 1 , Magic);}

그리고 MovingInWL() 함수를 약간 조정해야 합니다.

 void MovingInWL ( string sy = "" , int op = - 1 , int mn = - 1 )
{
     double po, pp, ld_BU;
     int     i, k = OrdersTotal ();
//----
     if (sy = "0" ) sy = Symbol ();
     for (i = k - 1 ; i >= 0 ; i--)
    {
         if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) continue ;
         if (sy != "" ) if (OrderSymbol() != sy) continue ;
         if (mn >= 0 ) if (mn != OrderMagicNumber()) continue ;
        po = MarketInfo (OrderSymbol(), MODE_POINT);
         if (OrderType() == OP_BUY)
        {
            //---- Это условие выполняется однократно (пока БУ не установлен)
            if (OrderStopLoss() - OrderOpenPrice() < LevelWLoss * po)
            {
                pp = MarketInfo (OrderSymbol(), MODE_BID);
                 if (pp - OrderOpenPrice() > LevelProfit * po)
                {
                    ld_BU = NormalizeDouble (OrderOpenPrice() + LevelWLoss * po, MarketInfo (OrderSymbol(), MODE_DIGITS));
                    ModifyOrder (- 1 , ld_BU, - 1 );
                     continue ;
                }
            }
        }
         else if (OrderType() == OP_SELL)
        {
            //---- Это условие выполняется однократно (пока БУ не установлен)
            if (OrderStopLoss() == 0 || OrderOpenPrice() - OrderStopLoss() < LevelWLoss * po)
            {
                pp = MarketInfo (OrderSymbol(), MODE_ASK);
                 if (OrderOpenPrice() - pp > LevelProfit * po)
                {
                    ld_BU = NormalizeDouble (OrderOpenPrice() - LevelWLoss * po, MarketInfo (OrderSymbol(), MODE_DIGITS));
                    ModifyOrder (- 1 , ld_BU, - 1 );
                }
            }
        }
    }
//----
}
 

기능 변경을 도와주세요. 주간 촛대의 High Low 표시기에서 다음과 같이 보입니다.

if (TimeDay(Time[i])!=TimeDay(Time[i+1]))
{
if(TimeDayOfWeek(시간[i])==1)

그러나 월간 양초의 고저가 필요합니다. 감사해요

 

TarasBY는 이렇게 작동하지 않습니다.

e-TFL_V2에서는 이 두 줄을 start() 및 MovingInWL 함수 자체에 추가합니다.

여러 개의 오픈 포지션 이 있는 경우, 손익분기점은 하나에 대해서만 설정됩니다. 동시에 매 틱마다 다시 시도합니다.

손익분기점 위치가 닫히면 바로 다음 위치에 놓습니다.

동시에 손익분기점 값은 내가 첫 번째 메시지에서 쓴 것처럼 모든 기호에 대해 동일하지만 어드바이저 설정 창을 통해 다른 숫자를 설정합니다.

원샷 체크는 어디에 있습니까?

ps. 수정된 기능 감사합니다. 시아버지는 파이브 사인에 있지만 Kimov f-ths의 대부분은 어쨌든 작동하는 것 같습니다.

pss는 조금 운전했습니다. 효과가 있었던 것 같습니다. 이것은 MovingInWL 곡선이었습니다. 다시 한번 감사합니다. 그리고 나는 이미 이틀째 이것과 씨름하고 있다))

pss 왜 Magic이 Advisor의 외부 매개변수에 포함되어야 하는지 이해할 수 없습니까?

 
메타 트레이더, 즉 다른 사람이 자신의 mt에서 연결할 수 있는 서버를 위한 자신의 서버를 만드는 방법 ??