MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1839 1...183218331834183518361837183818391840184118421843184418451846...1953 새 코멘트 EVGENII SHELIPOV 2022.01.01 13:00 #18381 안녕하세요!!! 모두 새해 복 많이 받으세요!!! 다음은 그리드의 평균 주문 가격 표시를 보여주는 스크린샷입니다. 다음은 평균 가격과 비문의 수평선을 만드는 코드입니다. //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice( int ot=- 1 ) { double order_lots = 0 , order_price = 0 , avg_price = 0 ; { for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) { if (OrderType()==ot||ot< 0 ) { order_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble (order_price / order_lots, Digits ); if ( ObjectFind ( 0 , "AveragePriceLine" + IntegerToString (ot))!= 0 ) ObjectCreate ( 0 , "AveragePriceLine" + IntegerToString (ot), OBJ_HLINE , 0 , 0 , avg_price); else ObjectSetDouble ( 0 , "AveragePriceLine" + IntegerToString (ot), OBJPROP_PRICE ,avg_price); if (ot== 0 ) ObjectSet( "AveragePriceLine" + IntegerToString (ot), OBJPROP_COLOR , clrLime ); ObjectCreate ( "signal4" , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ); ObjectSet( "signal4" , OBJPROP_XDISTANCE , 100 ); ObjectSet( "signal4" , OBJPROP_YDISTANCE , 260 ); ObjectSetText( "signal4" , "- Средняя цена сетки ордеров на покупку" , 14 , "Times New Roman" , clrLime ); if (ot== 1 ) ObjectSet( "AveragePriceLine" + IntegerToString (ot), OBJPROP_COLOR , clrRed ); ObjectCreate ( "signal3" , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ); ObjectSet( "signal3" , OBJPROP_XDISTANCE , 100 ); ObjectSet( "signal3" , OBJPROP_YDISTANCE , 280 ); ObjectSetText( "signal3" , "- Средняя цена сетки ордеров на продажу" , 14 , "Times New Roman" , clrRed ); return (avg_price); } 수평선을 제거하는 코드를 입력하십시오 //-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену if (CountTrade() == 0 ) { if ( ObjectFind ( 0 , "AveragePriceLine" + IntegerToString ( 0 ))== 0 &&CountTrade( 0 )< 1 ) //для бай { ObjectDelete ( 0 , "AveragePriceLine" + IntegerToString ( 0 )); } if ( ObjectFind ( 0 , "AveragePriceLine" + IntegerToString ( 1 ))== 0 &&CountTrade( 1 )< 1 ) //для селл { ObjectDelete ( 0 , "AveragePriceLine" + IntegerToString ( 1 )); } } 비문이 줄 위에 나타나고 줄이 제거될 때 제거되도록 코드를 변경하도록 도와주세요. 도와 주셔서 감사합니다. Andrei Sokolov 2022.01.01 14:08 #18382 EVGENII SHELIPOV # : 코드를 변경하도록 도와주세요. 당신이 도울 수 있다면 정확히 무엇이 당신에게 효과가 없습니까? EVGENII SHELIPOV 2022.01.01 14:26 #18383 Andrey Sokolov # : 당신이 도울 수 있다면 정확히 무엇이 당신에게 효과가 없습니까? 무례하지 말자. 내가 할 줄 알았다면 여기에 지원하지 않았을 것이다. 질문은 매우 간단합니다. 수평선을 기준으로 비문의 좌표를 알아야합니다. 계산하는 방법을 모르겠습니다. Andrei Sokolov 2022.01.01 14:37 #18384 EVGENII SHELIPOV # : 무례하지 말자. 내가 할 줄 알았다면 여기에 지원하지 않았을 것이다. 질문은 매우 간단합니다. 수평선을 기준으로 비문의 좌표를 알아야합니다. 계산하는 방법을 모르겠습니다. " 무례하지 말자 "라는 의미로 ? 내가 "도와줘"가 아니라 "도와줘"라고 썼나요? Tretyakov Rostyslav 2022.01.01 17:22 #18385 EVGENII SHELIPOV # : 안녕하세요!!! 모두 새해 복 많이 받으세요!!! 수평선을 제거하는 코드를 입력하십시오 도와 주셔서 감사합니다. 충분해 //-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену if (CountTrade() == 0 ) { ObjectsDeleteAll ( 0 , "AveragePriceLine" ); } EVGENII 셸리포프 # : 질문은 매우 간단합니다. 수평선을 기준으로 비문의 좌표를 알아야합니다. 계산하는 방법을 모르겠습니다. 여기 당신을 도울 것입니다 ChartTimePriceToXY ChartXYToTime가격 EVGENII SHELIPOV 2022.01.02 09:51 #18386 Tretyakov Rostyslav # : 충분해 여기 당신을 도울 것입니다 ChartTimePriceToXY ChartXYToTime가격 힌트를 준 Rostislav에게 감사하지만 내가 뭔가 잘못하고 있습니다. 지금까지는 0Y 축을 따라 변경만 하면 되지만 비문은 수평선과 결합하기를 원하지 않습니다. 코드와 스크린샷을 첨부하고 있습니다. 오류가 어디에 있는지 알려주십시오. //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice( int ot=- 1 ) { double order_lots = 0 , order_price = 0 , avg_price = 0 ; int x = 0 , y = 0 ; { for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) { if (OrderType()==ot||ot< 0 ) { order_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble (order_price / order_lots, Digits ); if ( ObjectFind ( 0 , "AveragePriceLine" + IntegerToString (ot))!= 0 ) ObjectCreate ( 0 , "AveragePriceLine" + IntegerToString (ot), OBJ_HLINE , 0 , 0 , avg_price); else ObjectSetDouble ( 0 , "AveragePriceLine" + IntegerToString (ot), OBJPROP_PRICE ,avg_price); if (ot== 0 ) ObjectSet( "AveragePriceLine" + IntegerToString (ot), OBJPROP_COLOR , clrLime ); ObjectCreate ( "signal4" , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ); ObjectSet( "signal4" , OBJPROP_XDISTANCE , 500 ); ChartTimePriceToXY ( 0 , 0 , 0 ,avg_price, x, y); ObjectSet( "signal4" , OBJPROP_YDISTANCE , y + 10 ); ObjectSetText( "signal4" , "- Средняя цена сетки ордеров на покупку" , 14 , "Times New Roman" , clrLime ); if (ot== 1 ) ObjectSet( "AveragePriceLine" + IntegerToString (ot), OBJPROP_COLOR , clrRed ); ObjectCreate ( "signal3" , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ); ObjectSet( "signal3" , OBJPROP_XDISTANCE , 500 ); ChartTimePriceToXY ( 0 , 0 , 0 , avg_price, x, y) ; ObjectSet( "signal3" , OBJPROP_YDISTANCE , y + 10 ); ObjectSetText( "signal3" , "- Средняя цена сетки ордеров на продажу" , 14 , "Times New Roman" , clrRed ); return (avg_price); } Tretyakov Rostyslav 2022.01.02 10:37 #18387 EVGENII SHELIPOV # : 힌트를 준 Rostislav에게 감사하지만 내가 뭔가 잘못하고 있습니다. 지금까지는 0Y 축을 따라 변경만 하면 되지만 비문은 수평선과 결합하기를 원하지 않습니다. 코드와 스크린샷을 첨부하고 있습니다. 오류가 어디에 있는지 알려주십시오. 괄호를 잊지 마세요 //+----------------------------------------------------------------------------+ //| Расчет среденй цены (0)-buy (1)-sell ()-all | //+----------------------------------------------------------------------------+ double GetAveragePrice( int ot=- 1 ) { double order_lots = 0 , order_price = 0 , avg_price = 0 ; int x = 0 , y = 0 ; { for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic) { if (OrderType()==ot||ot< 0 ) { order_lots += OrderLots(); order_price += OrderOpenPrice() * OrderLots(); } } } } } avg_price = NormalizeDouble (order_price / order_lots, Digits ); if ( ObjectFind ( 0 , "AveragePriceLine" + IntegerToString (ot))!= 0 ) ObjectCreate ( 0 , "AveragePriceLine" + IntegerToString (ot), OBJ_HLINE , 0 , 0 , avg_price); else ObjectSetDouble ( 0 , "AveragePriceLine" + IntegerToString (ot), OBJPROP_PRICE ,avg_price); if (ot== 0 ) { ObjectSet( "AveragePriceLine" + IntegerToString (ot), OBJPROP_COLOR , clrLime ); ObjectCreate ( "signal4" , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ); ObjectSet( "signal4" , OBJPROP_XDISTANCE , 500 ); ChartTimePriceToXY ( 0 , 0 , 0 ,avg_price, x, y); ObjectSet( "signal4" , OBJPROP_YDISTANCE , y + 10 ); ObjectSetText( "signal4" , "- Средняя цена сетки ордеров на покупку" , 14 , "Times New Roman" , clrLime ); } if (ot== 1 ) { ObjectSet( "AveragePriceLine" + IntegerToString (ot), OBJPROP_COLOR , clrRed ); ObjectCreate ( "signal3" , OBJ_LABEL , 0 , 0 , 0 , 0 , 0 ); ObjectSet( "signal3" , OBJPROP_XDISTANCE , 500 ); ChartTimePriceToXY ( 0 , 0 , 0 , avg_price, x, y); ObjectSet( "signal3" , OBJPROP_YDISTANCE , y + 10 ); ObjectSetText( "signal3" , "- Средняя цена сетки ордеров на продажу" , 14 , "Times New Roman" , clrRed ); } return (avg_price); } EVGENII SHELIPOV 2022.01.02 11:18 #18388 Tretyakov Rostyslav # : 괄호를 잊지 마세요 다른 건 없어 Tretyakov Rostyslav 2022.01.02 13:26 #18389 EVGENII SHELIPOV # : 다른 건 없어 로그에 오류가 있어야 합니다. Vitaly Muzichenko 2022.01.04 11:30 #18390 어레이에 복사 MqlRates CopySymb[]; if ( CopyRates (mSymbol, PERIOD_CURRENT , 0 , 6 ,CopySymb)< 0 ) return ; Print ( ArrayMaximum ( ??? ) ); 배열에서 최대값을 얻는 방법은 무엇입니까? 1...183218331834183518361837183818391840184118421843184418451846...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
안녕하세요!!! 모두 새해 복 많이 받으세요!!!
다음은 그리드의 평균 주문 가격 표시를 보여주는 스크린샷입니다.
다음은 평균 가격과 비문의 수평선을 만드는 코드입니다.
수평선을 제거하는 코드를 입력하십시오
비문이 줄 위에 나타나고 줄이 제거될 때 제거되도록 코드를 변경하도록 도와주세요.
도와 주셔서 감사합니다.
코드를 변경하도록 도와주세요.
당신이 도울 수 있다면 정확히 무엇이 당신에게 효과가 없습니까?
당신이 도울 수 있다면 정확히 무엇이 당신에게 효과가 없습니까?
무례하지 말자. 내가 할 줄 알았다면 여기에 지원하지 않았을 것이다.
질문은 매우 간단합니다. 수평선을 기준으로 비문의 좌표를 알아야합니다. 계산하는 방법을 모르겠습니다.
무례하지 말자. 내가 할 줄 알았다면 여기에 지원하지 않았을 것이다.
질문은 매우 간단합니다. 수평선을 기준으로 비문의 좌표를 알아야합니다. 계산하는 방법을 모르겠습니다.
" 무례하지 말자 "라는 의미로 ? 내가 "도와줘"가 아니라 "도와줘"라고 썼나요?
안녕하세요!!! 모두 새해 복 많이 받으세요!!!
수평선을 제거하는 코드를 입력하십시오
도와 주셔서 감사합니다.
충분해
질문은 매우 간단합니다. 수평선을 기준으로 비문의 좌표를 알아야합니다. 계산하는 방법을 모르겠습니다.
여기 당신을 도울 것입니다
ChartTimePriceToXY
ChartXYToTime가격
충분해
여기 당신을 도울 것입니다
ChartTimePriceToXY
ChartXYToTime가격
힌트를 준 Rostislav에게 감사하지만 내가 뭔가 잘못하고 있습니다.
지금까지는 0Y 축을 따라 변경만 하면 되지만 비문은 수평선과 결합하기를 원하지 않습니다.
코드와 스크린샷을 첨부하고 있습니다. 오류가 어디에 있는지 알려주십시오.
힌트를 준 Rostislav에게 감사하지만 내가 뭔가 잘못하고 있습니다.
지금까지는 0Y 축을 따라 변경만 하면 되지만 비문은 수평선과 결합하기를 원하지 않습니다.
코드와 스크린샷을 첨부하고 있습니다. 오류가 어디에 있는지 알려주십시오.
괄호를 잊지 마세요
괄호를 잊지 마세요
다른 건 없어
다른 건 없어
어레이에 복사
배열에서 최대값을 얻는 방법은 무엇입니까?