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

 
DhP :

다음과 같이 시도하십시오.

고맙습니다. 나는 시도 할 것이다
 

안녕하세요.

1. 거래의 결과 를 표현하는 방법, 즉, 수익성이 있었습니까, 아니면 수익성이 없었습니까? 마지막처럼?

2. 가상 거래를 수행하고 그 결과(서명)를 고려하는 방법은 무엇입니까?

 
inoy :

안녕하세요.

1. 거래의 결과를 표현하는 방법, 즉 수익성이 있었습니까, 아니면 수익성이 없었습니까? 마지막처럼?

2. 가상 거래를 수행하고 그 결과(서명)를 고려하는 방법은 무엇입니까?

1. 다음 2가지 기능을 살펴보세요.

isCloseLastPosByStop
isCloseLastPosByTake

2. 가상 거래를 위한 아주 쉬운 방법이 있습니다. 예치금의 크기를 100배 늘리십시오. 악명 높은 1000달러 대신 100000을 가져갑니다. 그리고 가상 위치의 로트를 제한(예: 작업 로트의 경우 0.01)으로 줄입니다(예: 10). 0.01 10의 10분의 1은 완전히 감지할 수 없는 손실과 이익입니다.

거래 기호: isLossLastPos

 
sss2019 :

문제 해결을 도와주세요. 루프에 패스가 2개뿐인 경우 i는 처음에는 0이고 다음에는 즉시 4가 되는 이유는 무엇입니까?

이 스크립트에서 경고는 0, 4를 출력합니다.

글쎄, 아마도 patamushta :

 for (i= 0 ,g= 0 ,c= 0 ;i< OrdersTotal ();i++)
    {
     if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES) == false) break ;
     if ( OrderMagicNumber () == MasterMagicNumber)     // а других точно нет?
      {
.............
       Alert (i);
.............
      }
.............
    }

아마도 다음과 같이 더 나을 것입니다.

 for (i= 0 ,g= 0 ,c= 0 ;i< OrdersTotal ();i++)
    {
     if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES) == false) break ;
     Alert (i);
     if ( OrderMagicNumber () == MasterMagicNumber)
      {
      starttime = OrderOpenTime ();
       ArrayResize (prices, ArraySize (prices)+TradesCount);
       if ( OrderSelect (i+ 1 ,SELECT_BY_POS,MODE_TRADES))
       if ( OrderMagicNumber () == MasterMagicNumber) endtime = OrderOpenTime ();
       OrderSelect (i,SELECT_BY_POS,MODE_TRADES);
      times[i] = starttime;
      times[i+ 1 ] = endtime;
      tickets[i] = OrderTicket ();
      symbol = OrderSymbol ();
       while (g < TradesCount*(i+ 1 ))
        {
         if ( OrderType () == OP_BUY)
          {
           if (g == TradesCount*i)
            {
            prices[g] = OrderOpenPrice ()-LowOpen* Point ;
            } else
            {
            prices[g] = prices[g- 1 ]-step* Point ;
            }
          }
         if ( OrderType () == OP_SELL)
          {
           if (g == TradesCount*i)
            {
            prices[g] = OrderOpenPrice ()+HighOpen* Point ;
            } else
            {
            prices[g] = prices[g- 1 ]+step* Point ;
            }
          }
        g++;
        }
      }
    }
 
DmitriyN :

1. 다음 2가지 기능을 살펴보세요.

isCloseLastPosByStop
isCloseLastPosByTake

2. 가상 거래를 위한 아주 쉬운 방법이 있습니다. 예치금의 크기를 100배 늘리십시오. 악명 높은 1000달러 대신 100000달러가 필요합니다. 그리고 가상 포지션 랏을 한도까지 줄입니다(예: 작업 로트가 있는 경우 10). 0.01/10 퍼센트의 10분의 1 - 완전히 감지할 수 없는 손실과 이익.

거래 기호: isLossLastPos


