[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 107

 
Yeniden çizilmemesi için bu sitede işlem günü için destek ve direnç seviyelerinin bir göstergesi var mı? Hangi mumların yeniden çizileceğini seçmek de mümkündü (günlük, ay, hafta). Önceki günlerin/haftaların/ayların seviyeleri görüntülendi. ve ayrıca hesaplanan seviyelerin doğru kabul edildiğini! allpivotpoint yanlış bir hesaplama yapıyor, hesap makinesini alıyorum, başka bir gösterge tarafından onaylanan farklı sayılar aldım, ancak yeniden çiziyor (görünüşe göre bir hata var ve önceki dönemler / hesaplamalar için seviyeleri göstermiyor)
 

Pupersa , найди этот ордер и измени в нём параметр "стоплосс", ничё сложного.


Eğer senin için zor değilse, detaylandırabilir misin?
 
artmedia70 :
Sana bir fındık vereyim, sen de bana arabanın neden çalışmadığını söyle... :)


Doğru somunla - diyebilirsiniz ... :-)

Ekli dosya... Şimdiden teşekkürler!

Dosyalar:
demo1.3.1.mq4  36 kb
 
Pupersa :

Eğer senin için zor değilse, detaylandırabilir misin?
ders kitabında veya belgelerde "siparişlerle çalışın" bulun. siparişler için arama işlevini kullanın, parametrelerinize göre ihtiyacınız olanı bulun, sipariş değiştirme işleviyle değiştirin
 

Sevgili forum kullanıcıları, komut dosyasında bir hata bulmama yardım edin.

Sorunun özü şu ki, değerleri olan 4 dosya var, her dosyayı açmanız, her şeyi bir diziye yazmanız ve ortalama maksimum ve minimum değerleri hesaplayıp ardından başka bir diziye aktarmanız gerekiyor.

GetFileData();, ArrInsertInt( InsertArr , MathAbs(StrToInteger(value))); çağrılırken hata aşağıdaki gibidir. oraya değerler katmaya ve bir daha yazmamaya başlar.

 string FNLenUp; //имя файла для записи\чтения длин восходящего движения
string FNSpeedUp; //имя файла для записи\чтения скорости восходящего движения
string FNLenDown; //имя файла для записи\чтения длин восходящего движения
string FNSpeedDown; //имя файла для записи\чтения скорости восходящего движения 
//----------------------------------------------------------------------------------------------------------//
int SpeedArrUp[]; //массив времени фиксации цен восходящего
int LengthArrUp[]; //массив цен восходящего
int SpeedArrDown[]; //массив времени фиксации цен нисходящего
int LengthArrDown[]; //массив цен нисходящего
extern double percent = 0.005 ; //пункты
int init()
{
    GetNameF();
    GetFileData(FNLenUp,LengthArrUp);
    GetFileData(FNSpeedUp,SpeedArrUp);
    GetFileData(FNLenDown,LengthArrDown);
    GetFileData(FNSpeedDown,SpeedArrDown);
    
}
int GetFileData ( string FileName, int & RetArr[])
{

     
     int Handle = 0 ; //файловый указатель
     int i = 0 ;
     int F_newFile = - 1 ; //Флаг создания нового файла (1)-да (0)-нет
     int InsertArr[]; //Массив для извлечения в него данных из файла
     int ArrSize = - 1 ; //Размер массива
     int ArrMax = - 1 ; //Максимальное значение
     int ArrMin = - 1 ; //Минимальное значение
     int ArrAverage = - 1 ; //Среднее значение
     string value = 0 ;
     //---------------------------------------------------------------------//
     //Print(ArrSize);
     //Смотрим существует ли файл


       //И меняем флаг что файл не создавался 
      F_newFile = 0 ;
       //значит открываем его для чтения
      Handle= FileOpen ( "lengthEURUSD0.0050Down.csv" , FILE_READ );
       if (Handle< 1 )
      {
         Print ( "Ошибка открытия файла для чтения." );
         return ( 0 );
      }
       FileSeek (Handle, 0 , SEEK_SET );
       while ( FileIsEnding (Handle)==false)  
      {                                
         value = FileReadString (Handle);
         if (value!= "" )
         {
             //Записываем всё в массив из файла
            ArrInsertInt(InsertArr, MathAbs (StrToInteger(value)));
         }  
         if ( FileIsEnding (Handle)==true)
         {
             break ;
         }     
      }
       //Рассчитываем значения средние максимальные и т.д.
      ArrSize = ArraySize (InsertArr);
       Print (ArrSize);
       //---------------------------------------------------------------------//
      ArrMax = ArrayMaximum (InsertArr,ArrSize, 0 );
      ArrMax = InsertArr[ArrMax];
       //---------------------------------------------------------------------//      
      ArrMin = ArrayMinimum (InsertArr,ArrSize, 0 );
      ArrMin = InsertArr[ArrMin];
       //---------------------------------------------------------------------//      
      ArrAverage = 0 ;
       for (i = 0 ; i<=ArrSize; i++)
      {
         ArrAverage = ArrAverage+InsertArr[i];
      }
      ArrAverage = ArrAverage/ArrSize;
       //---------------------------------------------------------------------// 
       FileClose (Handle);   

     //---------------------------------------------------------------------//
     //Смотрим если все значения есть, тогда запихиваем всё в массив и передаём его
     if (F_newFile != - 1 && ArrSize != - 1 && ArrMax != - 1 && ArrMin != - 1 && ArrAverage != - 1 )
    { 
      ArrInsertInt(RetArr,F_newFile);
      ArrInsertInt(RetArr,ArrSize);
      ArrInsertInt(RetArr,ArrMax);
      ArrInsertInt(RetArr,ArrMin);
      ArrInsertInt(RetArr,ArrAverage);
      ArrInsertInt(RetArr,Handle);
       Print (RetArr[ 0 ], "|" ,RetArr[ 1 ], "|" ,RetArr[ 2 ], "|" ,RetArr[ 3 ], "|" ,RetArr[ 4 ], "|" ,RetArr[ 5 ]);
       return (RetArr);
    }
     //---------------------------------------------------------------------//
     //иначе передаем только файловый указатель
    ArrInsertInt(RetArr,Handle);
    ArrInsertInt(RetArr,F_newFile);    
     return (RetArr);
}
void GetNameF()
{ string symbol; //инструмент которым будем торговать
     //создаём имя файла
    symbol = Symbol ();
     //---------------------------------------------------------------------------------------------------------------------------//
    FNLenUp = "length" +symbol+DoubleToStr(percent, 4 )+ "up" ;
     //--------------------------------------------------------//
    FNSpeedUp = "speed" +symbol+DoubleToStr(percent, 4 )+ "up" ;
     //--------------------------------------------------------//
    FNLenDown = "length" +symbol+DoubleToStr(percent, 4 )+ "Down" ;
     //--------------------------------------------------------//
    FNSpeedDown = "speed" +symbol+DoubleToStr(percent, 4 )+ "Down" ;
}
int ArrInsertInt( int & m[], int e, int p=- 1 ) {
   int j, k= ArraySize (m);
   p=- 1 ;

   ArrayResize (m, k+ 1 );
   if (p>= 0 && p<k) {
     for (j=k; j>p; j--) m[j]=m[j- 1 ];
    m[p]=e;
  } else m[k]=e;

   return (k+ 1 );
}

