[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 279

 

누가 알겠습니까? 문제는 두 개의 선이 있다는 것입니다. 하나는 일련의 양초에서 새로 부상하는 고점을 따르고 다른 하나는 저점을 따릅니다. 선 사이의 거리가 50 이상이면 수직선을 그려야 합니다. 수직선의 경우 좌표 - 시간이 필요합니다. 선 사이의 거리가 50 이상이 되는 시간을 빼려면 무엇을 사용할 수 있습니까? 나는 나 자신을 생각할 수 없습니다.

vert선은 ObjectCreate를 사용하여 그리고 싶었습니다 ... 시간없이 할 수 있다면 무엇을 사용해야합니까?
 
waitra >> :

아니면 단순히 "아직 고문의 역사에 단 하나의 주문이 없다"라고 단순히 결정하는 그런 기능이 있습니까? - 그것으로 충분할 것이다

이건 모르겠어. 여기 누가 대답할 수 있습니까?

그래도 I. Kim의 폼을 리메이크 하면? 이 하나:

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru            |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                  |
//|  Описание : Возвращает количество позиций.                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                            |
//|    sy - наименование инструмента   (""   - любой символ,  |
//|                                     NULL - текущий символ)          |
//|    op - операция                   (-1   - любая позиция)       |
//|    mn - MagicNumber                (-1   - любой магик)               |
//+----------------------------------------------------------------------------+
int NumberOfPositions ( string sy = "" , int op = - 1 , int mn = - 1 ) {
  int i , k = OrdersTotal ( ) , kp = 0 ;
  if ( sy = = "0" ) sy = Symbol ( ) ;
  for ( i = 0 ; i < k ; i + + ) {
    if ( OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) ) {
      if ( OrderSymbol ( ) = = sy | | sy = = "" ) {
        if ( OrderType ( ) = = OP_BUY | | OrderType ( ) = = OP_SELL ) {
          if ( op < 0 | | OrderType ( ) = = op ) {
            if ( mn < 0 | | OrderMagicNumber ( ) = = mn ) kp + + ;
          } } } } }  return ( kp ) ; }

저것들. MODE_TRADES 대신 MODE_HISTORY를 사용하십시오. 주문은 마감된 주문과 삭제된 주문 중에서 선택됩니다.

그런 다음(함수 이름 변경):

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru            |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                  |
//|  Описание : Возвращает кол-во ордеровиз истории счета  |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                           |
//|    sy - наименование инструмента   (""   - любой символ, |
//|                                     NULL - текущий символ)        |
//|    op - операция                   (-1   - любая позиция)       |
//|    mn - MagicNumber                (-1   - любой магик)             |
//+----------------------------------------------------------------------------+
int NumberOfPos_HISTORY ( string sy = "" , int op = - 1 , int mn = - 1 ) {
  int i , k = OrdersTotal ( ) , kp = 0 ;
  if ( sy = = "0" ) sy = Symbol ( ) ;
  for ( i = 0 ; i < k ; i + + ) {
    if ( OrderSelect ( i , SELECT_BY_POS , MODE_HISTORY ) ) {
      if ( OrderSymbol ( ) = = sy | | sy = = "" ) {
        if ( OrderType ( ) = = OP_BUY | | OrderType ( ) = = OP_SELL ) {
          if ( op < 0 | | OrderType ( ) = = op ) {
            if ( mn < 0 | | OrderMagicNumber ( ) = = mn ) kp + + ;
          } } } } }  return ( kp ) ; }

시도해보십시오 - 작동합니까?

 

친구, 좋은 오후입니다.


제발, 그런 것을 말해 주세요.


예를 들어, "가격 캔들"이 이동 평균 을 교차했을 때 포지션을 열어야 합니다.

지금까지는 촛대가 닫혔을 때/평균 위/아래로 열렸을 때만 신호를 분류할 수 있었습니다...

( iMA( .....) >닫기[1] 또는 iMA(....) >열기[0] )

그러나 현재 촛불이 닫히고 다음 촛불이 열리기를 기다리지 않고 이미 MA 위/아래에 있는 경우 현재 촛불로 진입하려면 어떻게 해야 하나요???


미리 감사드립니다.

 
Morzh09 >> :

친구, 좋은 오후입니다.


제발, 그런 말을 해 주세요.


예를 들어, "가격 캔들"이 이동 평균을 교차할 때 포지션을 열어야 합니다.

지금까지는 촛대가 닫혔을 때/평균 위/아래로 열렸을 때만 신호를 분류할 수 있었습니다...

( iMA( .....) >닫기[1] 또는 iMA(....) >열기[0] )

그러나 현재 촛불이 닫히고 다음 촛불이 열리기를 기다리지 않고 이미 MA 위/아래에 있는 경우 현재 촛불로 진입하려면 어떻게 해야 하나요???


미리 감사드립니다.

그리고 싫어하는 것:

iMA(....) >열기[0] ? - 0은 현재 촛불입니다.

 
rid >> :

그리고 싫어하는 것:

iMA(....) >열기[0] ? - 0은 현재 촛불입니다.

이것은 사실이지만 예를 들어 MA 아래에서 열렸을 때 가격(보통 뉴스에서)이 긴 양초로 MA를 돌파하고 위아래로 움직이는 경우가 있습니다....

내 여는 기준을 사용하면 그러한 움직임을 놓칠 수 있습니다 ...

따라서 가격이 현재 평균보다 높거나 낮으면 포지션을 열고 싶습니다. 이 양초가 닫히고 다음 양초가 열릴 때까지 기다리지 마십시오.

 

다음과 같이 할 수 있습니다.

 if (  iMA ( . . . . . . . . , 1 ) > Close [ 1 ]  & & iMA ( . . . . . . . , 0 ) < Open [ 0 ]  ) // продажа

(이전 막대의 MA가 이전 막대의 종가보다 크고 현재 막대의 MA가 현재 막대의 시가보다 낮 으면 매도)

 

제발 도와주세요 이틀째 고르고 있는데 이해가 안되네요. 나는 Kovalev의 교과서에서 코드를 가져 와서 구매 주문 을 열려고 시도하고 "오류 130"이라는 대답을 얻었습니다. 손절매와 이익 실현이 0으로 설정되면 작업이 성공한 것입니다.

코드

nt f_Open_Ord(int 팁)
{
int Ticket, // 주문 번호
미네소타; // 매직넘버

double SL, // StopLoss(가격 가치 기준)
TP; // TakeProf(가격 대비)
//------------------------------------------------ --------------- 삼 --
while(g_Mas_Tip[Tip]==0) // 까지 ..
{ //.. 성공하지 못했습니다.
if (SL<g_Level_new) // 허용보다 작으면..
SL=(g_Level_new+20); // .. 그러면 유효
if (TP<g_Level_new)
// 허용보다 작으면..
TP=(g_Level_new+20); // ..그러면 유효
MN=TimeCurrent(); // 단순 매직넘버
f_Inform(13,팁); // 오픈 시도에 대한 메시지
if (Tip==0) // 구매를 엽니다.
{
SL=입찰가 - SL*포인트; // 손절매(가격)
SL=NormalizeDouble(SL, 숫자);
TP=입찰가 + TP*포인트; // TakeProfit(가격)
TP=NormalizeDouble(TP, 숫자);
티켓=OrderSend(Symbol(),0,g_Lots_New,Ask,5,1.46500,1.47500,"",MN);
err=GetLastError();
Comment("오류번호 ",err);
if (티켓>0) f_Inform(4);
//if(티켓<0) f_Inform(25);

코드가 수정되었습니다. 모든 것이 올바르게 작동합니다. 오류가 코드에 없는 것 같습니다. DC-브로코/

 

죄송합니다, 서둘러. OrderSend 함수 의 값 1.46500 및 1.47500은 각각 SL 및 TP로 대체되어야 합니다.

 
VNG писал(а) >>

죄송합니다, 서둘러. OrderSend 함수의 값 1.46500 및 1.47500은 각각 SL 및 TP로 대체되어야 합니다.

그리고 SL과 TP는 무엇과 같습니까? 위의 코드와 같이 0이면 모든 것이 올바른 것입니다. 오류가 발생해야 합니다.

 

정지는 다음과 같이 계산되는 g_Level_new 전역 변수 에서 가져옵니다. g_Level_new=MarketInfo(Symbol(),MODE_STOPLEVEL)