0 beğenilme 0 beğenilmeme
473 kez görüntülendi

Merhabalar kolay gelsin iyi çalışmalar diliyorum, yardımcı olabilirseniz çok sevinirim. Kendim yazmayı denedim fakat SAT koşulunu oluşturamadım.

Aklımda şöyle bir sistem var kullancağım indikatör formülü bu ;

percent:=input("Yüzde",0,100,1);
mainperiod:=input("HO Periodu",1,500,100);
signalperiod:=input("Sinyal Periodu",0,100,7);
MA:=mov(C,mainperiod,TRI);
K1:=IF(MA>c+MA*percent/100,MA,IF(MA<c-MA*percent/100,MA,C));
signalline:=mov(c,signalperiod,s);
ScalpLine:=signalline-K1;
ScalpLine:0

bu indikatör belli değer aralıklarında hareket ediyor, benim yapmak istediğim şey şu çrneğin bu indikatör 0.75 değerinde AL koşulu yani indikatörün o değerle kesişimi olduğu an AL sinyali üretmesini istiyorum, onun için aşağıdaki koşulu yazdım bir yanlışık var mı acaba

  • AL FORMULU
    
    percent:=1;
    mainperiod:=100;
    signalperiod:=7;
    MA:=mov(C,mainperiod,TRI);
    K1:=IF(MA>c+MA*percent/100,MA,IF(MA<c-MA*percent/100,MA,C));
    signalline:=mov(c,signalperiod,s);
    ScalpLine:=signalline-K1;
    CROSS(ScalpLine,0.75)

SAT koşulunda istediğim ise indikatörün gördüğü en yüksek değerden belirli bir yüzde veya kademe düştüğünde satması mesela gördüğü en yüksek değerden 0.05 düşünce satış emrinin tetiklenmesini istiyorum. Örneğin indikatör 1.30 değerini gösteriyor ve ardından değer düşmeye başlıyor varsayalım 1.25 oluyor ve satış emri tetikleniyor. Bir başka deyişle AL emri oluştuktan sonra indikatör değerini takip eden iz süren stop gibi bir yüzde değerine bağlı SAT koşulunu elde etmek istiyorum. 

  • SAT FORMULU
percent:=1;
mainperiod:=100;
signalperiod:=7;
MA:=mov(C,mainperiod,TRI);
K1:=IF(MA>c+MA*percent/100,MA,IF(MA<c-MA*percent/100,MA,C));
signalline:=mov(c,signalperiod,s);
ScalpLine:=signalline-K1;
CROSS(0,ScalpLine)

 sorunun özeti bu sondaki cross fonksiyonunu ne ile değiştiremem gerekiyor :) teşekkür ediyorum şimdiden kolay gelsin 

 

System Tester-Bağlı Emirler kategorisinde (39 puan) tarafından | 473 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme
En İyi Cevap

merhaba,

alış koşulunuz doğru gözükmekte,

percent:=1;
mainperiod:=100;
signalperiod:=7;
MA:=mov(C,mainperiod,TRI);
K1:=IF(MA>c+MA*percent/100,MA,IF(MA<c-MA*percent/100,MA,C));
signalline:=mov(c,signalperiod,s);
ScalpLine:=signalline-K1;
CROSS(ScalpLine,0.75)

satış için ,

percent:=1;
mainperiod:=100;
signalperiod:=7;
MA:=mov(C,mainperiod,TRI);
K1:=IF(MA>c+MA*percent/100,MA,IF(MA<c-MA*percent/100,MA,C));
signalline:=mov(c,signalperiod,s);
ScalpLine:=signalline-K1;
highestsince(1.,CROSS(ScalpLine,0.75),ScalpLine)

formülü size kesişim olduktan sonraki ilgili indikatörün en yüksek seviyesini verir

örneğin bu seviyenin 1 puan altında sat için

percent:=1;
mainperiod:=100;
signalperiod:=7;
MA:=mov(C,mainperiod,TRI);
K1:=IF(MA>c+MA*percent/100,MA,IF(MA<c-MA*percent/100,MA,C));
signalline:=mov(c,signalperiod,s);
ScalpLine:=signalline-K1;
ScalpLine<highestsince(1.,CROSS(ScalpLine,0.75),ScalpLine)-1

şeklinde bir formül denenebilir,

bir inceleyip deneyiniz,

formülünüzün tam olarak istediğinizi karşıladığından emin olmadan emir bağlamayınız,

bilgilerinize

 

 

 

(40,139 puan) tarafından
tarafından seçilmiş
0 0
merhaba serkan bey öncelikle cevabınız için çok teşekkür ederim formüllerin opt edilmiş halleri bu şekilde midir kontrol etmek şansınız var mıdır? tam istedeğim şekilde sonuç vermedi grafikleri kontrol ettiğmde mesela indikatör değeri 0,75'i aştı ve 0,04 değerle onu takip etmesini istiyorum diyelim ki indikatör değeri 2,48 oldu ve ardında düşmeye başladı 0,04 düştüğünde yani 2,44 olduğunda satış emri oluşmasını istiyorum. Fakat bu hale getiremedim system testerda

 

AL

percent:=1;
mainperiod:=100;
signalperiod:=7;
MA:=mov(C,mainperiod,TRI);
K1:=IF(MA>c+MA*percent/100,MA,IF(MA<c-MA*percent/100,MA,C));
signalline:=mov(c,signalperiod,s);
ScalpLine:=signalline-K1;
CROSS(ScalpLine,OPT1)

 

SAT

percent:=1;
mainperiod:=100;
signalperiod:=7;
MA:=mov(C,mainperiod,TRI);
K1:=IF(MA>c+MA*percent/100,MA,IF(MA<c-MA*percent/100,MA,C));
signalline:=mov(c,signalperiod,s);
ScalpLine:=signalline-K1;
ScalpLine<highestsince(1.,CROSS(ScalpLine,OPT1),ScalpLine)-OPT2
0 0
doğrudur opt li hali,

diğer kısmına gelince -0.04 yapınca vermesi lazım tekrar bir kontrol ediniz,

ayrıca optleri

percent:=1;
mainperiod:=100;
signalperiod:=7;

gibi yerlerede tanıtıp yapabilirsiniz

bilgilerinize
0 0

şimdi yapabildim sağolun sizi biraz yordum kusura bakmayın ama son bir sorum daha olacak al koşuluna OR ile bir fonksiyon daha ekleme şansımız var mıdır? mesela -2 gibi bir değer olduğunda al gibi.

 OR CROSS(-2,ScalpLine) nasıl ekleyebilirim. çok teşekkür ederim, iyi çalışmalar kolay gelsin blush

0 0
merhaba,

dediğiniz şekliyle yapabilirsiniz or ile ekleyebilirsiniz,

-2 seviyesinin altına kestiğinde de alış koşulunuz devreye girecektir

 

bilgilerinize

 

percent:=1;
mainperiod:=100;
signalperiod:=7;
MA:=mov(C,mainperiod,TRI);
K1:=IF(MA>c+MA*percent/100,MA,IF(MA<c-MA*percent/100,MA,C));
signalline:=mov(c,signalperiod,s);
ScalpLine:=signalline-K1;
CROSS(ScalpLine,0.75) OR CROSS(-2,ScalpLine)
7,591 soru
7,598 cevap
4,441 yorum
10,434 kullanıcı