친애하는 프로그래머! 이 문제를 해결하는 데 도움이 됩니다. EA는 M15에서 거래를 시작하지만 H1에서도 조건을 취합니다. H1의 조건이 충족되면 M15에 여러 진입점이 있을 수 있습니다. 실제로 문제는 H1의 조건이 반대 방향으로 바뀔 때까지 첫 번째 진입점으로만 자신을 제한하려는 것입니다.
k=0; (i=OrdersTotal()-1;i>=0;i--) { 새로 고침(); if( 주문 선택 (i, SELECT_BY_POS, MODE_TRADES ) == true) a = 0; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) k++; }
친애하는 프로그래머! 이 문제를 해결하는 데 도움이 됩니다. EA는 M15에서 거래를 시작하지만 H1에서도 조건을 취합니다. H1의 조건이 충족되면 M15에 여러 진입점이 있을 수 있습니다. 실제로 문제는 H1의 조건이 반대 방향으로 바뀔 때까지 첫 번째 진입점으로만 자신을 제한하려는 것입니다.
k=0; (i=OrdersTotal()-1;i>=0;i--) { 새로 고침(); if(주문 선택(i, SELECT_BY_POS, MODE_TRADES) == true) a = 0; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) k++; }
친애하는 프로그래머! 이 문제를 해결하는 데 도움이 됩니다. EA는 M15에서 거래를 시작하지만 H1에서도 조건을 취합니다. H1의 조건이 충족되면 M15에 여러 진입점이 있을 수 있습니다. 실제로 문제는 H1의 조건이 반대 방향으로 바뀔 때까지 첫 번째 진입점으로만 자신을 제한하려는 것입니다.
k=0; (i=OrdersTotal()-1;i>=0;i--) { 새로 고침(); if(주문 선택(i, SELECT_BY_POS, MODE_TRADES) == true) a = 0; if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) k++; }
안녕하세요 Artyom입니다! 작업은 H1에 신호가 있는 동안 M15의 항목을 1(첫 번째 신호)로 제한하는 것입니다.
#property strict externdouble Lot= 0.1 ;
externint stoploss= 20 ; externint takeprofit= 50 ; // если stoploss и / или takeprofit = 0, то отключены. //if stoploss and/or takeprofit = 0, are disconnected.
externint Magic = 99999999 ; // уникальный номер, кот. советник метит свои ордера и впоследствии работает только с ними. При постановке на разные графики или т/ф, межики должны быть разными externint Slipp = 1 ; // величина максимально возможного проскальзывания. // slippage externint sec = 2000 ; // количество миллисекунд сна советника между повторами отправки торгового поручения в случае неудачи // number of milliseconds sleep of the EA between repetitions of sending a trade assignment in case of failure
//============================= Stochastic inputint InpKPeriod= 13 ; // K Period inputint InpDPeriod= 3 ; // D Period inputint InpSlowing= 3 ; // Slowing
//============================= Stochastic inputint InpKPeriod1= 13 ; // K Period inputint InpDPeriod1= 3 ; // D Period inputint InpSlowing1= 3 ; // Slowing
안녕하세요, 친애하는 포럼 사용자. Expert Advisor에서 Metatrader4에 내장된 "trailing stop" 도구의 값을 어떻게든 설정할 수 있습니까? 흥미로운 것은 내장 도구와 상관 없이 후행 중지를 구현하기 위해 Expert Advisor에 코드를 추가하는 것이 아닙니다.
안녕하세요, 친애하는 포럼 사용자. Expert Advisor에서 Metatrader4에 내장된 "trailing stop" 도구의 값을 어떻게든 설정할 수 있습니까? 흥미로운 것은 내장 도구와 상관 없이 후행 중지를 구현하기 위해 Expert Advisor에 코드를 추가하는 것이 아닙니다.
가격순으로 정렬해야 합니다. 크기로 검색할 수 없고 그리드가 여러 개 있을 수 있으며 가장 큰 것 또는 작은 것 중 하나를 찾을 수 있지만 첫 번째와 마지막은 찾을 수 없기 때문입니다.
마리나가 게시한 기능에 대해 이야기하고 있습니다.
거기에서 최종 주문의 정의는 시간별로 수행 됩니다.
마리나가 게시한 기능에 대해 이야기하고 있습니다.
거기에서 최종 주문의 정의는 시간별로 수행 됩니다.
이렇게 부르니까
친애하는 프로그래머! 이 문제를 해결하는 데 도움이 됩니다. EA는 M15에서 거래를 시작하지만 H1에서도 조건을 취합니다. H1의 조건이 충족되면 M15에 여러 진입점이 있을 수 있습니다. 실제로 문제는 H1의 조건이 반대 방향으로 바뀔 때까지 첫 번째 진입점으로만 자신을 제한하려는 것입니다.
k=0;
(i=OrdersTotal()-1;i>=0;i--)
{
새로 고침();
if( 주문 선택 (i, SELECT_BY_POS, MODE_TRADES ) == true) a = 0;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) k++;
}
if( stM1 <= 20 && stM0 > 20 && stH0 > 70 && k==0 && opp != 시간[0]) // 매수
친애하는 프로그래머! 이 문제를 해결하는 데 도움이 됩니다. EA는 M15에서 거래를 시작하지만 H1에서도 조건을 취합니다. H1의 조건이 충족되면 M15에 여러 진입점이 있을 수 있습니다. 실제로 문제는 H1의 조건이 반대 방향으로 바뀔 때까지 첫 번째 진입점으로만 자신을 제한하려는 것입니다.
k=0;
(i=OrdersTotal()-1;i>=0;i--)
{
새로 고침();
if(주문 선택(i, SELECT_BY_POS, MODE_TRADES) == true) a = 0;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) k++;
}
if( stM1 <= 20 && stM0 > 20 && stH0 > 70 && k==0 && opp != 시간[0]) // 매수
그리고 코드 없이? 특히 코드가 명확하지 않기 때문에.
정확히 무엇을 원하십니까? 추상적이지 않지만 정확히 얻고자 하는 것.
친애하는 프로그래머! 이 문제를 해결하는 데 도움이 됩니다. EA는 M15에서 거래를 시작하지만 H1에서도 조건을 취합니다. H1의 조건이 충족되면 M15에 여러 진입점이 있을 수 있습니다. 실제로 문제는 H1의 조건이 반대 방향으로 바뀔 때까지 첫 번째 진입점으로만 자신을 제한하려는 것입니다.
k=0;
(i=OrdersTotal()-1;i>=0;i--)
{
새로 고침();
if(주문 선택(i, SELECT_BY_POS, MODE_TRADES) == true) a = 0;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) k++;
}
if( stM1 <= 20 && stM0 > 20 && stH0 > 70 && k==0 && opp != 시간[0]) // 매수
샘플 알고리즘:
bool flagH1 = true ;
bool flagM15 = true ;
if (!flag && flagH1 && flagM15)
{
flag = true ;
}
if (!flagH1 && flag)
flag = false ;
그리고 코드 없이? 특히 코드가 명확하지 않기 때문에.
정확히 무엇을 원하십니까? 추상적이지 않지만 정확히 얻고자 하는 것.
extern double Lot= 0.1 ;
extern int stoploss= 20 ;
extern int takeprofit= 50 ;
// если stoploss и / или takeprofit = 0, то отключены.
//if stoploss and/or takeprofit = 0, are disconnected.
extern int Magic = 99999999 ;
// уникальный номер, кот. советник метит свои ордера и впоследствии работает только с ними. При постановке на разные графики или т/ф, межики должны быть разными
extern int Slipp = 1 ;
// величина максимально возможного проскальзывания.
// slippage
extern int sec = 2000 ;
// количество миллисекунд сна советника между повторами отправки торгового поручения в случае неудачи
// number of milliseconds sleep of the EA between repetitions of sending a trade assignment in case of failure
//============================= Stochastic
input int InpKPeriod= 13 ; // K Period
input int InpDPeriod= 3 ; // D Period
input int InpSlowing= 3 ; // Slowing
//============================= Stochastic
input int InpKPeriod1= 13 ; // K Period
input int InpDPeriod1= 3 ; // D Period
input int InpSlowing1= 3 ; // Slowing
int A, a, b, i, ii, o;
double SL, TP, op, stH0, stH1, stM0, stM1;
bool c;
datetime OldTime, Time0, opp;
int init()
{
OldTime = iTime ( NULL , Period (), 0 );
return ( 0 );
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return ( 0 );
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//====================================================================
stH0 = iStochastic ( NULL , 60 ,InpKPeriod,InpDPeriod,InpSlowing, MODE_EMA , 1 , MODE_MAIN , 0 );
stH1 = iStochastic ( NULL , 60 ,InpKPeriod,InpDPeriod,InpSlowing, MODE_EMA , 1 , MODE_MAIN , 1 );
stM0 = iStochastic ( NULL , 15 ,InpKPeriod1,InpDPeriod1,InpSlowing1, MODE_EMA , 1 , MODE_MAIN , 0 );
stM1 = iStochastic ( NULL , 15 ,InpKPeriod1,InpDPeriod1,InpSlowing1, MODE_EMA , 1 , MODE_MAIN , 1 );
//====================================================================
b= 0 ;
for (i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
RefreshRates ();
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) == true ) a = 0 ;
if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) b++;
}
if ( stM1 <= 20 && stM0 > 20 && stH0 > 70 && b== 0 && opp != Time [ 0 ]) // покупка
{
opp = Time [ 0 ];
RefreshRates ();
op = Ask ;
A = OrderSend ( Symbol (), OP_BUY , Lot, Ask , Slipp, 0 , 0 , NULL , Magic, 0 , Blue);
o = GetLastError ();
while (A < 0 && o != 4109 && o != 132 && o != 133 )
{
Print ( "Error =" , o);
Sleep (sec);
RefreshRates ();
op = Ask ;
A = OrderSend ( Symbol (), OP_BUY , Lot, Ask , Slipp, 0 , 0 , NULL , Magic, 0 , Blue);
o = GetLastError ();
}
SL = op-stoploss* Point ;
if (stoploss == 0 ) SL = 0 ;
TP = op+takeprofit* Point ;
if (takeprofit == 0 ) TP = 0 ;
if (SL != 0 || TP != 0 )
{
RefreshRates ();
if ( OrderSelect (A, SELECT_BY_TICKET ) == true ) a = 0 ;
c = OrderModify ( OrderTicket (), OrderOpenPrice (), SL, TP, 0 , Green);
o = GetLastError ();
while (c == false && o != 4109 && o != 132 && o != 133 )
{
Print ( "Error =" , o);
Sleep (sec);
RefreshRates ();
if ( OrderSelect (A, SELECT_BY_TICKET ) == true ) a = 0 ;
c = OrderModify ( OrderTicket (), OrderOpenPrice (), SL, TP, 0 , Green);
o = GetLastError ();
} }
}
//---------------------------------------------------------------------------------------------------------+
b= 0 ;
for (i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
RefreshRates ();
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) == true ) a = 0 ;
if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) b++;
}
if ( stM1 >= 80 && stM0 < 80 && stH0 < 30 && b== 0 && opp != Time [ 0 ]) // продажа
{
opp = Time [ 0 ];
RefreshRates ();
op = Bid ;
A = OrderSend ( Symbol (), OP_SELL , Lot, Bid , Slipp, 0 , 0 , NULL , Magic, 0 , Red);
o = GetLastError ();
while (A < 0 && o != 4109 && o != 132 && o != 133 )
{
Print ( "Error =" , o);
Sleep (sec);
RefreshRates ();
op = Bid ;
A = OrderSend ( Symbol (), OP_SELL , Lot, Bid , Slipp, 0 , 0 , NULL , Magic, 0 , Red);
o = GetLastError ();
}
SL = op+stoploss* Point ;
if (stoploss == 0 ) SL = 0 ;
TP = op-takeprofit* Point ;
if (takeprofit == 0 ) TP = 0 ;
if (SL != 0 || TP != 0 )
{
RefreshRates ();
if ( OrderSelect (A, SELECT_BY_TICKET ) == true ) a = 0 ;
c = OrderModify ( OrderTicket (), OrderOpenPrice (), SL, TP, 0 , Green);
o = GetLastError ();
while (c == false && o != 4109 && o != 132 && o != 133 )
{
Print ( "Error =" , o);
Sleep (sec);
RefreshRates ();
if ( OrderSelect (A, SELECT_BY_TICKET ) == true ) a = 0 ;
c = OrderModify ( OrderTicket (), OrderOpenPrice (), SL, TP, 0 , Green);
o = GetLastError ();
} }
}
return ( 0 );
}
//+------------------------------------------------------------------+
안녕하세요 Artyom입니다! 작업은 H1에 신호가 있는 동안 M15의 항목을 1(첫 번째 신호)로 제한하는 것입니다.
안녕하세요, 친애하는 포럼 사용자. Expert Advisor에서 Metatrader4에 내장된 "trailing stop" 도구의 값을 어떻게든 설정할 수 있습니까? 흥미로운 것은 내장 도구와 상관 없이 후행 중지를 구현하기 위해 Expert Advisor에 코드를 추가하는 것이 아닙니다.
답변에 미리 감사드립니다.
안녕하세요, 친애하는 포럼 사용자. Expert Advisor에서 Metatrader4에 내장된 "trailing stop" 도구의 값을 어떻게든 설정할 수 있습니까? 흥미로운 것은 내장 도구와 상관 없이 후행 중지를 구현하기 위해 Expert Advisor에 코드를 추가하는 것이 아닙니다.
답변에 미리 감사드립니다.