그리고 다시 당신에게 도움을 청합니다. ... 모든 것이 고문에 의해 완료된 것 같았습니다. .... 그러나 특정 조건에서 주문이 종료되면 어떤 식 으로든 작동하지 않습니다. 티켓 또는 주문 번호의 정의 또는 후속 마감에 대한 주문을 결정하려고 할 때 코드의 완전히 잘못된 값에 오류가 지속적으로 발생합니다. 나는 재미가없고 회계를 주문하지만 그것 없이는 관리 할 수 있는 것 같습니다. 아마도 코드에 따라 순차적 작업의 통과의 잘못된 게시가 있지만 모든 것이 맞는 것 같습니다. 당신이 할 수 있는 일을 누군가에게 도와주고, 코드를 보고, 조건별 주문을 닫기 위해 무엇을 추가해야 하는지 알려주고, fun-and start의 올바른 처리 순서와 관련하여 전체 코드의 구현에 대해 의견을 말하십시오. 그렇지 않으면 루핑한 느낌인데 조건이 발생하면 어느순간 주문이 안열려요(다음 경우는 스킵) ....... !!! ..))) 여기 코드가 있습니다!
//+-----------------Включаемые дериктивы-----------------------------+#include <Param.mqh> //фун-я параметры //#include <Message_Print.mqh> //фун-я коммент#include <isTradeTimeString_m.mqh> //фун-я торгов по времени#include <TrailingStop.mqh> //фун-я трайлинг #include <isNewBar.mqh> //фун-я проверки нового бара#include <TotalOrders.mqh> //фун-я проверки кол-ва открытых сделок#include <Crit_Flat.mqh> //фун-я проверки флэт#include <Crit_Sell.mqh> //фун-я проверки сигнала продажи#include <Crit_Buy.mqh> //фун-я проверки сигнала покупки#include <TakeProfitLastClosePos.mqh> //фун-я определения профита послед закрыт поз#include <GetTypeLastClosePos2.mqh> //функция определения типа закрытой поз//+-----------------Переменные---------------------------------------+int ExpertOrdersTotal ;//общее колличество открытых позицийint tiket =0;int mn =0;//магик//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init (){//----
MinStop =MarketInfo(Symbol(),MODE_STOPLEVEL);//минимальное разрешимое отклонение стоп лосс от рыночной цены//----return(0);}int start (){//Print("Проверка открытых ордеров 1");//---------------------Проверка по времени------------1---------if( tim ==true){
isTradeTimeString ();//торговля по времениif( isTradeTimeString ( TimeBegin , TimeEnd )){//---------------------Проверка трейлинга------------2---------
TrailingStop ();//---------------------Проверка открытых ордеров------------3---------
ExpertOrdersTotal = TotalBuy ()+ TotalSell ();// СКОЛЬКО ВСЕГО ОРДЕРОВ ОТКРЫТО if( ExpertOrdersTotal >= Sdelki )// если кол-во открытых сделок меньше максимального{// кол-ва сделок, проверяем возможность открытия сделки//Print("превышено кол-во сделок,выход"); return(0);}else{Print("проверка появления нового бара ");//--------------------проверка появления нового бара--------4---------
Fun_New_Bar ();// Обращение к функции и передача ей управленияif( New_Bar ==false)// Если бар не новый..{//Print("Нового бара пока нет,выход"); return;// ..то уходим }//Print("проверка сигнала ");//--------------------проверка сигнала----------------------5---------
Crit_Flat ();
Crit_Sell ();
Crit_Buy ();// Print("коэф-нт покупки ",ves_buy);// Print("коэф-нт продажи ",ves_sell);if( Flat ==true)//проверка наличия флэта{return(0);}if( Trend ==true)//сделки по тренду{if( ves_buy < ves_sell ){
tiket =OrderSend(Symbol(),OP_SELL, Lot ,Bid,3,Bid+ SL *Point,Ask- TP *Point,"My order #", mn ,0,Green);Print("Ордер открыт по тренду");}if( ves_buy > ves_sell ){
tiket =OrderSend(Symbol(),OP_BUY, Lot ,Ask,3,Bid- SL *Point,Ask+ TP *Point,"My order #", mn ,0,Red);Print("Ордер открыт по тренду");}}else{if( ves_buy > ves_sell && ves_buy >= param ){
tiket =OrderSend(Symbol(),OP_BUY, Lot ,Ask,3,Bid- SL *Point,Ask+ TP *Point,"My order #", mn ,0,Red);Print("Ордер открыт по коэфициенту");//--------------------------------------------------// доработать фун-ю открытия ордера//--------------------------------------------------}if( ves_buy < ves_sell && ves_sell >= param ){
tiket =OrderSend(Symbol(),OP_SELL, Lot ,Bid,3,Bid+ SL *Point,Ask- TP *Point,"My order #", mn ,0,Green);Print("Ордер открыт по коэфициенту");//--------------------------------------------------// доработать фун-ю открытия ордера//--------------------------------------------------}}//+------------------------------------------------------------------------ }//скобка проверки колва сделокPrint("есть сделки, выход");}//скобка проверки времени Print("время не подошло");}//проверка флага торговли по времени return(0);//ретурн основного старта}
여기 실제 코드가 있습니다. 여기까지 왔으니 한 가지만 더 질문하겠습니다. 여러 재계산 또는 DC의 매개변수 요청 측면에서 Expert Advisor의 구현에 제한이 있습니까? 제한의 의미에서 그러한 전역적입니다(특정 dts가 아님)!
Alex5757000>> : 오류를 찾을 수 있도록 도와주세요. 더 이상 할 수 없습니다 .. 그리고 나는 그것을 어디에서 찾아야하는지조차 모릅니다. TypeError: '\end_of_program' - 불균형 왼쪽 괄호
세미온 세미노비치...
다음과 같이 작성하는 방법을 배우십시오.
if(){}
그런 다음 작성을 시작하면 거의 혼동되지 않을 것입니다.
Type error: '\end_of_program' - 불균형 왼쪽 괄호는 컴파일러가 오류를 정확히 찾을 수 없기 때문에 그다지 유쾌하지 않으므로 하지 않는 것이 좋지만 위의 방법을 사용하면 피할 수 있습니다. 어딘가에 공백을 만들고 삽입할 수 있습니다 올바른 장소에 있습니다.
실수는 어디에 있습니까?
현재 가격에 너무 근접한 것 같습니다. stoplevel MarketInfo(Symbol(),MODE_STOPLEVEL);
현재 가격에 너무 근접한 것 같습니다. stoplevel MarketInfo(Symbol(),MODE_STOPLEVEL);
가격은 최대 210포인트입니다. 테스터는 오류 3을 제공합니다.
가격은 최대 210포인트입니다. 테스터는 오류 3을 제공합니다.
만료가 과거 어딘가에 잘못 설정되어 있다고 생각합니다.
가격은 최대 210포인트입니다. 테스터는 오류 3을 제공합니다.
나는 최근에이 오류가 발생했습니다. 어떻게 든 관리
오류를 찾을 수 있도록 도와주세요. 더 이상 할 수 없습니다 .. 그리고 나는 그것을 어디에서 찾아야하는지조차 모릅니다. TypeError: '\end_of_program' - 불균형 왼쪽 괄호
if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // 닫는 괄호 없음
if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // 닫는 괄호 없음
Vinin에 감사드립니다 :-). 그런 어리석은 실수에 대해 유감스럽게 생각합니다. 이제 막 프로그래밍을 시작하고 경험을 쌓고 있습니다 ...
만료가 과거 어딘가에 잘못 설정되어 있다고 생각합니다.
정확히. 문제는 그에게 있었다.
그리고 다시 당신에게 도움을 청합니다. ... 모든 것이 고문에 의해 완료된 것 같았습니다. .... 그러나 특정 조건에서 주문이 종료되면 어떤 식 으로든 작동하지 않습니다. 티켓 또는 주문 번호의 정의 또는 후속 마감에 대한 주문을 결정하려고 할 때 코드의 완전히 잘못된 값에 오류가 지속적으로 발생합니다. 나는 재미가없고 회계를 주문하지만 그것 없이는 관리 할 수 있는 것 같습니다. 아마도 코드에 따라 순차적 작업의 통과의 잘못된 게시가 있지만 모든 것이 맞는 것 같습니다. 당신이 할 수 있는 일을 누군가에게 도와주고, 코드를 보고, 조건별 주문을 닫기 위해 무엇을 추가해야 하는지 알려주고, fun-and start의 올바른 처리 순서와 관련하여 전체 코드의 구현에 대해 의견을 말하십시오. 그렇지 않으면 루핑한 느낌인데 조건이 발생하면 어느순간 주문이 안열려요(다음 경우는 스킵) ....... !!! ..))) 여기 코드가 있습니다!
여기 실제 코드가 있습니다. 여기까지 왔으니 한 가지만 더 질문하겠습니다. 여러 재계산 또는 DC의 매개변수 요청 측면에서 Expert Advisor의 구현에 제한이 있습니까? 제한의 의미에서 그러한 전역적입니다(특정 dts가 아님)!
나는 도움과 약간의 비판적인 평가를 기다리고 있습니다)
오류를 찾을 수 있도록 도와주세요. 더 이상 할 수 없습니다 .. 그리고 나는 그것을 어디에서 찾아야하는지조차 모릅니다. TypeError: '\end_of_program' - 불균형 왼쪽 괄호
세미온 세미노비치...
다음과 같이 작성하는 방법을 배우십시오.
그런 다음 작성을 시작하면 거의 혼동되지 않을 것입니다.
Type error: '\end_of_program' - 불균형 왼쪽 괄호는 컴파일러가 오류를 정확히 찾을 수 없기 때문에 그다지 유쾌하지 않으므로 하지 않는 것이 좋지만 위의 방법을 사용하면 피할 수 있습니다. 어딘가에 공백을 만들고 삽입할 수 있습니다 올바른 장소에 있습니다.
다음글 "카속은 청바지에 집어넣지 않는다"
첨부 파일에 수정 사항이 있는 코드를 가져오세요.