生のアイデア - ページ 5

 

EAのストップロスについて

上記のタイトルで申し訳ありませんが、私が必要とするのはテイクプロフィットコマンド です。私はコードの書き方がわからないのですが、このEAにテイクプロフィットを追加したいのです。 下記がそのコードですが、必要なところにテイクプロフィットを追加してください。ありがとうございました。

レイ

extern double MaximumRisk =0.02; //ポジションごとのリスクに対する口座残高の割合

extern double DecreaseFactor =3; //連敗中のロットサイズ割り算(レデューサー)

extern double Lot.Margin =50; //1ロット分のマージン

extern int マジック =69;

extern string comment ="m icwr ea";

double spread; spread =Ask-Bid;

int slip; slip =spread/Point;

int RequiredWaveHeight,b,s,cnt,ticket;

double rsi,SL,ICWR,ICWRv0,awp1,awp2,active.high,active.low,high.c,high.r,low.r,low.c;

datetime awt1,awt2,a.high.shift,a.low.shift,shift;

int init(){return(0);}。

int deinit(){return(0);}。

int start(){

PosCounter();

rsi=iRSI(Symbol(),1440,14,PRICE_CLOSE,0)とします。

if(Period()==5){RequiredWaveHeight=40;SL=50*Point;}。

if(Period()==240) {RequiredWaveHeight=150;SL=100*Point;}

ICWR=iCustom(Symbol(),Period(), "ICWR",10,5,3,RequiredWaveHeight,0,0) とする。

ICWRv0=iCustom(Symbol(),Period(), "ICWR v0", "ZigZag",10,5,3, "ActiveWave",50,RequiredWaveHeight,0,0) とする。

awt1=ObjectGet("Activewave",OBJPROP_TIME1)を実行します。

awp1=ObjectGet("Activewave",OBJPROP_PRICE1)。

awt2=ObjectGet("Activewave",OBJPROP_TIME2)。

awp2=ObjectGet("Activewave",OBJPROP_PRICE2).if(awp1>awp1);。

if(awp1>awp2)の場合{。

active.high=awp1;

a.high.shift=iBarShift(Symbol(),Period(),awt1).active.low=awp2;。

active.low=awp2;

a.low.shift=iBarShift(Symbol(),Period(),awt2);}となります。

else {

active.high=awp2;

a.high.shift=iBarShift(Symbol(),Period(),awt2)となります。

active.low=awp1。

a.low.shift=iBarShift(Symbol(),Period(),awt1);}となります。

if(a.high.shift<a.low.shift) shift=a.high.shift;

else shift=a.low.shift。

high.c=NormalizeDouble(active.low+((active.high-active.low)*0.75),Digits)。

high.r=NormalizeDouble(active.low+((active.highactive.low)*0.618),Digits)となります。

low.r=NormalizeDouble(active.low+((active.highactive.low)*0.382),Digits); high.r=NormalizeDouble(active.low+((active.highactive.low)*0.382),Digits);

低.c=NormalizeDouble(active.low+((active.high-active.low)*0.25),Digits);

if(rsi>50)の場合{。

for(int i=0;i<shift;i++){。

if(Closelow.r && Low[1]>high.c && b==0)の場合{。

ticket1=OrderSend(Symbol(),OP_SELL,1.0,Bid,0,Bid+20*Point,Bid-30*Point,「エキスパートコメント」,255,0,CLR_NONE)を送信します。

OP_BUY,

LotsOptimized(),

アスク

スリップ

アスク-SL

0,

Period()+comment,

マジック,0,ブルー);

if(ticket>0)の場合{。

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{ Print(ticket); }.

else Print("Error Opening BuyStop Order:",GetLastError());

return(0);}}}

if(rsi<50) {

for(int ii=0;ii<shift;ii++) {

if(Closelow.r && High[1]<low.c && s==0)の場合{。

ticket=OrderSend(Symbol(),

OP_SELL,

LotsOptimized(),

ビッド

スリップ

ビッド+スリップ,

0,

Period()+comment,

マジック,0,オレンジ);

if(ticket>0)の場合{。

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{ Print(ticket); }.

else Print("ErrorオープニングSellStopオーダー。",GetLastError());

return(0);}}}

if(b>0) {

for(int c=0;c<shift;c++) {

if(高値[1]<低値.c){(高値[1]<低値.c)

オーダークローズ(チケット,オーダーロット(),ビッド,スリップ,0);}}}。

if(s>0) {

for(int cc=0;cc<shift;cc++) {

if(安値[1]>高値[c]) { {

OrderClose(ticket,OrderLots(),Ask,slip,0);}}}。

コメント();

return(0);}

//+---------------------------FUNCTIONS------------------------------+

void PosCounter() {

b=0;s=0;ticket=0。

for(cnt=0;cnt<=OrdersTotal();cnt++){。

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic) { { (オーダーシンボル()==シンボル() && オーダーマジック番号()==マジック))

if(オーダータイプ()==OP_SELL) { {

ticket=OrderTicket();

s++;}

if(OrderType()==OP_BUY)の場合{

ticket=OrderTicket()。

b++;}}}}

void comments() {

if(MarketInfo(Symbol(),MODE_SWAPLONG)>0) string swap="longs.";

else swap="shorts.";

if(MarketInfo(Symbol(),MODE_SWAPLONG)<0 && MarketInfo(Symbol(),MODE_SWAPSHORT)<0) swap="あなたのブローカーです。 ";

Comment("最後のティック:",TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS),"\n",

"スワップ有利",スワップ,"☝",

"日足RSI=",rsi,"Ⅻn",

"アクティブハイ:",active.high,"Ⅻn",

"高値更新",a.high.shift,"\n",

"ハイコンファーム",high.c,"\n",

"ハイリトレース",high.r,"Ⅻn "です。

"低Retrace "です。",low.r,"\n",

"低確率",low.c,"\n",

"アクティブLow:",active.low," \n",

"Lowシフト:",a.low.shift);}。

double LotsOptimized() { (ロット最適化

double lot;

int orders=HistoryTotal();

int losses=0;

lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/Lot.Margin,2)とします。

if(DecreaseFactor>0)の場合{。

for(int i=orders-1;i>=0;i--){。

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }.

if(OrderSymbol()!=Symbol()||OrderType()>OP_SELL) continue;

if(OrderProfit()>0)ブレーク。

if(OrderProfit()<0)損失++; }.

if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,2); } もし、lot<0.01?

