초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1465

 
Alexey Belyakov #:

확인했습니다. 두 번째 경우도 좋지만 각 날짜를 창에 수동으로 입력해야 하고 시간이 많이 걸리기 때문에 적합하지 않습니다. 간단해야 합니다... "ctrl-c, ctrl-v."

첫 번째 경우에는 어떤 이유로 가장 최근의 캔들에 3 개의 선이 아닌 하나의 선만 그려집니다. 이유는 아직 명확하지 않지만 조사 중입니다.

선 이름은 고유해야합니다. 이 점을 놓쳤습니다.

 

const string name="VLine,VLine2,VLine3", // 줄 이름

줄 이름을 고유하게 만들었습니다. 입력에서도요. 도움이 되지 않습니다.

 
Alexey Belyakov #:

const string name="VLine,VLine2,VLine3", // 줄 이름

줄 이름을 고유하게 만들었습니다. 입력에서도요. 도움이 되지 않습니다.

datetime time1 = D'2021.11.15 00:00:00';
datetime time2 = D'2022.11.15 00:00:00';
datetime time3 = D'2023.11.15 00:00:00';
// в этом случае так делаем
VLineCreate(0, "InpName1", 0, time1, InpColor, InpStyle, InpWidth, InpBack, InpSelection, InpHidden);
VLineCreate(0, "InpName2", 0, time2, InpColor, InpStyle, InpWidth, InpBack, InpSelection, InpHidden);
VLineCreate(0, "InpName3", 0, time3, InpColor, InpStyle, InpWidth, InpBack, InpSelection, InpHidden);

이름을 엉뚱한 곳에 만들었습니다.)

 
Alexey Belyakov #:

const string name="VLine,VLine2,VLine3", // 줄 이름

줄 이름을 고유하게 만들었습니다. 입력에서도요. 도움이 되지 않습니다.

여기서 입력 매개 변수 없이 실행하고 이렇게 직접 복사하면 더 명확해질 수 있습니다.

//+------------------------------------------------------------------+
//| Создает вертикальную линию                                       |
//+------------------------------------------------------------------+
bool VLineCreate(const long            chart_ID = 0,      // ID графика
                 const string          name = "VLine",    // имя линии
                 const int             sub_window = 0,    // номер подокна
                 datetime              time = 0,          // время линии
                 const color           clr = clrRed,      // цвет линии
                 const ENUM_LINE_STYLE style = STYLE_SOLID, // стиль линии
                 const int             width = 1,         // толщина линии
                 const bool            back = false,      // на заднем плане
                 const bool            selection = true,  // выделить для перемещений
                 const bool            hidden = true)     // скрыт в списке объектов

  {
   ObjectCreate(chart_ID, name, OBJ_VLINE, sub_window, time, 0);
//--- установим цвет линии
   ObjectSetInteger(chart_ID, name, OBJPROP_COLOR, clr);
//--- установим стиль отображения линии
   ObjectSetInteger(chart_ID, name, OBJPROP_STYLE, style);
//--- установим толщину линии
   ObjectSetInteger(chart_ID, name, OBJPROP_WIDTH, width);
//--- отобразим на переднем (false) или заднем (true) плане
   ObjectSetInteger(chart_ID, name, OBJPROP_BACK, back);
//--- включим (true) или отключим (false) режим перемещения линии мышью
//--- при создании графического объекта функцией ObjectCreate, по умолчанию объект
//--- нельзя выделить и перемещать. Внутри же этого метода параметр selection
//--- по умолчанию равен true, что позволяет выделять и перемещать этот объект
   ObjectSetInteger(chart_ID, name, OBJPROP_SELECTABLE, selection);
   ObjectSetInteger(chart_ID, name, OBJPROP_SELECTED, selection);

   return(true);
  }
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   datetime time1 = D'2023.06.26 10:00:00';
   datetime time2 = D'2023.06.26 11:00:00';
   datetime time3 = D'2023.06.26 12:00:00';
//--- создадим вертикальную линию
   VLineCreate(0, "Name1", 0, time1, clrBlue, STYLE_DASHDOTDOT);
   VLineCreate(0, "Name2", 0, time2, clrGreen, STYLE_SOLID, 5);
   VLineCreate(0, "Name3", 0, time3);
  }
//+------------------------------------------------------------------+
 
Aleksandr Slavskii #:

여기서 입력 매개 변수 없이 실행하고 이렇게 직접 복사하면 더 명확해질 수 있습니다.


정말 감사합니다! 딱 필요한 내용입니다!

 

다음은 CTrade 트레이딩 클래스의 매수/매도 기능입니다.

가격을 지정했지만 포지션은 여전히 매도/매수 호가로 열립니다.

여기서 어떤 종류의 가격을 지정할 수 있나요?

 
Alexey Belyakov #:


정말 감사합니다! 딱 필요한 거였어요!

고유 이름)

string  var1=TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);
     string NameLine="VLine_" +  "_"+var1;
 
deerhunter22 CTrade 트레이딩 클래스의 매수/매도 기능은 다음과 같습니다.

가격을 지정하지만 포지션은 여전히 매도/매수 호가로 개설됩니다.

여기에 어떤 종류의 가격을 지정할 수 있나요?

다른 방법을 참고하세요.

   //--- additions methods
   bool              Buy(const double volume,const string symbol=NULL,double price=0.0,const double sl=0.0,const double tp=0.0,const string comment="");
   bool              Sell(const double volume,const string symbol=NULL,double price=0.0,const double sl=0.0,const double tp=0.0,const string comment="");
   bool              BuyLimit(const double volume,const double price,const string symbol=NULL,const double sl=0.0,const double tp=0.0,
                              const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const datetime expiration=0,const string comment="");
   bool              BuyStop(const double volume,const double price,const string symbol=NULL,const double sl=0.0,const double tp=0.0,
                             const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const datetime expiration=0,const string comment="");
   bool              SellLimit(const double volume,const double price,const string symbol=NULL,const double sl=0.0,const double tp=0.0,
                               const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const datetime expiration=0,const string comment="");
   bool              SellStop(const double volume,const double price,const string symbol=NULL,const double sl=0.0,const double tp=0.0,
                              const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const datetime expiration=0,const string comment="");
 
Alexey Viktorov #:

다른 방법에 주목하세요

예, 물론 그들에 대해 알고 있지만 다른 것들이 필요합니다.... 어쨌든 요점은 이것입니다. 최근에 바이 낸스에서 거래를 시작했고 테스트하고 싶었습니다. 많은 암호 화폐를 보유한 주방 브로커도 있지만 스프레드가 방해가됩니다. 특히 가격 (매수+매도)/2를 고려하면 바이낸스 시세와 꽤 잘 맞습니다.

물론 이러한 불일치를 무시할 수도 있겠지만 여기서 저는 일치도를 극대화하고 싶었습니다.

 
deerhunter22 #:

네, 저도 알고 있지만 제가 원하는 것은 그게 아닙니다. 어쨌든 요점은 이것입니다. 저는 최근에 바이낸스에서 거래를 시작했고 테스트해보고 싶었습니다. 많은 암호화폐를 취급하는 키친 브로커도 있지만 스프레드가 방해가 됩니다. 특히 가격 (매수+매도)/2를 고려하면 바이낸스의 호가와 꽤 잘 맞습니다.

물론 이러한 불일치를 무시할 수도 있겠지만 여기서 저는 일치도를 극대화하고 싶었습니다.

자신만의 차트를 만들어 볼 수도 있습니다. MQL5는 이를 허용합니다.

사유: