Announcement

Collapse
No announcement yet.

Anfangsschwierigkeiten...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anfangsschwierigkeiten...

    Hallo!

    Ich bin neu und versuche, mein erstes brauchbares Tradingsystem mit Profitziel und Trailingstops zu erstellen. Dazu habe ich die Beispiel -EFS aus dem "Guide to Developing eSignal Strategies" abgetippt. Leider wurde das Programm so aber nie getestet, scheint mir...
    Ok, der Part für die Trailingstopanpassung ist so nicht ok. Aber das kann nicht alles sein, was nicht stimmt. Es wäre super, wenn jemand einen Blick darauf werfen könnte!
    many Thanks...!!

    var vSMA14 = new MAStudy(14, 0, "Close", MAStudy.SIMPLE);
    var vSMA35 = new MAStudy(35, 0, "Close", MAStudy.SIMPLE);
    var vMOM10 = new MOMStudy(10, "Close");
    var nStopLevel;
    var nTradeEntryprice;
    var ProfitTarget1 = 0.5;
    var nsignal;
    var nNewTrade;


    function preMain() {
    setPriceStudy(true);
    setStudyTitle("Armin_14er35erMAcross_1");
    setCursorLabelName("PT CODE");
    }

    function main() {
    if ((Strategy.isInTrade() == false) && (nNewTrade = 1 )) { //Neuer Trade vorhanden?
    nTradeEntryPrice = open () ;
    nNewTrade = 0;


    }
    if ((Strategy.isInTrade() == true) && (Strategy.isShort() == true)) { //Profitziel erreicht/Shorttrade?
    if (low() <= (nTradeEntryPrice - ProfitTarget1)) {
    Strategy.doCover("Short PT1 Exit", Strategy.Stop, Strategy.THISBAR,
    Strategy.getDefaultLotSize(), (nTradeEntryPrice - ProfitTarget1));

    }
    }
    if ((Strategy.isInTrade() == true) && (Strategy.isLong() == true)) { //Profitziel erreicht/Longtrade?
    if (high() >= (nTradeEntryPrice + ProfitTarget1)) {
    Strategy.doSell("Long PT1 Exit", Strategy.Stop, Strategy.THISBAR,
    Strategy.getDefaultLotSize(), (nTradeEntryPrice + ProfitTarget1));

    }
    }
    if ((Strategy.isInTrade() == true) && (Strategy.isShort() == true)) { //Stoppkurs erreicht/Short? Abstoßen.
    if (high() >= nStopLevel) {
    Strategy.doCover("Short Stop Exit", Strategy.Stop, Strategy.THISBAR,
    Strategy.getDefaultLotSize(), nStopLevel);
    }
    }
    if ((Strategy.isInTrade() == true) && (Strategy.isLong() == true)) { //Stoppkurs erreicht/Long? Abstoßen.
    if (low() <= nStopLevel) {
    Strategy.doSell("Long Stop Exit", Strategy.Stop, Strategy.THISBAR,
    Strategy.getDefaultLotSize(), nStopLevel);
    }
    }
    if ((Strategy.isInTrade() == true) && (Strategy.isShort() == true)) { //Stoppkurse anpassen/Short
    nStopLevel = high (-1) + 0.25;
    }
    if ((Strategy.isInTrade() == true) && (Strategy.isLong() == true)) { //Stoppkurse anpassen/Long
    nStopLevel = low (-1) - 0.25;
    }
    if (Strategy.isInTrade() == false) { //Neue Handelssignale identifizieren
    if (
    (vSMA14.getValue(MAStudy.MA) > vSMA35.getValue(MAStudy.MA)) && //für Long
    (vMOM10.getValue(MOMStudy.MOM) >= 0.1)) {
    nNewTrade = 1;
    nsignal = +1;
    }
    if (
    (vSMA14.getValue(MAStudy.MA) < vSMA35.getValue(MAStudy.MA)) && //für Short
    (vMOM10.getValue(MOMStudy.MOM) < -0.1)) {
    nNewTrade = 1;
    nsignal = -1;
    }
    }
    if (nNewTrade == 1) { //Trades ausführen, wenn nNewtrade getriggert
    if (Strategy.isInTrade() == true) {
    if ((nsignal > 0) && (Strategy.isShort() == true)) { //Long
    Strategy.doCover("Exit Short", Strategy.MARKET, Strategy.NEXTBAR);
    Strategy.doLong("Rev Long", Strategy.MARKET, Strategy.NEXTBAR);
    nStopLevel = low (-1) - 0.25;

    }
    if ((nsignal < 0) && (Strategy.isLong() == true)) { //Short
    Strategy.doSell("Exit Long", Strategy.MARKET, Strategy.NEXTBAR);
    Strategy.doShort("Rev Short", Strategy.MARKET, Strategy.NEXTBAR);
    nStopLevel = high (-1) + 0.25;

    }
    }

    else {
    if (nsignal > 0) {
    Strategy.doLong("Go Long", Strategy.MARKET, Strategy.NEXTBAR); //Long
    nStopLevel = low (-1) - 0.25;

    }
    if (nsignal < 0) {
    Strategy.doShort("Go Short", Strategy.MARKET, Strategy.NEXTBAR); //Short
    nStopLevel = high (-1) + 0.25;

    }
    }
    }

    }

  • #2
    Hallo maxxory

    Selber kenne ich mich mit EFS nur bedingt aus... da ich mich in den vergangenen Jahren hauptsächlich mit Tradestation beschäftigt habe. Jedoch möchte ich dir wärmstens empfehlen, bevor du dich mit dem Testen von Systemen oder einfachen Signalen beschäftigst auch eine gesunde theoretische Grundlage zu erarbeiten.

    Da das Programmieren von Tradingsystemen so seine Tücken hat, würde ich dir raten die EFS-Programmierung gut zu verstehen.
    Im EFS-Help Center findest du die dazu nötigen Grundlagen (du kennst diese Seite sicher bereits)
    EFS Help Center and Library


    Wenn du der Englischen Sprache mächtig bist, kann ich dir "Trading Systems and Methods" von Kaufman empfehlen.
    Link zu Amazon.de

    @lpha
    www.elitetrading.de
    Kommunikationsportal für Trader

    Comment

    Working...
    X