그리고 질문 하나 더. 내 전문가는 주어진 개월 수 동안 차트를 분석하고 전체 기록을 분 차트로 반환하는 차트 만 있고 한 달 반 이상을 원하지 않는 차트가 있으며 그 후에도 스크롤 해도 차트를 수동으로 되돌리면 특정 날짜 흔들림을 수동으로 넘어갈 수도 없습니다. 시간별 - 일별 - 연간 차트에는 동시에 모든 것이 있습니다. 어떻게든 메타트레이더가 원하는 가치를 제공하도록 설득할 수 있습니까?
pycha : 그리고 질문 하나 더. 내 전문가는 주어진 개월 수의 차트를 분석하는데 분 차트로 전체 기록을 반환하는 차트만 있고 한 달 반 이상을 원하지 않는 차트가 있으며 그 후에도 스크롤을 해도 차트를 수동으로 되돌리면 특정 날짜 흔들림을 수동으로 넘어갈 수도 없습니다. 시간별 - 일별 - 연간 차트에는 동시에 모든 것이 있습니다. 어떻게든 메타트레이더가 원하는 가치를 제공하도록 설득할 수 있습니까?
친애하는 포럼 사용자 여러분, 안녕하세요. 여기서 부탁을 하고 싶습니다. iEnvelopesOnArray() 함수가 작동하는 코드를 게시할 수 있습니까? 지금까지 그녀를 길들이려는 모든 시도는 실패했습니다. 나는 이것이 개발자의 잘못이라고 생각합니다. 다음은 작업을 확인하는 표시기입니다.
//+------------------------------------------------------------------+//| Tester_EnvOnArray.mq4 |//| Copyright 2005 г. до нашей эры, MetaQuotes Software Company. |//| https://www.mql4.com |//+------------------------------------------------------------------+#property copyright"2005 г. до нашей эры, MetaQuotes Software Company."#property link"https://www.mql4.com"#property description"Пример индикатора для проверки работы функции iEnvelopesOnArray()"#property strict//--- indicator settings#property indicator_chart_window#property indicator_buffers2#property indicator_color1 Green
#property indicator_color2 Red
//--- indicator buffersdouble ExtEnvBuffer[];
double ExtPriceBuffer[];
//--- bars minimum for calculation#define DATA_LIMIT 100//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+voidOnInit ( void )
{
IndicatorShortName( "EnvOnArr" );
//--- 1 additional buffer are used for counting.
IndicatorBuffers( 2 );
IndicatorDigits( Digits + 2 );
//--- drawing settings
SetIndexStyle( 0 , DRAW_LINE );
SetIndexDrawBegin( 0 , DATA_LIMIT);
SetIndexStyle( 1 , DRAW_NONE );
SetIndexDrawBegin( 1 , DATA_LIMIT);
//--- all indicator buffers mappingSetIndexBuffer ( 0 , ExtEnvBuffer);
SetIndexBuffer ( 1 , ExtPriceBuffer);
//--- name for DataWindow and indicator subwindow label
SetIndexLabel(0, NULL );
SetIndexLabel( 1 , NULL );
}
//+------------------------------------------------------------------+//| EnvelopesOnArray |//+------------------------------------------------------------------+intOnCalculate ( constint rates_total,
constint prev_calculated,
constdatetime & time[],
constdouble & open[],
constdouble & high[],
constdouble & low[],
constdouble & close[],
constlong & tick_volume[],
constlong & volume[],
constint & spread[])
{
int i, limit;
double prev = 0.0 , Deviation = 1 ;
//--- check for rates totalif (rates_total <= DATA_LIMIT)
return ( 0 );
//--- last counted bar will be recounted
limit = rates_total - prev_calculated;
if (prev_calculated > 0 )
{
limit++;
}
//--- price counted in the 2-nd additional bufferfor (i= 0 ; i<limit- 1 ; i++)
ExtPriceBuffer[i] = close[i];
//--- price counted in the 1-st additional bufferfor (i= 0 ; i<limit- 1 ; i++)
ExtEnvBuffer[i] = iEnvelopesOnArray(ExtPriceBuffer, 0 , 5 , MODE_SMA , 0 , 1 , MODE_UPPER, i);
//--- donereturn (rates_total);
}
//+------------------------------------------------------------------+
여보세요. 설명서를 찾아보았지만 찾지 못했습니다. 질문은 무엇입니다. Expert Advisor를 내 로고로 시작할 때 이 사진을 변경할 수 있습니까?
#속성 아이콘 "\\이미지\\xxx.ico";
그리고 고쳐지지 않았나요?
보시다시피.
그러나 가장 논리적이고 가장 쉽게 이익을 얻는 방법은 MT 창의 도구를 변경하는 것을 금지하는 것입니다. 따라서 기능으로 고려할 것을 제안합니다. :)
그리고 질문 하나 더. 내 전문가는 주어진 개월 수의 차트를 분석하는데 분 차트로 전체 기록을 반환하는 차트만 있고 한 달 반 이상을 원하지 않는 차트가 있으며 그 후에도 스크롤을 해도 차트를 수동으로 되돌리면 특정 날짜 흔들림을 수동으로 넘어갈 수도 없습니다. 시간별 - 일별 - 연간 차트에는 동시에 모든 것이 있습니다. 어떻게든 메타트레이더가 원하는 가치를 제공하도록 설득할 수 있습니까?
친애하는 포럼 사용자 여러분, 안녕하세요. 여기서 부탁을 하고 싶습니다. iEnvelopesOnArray() 함수가 작동하는 코드를 게시할 수 있습니까? 지금까지 그녀를 길들이려는 모든 시도는 실패했습니다. 나는 이것이 개발자의 잘못이라고 생각합니다. 다음은 작업을 확인하는 표시기입니다.
안녕하세요. 테스트 중에 오류가 나타납니다.
2014.12.25 18:04:31.125 2014.11.03 00:00 Test3 EURUSD, H4: OrderModify 기능 에 대한 유효하지 않은 티켓
2014.12.25 18:04:31.125 2014.11.03 00:00 Test3 EURUSD,H4: OrderModify 오류 4051
여러 번 확인했는데 오류가 없습니다(내가 보기에).
프로그램의 이 부분에서 오류가 발생합니다.
ModifyBuy, ModifySell, SelectBuy, SelectSell, - 유형이 bool입니다.
SendBuy, SendSell-int, int TP = 30
while(true)
{
SPREAD=MarketInfo(Symb,MODE_SPREAD);
SelectBuy=OrderSelect(OrderTicketBuy,SELECT_BY_TICKET);//buy
RefreshRates();
if(NormalizeDouble(OrderOpenPrice()+TP*Point,Digits)<NormalizeDouble(Ask,Digits))
{
ModifyBuy=OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(10-SPREAD)*Point,Bid+(30- SPREAD)*Point,0,0);
R=1;
break;
}//if2
Timen=OrderCloseTime();
if(Timen>0)
{
//--------------------------
Stop=StopLevel(Symb);
StopLong();//значение Long2
StopLoss_Func();//значение SL
//--------------------------
SendBuy=OrderSend(Symb,OP_BUYSTOP,Lote,Ask+Long2*Point,1,Bid-SL*Point,NULL);
for(i=1;i>OrdersTotal();i++)
{
if(OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES)==true)//Проверяем есть ли ордер
{
if(OrderSymbol()!=Symb) continue;
if(OrderType()==4)
{
OrderTicketBuy=OrderTicket();
break;
}
else
{
continue;
}
}
}
continue;
}//if2
SelectSell=OrderSelect(OrderTicketSell,SELECT_BY_TICKET,MODE_TRADES);//sell
RefreshRates();
if(NormalizeDouble(OrderOpenPrice()-TP*Point,Digits)>NormalizeDouble(Bid,Digits))
{
ModifySell=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(10-SPREAD)*Point,Ask-(30- SPREAD)*Point,0,0);
R=2;
break; //спред
}//if2
Timen=OrderCloseTime();
if(Timen>0)
{
//--------------------------
Stop=StopLevel(Symb);
StopLong();
StopLoss_Func();
//--------------------------
SendSell=OrderSend(Symb,OP_SELLSTOP,Lote,Bid-Long2*Point,1,Ask+SL*Point,NULL);
for(i=1;i>OrdersTotal();i++)
{
if(OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES)==true)//Проверяем есть ли ордер
{
if(OrderSymbol()!=Symb) continue;
if(OrderType()==6)
{
OrderTicketSell=OrderTicket();
break;
}
else
{
continue;
}
}
}
continue;
}//if2
}//while1
전체 코드가 필요한 경우 여기
고맙습니다!