고맙습니다. 그러나 가상 입력의 경우 확실히 더 우아한 옵션이 있어야 합니다. " 예치금 100배씩 늘려라" - 실생활에서는 그런 기회가 없는 것 같아)). 프로, 놓치지 마세요!
 
inoy :

고맙습니다. 그러나 가상 입력의 경우 확실히 더 우아한 옵션이 있어야 합니다. " 예치금 100배씩 늘려라" - 실생활에서는 그런 기회가 없는 것 같아)). 프로, 놓치지 마세요!

https://www.mql4.com/ru/search#!keyword=%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C% D0%BD%D0%B0%D1%8F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F&module=mql4_module_articles
 
Vinin :

https://www.mql4.com/ru/search#!keyword=%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C% D0%BD%D0%B0%D1%8F%20%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F&module=mql4_module_articles

고맙습니다.
 
DhP :

다음과 같이 시도하십시오.

 bool GO = true ; // глобальная переменная
//---------------------

if (GO && SignalType_1 && RSI >= 35 && Stoch >= 20 && CCI >= - 100 ) {GO= false ; return (+ 1 );} //запретить повторный вход
//---------------
{OrderClose(.......); GO = true ; } //открыть семафор при закрытии позиции.

좋은 오후입니다. 지금 수정하려고 했습니다. 올빼미는 하나의 거래만 하고 손절매로 닫히고 더 이상 다른 모든 거래를 열지 않습니다. 어디가 잘못되었는지 알려주세요.

파일:
 
artemka_1981 :

좋은 오후입니다. 지금 수정하려고 했습니다. 올빼미는 하나의 거래만 하고, 손절매로 닫히고 더 이상 다른 모든 거래를 열지 않습니다. 문제가 있는 곳을 알려주세요.

 if ( OrdersTotal ()== 0 )GO=true;
 
// < 0 - Dn
// > 0 - Up
int Signal()
{
double RSI = iRSI ( NULL , 15 ,RSIperiod,RSI_price,SignalBar);
double Stoch = iStochastic ( NULL , 15 ,Stoch_K,Stoch_D,Stoch_slowing,Stoch_method,Stoch_price,Stoch_mode,SignalBar);
double CCI = iCCI ( NULL , 15 ,CCI_period,CCI_price,SignalBar);

double MA2 = iMA ( NULL , 15 ,ma2_period,ma2_shift,ma2_method,ma2_price,SignalBar);
double IchiA = iIchimoku ( NULL , 15 , tenkan, kijun, senkou_span_b, 3 , SignalBar);
double IchiB = iIchimoku ( NULL , 15 , tenkan, kijun, senkou_span_b, 4 , SignalBar); 

     if (GO && SignalType_1 && RSI >= 65 && Stoch >= 80 && CCI >= 100 ) {GO=false; return (+ 1 );} //запретить повторный вход (+1);
     if (GO && SignalType_2 && Bid >= MA2 && RSI >= 65 && Stoch >= 80 && CCI>= 100 ) {GO=false; return (+ 1 );} //запретить повторный вход return(+1);
     if (GO && SignalType_3 && Bid >= IchiA && RSI >= 65 && Stoch >= 80 && CCI>= 100 ) {GO=false; return (+ 1 );} //запретить повторный вход (+1);
    
   
    
     if (GO && SignalType_1 && RSI <= 35 && Stoch <= 20 && CCI <= - 100 ) {GO=false; return (- 1 );} //запретить повторный вход (-1);
     if (GO && SignalType_2 && Ask <= MA2 && RSI <= 35 && Stoch <= 20 && CCI <= - 100 ) {GO=false; return (- 1 );} //запретить повторный вход (-1);
     if (GO && SignalType_3 && Ask <= IchiB && RSI <= 35 && Stoch <= 20 && CCI <= - 100 ) {GO=false; return (- 1 );} //запретить повторный вход (-1);
    
     if ( OrdersTotal ()== 0 )GO=true;
    
     return ( 0 );
}
DhP :

안녕하세요 . 아무 일도 일어나지 않습니다 죄송합니다 모든 것이 정상입니다 방금 밟았습니다 대단히 감사합니다