내 기억이 맞다면 - 오래전에 " Order Modifier " EA 가 다음과 같은 작업을 하는 것을 본 적이 있습니다. 드래그하는 동안 업데이트되지 않은 것, 내가 " Drag OFF " 드래그 라인을 드래그한 후 드래그한 다음 " Stop Loss and Take Profit " 값은 한 번만 변경될 수 있습니다. 그래서 나는 당신의 최신 댓글을 세 번 이상 읽었고 드래그하는 동안 업데이트를 중지할 수 있도록 조금 더 변경하려고 시도했습니다.
부울 플래그 drag == 1 동안 업데이트를 비활성화하는 데 동일한 플래그를 사용할 수 있습니다. 내가 말했듯이 여기에 카운터를 시작할 수도 있습니다. 또는 단순히 while 루프를 사용하면 매우 잘 작동합니다. 그것은 단지 그들이 (내가 끌기를 멈출 때) 둘 다 같아질 때까지 가격을 업데이트하는 동안 (나는 끌고 있는 동안) 말하는 것입니다
( 및 귀하의 코드 )
얼마나 훌륭한 모범을 보이는 사람입니까?! 정말 매우 유용한 댓글 입니다. 감사합니다. 그리고 이제 그 라인(디자인 및 기능 )에 대해 더 많은 것을 추가하려고 합니다. (이 질문에 대해 나를 비난하지 마십시오. 그래픽 개체에 사용하고 있는 " graphics() "가 있으며 Init()를 통해 호출하고 있으며 OnTimer()를 통해 호출해야 합니다. 내 질문은 : 내가 잘못하고 있습니까? )
나는 이익실현기능 을 위해 "HLine"을 사용합니다. 나는 개체가 거의 없으며( Label, RecLabel... 등) 개체가 " HLine " 개체와 함께 이동할 수 있기를 바랍니다. 그래서 나는 기능 아래에서 발견되었습니다. 그러나 " X "를 변환하고 싶지 않습니다. Price만 Y로 변환하고 싶습니다. 나는 아래 코드로 아무것도 시도하지 않았습니다. Q: 이 문제를 해결하는 데 도움이 될 수 있는지 확인하고 싶습니다. (내가 그것이 나를 도울 수 있다는 것을 안다면 나는 내 관심사를 위해 그것을 시도하기 시작할 것입니다). Q: 그리고 " HLine "으로 움직일 수 있는 일부 개체에 대한 방법이 있습니까?
// this is just example for that what I am thinking datetime time = 0 ; // I just want to ignore this because I just want to give to X = 20; fixed mode ( should not change ever ) double price = ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 );
int x,y;
ChartTimePriceToXY ( long chart_id, int sub_window, datetime time, double price, int & x, int & y );
} //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ voidOnChartEvent ( constint id, constlong &lparam, constdouble &dparam, conststring &sparam) { //--- If this is an event of a mouse click on the chart if (id== CHARTEVENT_CLICK ) { //--- Prepare variables int x =( int )lparam; int y =( int )dparam; datetime time = 0 ; double price = 0 ; int window= 0 ; //--- Convert the X and Y coordinates in terms of date/time if ( ChartXYToTimePrice ( 0 ,x,y,window,time,price)) { ObjectMove ( 0 , "X" , 0 , 0 ,price); // notice time==0 because horizontal axis ObjectMove ( 0 , "Y" , 0 ,time, 0 ); // notice price==0 because vertical axis } else Print ( "ChartXYToTimePrice return error code: " , GetLastError ()); Print ( "+--------------------------------------------------------------+" ); } } //+------------------------------------------------------------------+
나는 이미 그 문서를 읽었지만 귀하의 최신 의견이 나올 때까지 명확하게 이해하지 못했습니다. 사실 코드 아래에서 어려움을 겪고 있기 때문에 아직 시도하지 않았습니다. 좋은 결과를 얻기 위해 이미 몇 가지 방법을 시도했지만 할 수 없습니다. Mr. Marco 는 내 개체 이동 문제에 사용할 수 있다고 생각하는 최근의 훌륭한 의견에 감사드립니다.
고민에 대한 해결책을 찾기 위해 정말 많은 시간을 보냈지만 좋은 결과를 얻지 못했습니다. 그러나 어쨌든 나는 (현재 오픈 포지션) 이익실현 가격을 얻을 수 있습니다. 이는 내가 "hline"하고 싶은 물건이 이익실현 가격을 자체적으로 호출할 수 있고 그것은 일입니다. 그리고 그것은 단지 초기에 작동합니다. 네, " Init() "에 있기 때문에 압니다. 그러나 " OnTimer() "에 넣으려고했지만 id가 올바르게 작동하지 않습니다.
내가 무엇을 배울 수 있는지 파악하고 이 문제를 해결하는 데 도움이 되는 정보를 알려주십시오. 7시간 후에 이 문제에 대해 다시 조사를 시작하겠습니다. 내가 좋은 댓글을 받으면 그것은 나에게 더 좋을 것입니다.
// actually here is a graphical objects functin() // here one of them // also which one soon I will try to below objects could moves together " tphline " - but I can't take a time to research about your latest comment and so... ObjectCreate ( "recl object" , OBJ_RECTANGLE , 0 , 0 , tpprice ); // I feel I could add something to " string name " - I already tried few things not good results
또는 드래그가 감지되면 카운터를 시작할 수 있습니다. 여러 가지 방법이 있습니다 .,
(나는 지금 나를 위해 그것을 할 수 있는 한 가지 방법을 "가지고 있다" - 당신의 최근 코멘트에서 그런 식으로)
Mr. Marco 당신이 내 하루를 구해줘서 고마워요.
지금은 아니지만 나중에 이 ' SL 및 TP ' 기능 에 몇 가지 기능 을 추가하려고 합니다. 나는 그것에 대한 스크립트를 작성하기 시작하기 전에 그것에 대해 많은 것을 조사해야 할 필요가 있습니다.
당신에게 최선을 다합니다!
내 기억이 맞다면 - 오래전에 " Order Modifier " EA 가 다음과 같은 작업을 하는 것을 본 적이 있습니다. 드래그하는 동안 업데이트되지 않은 것, 내가 " Drag OFF " 드래그 라인을 드래그한 후 드래그한 다음 " Stop Loss and Take Profit " 값은 한 번만 변경될 수 있습니다.
그래서 나는 당신의 최신 댓글을 세 번 이상 읽었고 드래그하는 동안 업데이트를 중지할 수 있도록 조금 더 변경하려고 시도했습니다.
Q: 그럼 불가능한가요?
미리 감사드립니다.
부울 플래그 drag == 1 동안 업데이트를 비활성화하는 데 동일한 플래그를 사용할 수 있습니다.
내가 말했듯이 여기에 카운터를 시작할 수도 있습니다.
//| Drag Hline2.mq4 |
//| Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
double price;
bool drag;
int cnt= 0 ;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//--- create timer
EventSetTimer ( 1 );
ObjectCreate ( 0 , "line" , OBJ_HLINE , 0 , 0 , Ask );
price= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 );
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
//--- destroy timer
EventKillTimer ();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//---
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer ()
{
//---
if (price!= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 ))
{
drag= 1 ;
}
if (drag== 1 )
{
cnt++; // increase counter
{
if (cnt>= 2 ) // if counter == 2 seconds
{
price= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 ); // store new value
Print ( " New price: " , DoubleToString (price));
PlaySound ( "ok.wav" );
cnt= 0 ; // reset counter
drag= 0 ; // reset drag
}
}
}
}
//+------------------------------------------------------------------+
또는 단순히 while 루프를 사용하면 매우 잘 작동합니다.
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer ()
{
//---
while (price!= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 ))
{
PlaySound ( "ok.wav" );
price= ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 );
Comment (price);
}
}
//+------------------------------------------------------------------+
부울 플래그 drag == 1 동안 업데이트를 비활성화하는 데 동일한 플래그를 사용할 수 있습니다.
내가 말했듯이 여기에 카운터를 시작할 수도 있습니다.
또는 단순히 while 루프를 사용하면 매우 잘 작동합니다.
그것은 단지 그들이 (내가 끌기를 멈출 때) 둘 다 같아질 때까지 가격을 업데이트하는 동안 (나는 끌고 있는 동안) 말하는 것입니다
( 및 귀하의 코드 )
얼마나 훌륭한 모범을 보이는 사람입니까?! 정말 매우 유용한 댓글 입니다. 감사합니다. 그리고 이제 그 라인(디자인 및 기능 )에 대해 더 많은 것을 추가하려고 합니다.
(이 질문에 대해 나를 비난하지 마십시오. 그래픽 개체에 사용하고 있는 " graphics() "가 있으며 Init()를 통해 호출하고 있으며 OnTimer()를 통해 호출해야 합니다. 내 질문은 : 내가 잘못하고 있습니까? )
당신에게 최선을!
이미 존재하기 때문에 개체를 생성 하지 못한 오류 4200이 발생할 수 있습니다.
따라서 객체를 (재) 생성하거나 수정하기 전에 객체가 존재하는지 확인해야 합니다.
당신이 사용할 수있는:
{
//Object does not exist
}
and/or
if ( ObjectFind ( 0 , "Long" )>= 0 )
{
// Object already exists
}
당신이 사용할 수있는:
흠, 이것은 저에게 정말 새로운 기능 입니다.
그것에 대해 조사한 후에 시도해 볼 수 있습니다. (많이 봤지만 저한테는 안씁니다.)
정말 감사합니다.
#가격을 픽셀로 변환 - 열기
나는 이익실현 기능 을 위해 "HLine"을 사용합니다.
나는 개체가 거의 없으며( Label, RecLabel... 등) 개체가 " HLine " 개체와 함께 이동할 수 있기를 바랍니다. 그래서 나는 기능 아래에서 발견되었습니다. 그러나 " X "를 변환하고 싶지 않습니다. Price만 Y로 변환하고 싶습니다.
나는 아래 코드로 아무것도 시도하지 않았습니다.
Q: 이 문제를 해결하는 데 도움이 될 수 있는지 확인하고 싶습니다.
(내가 그것이 나를 도울 수 있다는 것을 안다면 나는 내 관심사를 위해 그것을 시도하기 시작할 것입니다).
Q: 그리고 " HLine "으로 움직일 수 있는 일부 개체에 대한 방법이 있습니까?
datetime time = 0 ; // I just want to ignore this because I just want to give to X = 20; fixed mode ( should not change ever )
double price = ObjectGetDouble ( 0 , "line" , OBJPROP_PRICE , 0 );
int x,y;
ChartTimePriceToXY ( long chart_id, int sub_window, datetime time, double price, int & x, int & y );
미리 감사드립니다.
여러 가지 방법으로 많은 일을 할 수 있으므로 좀 더 구체적이어야 합니다.
이러한 함수는 OnChartEvent() 함수에서 사용됩니다.
ChartPriceToXY - 좌표에 대한 가격 시간 변환을 제공합니다. 이것이 정말 필요한 것입니까?
아마도 ChartXYToTimePrice ()를 의미합니까?
https://www.mql5.com/en/docs/chart_operations/chartxytotimeprice
값이 필요하지 않은 경우 아래 예를 참조하여 0으로 전달하면 됩니다.
//| CrossHair.mq4 |
//| Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//--- create some lines
ObjectCreate ( 0 , "X" , OBJ_HLINE , 0 , 0 , Ask ); // X = Horizontal Axis (time==0)
ObjectCreate ( 0 , "Y" , OBJ_VLINE , 0 , TimeCurrent (), 0 ); // Y = Vertical Axis (price==0)
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
//--- clean up
ObjectsDeleteAll ( 0 , 0 , EMPTY );
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//---
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//--- If this is an event of a mouse click on the chart
if (id== CHARTEVENT_CLICK )
{
//--- Prepare variables
int x =( int )lparam;
int y =( int )dparam;
datetime time = 0 ;
double price = 0 ;
int window= 0 ;
//--- Convert the X and Y coordinates in terms of date/time
if ( ChartXYToTimePrice ( 0 ,x,y,window,time,price))
{
ObjectMove ( 0 , "X" , 0 , 0 ,price); // notice time==0 because horizontal axis
ObjectMove ( 0 , "Y" , 0 ,time, 0 ); // notice price==0 because vertical axis
}
else
Print ( "ChartXYToTimePrice return error code: " , GetLastError ());
Print ( "+--------------------------------------------------------------+" );
}
}
//+------------------------------------------------------------------+
나는 이미 그 문서를 읽었지만 귀하의 최신 의견이 나올 때까지 명확하게 이해하지 못했습니다. 사실 코드 아래에서 어려움을 겪고 있기 때문에 아직 시도하지 않았습니다. 좋은 결과를 얻기 위해 이미 몇 가지 방법을 시도했지만 할 수 없습니다.
Mr. Marco 는 내 개체 이동 문제에 사용할 수 있다고 생각하는 최근의 훌륭한 의견에 감사드립니다.
고민에 대한 해결책을 찾기 위해 정말 많은 시간을 보냈지만 좋은 결과를 얻지 못했습니다.
그러나 어쨌든 나는 (현재 오픈 포지션) 이익실현 가격을 얻을 수 있습니다. 이는 내가 "hline"하고 싶은 물건이 이익실현 가격을 자체적으로 호출할 수 있고 그것은 일입니다. 그리고 그것은 단지 초기에 작동합니다. 네, " Init() "에 있기 때문에 압니다. 그러나 " OnTimer() "에 넣으려고했지만 id가 올바르게 작동하지 않습니다.
내가 무엇을 배울 수 있는지 파악하고 이 문제를 해결하는 데 도움이 되는 정보를 알려주십시오.
7시간 후에 이 문제에 대해 다시 조사를 시작하겠습니다.
내가 좋은 댓글을 받으면 그것은 나에게 더 좋을 것입니다.
for ( i = OrdersTotal () - 1 ; i >= 0 ; i-- )
{
if ( ! OrderSelect ( i, SELECT_BY_POS , MODE_TRADES ) ) continue ;
if ( OrderSymbol () == Symbol () ) tpprice = OrderTakeProfit ();
ObjectCreate (
"#" + IntegerToString ( OrderTicket () ) + " -" + "tphline" , // name
OBJ_HLINE ,
0 , // subwindow
0 , // time
tpprice // price1
);
tpprice =
ObjectGetDouble (
0 ,
"#" + IntegerToString ( OrderTicket () ) + " -" + "tphline" , // name
OBJPROP_PRICE , 0
);
}
// ontimer() --------------------------------------------------------
if ( tpprice != ObjectGetDouble ( 0 , "#" + IntegerToString ( OrderTicket () ) + " -" + "tphline" , OBJPROP_PRICE , 0 ) )
{
tpdrag = 1 ;
}
if ( tpdrag == 1 )
{
tpprice = ObjectGetDouble ( 0 , "#" + IntegerToString ( OrderTicket () ) + " -" + "tphline" , OBJPROP_PRICE , 0 );
Print ( "tpdrag: " , tpdrag, " - Price: " , DoubleToString ( tpprice, Digits ) );
// actually here is a graphical objects functin()
// here one of them
// also which one soon I will try to below objects could moves together " tphline " - but I can't take a time to research about your latest comment and so...
ObjectCreate ( "recl object" , OBJ_RECTANGLE , 0 , 0 , tpprice ); // I feel I could add something to " string name " - I already tried few things not good results
tpdrag = 0 ;
}
//---
return ;
미리 감사드립니다.
당신에게 최선을!
도구 탭 아래에 있는 스타일러를 사용하세요.
나는 당신이 무엇을 성취하려고 하는지 전혀 알지 못하기 때문에 당신이 이 일을 하고자 하는 것이 결코 좋지 않다고 추측해야 합니다.
그러나 여기에서 예를 볼 수 있습니다.
//| Stealth 4.mq4 |
//| Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Marco vd Heijden, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
static input int takeprofit= 500 ; // Take Profit
static input int stoploss= 500 ; // Stop Loss
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit ()
{
//--- create timer
EventSetTimer ( 1 );
//---
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
//--- destroy timer
EventKillTimer ();
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick ()
{
//---
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer ()
{
for ( int order= OrdersTotal (); order>= 0 ; order--)
{
bool selected= OrderSelect (order, SELECT_BY_POS );
{
if (selected== 1 )
{
if ( Symbol ()== OrderSymbol ()) // only for current chart symbol
{
switch ( OrderType ())
{
case OP_BUY : // for buy order
{
// if objects not found - create them
if ( ObjectFind ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" )< 0 )
{
ObjectCreate ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" , OBJ_HLINE , 0 , 0 , OrderOpenPrice ()+takeprofit* Point ());
ObjectSet ( "#" + IntegerToString ( OrderTicket ())+ "-TP" , 7 , 3 );
}
if ( ObjectFind ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" )< 0 )
{
ObjectCreate ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" , OBJ_HLINE , 0 , 0 , OrderOpenPrice ()-stoploss* Point ());
ObjectSet ( "#" + IntegerToString ( OrderTicket ())+ "-SL" , 7 , 3 );
}
// if objects exist
if ( ObjectFind ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" )>= 0 )
{
if ( Bid > ObjectGetDouble ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" , OBJPROP_PRICE , 0 ))
{
bool close= OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 , clrBlue );
{
if (close== 0 )
{
Alert ( " Order Close Error! # " + IntegerToString ( OrderTicket ()));
}
if (close== 1 )
{
Alert ( " Order: " + IntegerToString ( OrderTicket ())+ " Closed due to TP Profit = " + DoubleToString ( OrderProfit (), 2 ));
ObjectDelete ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" );
ObjectDelete ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" );
}
}
}
}
if ( ObjectFind ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" )>= 0 )
{
if ( Ask < ObjectGetDouble ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" , OBJPROP_PRICE , 0 ))
{
bool close= OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 , clrBlue );
{
if (close== 0 )
{
Alert ( " Order Close Error! # " + IntegerToString ( OrderTicket ()));
}
if (close== 1 )
{
Alert ( " Order: " + IntegerToString ( OrderTicket ())+ " Closed due to SL Profit = " + DoubleToString ( OrderProfit (), 2 ));
ObjectDelete ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" );
ObjectDelete ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" );
}
}
}
}
}
break ;
case OP_SELL : // for sell order
{
// if objects not found - create them
if ( ObjectFind ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" )< 0 )
{
ObjectCreate ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" , OBJ_HLINE , 0 , 0 , OrderOpenPrice ()-takeprofit* Point ());
ObjectSet ( "#" + IntegerToString ( OrderTicket ())+ "-TP" , 7 , 3 );
}
if ( ObjectFind ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" )< 0 )
{
ObjectCreate ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" , OBJ_HLINE , 0 , 0 , OrderOpenPrice ()+stoploss* Point ());
ObjectSet ( "#" + IntegerToString ( OrderTicket ())+ "-SL" , 7 , 3 );
}
// if objects exist
if ( ObjectFind ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" )>= 0 )
{
if ( Ask < ObjectGetDouble ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" , OBJPROP_PRICE , 0 ))
{
bool close= OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 , clrBlue );
{
if (close== 0 )
{
Alert ( " Order Close Error! # " + IntegerToString ( OrderTicket ()));
}
if (close== 1 )
{
Alert ( " Order: " + IntegerToString ( OrderTicket ())+ " Closed due to TP Profit = " + DoubleToString ( OrderProfit (), 2 ));
ObjectDelete ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" );
ObjectDelete ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" );
}
}
}
}
if ( ObjectFind ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" )>= 0 )
{
if ( Bid > ObjectGetDouble ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" , OBJPROP_PRICE , 0 ))
{
bool close= OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 , clrBlue );
{
if (close== 0 )
{
Alert ( " Order Close Error! # " + IntegerToString ( OrderTicket ()));
}
if (close== 1 )
{
Alert ( " Order: " + IntegerToString ( OrderTicket ())+ " Closed due to SL Profit = " + DoubleToString ( OrderProfit (), 2 ));
ObjectDelete ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-TP" );
ObjectDelete ( 0 , "#" + IntegerToString ( OrderTicket ())+ "-SL" );
}
}
}
}
}
break ;
}
}
}
}
}
}
//+------------------------------------------------------------------+
따라서 ObjectGetDouble을 직접 사용할 수 있다는 것을 알 수 있습니다. 객체 자체가 값을 보유하고 있기 때문에 값을 다른 double에 복사할 필요가 없으며, 라인을 드래그하면 값이 자동으로 변경되고 다음에 읽을 때 표시됩니다. 그것.