[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 806

 
Dersu:

DANKE für Ihre Aufmerksamkeit, drknn.

Um ehrlich zu sein, habe ich Ihre Threads nicht gelesen - ich habe nur in diesen Thread geschaut, gesehen, dass niemand auf den wiederholten Beitrag geantwortet hat, und beschlossen zu antworten... Ich habe nicht die Zeit, alles auf einmal zu machen - ich muss wählerisch sein.
 
extern string Einstellungen = "Haupteinstellungen"; //
extern int MagicNumber = 227 ; //Einzelne Zahl //.
extern double Lots = 1 ; //kleinste Partie ///.
extern int Profit = 5000 ; // Gewinnmitnahme //
extern inttern Verlust = 10000 ; //Verlust stoppen //.
extern int Delta = 500 ;
extern int int Raznica = 700 ; //Stop Loss;
//--------------------------------------------------------------------------------//
extern string Indicator2 = "Bands" ; //
extern int int BandsPeriod = 20 ; // //Periode //
extern inttern Bands_shift = 0 ; //Offset //
extern double Deviations = 2.0 ; // //
//--------------------------------------------------------------------------------//
extern int Slip = 5 ; //Schlupf ///////////////
int tick,tick2,go; // //
//--------------------------------------------------------------------------------//
int start() //
{ /////////////////////////////////
//---------------------------------------------------------------------------------------------------------------//
// Bandanzeige //
//---------------------------------------------------------------------------------------------------------------//
double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_UPPER,0);//Berechnung des Indikators für die obere Linie//
double seredina=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0); //Berechnung des Mittellinienindikators//
double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_LOWER,0);//Berechnung des Indikators für die untere Linie//
//---------------------------------------------------------------------------------------------------------------//
Doppelter Slb, Tpb, Sls, Tps;
double go=(verhB-nizB);
Alert ("verhB",DoubleToStr(verhB,Digits));
Alert ("nizB ",DoubleToStr(nizB,Digits));
slb=NormalizeDouble(Ask - (Loss*Point),Digits) ;
tpb=NormalizeDouble(Ask + (Profit*Point),Digits);
sls=NormalizeDouble(Bid + (Loss*Point),Digits) ;
tps=NormalizeDouble(Bid - (Profit*Point),Digits);
if(AufträgeSumme()==0)
{
if(go<=Delta/10000)
Alert("Delta ", DoubleToStr(go,Digits)," is coming!!!");
tick =OrderSend(Symbol(),4,Lots,NormalizeDouble(Ask+Raznica*Point,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE); //Eingabe durch/
if(tick<0) Print("Fehler # - ",GetLastError());

tick=OrderSend(Symbol(),5,Lots,NormalizeDouble(Bid-Raznica*Point,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE); //Eintrag ist gesetzt //
if(tick<0) Print("Fehler # - ",GetLastError());



}

return(0);}


Helfen Sie mir !!!! Ich habe eine Woche lang herumgepfuscht!!! Der Punkt ist, dass in einem bestimmten Abstand zwischen der oberen und unteren Grenze des Bollinger zwei Anhänger wurden auf Stopp kaufen und verkaufen zu stoppen. Ich kann nicht die Differenz, weil schreibt, dass die obere und untere Grenze des Bollinger Preis ist die gleiche .... Bitte helfen Sie ......

 
beachten Sie die Funktionskommentare nicht falsch
 
zhuki:
Sie haben wahrscheinlich keine normalisierte Partie, normalisieren Sie sie mit:
double NormalizeDouble( double value, int digits)

Man kann nicht viele Ziffern aufrunden!!!
 
VOLDEMAR:
nicht auf Kommentare zu falschen Funktionen schauen

beachten

double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_UPPER,0);//Berechnung des Indikators für die obere Linie//

double seredina=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0); //Berechnung des Mittellinienindikators//

double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_LOWER,0);//Berechnung des Bottom-Line-Indikators //

tauschen sie

 
I'm off topic! Wie bekommt man Point = 0.00001 (5 Stellen) für alpari mit Standardmitteln?
 
ruslanchik:
I'm off topic! Wie bekommt man Point = 0.00001 (5 Stellen) für alpari mit Standardmitteln?
double point(string symb){
   double p = 0;        
   int d = 0;
        
   p = MarketInfo(symb, MODE_POINT);    
   d = MarketInfo(symb, MODE_DIGITS);
   if (d == 5 || d == 3) p *= 10;
   return(p);
}
 
OK!
 

Guten Tag

Wer sich den Code des Indikators ansieht, wird feststellen, dass er die Einstellungen überhaupt nicht beachtet.

Ich bin nicht gut in Code

//---- Indikatoreinstellungen
#property indicator_separate_window
#Eigenschaft indicator_buffers 1
#Eigenschaft indicator_color1 Silber
//---- Indikatorparameter
extern int FastEMA=12;
extern inttern SlowEMA=26;
extern inttern SignalSMA=9;
//---- Indikatorpuffer
double ind_buffer1[];
double ind_buffer2[];
double ind_buffer3[];
double ind_buffer4[];

//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int init()
{
//---- 2 zusätzliche Puffer werden zum Zählen verwendet.
IndikatorPuffer(4);
//---- Zeichnungseinstellungen
SetIndexStyle(0,DRAW_LINE);
SetIndexDrawBegin(0,SignalSMA);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
//---- 3 Indikatorpuffer-Zuordnung
if(!SetIndexBuffer(0,ind_buffer1) &&
!!SetIndexBuffer(1,ind_buffer2) &&
!!SetIndexBuffer(3,ind_buffer4) &&
!SetIndexBuffer(2,ind_buffer3))
Print("Indikatorpuffer können nicht gesetzt werden!");
//---- Name für das Datenfenster und die Bezeichnung des Unterfensters des Indikators
IndikatorKurzname();
//---- Initialisierung abgeschlossen
zurück(0);
}
//+------------------------------------------------------------------+
//| Gleitender Durchschnitt des Oszillators |
//+------------------------------------------------------------------+
int start()
{
int-Grenze;
int counted_bars=IndicatorCounted();
//---- Prüfung auf mögliche Fehler
if(counted_bars<0) return(-1);
//---- zuletzt gezählte Takt wird nachgezählt
if(gezählte_Balken>0) gezählte_Balken--;
limit=Balken-gezählt_Balken;
//---- macd gezählt im 1. zusätzlichen Puffer
for(int i=0; i<limit; i++)
ind_buffer2[i]=iOBV(NULL, 0, PRICE_CLOSE, i);
//---- Signalleitung im 2. zusätzlichen Puffer gezählt
for(i=0; i<limit; i++) {
ind_buffer3[i]=iMAOnArray(ind_buffer2,Bars,10,0,MODE_SMA,i);
ind_buffer4[i]=iMAOnArray(ind_buffer2,Bars,3,0,MODE_SMA,i);
}
//---- Hauptschleife
for(i=0; i<limit; i++)
ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- erledigt
zurück(0);
}
//+------------------------------------------------------------------+

xtern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9; Diese Einstellungen. Änderungen in der Box führen zu nichts. Die Indikatorlinie ändert sich nicht.

Der Autor hat meinen Antrag abgelehnt

 
Sie haben wahrscheinlich einen Entwurf oder unvollständigen Code. Der Indikator ist fest verdrahtet und keine der externen Variablen wird im Code verwendet.