누구든지 도와주세요!!! - 페이지 6 123456789101112 새 코멘트 [삭제] 2010.06.12 19:34 #51 extern string БАЙ = "NASTROI:"; extern int StopLoss = 200; // SL для открываемого ордера extern int TakeProfit = 40; extern double TrailingStop = 3; extern double TrailingStep =0; extern string ЛОТ = "NASTROI LOT:"; extern double Lots = 0.1; // Жестко заданное колич. лотов extern double ДОЛЯ_ДЕП_ОСН_ОРД = 0; // доля от свободных средств extern double MAX_LOT = 40; extern bool NORMALIZ = false; extern string П = "EDGE:"; extern int МАКС_КОЛИЧ_ОРДЕРОВ = 111; extern double БАЛАНС_МАРЖИ=1; extern int TFCLOSE=5; extern string FLAG = "FLAGS:"; extern int BUY =1; //блок бай extern int SELL =1; //блок сел extern int MINIM=1; extern double F=1; extern int ДИСТАНЦИЯ_ВЫСТАВЛЕНИЯ_ОТЛОЖ = 5; extern int MAGA = 7777; //магик № бай extern double Z=10; //,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, bool DS=0,DB=0,ZB=0,ZS=0; void deinit() { Comment(""); } int start() { //bool DS=0,DB=0,ZB=0,ZS=0; int R=1,CB=0; double Lts, FB=F,FS=F,MG,ZL=0, Min_Lot, Lts1, TPD1; bool Cls_B = false, Cls_S = false, Opn_B = false, Opn_S = false; //00000000000000000000000000000000000000000000000000000 //+------------РАСЧЁТ СТОИМОСТИ------------------------------------------------------+ // Стоимость ордеров if(БАЛАНС_МАРЖИ>0&&NORMALIZ==false) { RefreshRates(); if(AccountFreeMargin()>AccountMargin())MG=AccountFreeMargin(); //if(AccountFreeMargin()<AccountMargin())MG=0; if(БАЛАНС_МАРЖИ*AccountFreeMargin()<AccountMargin())R=0; Min_Lot = MarketInfo(Symbol(), MODE_MINLOT); if(Lots > 0 && ДОЛЯ_ДЕП_ОСН_ОРД == 0) Lts = Lots; if(ДОЛЯ_ДЕП_ОСН_ОРД > 0) Lts=MG/MarketInfo (Symbol(), MODE_MARGINREQUIRED)*ДОЛЯ_ДЕП_ОСН_ОРД; if(Lts > MAX_LOT) Lts = MAX_LOT; if(MG==0)Lts =0; if(MG>0&&Lts < Min_Lot&&MINIM==0) { R=0; Lts = 0;// Min_Lot; } if(MG>0&&Lts < Min_Lot&&MINIM==1) { Lts = Min_Lot; } Lts1=Lts; } //................................ int m; if(NORMALIZ==true&&БАЛАНС_МАРЖИ>0) { if(AccountFreeMargin()>AccountMargin())MG=AccountFreeMargin(); if(AccountFreeMargin()<AccountMargin())MG=0; Min_Lot = MarketInfo(Symbol(), MODE_MINLOT); //........................................................ if(Lots > 0 && ДОЛЯ_ДЕП_ОСН_ОРД == 0) Lts = Lots; if(ДОЛЯ_ДЕП_ОСН_ОРД>0) m=БАЛАНС_МАРЖИ*MG/MarketInfo (Symbol(), MODE_MARGINREQUIRED)*ДОЛЯ_ДЕП_ОСН_ОРД/Min_Lot; Lts = m*Min_Lot; if(Lts > MAX_LOT) Lts = MAX_LOT; if(MG==0)Lts =0; if(MG>0&&Lts < Min_Lot) { Lts =Min_Lot; // R=O; } Lts= Lts; } //................................ if(БАЛАНС_МАРЖИ==0) { RefreshRates(); Min_Lot = MarketInfo(Symbol(), MODE_MINLOT); if(Lots > 0 && ДОЛЯ_ДЕП_ОСН_ОРД == 0) Lts = Lots; if(ДОЛЯ_ДЕП_ОСН_ОРД > 0) Lts=AccountFreeMargin()/MarketInfo (Symbol(), MODE_MARGINREQUIRED)*ДОЛЯ_ДЕП_ОСН_ОРД; if(Lts > MAX_LOT) Lts = MAX_LOT; if(Lts < Min_Lot&&MINIM==0) { R=0; Lts = 0;//Min_Lot; } if(Lts < Min_Lot&&MINIM==1) { Lts = Min_Lot; } Lts1=Lts; } for(int x = 0; x < OrdersTotal(); x++) { if(OrderSelect(x, SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MAGA) switch(OrderType()) { case 0:DB=1;break; case 1:DS=1;break; case 4:ZB=1;break; case 5:ZS=1;break; } //if(OrderType() == OP_BUYSTOP)ZB=1; //if(OrderType() == OP_SELLSTOP)ZS=1; //if(OrderType() == OP_SELL)DB=1; if(OrderType() == OP_SELLSTOP&&DB==1){OrderDelete(OrderTicket(),CLR_NONE);return(0);} // if(OrderType() == OP_BUY)DS=1; if(OrderType() == OP_BUYSTOP&&DS==1){OrderDelete(OrderTicket(),CLR_NONE);return(0);} //................................................................... //.................ТЕЙК И СТОП....................... for(int y = 0; y < OrdersTotal(); y++) { if(!OrderSelect(y, SELECT_BY_POS, MODE_TRADES)) continue; if(OrderSymbol() != Symbol()) continue; if(OrderMagicNumber() != MAGA) continue; } if(OrderType() == OP_BUY&&OrderStopLoss()==0||OrderTakeProfit()==0&&StopLoss>0) { OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice()-StopLoss*Point , OrderOpenPrice()+TakeProfit*Point ,MAGA, CLR_NONE); return(0); } if(OrderType() == OP_SELL&&OrderStopLoss()==0||OrderTakeProfit()==0&&StopLoss>0) { OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice()+StopLoss*Point , OrderOpenPrice()-TakeProfit*Point ,MAGA, CLR_NONE); return(0); } } //.................................................................... //OOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO if(ZB==0&&ZS==0&&DB==0&&DS==0 ) { Opn_B = true; Opn_S = true; } //OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO // Открытие ордеров while(true) { //OOOOOOOOOOOOOOOOOOOOOOOO ОСНОВНЫЕ OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO if(Opn_B == true && BUY ==1) { // CS=1; Alert("Попытка BUY"); if(Opn_B == true && BUY ==1) OrderSend(Symbol(), OP_BUYSTOP,FB*Lts,Ask+Z*ДИСТАНЦИЯ_ВЫСТАВЛЕНИЯ_ОТЛОЖ*Point,2,0,0,"",MAGA,0,Aqua); if(Fun_Error(GetLastError()) == 1) continue; // return(0); } //-------------------------------------------------- if(Opn_S == true&&SELL==1) { // CB=1; Alert("Попытка SELL"); if(Opn_S == true&&SELL==1) OrderSend(Symbol(), OP_SELLSTOP, FS*Lts,Bid-Z*ДИСТАНЦИЯ_ВЫСТАВЛЕНИЯ_ОТЛОЖ*Point,2,0,0,"",MAGA,0,Orange);//TimeCurrent()+TIMELIVE*60 if(Fun_Error(GetLastError()) == 1) continue; return(0); } break; } return(0); } //+------------------------------------------------------------------+ int Fun_Error(int Error) { switch(Error) { case 4: Alert("Торговый сервер занят. Пробуем ещё раз.."); Sleep(3000); return(1); case 135: Alert("Цена изменилась. Пробуем ещё раз.."); RefreshRates(); return(1); case 136: Alert("Нет цен. Ждём новый тик.."); while(RefreshRates() == false) Sleep(1); return(1); case 137: Alert("Брокер занят. Пробуем ещё раз.."); Sleep(3000); return(1); case 146: Alert("Подсистема торговли занята. Пробуем ещё.."); Sleep(500); return(1); case 2: Alert("Общая ошибка."); return(0); } //+------------------------------------------------------------------+ } //............................................................. [삭제] 2010.06.12 19:37 #52 제안된 옵션 중 하나를 사용하여 작업하고 싶지 않고 이미 작성한 옵션이 작동하지 않을 가능성이 .. techno 2010.06.12 19:40 #53 먼저 START FUNCTION 내부에서 변수를 선언하도록 했습니다. 그리고 여기서 다시 25. 둘째, 두 번째 사이클이 필요한 이유는 무엇입니까? 왜 내 수표를 추가했습니까? 필요가 없다 techno 2010.06.12 19:41 #54 주문을 반복하고 유형을 저장할 때 10번의 반복 주기를 수행할 필요가 없도록 티켓과 정류장을 즉시 저장합니다. [삭제] 2010.06.12 19:41 #55 Techno : 그의 코드는 심하게 엉망이고, 동일한 검사가 한 주기에 10번 이루어지며, 수정 기능에도 수많은 오류가 있습니다. 지연 만료 시간 대신 마술사가 있습니다.. 찌꺼기가 더 짧고 우리는 설명을 잘 못한 탓이다.. 문제는 그들이 잘못 설명 했다는 것이 아니라 내가 원래 가지고 있는 것과 같은 오류로 다양한 옵션을 찾아보고 잘못 설명했다는 것입니다. [삭제] 2010.06.12 19:43 #56 Techno : 먼저 START FUNCTION 내부에서 변수를 선언하도록 했습니다. 그리고 여기서 다시 25. 둘째, 당신에게 두 번째 주기는 무엇입니까? 왜 내 수표를 추가했습니까? 필요가 없다 그것은 당신이 본 것과 거기에 있습니다 (시작 내부) 그런 다음 예금자를 제거하지 말고 다른 모든 것은 동일합니다 (재설정되지 않음) techno 2010.06.12 19:50 #57 sllawa3 : 그것은 당신이 본 것과 거기에 있습니다 (시작 내부) 그런 다음 예금자를 제거하지 말고 다른 모든 것은 동일합니다 (재설정되지 않음) 논리적으로 생각해 봅시다. 이 4개의 변수는 틱마다 재설정됩니다. 맞나요?? 두 번째 질문은 주문이 없으면 이러한 변수에 아무 것도 할당되지 않고 0과 동일하게 유지됩니다. 맞습니까? 그리고 마지막 질문은 null인 경우 어떻게 null이 되지 않을 수 있습니까? [삭제] 2010.06.12 19:53 #58 그리고 일반적으로 수정 사항을 제거했습니다(두 번째 주기와 함께) ... 동일 [삭제] 2010.06.12 19:54 #59 Techno : 논리적으로 생각해 봅시다. 이 4개의 변수는 매 틱마다 재설정됩니다. 맞죠?? 두 번째 질문은 주문이 없으면 이러한 변수에 아무 것도 할당되지 않고 0과 동일하게 유지됩니다. 맞습니까? 그리고 마지막 질문은 null인 경우 어떻게 null이 되지 않을 수 있습니까? 글쎄, 자신을보십시오 .. 나도 그렇게 생각했습니다 ... techno 2010.06.12 19:56 #60 무작위로 제거하고 넣는 것이 아니라 생각할 필요가 있습니다. 여기 당신이 모든 것을 알고 모든 것에 대해 생각하지만 결과는 터무니없는 것이 있습니다. 간단히 말해서, 이제 각 주문에 티켓이 수반되고 팝업이 표시되는 주문 루프를 작성하고 다른 것은 작성하지 마십시오. 여기에 코드를 게시하십시오. 123456789101112 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
먼저 START FUNCTION 내부에서 변수를 선언하도록 했습니다. 그리고 여기서 다시 25.
둘째, 두 번째 사이클이 필요한 이유는 무엇입니까? 왜 내 수표를 추가했습니까? 필요가 없다
그의 코드는 심하게 엉망이고, 동일한 검사가 한 주기에 10번 이루어지며, 수정 기능에도 수많은 오류가 있습니다. 지연 만료 시간 대신 마술사가 있습니다.. 찌꺼기가 더 짧고 우리는 설명을 잘 못한 탓이다..
문제는 그들이 잘못 설명 했다는 것이 아니라 내가 원래 가지고 있는 것과 같은 오류로 다양한 옵션을 찾아보고 잘못 설명했다는 것입니다.
먼저 START FUNCTION 내부에서 변수를 선언하도록 했습니다. 그리고 여기서 다시 25.
둘째, 당신에게 두 번째 주기는 무엇입니까? 왜 내 수표를 추가했습니까? 필요가 없다
그것은 당신이 본 것과 거기에 있습니다 (시작 내부) 그런 다음 예금자를 제거하지 말고 다른 모든 것은 동일합니다 (재설정되지 않음)
그것은 당신이 본 것과 거기에 있습니다 (시작 내부) 그런 다음 예금자를 제거하지 말고 다른 모든 것은 동일합니다 (재설정되지 않음)
논리적으로 생각해 봅시다. 이 4개의 변수는 틱마다 재설정됩니다. 맞나요??
두 번째 질문은 주문이 없으면 이러한 변수에 아무 것도 할당되지 않고 0과 동일하게 유지됩니다. 맞습니까?
그리고 마지막 질문은 null인 경우 어떻게 null이 되지 않을 수 있습니까?
논리적으로 생각해 봅시다. 이 4개의 변수는 매 틱마다 재설정됩니다. 맞죠??
두 번째 질문은 주문이 없으면 이러한 변수에 아무 것도 할당되지 않고 0과 동일하게 유지됩니다. 맞습니까?
그리고 마지막 질문은 null인 경우 어떻게 null이 되지 않을 수 있습니까?
글쎄, 자신을보십시오 .. 나도 그렇게 생각했습니다 ...
무작위로 제거하고 넣는 것이 아니라 생각할 필요가 있습니다. 여기 당신이 모든 것을 알고 모든 것에 대해 생각하지만 결과는 터무니없는 것이 있습니다.
간단히 말해서, 이제 각 주문에 티켓이 수반되고 팝업이 표시되는 주문 루프를 작성하고 다른 것은 작성하지 마십시오. 여기에 코드를 게시하십시오.