if(lot<0.01)lot=0.01。

return(lot); }//end LotsOptimized

 

ネバーマインド...

気にしないでください...どうにかして

TEMPLATE catfxをダウンロードしたら、全部表示されました...。

私は知らない

 

クイッククエスチョン...INDinverseはどのようなデータを与えるのですか?

私はこのグラフを持っていますが、それは私に教えてくれるどのような情報を解読するように見えることはできません。

私は検索を行いましたが、説明の上に短い出てきた。

サポートに感謝u

ファイル:
 

新しいチャートはEAを無効にする?

こんにちは、アグアンです。

(ここはとても素晴らしい掲示板です。すぐに共有できることがあると思います。)

CodersGuruのMQL4コースの "Your First Expert Advisor "の例で遊んでいます...

解決策があるといいのですが...気づいたことがあります。30MチャートでEAをロードした後、(ショート)注文をオープンした。私は自分のExit戦略(低い時間帯での単純なクロス)をテストするために彼のコードを修正した。

しかし、私はその時15Mチャート上にいました...これは私がEAを非アクティブにしたということでしょうか(それで私のコード/ロジックは実行されませんでした)?

もしそうなら、これを回避する方法はありますか...?実行中のEAを無効にすることなく、他のタイムフレームをクリックで行ったり来たりしたいのですが。

返信をありがとうございました。

-charliev

 

システムの有効性は利用者の増加に比例する?

皆さんは、システムの有効性は、それを適用する人の数の増加に伴って、増えたり減ったりすると思いますか?

多くの成功したトレーダーは、普段自分の取引戦略を 共有しないようですが、そうする理由があるはずです。どなたか、この問題に取り組んでみませんか?

 
TheShanghai:
皆さんは、システムは、それを適用する人の数が増えるにつれて、その有効性を得たり失ったりすると思いますか?多くの成功したトレーダーは通常自分の取引戦略を共有しないようですが、そうする理由があるはずです。どなたか、この問題に取り組んでみませんか?

多くの成功したトレーダーは、普段自分の取引戦略を 共有しないか、特に間違った戦略を共有している、という考えを聞きました。そうかもしれません。私は知らない。なぜなら、FXはお金です。この効果には何の問題もないと思います。それは、成功したトレーダーがそれほど多くないからであり、ブローカーとの何かである。

ところで、私はそれが個人的であると思います。あるトレーダーはある取引戦略を使うことができ、私は私の性格、習慣、タイムゾーンなどのために使うことができません。だから、個人的なことなのです。いずれにせよ、このフォーラムですでに行われているように、私たちはすべての戦略を発見することができます。

 

ご意見ありがとうございます。肝に銘じておきます。

 

トレンドを追う

こんにちは。

私は、シンプルで安定したシステムを持っています。私は34EMAを終値で利用します。RSI 7のクローズCCI 20のクローズEMAをチャート上に配置し、トレンドを見る。30Mから始めて、H4、D1まで移動させる。EMAのトレンドはすべてのタイムフレームで同じでなければなりません。トレンドが正しい場合、D1タイムフレームでRSIが50以上/以下、CCIが100以上/以下であれば、トレードに参加できます。取引開始時はH4チャートにとどまり、市場のノイズを避け、時間前に決済するようにします。ストップロスは80ピップで入れてください。フィブ(Fib)を使って、相場がリトレースメントを行うかどうかを確認することもできます。私はEquidistant channel(メタトレーダー標準のツール)を使って、市場のトレンドを見つけるのが好きです。利益を出すまでそのトレンドに従います。この方法は確実ではありませんが、1つだけ確かなことがあり、それは私が大きなトレンドに逆らって取引していないということです。

この方法をデモで試してみてください。そして、より真剣なトレーダーのために、より長期的なシステムを構築しましょう。

ロエベ

 

配列宣言時のデフォルト値について

皆さん、こんにちは。

このArrayのデフォルト値はどのような値になるのでしょうか?

double ARRAYA[];

double ARRAYB[]です。

これらの配列の内容をすべてクリアしたいのですが、その方法は以下の通りです。

ArrayInitialize(ARRAYA,NULL)とします。

ArrayInitialize(ARRAYB,NULL)とします。

しかし、NULLに 設定すると、Arrayが0(ゼロ)で埋め尽くされてしまいます。

何かいい方法はないでしょうか?

-charliev

 

EAにインジケーター#include?

皆さん、こんにちは。

コンパイル済みのIndicatorを#includeして、EAロード時に読み込む方法はありますか?(EAを1つの.EX4ファイルとして独立させる?)

よろしくお願いします。

-チャーリーエフ