[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 196
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
kaufen
int start()
{
OrderSend(Symbol(),OP_BUYSTOP,0.01,Ask+20*Point,3,Bid- 50*Point,Bid+50*Point);
zurück(0);
}
Hilfe bitte...
Bitte verbreiten Sie keine Ketzerei in der Öffentlichkeit. Geh woanders nerdig sein, es gibt genug zu tun...
Danke, ich wollte gerade zu Ihnen kommen, um mich mit Ihnen zu beraten.
1. Hier wurde die Verdopplung nur angewandt, um Minuten und Stunden hinzuzufügen, damit Bezugspunkte als HH bezeichnet werden können.MM (z.B. 16. 23).
2. Wenn man sich die letzten Seiten ansieht, geht es natürlich um datetime, aber nicht genau um dasselbe. Sie geben einfach den Zeitpunkt der letzten Bestellung im Format HH.MM aus.
Keine gute Suche. Seite 190, Postzeit 18.09.2011 23:03
Hallo.
Bitte helfen Sie mir, den Code zu korrigieren.
Beide Zeilen unten sind fehlerhaft.
Vielen Dank im Voraus.
Das Programm selbst:
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)
MODE_HISTORY würde mehr Sinn machen
< 0,6, oder so ähnlich. Der Rest der Division ist immer kleiner als eins :)
Warum?) Der Rest von 12 geteilt durch 10 = 2.
Was ist, wenn es viele solcher Variablen gibt?
Ist das zu schade, oder wird es funktionieren?
Und noch eine kleine Frage: Wenn ich z.B. ein Intervall (z.B. 16.00-16.03) für eine auszuführende Bedingung festlege. Wie kann man erreichen, dass sie nur einmal ausgeführt wird, obwohl neue Ticks hinzukommen?
Das funktioniert. Und um dies nur einmal zu tun, geben Sie eine zusätzliche Dienstvariable ein, etwa wie folgt
Warum?) Der Rest von 12 geteilt durch 10 = 2.
Das wird funktionieren. Und um es einmal zu tun, geben Sie eine zusätzliche Dienstvariable ein, etwa so:
Ja, es ist ein wenig unschön :)
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == true)
MODE_HISTORY würde mehr Sinn machen.
Ich könnte nicht mehr zustimmen. Nachts verlangsamt sich mein Gehirn.
Aber auch mit dieser Korrektur ist mir aufgefallen, dass der obige Fehler (Verwechslung zwischen magischer Variable und Zahl) im Skript auftritt, wenn Sie die Variable int MAGIC; neu deklarieren (genau diese Magie ist aus irgendeinem Grund gesperrt). Wenn Sie int MAGIC; entfernen (extern int MAGIC = 1; bleibt), funktioniert alles wie am Schnürchen.
Eine logische Frage: Wozu brauche ich das? Sie können int MAGIC entfernen; und Ihr Leben in Frieden leben. ABER.
Ich muss diesen Code in eine Bibliothek einfügen. Wenn ich aber int MAGIC nicht definiere, kommt es zu einem Fehler.
Das ist es, was ich tun sollte. Wird das alles in meinem Expert Advisor funktionieren? Warum ist diese int MAGIC; ?
Das Skript unten:
Genossinnen und Genossen, helft bitte... Ich habe einen einfachen Code geschrieben, aber beim Kompilieren sagt er, dass die Klammern nicht im Gleichgewicht sind, aber ich habe sie schon 300 Mal gezählt - alles ist an seinem Platz
Die Idee ist ganz einfach: Wenn der MACD 7 Minuten oder weniger über (oder unter) 0 liegt, wird die Position eröffnet.
//+------------------------------------------------------------------+
//| MACD ^^^.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp.
#property link "http://www.metaquotes.net"
extern int TP = 100;
extern int TS = 100;
extern double lots = 0.1;
int Schlupf = 3;
int Magie = 1;
//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//----
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{
//----
int total,ticket; //Gesamt und Ticket deklariert
int signal = signal_MACD(); // signal_MACD übergibt Wert an Signal
AnalyzeSignal(signal); //Analyse des Signals
int MACD[8] = {0,1,2,3,4,5,6,7}; //Erstellen eines eindimensionalen MACD-Arrays
MACD[0] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,7)
MACD[1] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,6);
MACD[2] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,5);
MACD[3] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,4);
MACD[4] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,3);
MACD[5] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,2);
MACD[6] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,1);
MACD[7] = iMACD(Symbol(),1,5,34,5,PRICE_CLOSE,MODE_MAIN,0);
total = OrdersTotal(); //Total zählt Bestellungen
int signal_MACD() //Berechnung des MACD-Signals
{
if(total<1) //wenn die Aufträge kleiner als 1 sind, die Bedingungen berücksichtigen
{
wenn(MACD[0]<0)
{
wenn(MACD[1]>0)
{
wenn(MACD[2]>0)
{
{ if(MACD[3]>0)
{
{ if(MACD[4]>0)
{
{ if(MACD[5]>0)
{
{ if(MACD[6]>0)
{
{ if(MACD[7]<0)
{
zurück(-100);
}
}
}
}
}
}
}
}
wenn(MACD[0]>0)
{
wenn(MACD[1]<0)
{
wenn(MACD[2]<0)
{
{ if(MACD[3]<0)
{
{ if(MACD[4]<0)
{
{ if(MACD[5]<0)
{
{ if(MACD[6]<0)
{
wenn(MACD[7]>0)
{
zurück(100);
}
}
}
}
}
}
}
}
}
}
void AnalyzeSignal(int signal)
{
if(Signal == 100)
{
ticket = OrderSend(Symbol(),OP_BUY,Ask,slip,Bid-TS*Point,Bid+TP*Point, "buy",Magic,0,Green);
if(Ticket>0)
{
OrderSelect(ticket,SELECT_BY_TICKET;)
Print("geöffnet für Kauf zum Preis:" OrderOpenPrice());
}
sonst
{
Print("Öffnen fehlgeschlagen aufgrund von:" GetLastError());
zurück(0);
}
}
if(Signal == -100)
{
ticket = OrderSend(Symbol(),OP_SELL,Bid,slip,Ask+TS*Point,Ask-TP*Point, "Sell",Magic,0,Green);
if(Ticket>0)
{
OrderSelect(ticket,SELECT_BY_TICKET);
Print("zum Verkauf geöffnet zu Preis:" OrderOpenPrice());
}
sonst
{
Print("Öffnen fehlgeschlagen aufgrund von:" GetLastError());
zurück(0);
}
}
}
//----
zurück(0);
}
//+------------------------------------------------------------------+