포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 332 1...325326327328329330331332333334335336337338339...1178 새 코멘트 Vitalie Postolache 2013.12.10 14:46 #3311 alexey1979621 : 원천 예금을 계산하는 이유는 무엇입니까? 그리고 BU()는 누구입니까? if (OrderSymbol()!= Symbol () && OrderMagicNumber()!=Magic) continue ; //отделяем свои ордера. Магик задается в настройках 자신의 위치를 다른 사람과 "분리"하는 이상한 방법, 더 좋지 않습니까? if (OrderSymbol()= Symbol () && OrderMagicNumber()=Magic) отделяем свои ордера. Магик задается в настройках {сюда пересчёт рыночных позиций и отложек} Alexey Semenov 2013.12.10 14:58 #3312 evillive : 예금을 계산하는 이유는 무엇입니까? 그리고 BU()는 누구입니까? 자신의 입장과 타인의 입장을 "분리"하는 이상한 방법, 더 좋지 않나? BU(); 손익분기점 기능. 내 버전이 나쁜 이유는 무엇입니까? сюда пересчёт рыночных позиций и отложек 그리고 내 경우에는 어떻게 보일까요? Vitalie Postolache 2013.12.10 15:07 #3313 alexey1979621 : 그리고 내 경우에는 어떻게 보일까요? 보이는 것처럼 중괄호가 몇 개 더 추가되었습니다. void CountTrades() // количество открытых ордеров { for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS,MODE_TRADES)) { if (OrderSymbol()= Symbol () && OrderMagicNumber()=Magic) //отделяем свои ордера. Магик задается в настройках { int typ=OrderType(); //однократный вызов функции ускоряет работу switch (typ) { case 0 : bs++; case 1 : ss++; case 2 : blms++; case 3 : slms++; case 4 : bsts++; case 5 : ssts++; default : break ; } } } } return ; } Frangatic 2013.12.10 15:11 #3314 그럼 여러분 :) Alexey Semenov 2013.12.10 15:16 #3315 evillive : 보이는 것처럼 중괄호가 몇 개 더 추가되었습니다. 수정, 편집, 테스트 - 문제가 남아 있음 - 특정 조건이 발생하면 고문이 거래를 시작하고 그에 따라 Take 또는 Stop Loss 로 거래를 마감합니다. 그게 다야, 고문은 거래 시작 조건이 충족된다는 사실에도 불구하고 더 이상 거래를 시작하지 않습니다. 다음은 전체 코드입니다. extern double Lots = 0.1 ; extern string Сomment = "Pattern_1" ; extern int TakeProfit = 10 ; extern int StopLoss = 0 ; extern int Step = 2 ; extern int StepOtl = 4 ; extern int BULevel = 2 ; extern int NotBULevel = 2 ; // Уровень безубытка в пунктах extern int Slippage = 2 ; // проскальзывание extern int Magic = 111 ; int ticket1, ticket2, bs, ss, bsts, ssts, slms, blms; //добавил колич. ордеров по типам и их тикеты int timeprev; double price1, price2; //цены открытия ордеров //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { return ( 0 ); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { double SL,TP; int slv=MarketInfo( Symbol (),MODE_STOPLEVEL); if (Step<=slv || StepOtl<=slv) { Print ( "Step или StepOtl слишком мал" ); return ( 0 );} CountTrades(); //подсчет ордеров по типам. BU(); //если нет рыночных ордеров----------------------------------------- if (bs+ss+bsts+ssts+blms+slms== 0 ) { if (Open[ 1 ]>Close[ 1 ] && Open[ 2 ]<Close[ 2 ] && High[ 1 ]>High[ 2 ] && Low[ 1 ]<Low[ 2 ]) // продажа { TP= NormalizeDouble (Bid - TakeProfit * Point , Digits ); SL= NormalizeDouble (Bid + StopLoss* Point , Digits ); if (TakeProfit== 0 ) TP= 0 ; if (StopLoss== 0 ) SL= 0 ; ticket1= OrderSend ( Symbol (),OP_SELL,Lots,Bid,Slippage,SL,TP, "Pattern_1" ,Magic, 0 ,Red); //Сразу с тейк-профитом, магик в настройках if ( OrderSelect (ticket1,SELECT_BY_TICKET,MODE_TRADES)) price1=OrderOpenPrice(); //цена первого ордера SL= NormalizeDouble (Bid+StepOtl* Point -StopLoss* Point , Digits ); if (StopLoss== 0 ) SL= 0 ; ticket2= OrderSend ( Symbol (),OP_BUYSTOP,Lots, NormalizeDouble (Bid+StepOtl* Point , Digits ), 0 ,SL, 0 , "Pattern_1" ,Magic, 0 ,Blue); //тикет для BuyStop if ( OrderSelect (ticket2,SELECT_BY_TICKET,MODE_TRADES)) price2=OrderOpenPrice(); //цена второго ордера } if (Open[ 1 ]<Close[ 1 ] && Open[ 2 ]>Close[ 2 ] && High[ 1 ]>High[ 2 ] && Low[ 1 ]<Low[ 2 ]) // покупка { TP= NormalizeDouble (Ask + TakeProfit * Point , Digits ); if (TakeProfit== 0 ) TP= 0 ; SL= NormalizeDouble (Ask-StopLoss* Point , Digits ); if (StopLoss== 0 ) SL= 0 ; ticket1= OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slippage,SL,TP, "Pattern_1" ,Magic, 0 ,Blue); //с тейком, магик в настройках if ( OrderSelect (ticket1,SELECT_BY_TICKET,MODE_TRADES)) price1=OrderOpenPrice(); //цена первого ордера SL= NormalizeDouble (Bid-StepOtl* Point +StopLoss* Point , Digits ); if (StopLoss== 0 ) SL= 0 ; ticket2= OrderSend ( Symbol (),OP_SELLSTOP,Lots, NormalizeDouble (Bid-StepOtl* Point , Digits ), 0 ,SL, 0 , "Pattern_1" ,Magic, 0 ,Red); //тикет для SellStop if ( OrderSelect (ticket2,SELECT_BY_TICKET,MODE_TRADES)) price2=OrderOpenPrice(); //цена второго ордера } } return ( 0 ); } //+------------------------------------------------------------------+ void CountTrades() // количество открытых ордеров { for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--) { if ( OrderSelect (i, SELECT_BY_POS,MODE_TRADES)) { if (OrderSymbol()== Symbol () && OrderMagicNumber()==Magic) //отделяем свои ордера. Магик задается в настройках { int typ=OrderType(); //однократный вызов функции ускоряет работу switch (typ) { case 0 : bs++; case 1 : ss++; case 2 : blms++; case 3 : slms++; case 4 : bsts++; case 5 : ssts++; default : break ; } } } } return ; } //+------------------------------------------------------------------+ void BU() { for ( int a= OrdersTotal ()- 1 ; a>= 0 ; a--) { if ( OrderSelect (a, SELECT_BY_POS, MODE_TRADES)) { if (OrderMagicNumber()!=Magic || OrderSymbol()!= Symbol ()) continue ; int typ=OrderType(); //вызываем функции int tic=OrderTicket(); //один раз double oop=OrderOpenPrice(); //это ускоряет работу double otp=OrderTakeProfit(); //советника double osl=OrderStopLoss(); if (typ==OP_BUY) { if (oop<= NormalizeDouble (Bid-BULevel* Point -NotBULevel* Point , Digits ) && oop>osl) // последнеее условие БУ + 20 пипсов OrderModify(tic,oop, NormalizeDouble (oop+NotBULevel* Point , Digits ),otp, 0 ,Green); OrderDelete(ticket2,Yellow); } if (typ==OP_SELL) { if (oop>= NormalizeDouble (Ask+BULevel* Point +NotBULevel* Point , Digits ) && (oop<osl || osl== 0 )) // последнеее условие БУ + 20 пипсов OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-NotBULevel* Point ,OrderTakeProfit(), 0 ,Red); OrderDelete(ticket2,Yellow); } } } return ; } Boris 2013.12.10 15:18 #3316 artmedia70 : 좋은 점은 물 위의 갈퀴입니다. 빨리에 관해서는 - 또한 두 명의 할머니가 ... 그리고 그것이 싸다면 - 항목 1을 참조하십시오. 다음과 같이: 1. 좋은 점에 대해 - 물 속의 갈퀴입니다. 2. 빨리 - 할머니도 둘이서 ... 3. 그리고 싸다면 - 항목 1을 참조하십시오. 이제 명확합니다! Artyom Trishkin 2013.12.10 15:23 #3317 alexey1979621 : 수정, 편집, 테스트 - 문제가 남아 있음 - 특정 조건이 발생하면 어드바이저가 거래를 시작하고 그에 따라 테이크 또는 스톱로스로 거래를 마감합니다. 그게 다야, 고문은 거래 시작 조건이 충족된다는 사실에도 불구하고 더 이상 거래를 시작하지 않습니다. 다음은 전체 코드입니다. 이것은 어디에서 고려됩니까? bs+ss+bsts+ssts+blms+slms 그들은 글로벌합니다. 그리고 체크할 때까지 0으로 재설정되지 않습니다. 그리고 확인하기 전에 계산 - 어디? Vitalie Postolache 2013.12.10 15:28 #3318 alexey1979621 : 수정, 편집, 테스트 - 문제가 남아 있음 - 특정 조건이 발생하면 고문이 거래를 시작하고 그에 따라 테이크 또는 손절매로 거래를 마감합니다. 그게 다야, 고문은 거래 시작 조건이 충족된다는 사실에도 불구하고 더 이상 거래를 시작하지 않습니다. 다음은 전체 코드입니다. 리메이크 BU, 마켓포지션 삭제가 불가능하며, 정지정지로 인해 더이상 포지션이 없을 예정입니다))) Artyom Trishkin 2013.12.10 15:31 #3319 alexey1979621 : 수정, 편집, 테스트 - 문제가 남아 있음 - 특정 조건이 발생하면 고문이 거래를 시작하고 그에 따라 테이크 또는 손절매로 거래를 마감합니다. 그게 다야, 고문은 거래 시작 조건이 충족된다는 사실에도 불구하고 더 이상 거래를 시작하지 않습니다. 다음은 전체 코드입니다. case 0 : bs++; break ; case 1 : ss++; break ; case 2 : blms++; break ; case 3 : slms++; break ; case 4 : bsts++; break ; case 5 : ssts++; break ; default : break ; Vitalie Postolache 2013.12.10 16:07 #3320 evillive : 리메이크 BU, 마켓포지션 삭제가 불가능하며, 정지정지로 인해 더이상 포지션이 없을 예정입니다))) 전문가가 여기에서 BU() 함수에서 중단 (주석 처리)이 필요한지 여부를 구독 취소하고 alexey1979621 이 이 함수가 거기에서 호출되는지 생각하게 하시겠습니까? 또한 CountTrades(); 따라서 OrdersTotal() 과 동일하며 더 간단하고 빠릅니다. void BU() { bool bu= false ; for ( int a= OrdersTotal ()- 1 ; a>= 0 ; a--) { if ( OrderSelect (a, SELECT_BY_POS, MODE_TRADES)) { if (OrderMagicNumber()==Magic || OrderSymbol()== Symbol ()) { int typ=OrderType(); //вызываем функции int tic=OrderTicket(); //один раз double oop=OrderOpenPrice(); //это ускоряет работу double otp=OrderTakeProfit(); //советника double osl=OrderStopLoss(); if (typ==OP_BUY) { if (oop<= NormalizeDouble (Bid-BULevel* Point -NotBULevel* Point , Digits ) && oop>osl) // последнеее условие БУ + 20 пипсов OrderModify(tic,oop, NormalizeDouble (oop+NotBULevel* Point , Digits ),otp, 0 ,Green); bu= true ; //break; } if (typ==OP_SELL) { if (oop>= NormalizeDouble (Ask+BULevel* Point +NotBULevel* Point , Digits ) && (oop<osl || osl== 0 )) // последнеее условие БУ + 20 пипсов OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-NotBULevel* Point ,OrderTakeProfit(), 0 ,Red); bu= true ; //break; } if (bu== true && (typ==OP_BUYSTOP || typ==OP_SELLSTOP)) { OrderDelete(tic,Yellow); bu= false ; } } } } return ; } 1...325326327328329330331332333334335336337338339...1178 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
원천
예금을 계산하는 이유는 무엇입니까? 그리고 BU()는 누구입니까?
자신의 위치를 다른 사람과 "분리"하는 이상한 방법, 더 좋지 않습니까?
예금을 계산하는 이유는 무엇입니까? 그리고 BU()는 누구입니까?
자신의 입장과 타인의 입장을 "분리"하는 이상한 방법, 더 좋지 않나?
BU(); 손익분기점 기능.
내 버전이 나쁜 이유는 무엇입니까?
сюда пересчёт рыночных позиций и отложек
그리고 내 경우에는 어떻게 보일까요?그리고 내 경우에는 어떻게 보일까요?
보이는 것처럼 중괄호가 몇 개 더 추가되었습니다.
보이는 것처럼 중괄호가 몇 개 더 추가되었습니다.
수정, 편집, 테스트 - 문제가 남아 있음 - 특정 조건이 발생하면 고문이 거래를 시작하고 그에 따라 Take 또는 Stop Loss 로 거래를 마감합니다. 그게 다야, 고문은 거래 시작 조건이 충족된다는 사실에도 불구하고 더 이상 거래를 시작하지 않습니다.
다음은 전체 코드입니다.
좋은 점은 물 위의 갈퀴입니다. 빨리에 관해서는 - 또한 두 명의 할머니가 ... 그리고 그것이 싸다면 - 항목 1을 참조하십시오.
다음과 같이:
1. 좋은 점에 대해 - 물 속의 갈퀴입니다. 2. 빨리 - 할머니도 둘이서 ... 3. 그리고 싸다면 - 항목 1을 참조하십시오.
이제 명확합니다!
수정, 편집, 테스트 - 문제가 남아 있음 - 특정 조건이 발생하면 어드바이저가 거래를 시작하고 그에 따라 테이크 또는 스톱로스로 거래를 마감합니다. 그게 다야, 고문은 거래 시작 조건이 충족된다는 사실에도 불구하고 더 이상 거래를 시작하지 않습니다.
다음은 전체 코드입니다.
이것은 어디에서 고려됩니까?
그들은 글로벌합니다. 그리고 체크할 때까지 0으로 재설정되지 않습니다. 그리고 확인하기 전에 계산 - 어디?수정, 편집, 테스트 - 문제가 남아 있음 - 특정 조건이 발생하면 고문이 거래를 시작하고 그에 따라 테이크 또는 손절매로 거래를 마감합니다. 그게 다야, 고문은 거래 시작 조건이 충족된다는 사실에도 불구하고 더 이상 거래를 시작하지 않습니다.
다음은 전체 코드입니다.
수정, 편집, 테스트 - 문제가 남아 있음 - 특정 조건이 발생하면 고문이 거래를 시작하고 그에 따라 테이크 또는 손절매로 거래를 마감합니다. 그게 다야, 고문은 거래 시작 조건이 충족된다는 사실에도 불구하고 더 이상 거래를 시작하지 않습니다.
다음은 전체 코드입니다.
리메이크 BU, 마켓포지션 삭제가 불가능하며, 정지정지로 인해 더이상 포지션이 없을 예정입니다)))
전문가가 여기에서 BU() 함수에서 중단 (주석 처리)이 필요한지 여부를 구독 취소하고 alexey1979621 이 이 함수가 거기에서 호출되는지 생각하게 하시겠습니까?
또한 CountTrades(); 따라서 OrdersTotal() 과 동일하며 더 간단하고 빠릅니다.