işte komut dosyası ve dosyalardan biri

 
puschistic :

Sevgili forum kullanıcıları, komut dosyasında bir hata bulmama yardım edin.

Sorunun özü şu ki, değerleri olan 4 dosya var, her dosyayı açmanız, her şeyi bir diziye yazmanız ve ortalama maksimum ve minimum değerleri hesaplayıp ardından başka bir diziye aktarmanız gerekiyor.

GetFileData();, ArrInsertInt(InsertArr, MathAbs(StrToInteger(value))); çağrılırken hata aşağıdaki gibidir. oraya değerler katmaya ve bir daha yazmamaya başlar.

işte komut dosyası ve dosyalardan biri

Nedense dosya eklenmemiş. işte içerik:

121
58
91
176
87
58
105
166
95
54
59
99
54
172
79
55
69
110
97
80
119
113
124
68
80
79
51
84
58
112
51
181

 
MetaEditor'da bazı değişkenleri örneğin kırmızı renkte veya başka bir şeyde görmek mümkün müdür?
 
MQL4. Tek giriş alanı olan bir iletişim kutusu nasıl oluşturulur?
 
API, ...DLL
 

Parabolik , akım ve önceki SAR değerlerini karşılaştırmaya çalışıyorum. Ama olmuyor, bir gündür acı çekiyorum. Bu kod neden çalışmıyor? İşte komut dosyası kodu:

 int start()
{
   double sar0 = iSAR ( Symbol (), 0 , 0.02 , 0.2 , 0 );
   double sar2 = iSAR ( Symbol (), 0 , 0.02 , 0.2 , 1 );
   sar0 = sar2;
      if (sar0 == sar2)                            //если написать sar0 = sar2,
         Alert ( "SAR проверяется" );                 //то работает, как в коде ниже
   return ;
}
Bu seçenek çalışır:
 int start()
{
   double sar0 = iSAR ( Symbol (), 0 , 0.02 , 0.2 , 0 );
   double sar2 = iSAR ( Symbol (), 0 , 0.02 , 0.2 , 1 );
         Alert ( "sar0 до присваивания: " , sar0, "sar2 до присваивания: " , sar2); 
   sar0 = sar2;
   //if (sar0 == sar2)                              //если написать sar0 = sar2,
      Alert ( "sar0 после присваивания: " , sar0, 
      "sar2 после присваивания: " , sar2);             //то работает.
   return ;
}